@lark.js/mvc 0.0.8 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -235,7 +235,7 @@ this.updater.set({ count: newCount });
235
235
  this.updater.digest();
236
236
  ```
237
237
 
238
- Full pipeline: `updater.set(data)` shallow-merges data into the internal data object and collects changed keys. `updater.digest()` calls the compiled template function to generate an HTML string. `vdomGetNode` uses `tmp.innerHTML = wrap + html` to parse it into temporary DOM. `vdomSetChildNodes` compares against the live DOM to produce a keyed diff. DOM operations are applied in batch. `endUpdate()` notifies child Frames to complete mounting.
238
+ Full pipeline: `updater.set(data)` shallow-merges data into the internal data object and collects changed keys. `updater.digest()` calls the compiled template function to generate an HTML string. `domGetNode` uses `tmp.innerHTML = wrap + html` to parse it into temporary DOM. `domSetChildNodes` compares against the live DOM to produce a keyed diff. DOM operations are applied in batch. `endUpdate()` notifies child Frames to complete mounting.
239
239
 
240
240
  Supports digest re-entry: calling `updater.digest()` during an active digest does not nest; instead it queues to `digestingQueue` and executes after the current digest completes. `null` serves as a digest boundary sentinel in the queue.
241
241
 
@@ -713,7 +713,7 @@ The compiler converts JS object literal parameters (`{a:1}`) to URL query string
713
713
 
714
714
  With query strings, parameters are translated into the first argument of the child view's `init`. When containing SPLITTER reference tokens, `translateData` resolves original JS values from the parent view's refData before passing them to the child.
715
715
 
716
- ### VDOM Optimization Hints
716
+ ### DOM Optimization Hints
717
717
 
718
718
  | Attribute | Purpose |
719
719
  | --------- | -------------------------------------------------------------------------- |
@@ -927,28 +927,6 @@ The `lark-visual` sub-project in this repository is the paired visual DevTools t
927
927
  19. MF view paths use the remote project name as prefix: `v-lark="remote-app/views/home"` triggers async loading via `FrameworkConfig.require` when unregistered; `@lark.js/mvc` must be `singleton: true`.
928
928
  20. `splitChunks.chunks` must be `"async"` in MF projects: `"all"` breaks shared scope initialization.
929
929
 
930
- ## Recent API Changes
931
-
932
- - Store rewrite (zustand-style):
933
- - `defineStore(name, (store) => body)` replaced by `create(name, (set, get) => body)`. `defineStore` retained as deprecated alias.
934
- - `store.key = value` (Proxy write) replaced by `set({ key: value })`.
935
- - `store.key` reads in actions replaced by `get().key`.
936
- - `useStore(view)` + `store.observe(view, keys?)` replaced by `bindStore(view, store, selector?)`.
937
- - `useStore()` (read-only access) replaced by `store.getState()`.
938
- - `store.observe(undefined, keys, cb)` (internal reaction) replaced by `store.subscribe((state, prev) => ...)`.
939
- - Removed: `multi()`, `cell()`, `observeCell()`, `cloneStore()`, `getStore()`, `delStore()`, `getUseStore()`, `isStoreActive()`, `createState()`, `shallowSet()`, `lazySet()`, `cloneData()`, `isState()`, `storeMark`, `storeUnmark`, `getPlatform`, `Platform`, `StoreConfig`, `ObservePayload`, `StoreMethods`, `LarkUseStore`, `ReactUseStore`, `NodeUseStore`.
940
- - Router history mode support:
941
- - Added `FrameworkConfig.routeMode` (`"history"` default, `"hash"` optional).
942
- - In history mode, path comes from `window.location.pathname`, params from search query string.
943
- - Added `useUrlState(view, initialState?)` for URL parameter state sync.
944
- - `ChangeEvent.keys` changed to `ReadonlySet<string>` (was `Record<string, 1>`). Use `keys.has("foo")` instead of `keys.foo`.
945
- - `StateInterface.diff()` returns `ReadonlySet<string>`.
946
- - `Updater.set/digest`, `State.set/digest`, `setData` `excludes?` changed to `ReadonlySet<string>` (was `Set<string>`).
947
- - `Frame.root(id)` `@deprecated`. Read via `Frame.getRoot()`, create singleton via `Frame.createRoot(id)`, independent mount via `new Frame(id)`.
948
- - `Updater.parse` no longer evals; only supports safe paths and literals.
949
- - `mark.ts` no longer writes magic keys to host objects; uses module-level `WeakMap`, works on `Object.freeze`d objects.
950
- - `Cache.del` immediately removes from `entries` array and `lookup` Map (previously left tombstones until next eviction).
951
-
952
930
  ## Comparison with Vue 3 / React 19
953
931
 
954
932
  ### vs Vue 3
@@ -14847,7 +14847,7 @@ function convertArtExpression(code, debug, lineNo, blockStack = []) {
14847
14847
  const object = tokens[0];
14848
14848
  if (tokens.length > 1 && tokens[1] !== "as") {
14849
14849
  throw new Error(
14850
- `[@lark.js/mvc error] bad forIn syntax: {{${code}}}. Expected "as" keyword, got "${tokens[1]}". Usage: {{for-in obj as val [key]}}`
14850
+ `[@lark.js/mvc error] bad forIn syntax: {{${code}}}. Expected "as" keyword, got "${tokens[1]}". Usage: {{forIn obj as val [key]}}`
14851
14851
  );
14852
14852
  }
14853
14853
  const restTokens2 = tokens.slice(2);
@@ -15084,7 +15084,8 @@ function extractGlobalVars(source) {
15084
15084
  } catch {
15085
15085
  return fallbackExtractVariables(source);
15086
15086
  }
15087
- const globalExists = { ...BUILTIN_GLOBALS };
15087
+ const globalExists = {};
15088
+ for (const name of BUILTIN_GLOBALS) globalExists[name] = 1;
15088
15089
  const globalVars = /* @__PURE__ */ Object.create(null);
15089
15090
  const fnRange = [];
15090
15091
  walkAst(ast, {
@@ -15158,7 +15159,7 @@ function fallbackExtractVariables(source) {
15158
15159
  while ((m = ifRegExp.exec(source)) !== null) {
15159
15160
  vars.add(m[1]);
15160
15161
  }
15161
- return Array.from(vars).filter((v) => !BUILTIN_GLOBAL_SET.has(v));
15162
+ return Array.from(vars).filter((v) => !BUILTIN_GLOBALS.has(v));
15162
15163
  }
15163
15164
  function walkAst(ast, visitors) {
15164
15165
  function visit(node) {
@@ -15197,7 +15198,7 @@ function walkAst(ast, visitors) {
15197
15198
  function isAstNode(v) {
15198
15199
  return !!v && typeof v === "object" && typeof v.type === "string";
15199
15200
  }
15200
- var BUILTIN_GLOBALS = {
15201
+ var BUILTIN_GLOBALS = /* @__PURE__ */ new Set([
15201
15202
  // ─── Template runtime helpers (injected by compileToFunction) ───────
15202
15203
  //
15203
15204
  // These variables appear in the generated template function signature
@@ -15206,147 +15207,146 @@ var BUILTIN_GLOBALS = {
15206
15207
  // SPLITTER character constant (same as \x1e), used as namespace separator
15207
15208
  // for refData keys, event attribute encoding, and internal data structures.
15208
15209
  // Declared as: let $splitter='\x1e'
15209
- $splitter: 1,
15210
+ "$splitter",
15210
15211
  // Data — the data object passed from Updater to the template function.
15211
15212
  // User variables are destructured from $data at the top of the function:
15212
15213
  // let {name, age} = $data;
15213
15214
  // This is the first parameter of the generated arrow function.
15214
- $data: 1,
15215
+ "$data",
15215
15216
  // Null-safe toString: v => '' + (v == null ? '' : v)
15216
15217
  // Converts null/undefined to empty string, otherwise calls toString().
15217
15218
  // Wraps every {{!raw}} output to prevent "null" / "undefined" rendering.
15218
- $strSafe: 1,
15219
+ "$strSafe",
15219
15220
  // HTML entity encoder: v => $strSafe(v).replace(/[&<>"'`]/g, entityMap)
