Files
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

14 lines
657 B
TypeScript

import { makeTarget } from "./operations.mjs";
interface RequestValue { readonly kind: string; readonly value: number; }
function invoke(callback: any, value: any): any { return callback(value); }
const target: any = makeTarget();
const plain = new Proxy(target, {});
console.log(invoke((request: RequestValue) => request.kind + ":" + request.value * 2, plain));
const reads: string[] = [];
const trapped = new Proxy(target, { get(object: any, key: string): any {
reads.push(key);
return key === "value" ? 42 : object[key];
} });
console.log(invoke((request: RequestValue) => request.kind + ":" + request.value, trapped));
console.log(reads.join(","));