Files
scriptc/tests/corpus/checked-class-descriptors.mjs
Chris Tate 2069684b40 Expand static Effect support across common APIs (#598)
* 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
2026-10-01 02:49:31 -05:00

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]);