15220
15221
  // Encodes &, <, >, ", ', ` to HTML entities (&amp; &lt; etc.)
15221
15222
  // Applied to all {{=escaped}} and {{:binding}} outputs.
15222
- $encHtml: 1,
15223
+ "$encHtml",
15223
15224
  // HTML entity map — internal object used by $encHtml:
15224
15225
  // {'&':'amp','<':'gt','>':'gt','"':'#34','\'':'#39','`':'#96'}
15225
15226
  // Not a standalone function; referenced inside $encHtml's closure.
15226
- $entMap: 1,
15227
+ "$entMap",
15227
15228
  // HTML entity RegExp — internal regexp used by $encHtml:
15228
15229
  // /[&<>"'`]/g
15229
- $entReg: 1,
15230
+ "$entReg",
15230
15231
  // HTML entity replacer function — internal helper used by $encHtml:
15231
15232
  // m => '&' + $entMap[m] + ';'
15232
15233
  // Maps matched character to its entity string.
15233
- $entFn: 1,
15234
+ "$entFn",
15234
15235
  // Output buffer — the string accumulator for rendered HTML.
15235
15236
  // All template output is appended via $out += '...'.
15236
15237
  // Declared as: let $out = ''
15237
- $out: 1,
15238
+ "$out",
15238
15239
  // Reference lookup: (refData, value) => key
