mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-21 05:50:55 +08:00
- Carry BigInts, Sets, and regular expressions through checked native storage without a JavaScript engine. - Preserve dictionary aliases, spreads, frozen metadata, and fluent initialization helpers. - Collect checked object and closure cycles while preserving live references.
16 lines
859 B
JavaScript
16 lines
859 B
JavaScript
class Config { static create(value = 0) { return "config"; } }
|
|
const modes = Object.fromEntries([["auto", 0], ["manual", 1]]);
|
|
var layout = { Config: Config, modes: modes, limit: 18446744073709551615n };
|
|
var defaultLayout = layout;
|
|
var secondAlias = defaultLayout;
|
|
function mutate(value) { value.limit = 1n; }
|
|
mutate(defaultLayout);
|
|
console.log(defaultLayout === layout, secondAlias === layout, String(layout.limit));
|
|
console.log(defaultLayout.modes.auto, secondAlias.Config.create());
|
|
let evaluations = 0;
|
|
function current() { evaluations++; return defaultLayout; }
|
|
console.log(current().Config.create(), evaluations);
|
|
function fail() { console.log("receiver"); throw new Error("stop"); return defaultLayout; }
|
|
function argument() { console.log("argument"); return 1; }
|
|
try { fail().Config.create(argument()); } catch (error) { console.log(error.message); }
|