mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-24 06:14:01 +08:00
- Borrow string inputs through proven helpers while preserving owned call boundaries. - Keep temporary array arguments on the stack with safe snapshots and compact lookups. - Bound shared LLVM shard growth and cover evaluation order, escaping values, and cleanup.
21 lines
981 B
TypeScript
21 lines
981 B
TypeScript
import { Entry, keep, name, normalize } from "./model.ts";
|
|
import { describe, inspect, invoke, matching, pair, read } from "./helpers.ts";
|
|
const entries = [new Entry(" Alpha ", 3), new Entry("Beta", 5)];
|
|
console.log(read(entries, 0), read(entries, 1), read(entries, 2));
|
|
console.log(matching(entries, "B"));
|
|
const records = [{ key: "Record", extra: 7 }];
|
|
console.log(describe(records[0]), describe(records[1]));
|
|
console.log(pair(entries[0], entries[1]));
|
|
console.log(pair(records[0], records[1]));
|
|
console.log(invoke(normalize, " INDIRECT "));
|
|
const escaped = keep(entries[0]);
|
|
console.log(inspect(entries[0], () => { entries.length = 0; }));
|
|
console.log(name(escaped), entries.length);
|
|
const saved = name(records[0]);
|
|
records.length = 0;
|
|
console.log(saved);
|
|
const nested = [new Entry("nested", 11)];
|
|
console.log(pair(nested[0], keep(nested[0])));
|
|
const generic = keep({ key: "generic", extra: 13 });
|
|
console.log(describe(generic), describe(keep<Entry | undefined>(undefined)));
|