15239
15240
  // Finds or allocates a SPLITTER-prefixed key in refData for a given
15240
15241
  // object reference. Used by {{@ref}} operator for passing object
15241
15242
  // references to child views via v-lark attributes.
15242
- $refFn: 1,
15243
+ "$refFn",
15243
15244
  // URI encoder: v => encodeURIComponent($strSafe(v)).replace(/[!')(*]/g, extraMap)
15244
15245
  // Extends encodeURIComponent with encoding of ! ' ( ) *.
15245
15246
  // Applied to values in @event URL parameters and {{!uri}} contexts.
15246
- $encUri: 1,
15247
+ "$encUri",
15247
15248
  // URI encode map — internal object used by $encUri:
15248
15249
  // {'!':'%21','\'':'%27','(':'%28',')':'%29','*':'%2A'}
15249
- $uriMap: 1,
15250
+ "$uriMap",
15250
15251
  // URI encode replacer — internal helper used by $encUri:
15251
15252
  // m => $uriMap[m]
15252
- $uriFn: 1,
15253
+ "$uriFn",
15253
15254
  // URI encode regexp — internal regexp used by $encUri:
15254
15255
  // /[!')(*]/g
15255
- $uriReg: 1,
15256
+ "$uriReg",
15256
15257
  // Quote encoder: v => $strSafe(v).replace(/['"\\]/g, '\\$&')
15257
15258
  // Escapes quotes and backslashes for safe embedding in HTML attribute
15258
15259
  // values (e.g. data-json='...').
15259
- $encQuote: 1,
15260
+ "$encQuote",
15260
15261
  // Quote encode regexp — internal regexp used by $encQuote:
15261
15262
  // /['"\\]/g
15262
- $qReg: 1,
15263
+ "$qReg",
15263
15264
  // View ID — the unique identifier of the owning View instance.
15264
15265
  // Injected into @event attribute values at render time so that
15265
15266
  // EventDelegator can dispatch events to the correct View handler.
15266
15267
  // The \x1f placeholder in compiled output is replaced with '+$viewId+'.
15267
- $viewId: 1,
15268
+ "$viewId",
15268
15269
  // Debug: current expression text — stores the template expression being
15269
15270
  // evaluated, for error reporting. Only present in debug mode.
15270
15271
  // e.g. $dbgExpr='<%=user.name%>'
15271
- $dbgExpr: 1,
15272
+ "$dbgExpr",
15272
15273
  // Debug: original art syntax — stores the {{}} template syntax before
15273
15274
  // conversion, for error reporting. Only present in debug mode.
15274
15275
  // e.g. $dbgArt='{{=user.name}}'
15275
- $dbgArt: 1,
15276
+ "$dbgArt",
15276
15277
  // Debug: source line number — tracks the current line in the template
15277
15278
  // source, for error reporting. Only present in debug mode.
