mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-23 06:10:02 +08:00
* Expand static Effect support across common APIs * Preserve compiler parity across expanded Effect patterns * Fix compiler regressions exposed by Effect coverage * Bound shared type conversion traversal * Clarify conversion contracts and tidy fixtures * Run every Effect fixture in CI shards * Preserve inferred array assignments in concurrent Effect programs * Record inferred array fixture compiler ordering
18 lines
580 B
JavaScript
18 lines
580 B
JavaScript
function Base(props) { Object.assign(this, props); }
|
|
function factory({ Base, label }) {
|
|
return class extends Base {
|
|
static label = label;
|
|
constructor(props) { super(props); }
|
|
};
|
|
}
|
|
const First = factory({ Base, label: "first" });
|
|
const Second = factory({ Base, label: "second" });
|
|
console.log(First.label, Second.label, new First({ value: 42 }).value);
|
|
function named(label) {
|
|
class Named extends First {}
|
|
Named.prototype.label = label;
|
|
return Named;
|
|
}
|
|
const Named = named("prototype");
|
|
console.log(new Named({ value: 7 }).label, new Named({ value: 7 }).value);
|