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
24 lines
839 B
JavaScript
24 lines
839 B
JavaScript
const key = Symbol("key");
|
|
class Base { inherited = 3; }
|
|
class Item extends Base {
|
|
value = { count: 7 };
|
|
[key] = "symbol";
|
|
/** @returns {string} */
|
|
get ignored() { throw new Error("prototype getter must not run"); }
|
|
}
|
|
function describe(value) {
|
|
const descriptors = Object.getOwnPropertyDescriptors(value);
|
|
console.log(Object.getOwnPropertyNames(value).join(","));
|
|
console.log(Object.getOwnPropertySymbols(value).length);
|
|
console.log(descriptors.value.value === value.value);
|
|
console.log(descriptors.value.writable, descriptors.value.enumerable, descriptors.value.configurable);
|
|
console.log(descriptors.inherited.value, descriptors[key].value);
|
|
}
|
|
const item = new Item();
|
|
describe(item);
|
|
function update(value) {
|
|
Object.assign(value, { [key]: "changed" });
|
|
return value[key];
|
|
}
|
|
console.log(update(item), item[key]);
|