15278
- $dbgLine: 1,
15279
+ "$dbgLine",
15279
15280
  // RefData alias — fallback reference lookup table.
15280
15281
  // Defaults to $data when no explicit $refAlt is provided.
15281
15282
  // Ensures $refFn() does not crash when @ operator is used without refData.
15282
- $refAlt: 1,
15283
+ "$refAlt",
15283
15284
  // Temporary variable — used by the compiler for intermediate
15284
15285
  // expression results in generated code (e.g. loop variables,
15285
15286
  // conditional branches). Declared as: let $tmp
15286
- $tmp: 1,
15287
+ "$tmp",
15287
15288
  // JS literals
15288
- undefined: 1,
15289
- null: 1,
15290
- true: 1,
15291
- false: 1,
15292
- NaN: 1,
15293
- Infinity: 1,
15289
+ "undefined",
15290
+ "null",
15291
+ "true",
15292
+ "false",
15293
+ "NaN",
15294
+ "Infinity",
15294
15295
  // JS built-in globals
15295
- window: 1,
15296
- self: 1,
15297
- globalThis: 1,
15298
- document: 1,
15299
- console: 1,
15300
- JSON: 1,
15301
- Math: 1,
15302
- Intl: 1,
15303
- Promise: 1,
15304
- Symbol: 1,
15305
- Number: 1,
15306
- String: 1,
15307
- Boolean: 1,
15308
- Array: 1,
15309
- Object: 1,
15310
- Date: 1,
15311
- RegExp: 1,
15312
- Error: 1,
15313
- TypeError: 1,
15314
- RangeError: 1,
15315
- SyntaxError: 1,
15316
- Map: 1,
15317
- Set: 1,
15318
- WeakMap: 1,
15319
- WeakSet: 1,
15320
- Proxy: 1,
15321
- Reflect: 1,
15322
- ArrayBuffer: 1,
15323
- DataView: 1,
15324
- Float32Array: 1,
15325
- Float64Array: 1,
15326
- Int8Array: 1,
15327
- Int16Array: 1,
15328
- Int32Array: 1,
15329
- Uint8Array: 1,
15330
- Uint16Array: 1,
15331
- Uint32Array: 1,
15332
- Uint8ClampedArray: 1,
15296
+ "window",
15297
+ "self",
15298
+ "globalThis",
15299
+ "document",
15300
+ "console",
15301
+ "JSON",
15302
+ "Math",
15303
+ "Intl",
15304
+ "Promise",
15305
+ "Symbol",
15306
+ "Number",
15307
+ "String",
15308
+ "Boolean",
15309
+ "Array",
15310
+ "Object",
15311
+ "Date",
15312
+ "RegExp",
15313
+ "Error",
15314
+ "TypeError",
15315
+ "RangeError",
15316
+ "SyntaxError",
15317
+ "Map",
15318
+ "Set",
15319
+ "WeakMap",
15320
+ "WeakSet",
15321
+ "Proxy",
15322
+ "Reflect",
15323
+ "ArrayBuffer",
15324
+ "DataView",
15325
+ "Float32Array",
15326
+ "Float64Array",
15327
+ "Int8Array",
15328
+ "Int16Array",
15329
+ "Int32Array",
15330
+ "Uint8Array",
15331
+ "Uint16Array",
15332
+ "Uint32Array",
15333
+ "Uint8ClampedArray",
15333
15334
  // Functions
15334
- parseInt: 1,
15335
- parseFloat: 1,
15336
- isNaN: 1,
15337
- isFinite: 1,
15338
- encodeURIComponent: 1,
15339
- decodeURIComponent: 1,
15340
- encodeURI: 1,
15341
- decodeURI: 1,
15335
+ "parseInt",
15336
+ "parseFloat",
15337
+ "isNaN",
15338
+ "isFinite",
15339
+ "encodeURIComponent",
15340
+ "decodeURIComponent",
15341
+ "encodeURI",
15342
+ "decodeURI",
15342
15343
  // Babel helpers
15343
- arguments: 1,
15344
- this: 1,
15345
- require: 1,
15344
+ "arguments",
15345
+ "this",
15346
+ "require",
15346
15347
  // Lark framework
