mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-21 05:50:55 +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
14 lines
657 B
TypeScript
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(","));
|