15347
- Lark: 1
15348
- };
15349
- var BUILTIN_GLOBAL_SET = new Set(Object.keys(BUILTIN_GLOBALS));
15348
+ "Lark"
15349
+ ]);
15350
15350
 
15351
15351
  export {
15352
15352
  compileTemplate,
package/dist/compiler.cjs CHANGED
@@ -14859,7 +14859,7 @@ function convertArtExpression(code, debug, lineNo, blockStack = []) {
14859
14859
  const object = tokens[0];
14860
14860
  if (tokens.length > 1 && tokens[1] !== "as") {
14861
14861
  throw new Error(
14862
- `[@lark.js/mvc error] bad forIn syntax: {{${code}}}. Expected "as" keyword, got "${tokens[1]}". Usage: {{for-in obj as val [key]}}`
14862
+ `[@lark.js/mvc error] bad forIn syntax: {{${code}}}. Expected "as" keyword, got "${tokens[1]}". Usage: {{forIn obj as val [key]}}`
14863
14863
  );
14864
14864
  }
14865
14865
  const restTokens2 = tokens.slice(2);
@@ -15096,7 +15096,8 @@ function extractGlobalVars(source) {
15096
15096
  } catch {
15097
15097
  return fallbackExtractVariables(source);
15098
15098
  }
15099
- const globalExists = { ...BUILTIN_GLOBALS };
15099
+ const globalExists = {};
15100
+ for (const name of BUILTIN_GLOBALS) globalExists[name] = 1;
15100
15101
  const globalVars = /* @__PURE__ */ Object.create(null);
15101
15102
  const fnRange = [];
15102
15103
  walkAst(ast, {
@@ -15170,7 +15171,7 @@ function fallbackExtractVariables(source) {
15170
15171
  while ((m = ifRegExp.exec(source)) !== null) {
15171
15172
  vars.add(m[1]);
15172
15173
  }
15173
- return Array.from(vars).filter((v) => !BUILTIN_GLOBAL_SET.has(v));
15174
+ return Array.from(vars).filter((v) => !BUILTIN_GLOBALS.has(v));
15174
15175
  }
15175
15176
  function walkAst(ast, visitors) {
15176
15177
  function visit(node) {
@@ -15209,7 +15210,7 @@ function walkAst(ast, visitors) {
15209
15210
  function isAstNode(v) {
15210
15211
  return !!v && typeof v === "object" && typeof v.type === "string";
15211
15212
  }
15212
- var BUILTIN_GLOBALS = {
15213
+ var BUILTIN_GLOBALS = /* @__PURE__ */ new Set([
15213
15214
  // ─── Template runtime helpers (injected by compileToFunction) ───────
15214
15215
  //
15215
15216
  // These variables appear in the generated template function signature
@@ -15218,147 +15219,146 @@ var BUILTIN_GLOBALS = {
15218
15219
  // SPLITTER character constant (same as \x1e), used as namespace separator
15219
15220
  // for refData keys, event attribute encoding, and internal data structures.
15220
15221
  // Declared as: let $splitter='\x1e'
15221
- $splitter: 1,
15222
+ "$splitter",
15222
15223
  // Data — the data object passed from Updater to the template function.
15223
15224
  // User variables are destructured from $data at the top of the function:
15224
15225
  // let {name, age} = $data;
15225
15226
  // This is the first parameter of the generated arrow function.
15226
- $data: 1,
15227
+ "$data",
15227
15228
  // Null-safe toString: v => '' + (v == null ? '' : v)
15228
15229
  // Converts null/undefined to empty string, otherwise calls toString().
15229
15230
  // Wraps every {{!raw}} output to prevent "null" / "undefined" rendering.
15230
- $strSafe: 1,
15231
+ "$strSafe",
15231
15232
  // HTML entity encoder: v => $strSafe(v).replace(/[&<>"'`]/g, entityMap)
15232
15233
  // Encodes &, <, >, ", ', ` to HTML entities (&amp; &lt; etc.)
15233
15234
  // Applied to all {{=escaped}} and {{:binding}} outputs.
15234
- $encHtml: 1,
15235
+ "$encHtml",
15235
15236
  // HTML entity map — internal object used by $encHtml:
15236
15237
  // {'&':'amp','<':'gt','>':'gt','"':'#34','\'':'#39','`':'#96'}
15237
15238
  // Not a standalone function; referenced inside $encHtml's closure.
15238
- $entMap: 1,
15239
+ "$entMap",
15239
15240
  // HTML entity RegExp — internal regexp used by $encHtml:
15240
15241
  // /[&<>"'`]/g
15241
- $entReg: 1,
15242
+ "$entReg",
15242
15243
  // HTML entity replacer function — internal helper used by $encHtml:
15243
15244
  // m => '&' + $entMap[m] + ';'
15244
15245
  // Maps matched character to its entity string.
15245
- $entFn: 1,
15246
+ "$entFn",
15246
15247
  // Output buffer — the string accumulator for rendered HTML.
15247
15248
  // All template output is appended via $out += '...'.
15248
15249
  // Declared as: let $out = ''
15249
- $out: 1,
15250
+ "$out",
15250
15251
  // Reference lookup: (refData, value) => key
15251
15252
  // Finds or allocates a SPLITTER-prefixed key in refData for a given
15252
15253
  // object reference. Used by {{@ref}} operator for passing object
15253
15254
  // references to child views via v-lark attributes.
15254
- $refFn: 1,
15255
+ "$refFn",
15255
15256
  // URI encoder: v => encodeURIComponent($strSafe(v)).replace(/[!')(*]/g, extraMap)
15256
15257
  // Extends encodeURIComponent with encoding of ! ' ( ) *.
15257
15258
  // Applied to values in @event URL parameters and {{!uri}} contexts.
15258
- $encUri: 1,
15259
+ "$encUri",
15259
15260
  // URI encode map — internal object used by $encUri:
15260
15261
  // {'!':'%21','\'':'%27','(':'%28',')':'%29','*':'%2A'}
15261
- $uriMap: 1,
15262
+ "$uriMap",
15262
15263
  // URI encode replacer — internal helper used by $encUri:
15263
15264
  // m => $uriMap[m]
15264
- $uriFn: 1,
15265
+ "$uriFn",
15265
15266
  // URI encode regexp — internal regexp used by $encUri:
15266
15267
  // /[!')(*]/g
15267
- $uriReg: 1,
15268
+ "$uriReg",
15268
15269
  // Quote encoder: v => $strSafe(v).replace(/['"\\]/g, '\\$&')
15269
15270
  // Escapes quotes and backslashes for safe embedding in HTML attribute
15270
15271
  // values (e.g. data-json='...').
15271
- $encQuote: 1,
15272
+ "$encQuote",
15272
15273
  // Quote encode regexp — internal regexp used by $encQuote:
15273
15274
  // /['"\\]/g
15274
- $qReg: 1,
15275
+ "$qReg",
15275
15276
  // View ID — the unique identifier of the owning View instance.
15276
15277
  // Injected into @event attribute values at render time so that
15277
15278
  // EventDelegator can dispatch events to the correct View handler.
15278
15279
  // The \x1f placeholder in compiled output is replaced with '+$viewId+'.
15279
- $viewId: 1,
15280
+ "$viewId",
15280
15281
  // Debug: current expression text — stores the template expression being
15281
15282
  // evaluated, for error reporting. Only present in debug mode.
15282
15283
  // e.g. $dbgExpr='<%=user.name%>'
15283
- $dbgExpr: 1,
15284
+ "$dbgExpr",
15284
15285
  // Debug: original art syntax — stores the {{}} template syntax before
15285
15286
  // conversion, for error reporting. Only present in debug mode.
15286
15287
  // e.g. $dbgArt='{{=user.name}}'
15287
- $dbgArt: 1,
15288
+ "$dbgArt",
15288
15289
  // Debug: source line number — tracks the current line in the template
15289
15290
  // source, for error reporting. Only present in debug mode.
15290
- $dbgLine: 1,
15291
+ "$dbgLine",
15291
15292
  // RefData alias — fallback reference lookup table.
15292
15293
  // Defaults to $data when no explicit $refAlt is provided.
15293
15294
  // Ensures $refFn() does not crash when @ operator is used without refData.
15294
- $refAlt: 1,
15295
+ "$refAlt",
15295
15296
  // Temporary variable — used by the compiler for intermediate
15296
15297
  // expression results in generated code (e.g. loop variables,
15297
15298
  // conditional branches). Declared as: let $tmp
15298
- $tmp: 1,
15299
+ "$tmp",
15299
15300
  // JS literals
15300
- undefined: 1,
15301
- null: 1,
15302
- true: 1,
15303
- false: 1,
15304
- NaN: 1,
15305
- Infinity: 1,
15301
+ "undefined",
15302
+ "null",
15303
+ "true",
15304
+ "false",
15305
+ "NaN",
15306
+ "Infinity",
15306
15307
  // JS built-in globals
15307
- window: 1,
15308
- self: 1,
15309
- globalThis: 1,
15310
- document: 1,
15311
- console: 1,
15312
- JSON: 1,
15313
- Math: 1,
15314
- Intl: 1,
15315
- Promise: 1,
15316
- Symbol: 1,
15317
- Number: 1,
15318
- String: 1,
15319
- Boolean: 1,
15320
- Array: 1,
15321
- Object: 1,
15322
- Date: 1,
15323
- RegExp: 1,
15324
- Error: 1,
15325
- TypeError: 1,
15326
- RangeError: 1,
15327
- SyntaxError: 1,
15328
- Map: 1,
15329
- Set: 1,
15330
- WeakMap: 1,
15331
- WeakSet: 1,
15332
- Proxy: 1,
15333
- Reflect: 1,
15334
- ArrayBuffer: 1,
15335
- DataView: 1,
15336
- Float32Array: 1,
15337
- Float64Array: 1,
15338
- Int8Array: 1,
15339
- Int16Array: 1,
15340
- Int32Array: 1,
15341
- Uint8Array: 1,
15342
- Uint16Array: 1,
15343
- Uint32Array: 1,
15344
- Uint8ClampedArray: 1,
15308
+ "window",
15309
+ "self",
15310
+ "globalThis",
15311
+ "document",
15312
+ "console",
15313
+ "JSON",
15314
+ "Math",
15315
+ "Intl",
15316
+ "Promise",
15317
+ "Symbol",
15318
+ "Number",
15319
+ "String",
15320
+ "Boolean",
15321
+ "Array",
15322
+ "Object",
15323
+ "Date",
15324
+ "RegExp",
15325
+ "Error",
15326
+ "TypeError",
15327
+ "RangeError",
15328
+ "SyntaxError",
15329
+ "Map",
15330
+ "Set",
15331
+ "WeakMap",
15332
+ "WeakSet",
15333
+ "Proxy",
15334
+ "Reflect",
15335
+ "ArrayBuffer",
15336
+ "DataView",
15337
+ "Float32Array",
15338
+ "Float64Array",
15339
+ "Int8Array",
15340
+ "Int16Array",
15341
+ "Int32Array",
15342
+ "Uint8Array",
15343
+ "Uint16Array",
15344
+ "Uint32Array",
15345
+ "Uint8ClampedArray",
15345
15346
  // Functions
15346
- parseInt: 1,
15347
- parseFloat: 1,
15348
- isNaN: 1,
15349
- isFinite: 1,
15350
- encodeURIComponent: 1,
15351
- decodeURIComponent: 1,
15352
- encodeURI: 1,
15353
- decodeURI: 1,
15347
+ "parseInt",
15348
+ "parseFloat",
15349
+ "isNaN",
15350
+ "isFinite",
15351
+ "encodeURIComponent",
15352
+ "decodeURIComponent",
15353
+ "encodeURI",
15354
+ "decodeURI",
15354
15355
  // Babel helpers
15355
- arguments: 1,
15356
- this: 1,
15357
- require: 1,
15356
+ "arguments",
15357
+ "this",
15358
+ "require",
15358
15359
  // Lark framework
15359
- Lark: 1
15360
- };
15361
- var BUILTIN_GLOBAL_SET = new Set(Object.keys(BUILTIN_GLOBALS));
15360
+ "Lark"
15361
+ ]);
15362
15362
  // Annotate the CommonJS export names for ESM import in node:
15363
15363
  0 && (module.exports = {
15364
15364
  compileTemplate,