@velarscript/core 0.12.0 → 0.13.0

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/dist/index.d.ts CHANGED
@@ -5,10 +5,6 @@ export declare const VELAR_WORKER_MANIFEST_MODULE = "velar/worker-manifest";
5
5
  export declare function standardModuleInterfaces(extensions?: readonly CompilerExtension[]): ReadonlyMap<string, ModuleInterface>;
6
6
  export declare function isStandardModule(source: string, extensions?: readonly CompilerExtension[]): boolean;
7
7
  export declare function standardModuleInterface(source: string, extensions?: readonly CompilerExtension[]): ModuleInterface | null;
8
- export declare const STANDARD_MODULE_ADAPTER_DEPENDENCIES: ReadonlyMap<string, {
9
- readonly packageName: string;
10
- readonly version: string;
11
- }>;
12
8
  export declare function standardModuleSources(extensions?: readonly CompilerExtension[]): ReadonlyMap<string, string>;
13
9
  export declare function standardModuleRoute(source: string): string;
14
10
  export interface StandardModuleApi {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,iBAAiB,EAEtB,KAAK,eAAe,EAErB,MAAM,uBAAuB,CAAC;AA6B/B,eAAO,MAAM,sBAAsB,0BAA0B,CAAC;AAC9D,eAAO,MAAM,0BAA0B,QAAQ,CAAC;AAEhD,eAAO,MAAM,4BAA4B,0BAA0B,CAAC;AAycpE,wBAAgB,wBAAwB,CAAC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAAG,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAM5H;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAAG,OAAO,CAEvG;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAAG,eAAe,GAAG,IAAI,CAM7H;AA23ED,eAAO,MAAM,oCAAoC,EAAE,WAAW,CAAC,MAAM,EAAE;IAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAa,CAAC;AAE/I,wBAAgB,qBAAqB,CAAC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAMhH;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;CAC/D;AAED,wBAAgB,iBAAiB,CAAC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAAG,iBAAiB,CAQlG;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,aAAa,GAAE,OAAuB,EACtC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAC5C,MAAM,GAAG,IAAI,CAgBf;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EACd,aAAa,GAAE,OAAuB,EACtC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAC5C,SAAS,MAAM,EAAE,GAAG,IAAI,CAO1B;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EACvB,aAAa,GAAE,OAAuB,EACtC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAC5C,WAAW,CAAC,MAAM,CAAC,CAerB;AAuBD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,aAAa,GAAE,OAAuB,EACtC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAC5C,MAAM,GAAG,IAAI,CAGf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,iBAAiB,EAEtB,KAAK,eAAe,EAErB,MAAM,uBAAuB,CAAC;AA6B/B,eAAO,MAAM,sBAAsB,0BAA0B,CAAC;AAC9D,eAAO,MAAM,0BAA0B,QAAQ,CAAC;AAEhD,eAAO,MAAM,4BAA4B,0BAA0B,CAAC;AA2cpE,wBAAgB,wBAAwB,CAAC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAAG,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAM5H;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAAG,OAAO,CAEvG;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAAG,eAAe,GAAG,IAAI,CAM7H;AAwiFD,wBAAgB,qBAAqB,CAAC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAMhH;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;CAC/D;AAED,wBAAgB,iBAAiB,CAAC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAAG,iBAAiB,CAQlG;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,aAAa,GAAE,OAAuB,EACtC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAC5C,MAAM,GAAG,IAAI,CAgBf;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EACd,aAAa,GAAE,OAAuB,EACtC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAC5C,SAAS,MAAM,EAAE,GAAG,IAAI,CAO1B;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EACvB,aAAa,GAAE,OAAuB,EACtC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAC5C,WAAW,CAAC,MAAM,CAAC,CAerB;AAuBD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,aAAa,GAAE,OAAuB,EACtC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAC5C,MAAM,GAAG,IAAI,CAGf"}
package/dist/index.js CHANGED
@@ -3,7 +3,6 @@ import { VELAR_CLASS_FIELD_MODULE, VELAR_CLASS_FIELD_MODULE_SOURCE, VELAR_COLLEC
3
3
  export const CORE_WORKER_CONFIG_KEY = "velar:core-workers-v1";
4
4
  export const VELAR_STANDARD_API_VERSION = "0.5";
5
5
  export const VELAR_WORKER_MANIFEST_MODULE = "velar/worker-manifest";
6
- const anyType = { kind: "any" };
7
6
  const nullType = { kind: "null" };
8
7
  const stringType = { kind: "string" };
9
8
  const numberType = { kind: "number" };
@@ -30,10 +29,13 @@ function object(fields) {
30
29
  const unknownType = { kind: "unknown" };
31
30
  const errorType = { kind: "class", name: "Error" };
32
31
  const cleanupType = apiFunction([], [], nullType);
33
- const listAny = { kind: "list", element: anyType };
32
+ // D90 R17: accept-anything positions are `unknown`, the top type for
33
+ // assignment targets; the analyzer's intrinsic handlers compute the real
34
+ // per-call types, so nothing here ever hands back an unchecked `any`.
35
+ const listUnknown = { kind: "list", element: unknownType };
34
36
  const listNumber = { kind: "list", element: numberType };
35
37
  const listString = { kind: "list", element: stringType };
36
- const mapAny = { kind: "map", key: anyType, value: anyType };
38
+ const mapUnknown = { kind: "map", key: unknownType, value: unknownType };
37
39
  const mapString = (value) => ({ kind: "map", key: stringType, value });
38
40
  const patternOptionsType = object({
39
41
  ignoreCase: optional(boolType),
@@ -203,33 +205,33 @@ const workerErrorIdentities = new Map([
203
205
  const coreModuleInterfaces = new Map([
204
206
  ["velar/collections", moduleInterface(new Map([
205
207
  ["range", apiIntrinsic("collections.range", ["start", "end", "step"], [numberType, numberType, numberType], listNumber, 1)],
206
- ["enumerate", apiIntrinsic("collections.enumerate", ["values", "start"], [listAny, numberType], listAny, 1)],
207
- ["zip", apiIntrinsic("collections.zip", ["left", "right"], [listAny, listAny], listAny)],
208
- ["unique", apiIntrinsic("collections.unique", ["values"], [listAny], listAny)],
209
- ["chunk", apiIntrinsic("collections.chunk", ["values", "size"], [listAny, numberType], listAny)],
210
- ["flatten", apiIntrinsic("collections.flatten", ["values"], [listAny], listAny)],
211
- ["compact", apiIntrinsic("collections.compact", ["values"], [listAny], listAny)],
212
- ["reversed", apiIntrinsic("collections.reversed", ["values"], [listAny], listAny)],
213
- ["take", apiIntrinsic("collections.take", ["values", "count"], [listAny, numberType], listAny)],
214
- ["drop", apiIntrinsic("collections.drop", ["values", "count"], [listAny, numberType], listAny)],
215
- ["first", apiIntrinsic("collections.first", ["values"], [listAny], anyType)],
216
- ["last", apiIntrinsic("collections.last", ["values"], [listAny], anyType)],
217
- ["find", apiIntrinsic("collections.find", ["values", "test"], [listAny, anyType], anyType)],
218
- ["index", apiIntrinsic("collections.index", ["values", "value"], [listAny, anyType], optional(numberType))],
219
- ["has", apiIntrinsic("collections.has", ["values", "value"], [listAny, anyType], boolType)],
220
- ["count", apiIntrinsic("collections.count", ["values", "value"], [listAny, anyType], numberType)],
221
- ["some", apiIntrinsic("collections.some", ["values", "test"], [listAny, anyType], boolType)],
222
- ["every", apiIntrinsic("collections.every", ["values", "test"], [listAny, anyType], boolType)],
223
- ["partition", apiIntrinsic("collections.partition", ["values", "test"], [listAny, anyType], anyType)],
224
- ["groupBy", apiIntrinsic("collections.groupBy", ["values", "key"], [listAny, anyType], mapAny)],
225
- ["keyBy", apiIntrinsic("collections.keyBy", ["values", "key"], [listAny, anyType], mapAny)],
226
- ["countBy", apiIntrinsic("collections.countBy", ["values", "key"], [listAny, anyType], mapAny)],
227
- ["sortBy", apiIntrinsic("collections.sortBy", ["values", "key", "descending"], [listAny, anyType, boolType], listAny, 2)],
228
- ["minBy", apiIntrinsic("collections.minBy", ["values", "key"], [listAny, anyType], anyType)],
229
- ["maxBy", apiIntrinsic("collections.maxBy", ["values", "key"], [listAny, anyType], anyType)],
208
+ ["enumerate", apiIntrinsic("collections.enumerate", ["values", "start"], [listUnknown, numberType], listUnknown, 1)],
209
+ ["zip", apiIntrinsic("collections.zip", ["left", "right"], [listUnknown, listUnknown], listUnknown)],
210
+ ["unique", apiIntrinsic("collections.unique", ["values"], [listUnknown], listUnknown)],
211
+ ["chunk", apiIntrinsic("collections.chunk", ["values", "size"], [listUnknown, numberType], listUnknown)],
212
+ ["flatten", apiIntrinsic("collections.flatten", ["values"], [listUnknown], listUnknown)],
213
+ ["compact", apiIntrinsic("collections.compact", ["values"], [listUnknown], listUnknown)],
214
+ ["reversed", apiIntrinsic("collections.reversed", ["values"], [listUnknown], listUnknown)],
215
+ ["take", apiIntrinsic("collections.take", ["values", "count"], [listUnknown, numberType], listUnknown)],
216
+ ["drop", apiIntrinsic("collections.drop", ["values", "count"], [listUnknown, numberType], listUnknown)],
217
+ ["first", apiIntrinsic("collections.first", ["values"], [listUnknown], unknownType)],
218
+ ["last", apiIntrinsic("collections.last", ["values"], [listUnknown], unknownType)],
219
+ ["find", apiIntrinsic("collections.find", ["values", "test"], [listUnknown, unknownType], unknownType)],
220
+ ["index", apiIntrinsic("collections.index", ["values", "value"], [listUnknown, unknownType], optional(numberType))],
221
+ ["has", apiIntrinsic("collections.has", ["values", "value"], [listUnknown, unknownType], boolType)],
222
+ ["count", apiIntrinsic("collections.count", ["values", "value"], [listUnknown, unknownType], numberType)],
223
+ ["some", apiIntrinsic("collections.some", ["values", "test"], [listUnknown, unknownType], boolType)],
224
+ ["every", apiIntrinsic("collections.every", ["values", "test"], [listUnknown, unknownType], boolType)],
225
+ ["partition", apiIntrinsic("collections.partition", ["values", "test"], [listUnknown, unknownType], unknownType)],
226
+ ["groupBy", apiIntrinsic("collections.groupBy", ["values", "key"], [listUnknown, unknownType], mapUnknown)],
227
+ ["keyBy", apiIntrinsic("collections.keyBy", ["values", "key"], [listUnknown, unknownType], mapUnknown)],
228
+ ["countBy", apiIntrinsic("collections.countBy", ["values", "key"], [listUnknown, unknownType], mapUnknown)],
229
+ ["sortBy", apiIntrinsic("collections.sortBy", ["values", "key", "descending"], [listUnknown, unknownType, boolType], listUnknown, 2)],
230
+ ["minBy", apiIntrinsic("collections.minBy", ["values", "key"], [listUnknown, unknownType], unknownType)],
231
+ ["maxBy", apiIntrinsic("collections.maxBy", ["values", "key"], [listUnknown, unknownType], unknownType)],
230
232
  ["sum", apiIntrinsic("collections.sum", ["values"], [listNumber], numberType)],
231
233
  ["join", apiIntrinsic("collections.join", ["values", "separator"], [listString, stringType], stringType, 1)],
232
- ["repeat", apiIntrinsic("collections.repeat", ["value", "count"], [anyType, numberType], listAny)],
234
+ ["repeat", apiIntrinsic("collections.repeat", ["value", "count"], [unknownType, numberType], listUnknown)],
233
235
  ]))],
234
236
  ["velar/text", moduleInterface(new Map([
235
237
  ["trimStart", apiFunction(["value"], [stringType], stringType)],
@@ -348,29 +350,29 @@ const coreModuleInterfaces = new Map([
348
350
  ["WorkerPool", workerTemplate(workerPoolIdentity, "WorkerPool")], [workerPoolIdentity, workerTemplate(workerPoolIdentity, "WorkerPool")],
349
351
  ]))],
350
352
  ["velar/json", moduleInterface(new Map([
351
- ["parse", apiIntrinsic("json.parse", ["text", "target"], [stringType, anyType], unknownType, 1)],
352
- ["tryParse", apiIntrinsic("json.tryParse", ["text", "target", "fallback"], [stringType, anyType, anyType], unknownType, 1)],
353
- ["stringify", apiIntrinsic("json.stringify", ["value", "pretty"], [anyType, { kind: "union", members: [boolType, numberType] }], stringType, 1)],
354
- ["stableStringify", apiIntrinsic("json.stableStringify", ["value", "pretty"], [anyType, { kind: "union", members: [boolType, numberType] }], stringType, 1)],
355
- ["clone", apiIntrinsic("json.clone", ["value", "target"], [anyType, anyType], anyType, 1)],
356
- ["isSerializable", apiFunction(["value"], [anyType], boolType)],
353
+ ["parse", apiIntrinsic("json.parse", ["text", "target"], [stringType, unknownType], unknownType, 1)],
354
+ ["tryParse", apiIntrinsic("json.tryParse", ["text", "target", "fallback"], [stringType, unknownType, unknownType], unknownType, 1)],
355
+ ["stringify", apiIntrinsic("json.stringify", ["value", "pretty"], [unknownType, { kind: "union", members: [boolType, numberType] }], stringType, 1)],
356
+ ["stableStringify", apiIntrinsic("json.stableStringify", ["value", "pretty"], [unknownType, { kind: "union", members: [boolType, numberType] }], stringType, 1)],
357
+ ["clone", apiIntrinsic("json.clone", ["value", "target"], [unknownType, unknownType], unknownType, 1)],
358
+ ["isSerializable", apiFunction(["value"], [unknownType], boolType)],
357
359
  ]))],
358
360
  ["velar/async", moduleInterface(new Map([
359
361
  ["sleep", apiFunction(["duration"], [durationType], promise(nullType))],
360
- ["all", apiIntrinsic("async.all", ["values"], [anyType], promise(anyType))],
361
- ["race", apiIntrinsic("async.race", ["values"], [listAny], promise(anyType))],
362
- ["timeout", apiIntrinsic("async.timeout", ["value", "duration", "message"], [promise(anyType), durationType, stringType], promise(anyType), 2)],
363
- ["retry", apiIntrinsic("async.retry", ["task", "attempts", "delay"], [anyType, numberType, durationType], promise(anyType), 1)],
364
- ["map", apiIntrinsic("async.map", ["values", "worker", "concurrency"], [listAny, anyType, numberType], promise(listAny), 2)],
365
- ["series", apiIntrinsic("async.series", ["tasks"], [listAny], promise(listAny))],
362
+ ["all", apiIntrinsic("async.all", ["values"], [unknownType], promise(unknownType))],
363
+ ["race", apiIntrinsic("async.race", ["values"], [listUnknown], promise(unknownType))],
364
+ ["timeout", apiIntrinsic("async.timeout", ["value", "duration", "message"], [promise(unknownType), durationType, stringType], promise(unknownType), 2)],
365
+ ["retry", apiIntrinsic("async.retry", ["task", "attempts", "delay"], [unknownType, numberType, durationType], promise(unknownType), 1)],
366
+ ["map", apiIntrinsic("async.map", ["values", "worker", "concurrency"], [listUnknown, unknownType, numberType], promise(listUnknown), 2)],
367
+ ["series", apiIntrinsic("async.series", ["tasks"], [listUnknown], promise(listUnknown))],
366
368
  ]))],
367
369
  ["velar/url", moduleInterface(new Map([
368
370
  ["parse", apiFunction(["value", "base"], [stringType, stringType], urlInfoType, 1)],
369
371
  // join is a pure rest call, so its segments stay positional.
370
372
  ["join", intrinsic("url.join", [stringType], stringType)],
371
- ["query", apiFunction(["params"], [anyType], stringType)],
373
+ ["query", apiFunction(["params"], [unknownType], stringType)],
372
374
  ["parseQuery", apiFunction(["value"], [stringType], { kind: "map", key: stringType, value: stringType })],
373
- ["withQuery", apiFunction(["value", "params"], [stringType, anyType], stringType)],
375
+ ["withQuery", apiFunction(["value", "params"], [stringType, unknownType], stringType)],
374
376
  ["withHash", apiFunction(["value", "hash"], [stringType, stringType], stringType)],
375
377
  ["isExternal", apiFunction(["value", "base"], [stringType, stringType], boolType, 1)],
376
378
  ["encode", apiFunction(["value"], [stringType], stringType)],
@@ -400,7 +402,7 @@ const coreModuleInterfaces = new Map([
400
402
  ["useSink", apiFunction(["sink"], [functionType([logRecordType], unknownType)], cleanupType)],
401
403
  ]), new Map(), new Map(), new Map([["LogRecord", logRecordType]]))],
402
404
  ["velar/test", moduleInterface(new Map([
403
- ["expect", apiIntrinsic("test.expect", ["actual"], [anyType], anyType)],
405
+ ["expect", apiIntrinsic("test.expect", ["actual"], [unknownType], unknownType)],
404
406
  ]))],
405
407
  ]);
406
408
  function moduleInterface(exports, classes = new Map(), namedTypes = new Map(), typeAliases = new Map(), namedTypeReadonlyFields = new Map(), namedTypeIdentities = new Map(), enums = new Map(), genericTypes = new Map()) {
@@ -506,8 +508,15 @@ const __velarListRangeError = RangeError;
506
508
  function __velarListReactiveRuntime() {
507
509
  const descriptor = __velarListGetOwnPropertyDescriptor(globalThis, __velarListSymbolFor(${JSON.stringify(VELAR_RUNTIME_REGISTRY_KEY)}));
508
510
  const runtime = descriptor && "value" in descriptor ? descriptor.value : null;
509
- return runtime && runtime.version === ${JSON.stringify(VELAR_RUNTIME_SCHEMA_VERSION)} && typeof runtime.toRaw === "function"
510
- && typeof runtime.collectionRead === "function" ? runtime : null;
511
+ // No registry means no reactive runtime in this realm, which is ordinary Core
512
+ // behavior. A registry from another generation is a mixed build: reading past
513
+ // it would copy raw values and silently lose every collectionRead dependency,
514
+ // so it fails closed ahead of the callable duck-checks.
515
+ if (!runtime || (typeof runtime !== "object" && typeof runtime !== "function")) return null;
516
+ if (runtime.version !== ${JSON.stringify(VELAR_RUNTIME_SCHEMA_VERSION)}) {
517
+ throw new __velarListTypeError("VelarScript reactive runtime schema " + (typeof runtime.version === "string" ? runtime.version : "(unknown)") + " does not match this module's schema ${VELAR_RUNTIME_SCHEMA_VERSION}; one build mixed two generations of @velarscript/* — run 'npm ls @velarscript/compiler' and pin one version");
518
+ }
519
+ return typeof runtime.toRaw === "function" && typeof runtime.collectionRead === "function" ? runtime : null;
511
520
  }
512
521
  function __velarRequireList(value, name) {
513
522
  const reactive = __velarListReactiveRuntime();
@@ -618,6 +627,9 @@ function __velarCollectionsCodePointCompare(left, right) {
618
627
  }
619
628
  function __velarCollectionsOrderedCompare(kind, left, right) {
620
629
  if (kind === "string") return __velarCollectionsCodePointCompare(left, right);
630
+ // R1: comparable() already fences NaN upstream, so this is defence in depth —
631
+ // the ordering primitive must never answer "equal" for an unordered value.
632
+ if (left !== left || right !== right) throw new __velarCollectionsNativeTypeError("ordered comparison found NaN, which has no ordering");
621
633
  return left < right ? -1 : left > right ? 1 : 0;
622
634
  }
623
635
  function requireList(value, name) {
@@ -818,7 +830,7 @@ function extremeBy(values, key, direction, name) {
818
830
 
819
831
  export function minBy(values, key) { return extremeBy(values, key, -1, "minBy"); }
820
832
  export function maxBy(values, key) { return extremeBy(values, key, 1, "maxBy"); }
821
- export function sum(values) { values = requireList(values, "sum"); let total = 0; for (let index = 0; index < values.length; index += 1) { if (typeof values[index] !== "number") throw new __velarCollectionsNativeTypeError("sum requires numbers"); total += values[index]; } return total; }
833
+ export function sum(values) { values = requireList(values, "sum"); let total = 0; for (let index = 0; index < values.length; index += 1) { if (typeof values[index] !== "number") throw new __velarCollectionsNativeTypeError("sum requires numbers"); if (values[index] !== values[index]) throw new __velarCollectionsNativeTypeError("sum found NaN, which poisons the total; drop it with filter(x => not x.isNaN()) or fix the upstream computation"); total += values[index]; } return total; }
822
834
  export function join(values, separator = "") {
823
835
  if (typeof separator !== "string") throw new __velarCollectionsNativeTypeError("join separator must be a string");
824
836
  values = requireList(values, "join");
@@ -845,6 +857,7 @@ ${VELAR_TEXT_METHOD_RUNTIME}
845
857
  ${VELAR_UTF8_RUNTIME}
846
858
  const maxTextCodeUnits = __velarMaxTextCodeUnits;
847
859
  const maxTextItems = __velarMaxTextItems;
860
+ const maxTextPatternMillis = 250;
848
861
  const __velarTextGetOwnPropertyNames = __velarTextGetOwnPropertyDescriptor(__velarTextNativeObject, "getOwnPropertyNames")?.value;
849
862
  const __velarTextGetOwnPropertySymbols = __velarTextGetOwnPropertyDescriptor(__velarTextNativeObject, "getOwnPropertySymbols")?.value;
850
863
  const __velarTextGetPrototypeOf = __velarTextGetOwnPropertyDescriptor(__velarTextNativeObject, "getPrototypeOf")?.value;
@@ -856,6 +869,8 @@ const __velarTextArrayJoin = __velarTextGetOwnPropertyDescriptor(__velarTextArra
856
869
  const __velarTextStringTrimStart = __velarTextGetOwnPropertyDescriptor(__velarTextStringPrototype, "trimStart")?.value;
857
870
  const __velarTextStringTrimEnd = __velarTextGetOwnPropertyDescriptor(__velarTextStringPrototype, "trimEnd")?.value;
858
871
  const __velarTextStringNormalize = __velarTextGetOwnPropertyDescriptor(__velarTextStringPrototype, "normalize")?.value;
872
+ const __velarTextNativeDate = globalThis.Date;
873
+ const __velarTextDateNow = __velarTextGetOwnPropertyDescriptor(__velarTextNativeDate, "now")?.value;
859
874
  const nativeRegExpPrototype = __velarTextGetPrototypeOf(/(?:)/u);
860
875
  const NativeRegExp = __velarTextGetOwnPropertyDescriptor(nativeRegExpPrototype, "constructor")?.value;
861
876
  const nativeRegExpExec = __velarTextGetOwnPropertyDescriptor(nativeRegExpPrototype, "exec")?.value;
@@ -864,14 +879,37 @@ const __velarTextStringCodePointAt = __velarTextGetOwnPropertyDescriptor(__velar
864
879
  const __velarTextStringFromCodePoint = __velarTextGetOwnPropertyDescriptor(__velarTextNativeString, "fromCodePoint")?.value;
865
880
  const __velarTextTitleSeparators = /[_\-/]+/gu;
866
881
  const __velarTextTitleWords = /(^|\s)([\p{L}\p{N}])/gu;
867
- const __velarTextLines = /\r?\n/gu;
882
+ // A line ends at CRLF, at a lone CR, or at LF — the same three the language
883
+ // itself accepts as a statement separator and the same three
884
+ // SourceText indexes for diagnostics. A text API that disagreed with its
885
+ // own language would make Text.lineStarts on Vel source compute line
886
+ // numbers the compiler does not report.
887
+ const __velarTextLines = /\r\n|[\r\n]/gu;
868
888
  const __velarTextWords = /\s+/gu;
869
- const __velarTextMarks = /\p{M}/gu;
870
- const __velarTextSlugSeparators = /[^\p{L}\p{N}]+/gu;
889
+ const __velarTextLatinMarks = /(?<=\p{Script=Latin})\p{M}+/gu;
890
+ const __velarTextBaselessMarks = /(?<![\p{L}\p{N}\p{M}])\p{M}+/gu;
891
+ const __velarTextSlugSeparators = /[^\p{L}\p{N}\p{M}]+/gu;
871
892
  const __velarTextSlugEdges = /^-+|-+$/gu;
872
893
  const __velarTextWhitespace = /\s+/gu;
894
+ const __velarTextPatternPrefix = /^Invalid regular expression: (?:\/[\s\S]*\/[a-z]*: )?/u;
873
895
  function __velarTextAppend(values, value) { values[values.length] = value; }
874
896
  function __velarTextJoin(values, separator) { return __velarTextCall(__velarTextArrayJoin, values, [separator]); }
897
+ // TXT-P2: bounded work is already the promise on this surface — the code-unit
898
+ // and item caps are here — and time was the dimension that was missed, so a
899
+ // backtracking pattern over hostile input could run for as long as it liked.
900
+ // Every operation that runs a pattern the author supplied gets a fresh budget,
901
+ // checked at every exec boundary. The engine is not interruptible, so one
902
+ // catastrophic exec is caught when it returns rather than pre-empted; that
903
+ // still turns a silent unbounded hang into a loud bounded failure and stops
904
+ // the amplification a per-match loop would otherwise give it. The budget is
905
+ // deliberately not charged to slug, title or normalizeWhitespace: they run
906
+ // this module's own linear patterns, so their only bound is on size, and a
907
+ // wall clock would otherwise make a large but legal text succeed or fail by
908
+ // how busy the machine is.
909
+ function patternDeadline() { return __velarTextCall(__velarTextDateNow, __velarTextNativeDate, []) + maxTextPatternMillis; }
910
+ function checkPatternDeadline(deadline) {
911
+ if (__velarTextCall(__velarTextDateNow, __velarTextNativeDate, []) > deadline) throw new __velarTextNativeRangeError("text pattern matching cannot exceed " + maxTextPatternMillis + " ms");
912
+ }
875
913
  function __velarTextRegexReplace(value, pattern, replacement) {
876
914
  pattern.lastIndex = 0;
877
915
  const output = []; let end = 0, units = 0;
@@ -943,6 +981,22 @@ function patternOptions(value) {
943
981
  }
944
982
  return output;
945
983
  }
984
+ // TXT-P1: the engine's reason is the only actionable half of an invalid-pattern
985
+ // failure. Patterns compile in 'u' mode, so an identity escape that is tolerated
986
+ // everywhere else in JavaScript is an error here, and "[a-z" and "\\@" are
987
+ // otherwise byte-identical failures. The host-shaped prefix is stripped so the
988
+ // engine's own text does not travel verbatim, and a caught value that is not an
989
+ // Error, or carries no usable message, falls back to the bare message.
990
+ function patternReason(error) {
991
+ if (typeof error !== "object" || error === null) return "";
992
+ const descriptor = __velarTextGetOwnPropertyDescriptor(error, "message");
993
+ if (!descriptor || !("value" in descriptor) || typeof descriptor.value !== "string") return "";
994
+ const message = descriptor.value;
995
+ const prefix = __velarTextCall(nativeRegExpExec, __velarTextPatternPrefix, [message]);
996
+ const head = prefix === null ? null : __velarTextGetOwnPropertyDescriptor(prefix, 0);
997
+ const reason = head && typeof head.value === "string" ? __velarTextCall(__velarNativeStringSlice, message, [head.value.length]) : message;
998
+ return reason === "" || reason.length > 200 ? "" : ": " + reason;
999
+ }
946
1000
  function patternOf(expression, options, global = false) {
947
1001
  expression = valueOf(expression); options = patternOptions(options);
948
1002
  if (expression.length > 4096) throw new __velarTextNativeRangeError("text patterns cannot exceed 4096 code units");
@@ -952,7 +1006,7 @@ function patternOf(expression, options, global = false) {
952
1006
  if (options.multiline === true) flags += "m";
953
1007
  if (options.dotAll === true) flags += "s";
954
1008
  try { return new NativeRegExp(expression, flags); }
955
- catch { throw new __velarTextNativeTypeError("Invalid text pattern"); }
1009
+ catch (error) { throw new __velarTextNativeTypeError("Invalid text pattern" + patternReason(error)); }
956
1010
  }
957
1011
  function checkedMatchValue(match, input) {
958
1012
  if (!__velarTextCall(__velarTextArrayIsArray, __velarTextNativeArray, [match]) || match.length < 1 || match.length > 4097) throw new __velarTextNativeTypeError("The regular expression engine returned an invalid match");
@@ -979,9 +1033,11 @@ function nextTextIndex(value, index) {
979
1033
  return index >= value.length ? index + 1 : __velarTextNextCodePointOffset(value, index);
980
1034
  }
981
1035
  function eachMatch(value, pattern, visit) {
1036
+ const deadline = patternDeadline();
982
1037
  let count = 0, units = 0, previousUnitIndex = 0, previousCodePointIndex = 0;
983
1038
  while (true) {
984
1039
  const raw = __velarTextCall(nativeRegExpExec, pattern, [value]);
1040
+ checkPatternDeadline(deadline);
985
1041
  if (raw === null) return;
986
1042
  if (count >= maxTextItems) throw new __velarTextNativeRangeError("Text patterns cannot produce more than " + maxTextItems + " matches");
987
1043
  count += 1;
@@ -1009,7 +1065,16 @@ export function lineStarts(value) {
1009
1065
  let unitOffset = 0, codePointOffset = 0;
1010
1066
  while (unitOffset < value.length) {
1011
1067
  const nextUnitOffset = __velarTextNextCodePointOffset(value, unitOffset);
1012
- if (__velarTextCall(__velarNativeStringCharCodeAt, value, [unitOffset]) === 10) __velarTextAppend(output, codePointOffset + 1);
1068
+ const code = __velarTextCall(__velarNativeStringCharCodeAt, value, [unitOffset]);
1069
+ // CRLF is one break, not two: consume the LF with the CR so the following
1070
+ // line starts once. A lone CR breaks as well — see __velarTextLines.
1071
+ if (code === 13 && __velarTextCall(__velarNativeStringCharCodeAt, value, [nextUnitOffset]) === 10) {
1072
+ __velarTextAppend(output, codePointOffset + 2);
1073
+ unitOffset = __velarTextNextCodePointOffset(value, nextUnitOffset);
1074
+ codePointOffset += 2;
1075
+ continue;
1076
+ }
1077
+ if (code === 10 || code === 13) __velarTextAppend(output, codePointOffset + 1);
1013
1078
  unitOffset = nextUnitOffset;
1014
1079
  codePointOffset += 1;
1015
1080
  }
@@ -1039,7 +1104,18 @@ export function chunks(value, size) {
1039
1104
  return textList(output, "chunks");
1040
1105
  }
1041
1106
  export function words(value) { const cleaned = __velarTextCall(__velarNativeStringTrim, valueOf(value), []); return cleaned ? textList(__velarTextRegexSplit(cleaned, __velarTextWords, maxTextItems + 1), "words") : []; }
1042
- export function slug(value) { let output = __velarTextCall(__velarTextStringNormalize, valueOf(value), ["NFKD"]); output = __velarTextRegexReplace(output, __velarTextMarks, ""); output = __velarTextCall(__velarNativeStringLower, output, []); output = __velarTextCall(__velarNativeStringTrim, output, []); output = __velarTextRegexReplace(output, __velarTextSlugSeparators, "-"); output = __velarTextRegexReplace(output, __velarTextSlugEdges, ""); return textOutput(output, "slug"); }
1107
+ // TXT-U4: the NFKD pass is folding machinery, not a result. Text equality is
1108
+ // code-point-sequence identity, so a decomposed slug misses the text it renders
1109
+ // as — a Hangul syllable comes back as conjoining jamo and never matches the
1110
+ // title it was made from. The output is recomposed to NFC before it leaves.
1111
+ // Folding only reaches marks sitting on a Latin base, because dropping a mark
1112
+ // is meaning-preserving there and meaning-destroying everywhere else: every
1113
+ // other script keeps its marks, and those slugs are percent-encoded in a URL.
1114
+ // Marks the separator pass now has to keep must still have something to sit
1115
+ // on: a mark run with no letter or digit before it — a variation selector left
1116
+ // behind by a dropped emoji, a stray accent — is invisible in a URL, so two
1117
+ // slugs that read alike would name different pages. Those runs go.
1118
+ export function slug(value) { let output = __velarTextCall(__velarTextStringNormalize, valueOf(value), ["NFKD"]); output = __velarTextRegexReplace(output, __velarTextLatinMarks, ""); output = __velarTextRegexReplace(output, __velarTextBaselessMarks, ""); output = __velarTextCall(__velarNativeStringLower, output, []); output = __velarTextCall(__velarNativeStringTrim, output, []); output = __velarTextRegexReplace(output, __velarTextSlugSeparators, "-"); output = __velarTextRegexReplace(output, __velarTextSlugEdges, ""); return textOutput(__velarTextCall(__velarTextStringNormalize, output, ["NFC"]), "slug"); }
1043
1119
  // TXT-U3: text equality is code-point-sequence identity, so "café" typed on a
1044
1120
  // keyboard (NFC) and the same name read back from a macOS filename (NFD) are
1045
1121
  // different values with different sizes. This is the boundary tool that makes
@@ -1095,8 +1171,8 @@ export function fromCodePoint(value) {
1095
1171
  if (value >= 0xD800 && value <= 0xDFFF) throw new __velarTextNativeRangeError("fromCodePoint refuses surrogate halves; they are not characters on their own");
1096
1172
  return __velarTextCall(__velarTextStringFromCodePoint, __velarTextNativeString, [value]);
1097
1173
  }
1098
- export function matches(value, expression, options = {}) { value = valueOf(value); return __velarTextCall(nativeRegExpExec, patternOf(expression, options), [value]) !== null; }
1099
- export function findMatch(value, expression, options = {}) { value = valueOf(value); const match = __velarTextCall(nativeRegExpExec, patternOf(expression, options), [value]); return match === null ? null : publicMatchValue(checkedMatchValue(match, value), value); }
1174
+ export function matches(value, expression, options = {}) { value = valueOf(value); const pattern = patternOf(expression, options); const deadline = patternDeadline(); const found = __velarTextCall(nativeRegExpExec, pattern, [value]) !== null; checkPatternDeadline(deadline); return found; }
1175
+ export function findMatch(value, expression, options = {}) { value = valueOf(value); const pattern = patternOf(expression, options); const deadline = patternDeadline(); const match = __velarTextCall(nativeRegExpExec, pattern, [value]); checkPatternDeadline(deadline); return match === null ? null : publicMatchValue(checkedMatchValue(match, value), value); }
1100
1176
  export function findMatches(value, expression, options = {}) { value = valueOf(value); const output = []; eachMatch(value, patternOf(expression, options, true), match => __velarTextAppend(output, match)); return output; }
1101
1177
  export function replaceMatches(value, expression, replacement, options = {}) {
1102
1178
  value = valueOf(value); replacement = valueOf(replacement);
@@ -1116,7 +1192,7 @@ export function replaceMatches(value, expression, replacement, options = {}) {
1116
1192
  export function splitPattern(value, expression, options = {}) {
1117
1193
  value = valueOf(value); const output = []; let end = 0;
1118
1194
  eachMatch(value, patternOf(expression, options, true), (match, unitIndex) => { if (output.length >= maxTextItems) throw new __velarTextNativeRangeError("splitPattern cannot produce more than " + maxTextItems + " items"); __velarTextAppend(output, __velarTextCall(__velarNativeStringSlice, value, [end, unitIndex])); end = unitIndex + match.value.length; });
1119
- __velarTextAppend(output, __velarTextCall(__velarNativeStringSlice, value, [end])); return output;
1195
+ __velarTextAppend(output, __velarTextCall(__velarNativeStringSlice, value, [end])); return textList(output, "splitPattern");
1120
1196
  }
1121
1197
  `.trimStart()],
1122
1198
  ["velar/math", String.raw `
@@ -1160,15 +1236,18 @@ const __velarMathNumberIsSafeInteger = __velarMathHostOperation(__velarMathNativ
1160
1236
  if (typeof __velarMathApply !== "function") throw new __velarMathNativeTypeError("The JavaScript Reflect.apply math API is unavailable");
1161
1237
  function __velarMathCall(operation, arguments_) { return __velarMathApply(operation, undefined, arguments_); }
1162
1238
  function requireNumber(value, name) { if (typeof value !== "number") throw new __velarMathNativeTypeError(name + " requires numbers"); return value; }
1239
+ // R1: a NaN may be held and tested with .isNaN(), but nothing compares or
1240
+ // aggregates it. The self-inequality test cannot be redirected by a host.
1241
+ function requireOrderedNumber(value, name) { requireNumber(value, name); if (value !== value) throw new __velarMathNativeTypeError(name + " found NaN, which has no ordering; drop it with filter(x => not x.isNaN()) or fix the upstream computation"); return value; }
1163
1242
  function unary(value, operation, name) { return __velarMathCall(operation, [requireNumber(value, name)]); }
1164
1243
  function binary(left, right, operation, name) { return __velarMathCall(operation, [requireNumber(left, name), requireNumber(right, name)]); }
1165
1244
  export const pi = __velarMathHostData(__velarMathNativeMath, "PI", "number");
1166
1245
  export const e = __velarMathHostData(__velarMathNativeMath, "E", "number");
1167
1246
  export const tau = pi * 2;
1168
1247
  export const infinity = __velarMathHostData(__velarMathNativeNumber, "POSITIVE_INFINITY", "number");
1169
- export function min(...values) { if (!values.length) throw new __velarMathNativeRangeError("min requires at least one number"); let result = requireNumber(values[0], "min"); for (let index = 1; index < values.length; index += 1) result = __velarMathCall(__velarMathMin, [result, requireNumber(values[index], "min")]); return result; }
1170
- export function max(...values) { if (!values.length) throw new __velarMathNativeRangeError("max requires at least one number"); let result = requireNumber(values[0], "max"); for (let index = 1; index < values.length; index += 1) result = __velarMathCall(__velarMathMax, [result, requireNumber(values[index], "max")]); return result; }
1171
- export function clamp(value, minimum, maximum) { value = requireNumber(value, "clamp"); minimum = requireNumber(minimum, "clamp"); maximum = requireNumber(maximum, "clamp"); if (minimum > maximum) throw new __velarMathNativeRangeError("clamp minimum cannot exceed maximum"); return __velarMathCall(__velarMathMin, [maximum, __velarMathCall(__velarMathMax, [minimum, value])]); }
1248
+ export function min(...values) { if (!values.length) throw new __velarMathNativeRangeError("min requires at least one number"); let result = requireOrderedNumber(values[0], "Math.min"); for (let index = 1; index < values.length; index += 1) result = __velarMathCall(__velarMathMin, [result, requireOrderedNumber(values[index], "Math.min")]); return result; }
1249
+ export function max(...values) { if (!values.length) throw new __velarMathNativeRangeError("max requires at least one number"); let result = requireOrderedNumber(values[0], "Math.max"); for (let index = 1; index < values.length; index += 1) result = __velarMathCall(__velarMathMax, [result, requireOrderedNumber(values[index], "Math.max")]); return result; }
1250
+ export function clamp(value, minimum, maximum) { value = requireOrderedNumber(value, "Math.clamp"); minimum = requireOrderedNumber(minimum, "Math.clamp"); maximum = requireOrderedNumber(maximum, "Math.clamp"); if (minimum > maximum) throw new __velarMathNativeRangeError("clamp minimum cannot exceed maximum"); return __velarMathCall(__velarMathMin, [maximum, __velarMathCall(__velarMathMax, [minimum, value])]); }
1172
1251
  export function sign(value) { return unary(value, __velarMathSign, "sign"); }
1173
1252
  export function trunc(value) { return unary(value, __velarMathTrunc, "trunc"); }
1174
1253
  export function sqrt(value) { return unary(value, __velarMathSqrt, "sqrt"); }
@@ -1499,18 +1578,26 @@ function __velarRandomCall(operation, receiver, arguments_) { return __velarRand
1499
1578
  function __velarRandomImul(left, right) { return __velarRandomCall(__velarRandomMathImul, __velarRandomNativeMath, [left, right]); }
1500
1579
  function __velarRandomRotl(value, count) { return (value << count | value >>> (32 - count)) >>> 0; }
1501
1580
  function __velarRandomHash(text) {
1502
- let value = (1779033703 ^ text.length) >>> 0;
1581
+ let first = (1779033703 ^ text.length) >>> 0;
1582
+ let second = (3144134277 ^ text.length) >>> 0;
1583
+ let third = (1013904242 ^ text.length) >>> 0;
1584
+ let fourth = (2773480762 ^ text.length) >>> 0;
1503
1585
  for (let index = 0; index < text.length; index += 1) {
1504
- value = __velarRandomImul(value ^ __velarRandomCall(__velarRandomStringCharCodeAt, text, [index]), 3432918353);
1505
- value = __velarRandomRotl(value, 13);
1506
- }
1586
+ const code = __velarRandomCall(__velarRandomStringCharCodeAt, text, [index]);
1587
+ first = second ^ __velarRandomImul(first ^ code, 597399067);
1588
+ second = third ^ __velarRandomImul(second ^ code, 2869860233);
1589
+ third = fourth ^ __velarRandomImul(third ^ code, 951274213);
1590
+ fourth = first ^ __velarRandomImul(fourth ^ code, 2716044179);
1591
+ }
1592
+ first = __velarRandomImul(third ^ first >>> 18, 597399067);
1593
+ second = __velarRandomImul(fourth ^ second >>> 22, 2869860233);
1594
+ third = __velarRandomImul(first ^ third >>> 17, 951274213);
1595
+ fourth = __velarRandomImul(second ^ fourth >>> 19, 2716044179);
1507
1596
  const output = new __velarRandomNativeArray(4);
1508
- for (let index = 0; index < 4; index += 1) {
1509
- value = __velarRandomImul(value ^ value >>> 16, 2246822507);
1510
- value = __velarRandomImul(value ^ value >>> 13, 3266489909);
1511
- value = (value ^ value >>> 16) >>> 0;
1512
- output[index] = value;
1513
- }
1597
+ output[0] = first >>> 0;
1598
+ output[1] = second >>> 0;
1599
+ output[2] = third >>> 0;
1600
+ output[3] = fourth >>> 0;
1514
1601
  if ((output[0] | output[1] | output[2] | output[3]) === 0) output[0] = 1;
1515
1602
  return output;
1516
1603
  }
@@ -1542,8 +1629,8 @@ function __velarRandomRange(start, end) {
1542
1629
  if (!__velarRandomCall(__velarRandomNumberIsSafeInteger, __velarRandomNativeNumber, [start])
1543
1630
  || !__velarRandomCall(__velarRandomNumberIsSafeInteger, __velarRandomNativeNumber, [end])
1544
1631
  || !__velarRandomCall(__velarRandomNumberIsSafeInteger, __velarRandomNativeNumber, [width])
1545
- || width <= 0 || width > 4294967296) {
1546
- throw new __velarRandomNativeRangeError("Random.int requires an increasing safe-integer range no wider than 2^32");
1632
+ || width <= 0) {
1633
+ throw new __velarRandomNativeRangeError("Random.int requires an increasing safe-integer range");
1547
1634
  }
1548
1635
  return [start, width];
1549
1636
  }
@@ -1551,8 +1638,13 @@ const __velarRandomPrototype = {
1551
1638
  number() { return __velarRandomNext(this) / 4294967296; },
1552
1639
  int(start, end = null) {
1553
1640
  const range = __velarRandomRange(start, end);
1554
- const limit = __velarRandomCall(__velarRandomMathFloor, __velarRandomNativeMath, [4294967296 / range[1]]) * range[1];
1555
- let value; do { value = __velarRandomNext(this); } while (value >= limit);
1641
+ if (range[1] <= 4294967296) {
1642
+ const limit = __velarRandomCall(__velarRandomMathFloor, __velarRandomNativeMath, [4294967296 / range[1]]) * range[1];
1643
+ let value; do { value = __velarRandomNext(this); } while (value >= limit);
1644
+ return range[0] + value % range[1];
1645
+ }
1646
+ const limit = __velarRandomCall(__velarRandomMathFloor, __velarRandomNativeMath, [9007199254740992 / range[1]]) * range[1];
1647
+ let value; do { value = __velarRandomNext(this) * 2097152 + (__velarRandomNext(this) >>> 11); } while (value >= limit);
1556
1648
  return range[0] + value % range[1];
1557
1649
  },
1558
1650
  bool(probability = 0.5) {
@@ -2133,6 +2225,7 @@ export function normalize(value, base = "") { const url = urlOf(value, base); re
2133
2225
  `.trimStart()],
2134
2226
  ["velar/time", String.raw `
2135
2227
  const maximumDateMilliseconds = 8_640_000_000_000_000;
2228
+ const localDayWindowMilliseconds = 108_000_000;
2136
2229
  const __velarTimeNativeObject = globalThis.Object;
2137
2230
  const __velarTimeNativeArray = globalThis.Array;
2138
2231
  const __velarTimeNativeNumber = globalThis.Number;
@@ -2170,11 +2263,12 @@ const __velarTimeDatePrototype = __velarTimeHostData(__velarTimeNativeDate, "pro
2170
2263
  const __velarTimeIntl = __velarTimeHostData(globalThis, "Intl", "object");
2171
2264
  const __velarTimeDateTimeFormat = __velarTimeHostOperation(__velarTimeIntl, "DateTimeFormat");
2172
2265
  const __velarTimeDateTimeFormatPrototype = __velarTimeHostData(__velarTimeDateTimeFormat, "prototype", "object");
2173
- const __velarTimeRegExpPattern = /^(\d{4})-(\d{2})-(\d{2})(?:T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{1,3}))?)?(Z|[+-]\d{2}:\d{2}))?$/u;
2266
+ const __velarTimeRegExpPattern = /^(\d{4})-(\d{2})-(\d{2})(?:[Tt](\d{2}):(\d{2})(?::(\d{2})(?:\.(\d+))?)?([Zz]|[+-]\d{2}(?::?\d{2})?))?$/u;
2174
2267
  const __velarTimeDigitsPattern = /^\d{1,6}$/u;
2175
2268
  const __velarTimeRegExpPrototype = __velarTimeGetPrototypeOf(__velarTimeRegExpPattern);
2176
2269
  const __velarTimeDateNow = __velarTimeHostOperation(__velarTimeNativeDate, "now");
2177
2270
  const __velarTimeMathAbs = __velarTimeHostOperation(__velarTimeNativeMath, "abs");
2271
+ const __velarTimeMathFloor = __velarTimeHostOperation(__velarTimeNativeMath, "floor");
2178
2272
  const __velarTimeNumberIsFinite = __velarTimeHostOperation(__velarTimeNativeNumber, "isFinite");
2179
2273
  const __velarTimeNumberIsInteger = __velarTimeHostOperation(__velarTimeNativeNumber, "isInteger");
2180
2274
  const __velarTimeNumberIsSafeInteger = __velarTimeHostOperation(__velarTimeNativeNumber, "isSafeInteger");
@@ -2189,6 +2283,7 @@ const __velarTimeSetUTCFullYear = __velarTimeHostOperation(__velarTimeDateProtot
2189
2283
  const __velarTimeSetUTCHours = __velarTimeHostOperation(__velarTimeDatePrototype, "setUTCHours");
2190
2284
  const __velarTimeSetFullYear = __velarTimeHostOperation(__velarTimeDatePrototype, "setFullYear");
2191
2285
  const __velarTimeSetHours = __velarTimeHostOperation(__velarTimeDatePrototype, "setHours");
2286
+ const __velarTimeSetTime = __velarTimeHostOperation(__velarTimeDatePrototype, "setTime");
2192
2287
  const __velarTimeGetUTCFullYear = __velarTimeHostOperation(__velarTimeDatePrototype, "getUTCFullYear");
2193
2288
  const __velarTimeGetUTCMonth = __velarTimeHostOperation(__velarTimeDatePrototype, "getUTCMonth");
2194
2289
  const __velarTimeGetUTCDate = __velarTimeHostOperation(__velarTimeDatePrototype, "getUTCDate");
@@ -2308,7 +2403,15 @@ function calendarParts(year, month, day, hour = 0, minute = 0, second = 0, milli
2308
2403
  if (millisecond < 0 || millisecond > 999) throw new __velarTimeNativeRangeError("velar/time millisecond must be from 0 through 999");
2309
2404
  return [year, month, day, hour, minute, second, millisecond];
2310
2405
  }
2311
- function build(utc, year, month, day, hour = 0, minute = 0, second = 0, millisecond = 0) {
2406
+ function localDayOrder(value, year, month, day) {
2407
+ const currentYear = __velarTimeCall(__velarTimeGetFullYear, value, []);
2408
+ if (currentYear !== year) return currentYear < year ? -1 : 1;
2409
+ const currentMonth = __velarTimeCall(__velarTimeGetMonth, value, []) + 1;
2410
+ if (currentMonth !== month) return currentMonth < month ? -1 : 1;
2411
+ const currentDay = __velarTimeCall(__velarTimeGetDate, value, []);
2412
+ return currentDay === day ? 0 : currentDay < day ? -1 : 1;
2413
+ }
2414
+ function build(utc, year, month, day, hour = 0, minute = 0, second = 0, millisecond = 0, resolveGap = false) {
2312
2415
  calendarParts(year, month, day, hour, minute, second, millisecond);
2313
2416
  const value = new __velarTimeNativeDate(0);
2314
2417
  if (utc) {
@@ -2319,11 +2422,31 @@ function build(utc, year, month, day, hour = 0, minute = 0, second = 0, millisec
2319
2422
  throw new __velarTimeNativeRangeError("velar/time date parts do not form a real UTC date");
2320
2423
  }
2321
2424
  } else {
2425
+ // A local wall clock that a daylight-saving fall-back repeats names two real
2426
+ // instants and round-trips for both, so this resolves to the earlier,
2427
+ // pre-transition one, which is the ECMAScript LocalTZA default.
2322
2428
  __velarTimeCall(__velarTimeSetFullYear, value, [year, month - 1, day]);
2323
2429
  __velarTimeCall(__velarTimeSetHours, value, [hour, minute, second, millisecond]);
2324
- if (__velarTimeCall(__velarTimeGetFullYear, value, []) !== year || __velarTimeCall(__velarTimeGetMonth, value, []) !== month - 1 || __velarTimeCall(__velarTimeGetDate, value, []) !== day
2430
+ if (localDayOrder(value, year, month, day) !== 0
2325
2431
  || __velarTimeCall(__velarTimeGetHours, value, []) !== hour || __velarTimeCall(__velarTimeGetMinutes, value, []) !== minute || __velarTimeCall(__velarTimeGetSeconds, value, []) !== second || __velarTimeCall(__velarTimeGetMilliseconds, value, []) !== millisecond) {
2326
- throw new __velarTimeNativeRangeError("velar/time date parts do not form a real local date");
2432
+ // A caller who supplied a wall clock still gets the rejection. A caller who
2433
+ // named a calendar day and nothing else did not, so where a transition skips
2434
+ // local midnight the day resolves forward to its first existing instant
2435
+ // rather than becoming unrepresentable. A gap opens at 00:15 or 00:45 as
2436
+ // readily as at 01:00, so the window around the requested day is searched
2437
+ // to the millisecond for the least instant that has reached the day.
2438
+ if (!resolveGap) throw new __velarTimeNativeRangeError("velar/time date parts do not form a real local date");
2439
+ const anchor = __velarTimeCall(__velarTimeGetTime, value, []);
2440
+ let low = anchor - localDayWindowMilliseconds, high = anchor + localDayWindowMilliseconds;
2441
+ while (low < high) {
2442
+ const middle = low + __velarTimeCall(__velarTimeMathFloor, __velarTimeNativeMath, [(high - low) / 2]);
2443
+ __velarTimeCall(__velarTimeSetTime, value, [middle]);
2444
+ if (localDayOrder(value, year, month, day) < 0) low = middle + 1; else high = middle;
2445
+ }
2446
+ __velarTimeCall(__velarTimeSetTime, value, [low]);
2447
+ // The search answers the first instant at or after the requested day, so a
2448
+ // day the zone skipped whole lands on the next one and is still rejected.
2449
+ if (localDayOrder(value, year, month, day) !== 0) throw new __velarTimeNativeRangeError("velar/time date parts do not form a real local date");
2327
2450
  }
2328
2451
  }
2329
2452
  return valid(__velarTimeCall(__velarTimeGetTime, value, []));
@@ -2339,22 +2462,38 @@ export function parse(value) {
2339
2462
  const year = __velarTimeNumber(match[1]), month = __velarTimeNumber(match[2]), day = __velarTimeNumber(match[3]);
2340
2463
  if (!match[4]) return build(true, year, month, day);
2341
2464
  const hour = __velarTimeNumber(match[4]), minute = __velarTimeNumber(match[5]), second = __velarTimeNumber(match[6] ?? 0);
2342
- const millisecond = __velarTimeNumber(__velarTimeCall(__velarTimeStringPadEnd, match[7] ?? "", [3, "0"]) || 0);
2465
+ const millisecond = __velarTimeNumber(__velarTimeCall(__velarTimeStringPadEnd, __velarTimeCall(__velarTimeStringSlice, match[7] ?? "", [0, 3]), [3, "0"]) || 0);
2343
2466
  const zone = match[8];
2344
2467
  let offset = 0;
2345
- if (zone !== "Z") {
2468
+ if (zone !== "Z" && zone !== "z") {
2469
+ // Three spellings name one offset: '+HH:MM', the basic-format '+HHMM' that
2470
+ // log lines and databases emit, and the hour-only '+HH'. The minutes sit
2471
+ // at the end whenever they are written at all.
2346
2472
  const sign = zone[0] === "+" ? 1 : -1;
2347
2473
  const offsetHour = __velarTimeNumber(__velarTimeCall(__velarTimeStringSlice, zone, [1, 3]));
2348
- const offsetMinute = __velarTimeNumber(__velarTimeCall(__velarTimeStringSlice, zone, [4, 6]));
2474
+ const offsetMinute = zone.length === 3 ? 0 : __velarTimeNumber(__velarTimeCall(__velarTimeStringSlice, zone, [zone.length - 2]));
2349
2475
  if (offsetHour > 23 || offsetMinute > 59) return null;
2350
2476
  offset = sign * (offsetHour * 60 + offsetMinute);
2351
2477
  }
2352
- return valid(build(true, year, month, day, hour, minute, second, millisecond) - offset * 60_000);
2478
+ // RFC 3339 §5.7 writes an inserted leap second as ':60'. No JavaScript clock
2479
+ // counts it, so it names the second that follows it, which is the instant a
2480
+ // reader of the timestamp means. A leap second is only ever inserted at the
2481
+ // end of a UTC day, which is the local 23:59 in 'Z' and some other wall
2482
+ // clock under an offset, so the rule is checked on the UTC instant rather
2483
+ // than on the written hour. Elsewhere ':60' is a typo, not a timestamp, and
2484
+ // still answers null instead of being absorbed as a one-second shift.
2485
+ const leap = second === 60;
2486
+ const instant = build(true, year, month, day, hour, minute, leap ? 59 : second, millisecond) - offset * 60_000;
2487
+ if (leap) {
2488
+ const second59 = instant - millisecond;
2489
+ if (second59 - __velarTimeCall(__velarTimeMathFloor, __velarTimeNativeMath, [second59 / 86_400_000]) * 86_400_000 !== 86_399_000) return null;
2490
+ }
2491
+ return valid(instant + (leap ? 1000 : 0));
2353
2492
  } catch { return null; }
2354
2493
  }
2355
2494
  export function iso(value = now()) { const date = new __velarTimeNativeDate(valid(value)); return timeResultText(__velarTimeCall(__velarTimeToISOString, date, []), "Date.toISOString", 64); }
2356
2495
  export function format(value, locale = "", timeZone = "") { locale = timeText(locale, "Time locale"); timeZone = timeText(timeZone, "Time zone"); const formatter = new __velarTimeDateTimeFormat(locale || undefined, timeZone ? { dateStyle: "medium", timeStyle: "medium", timeZone } : { dateStyle: "medium", timeStyle: "medium" }); const boundFormat = __velarTimeCall(__velarTimeFormatGetter, formatter, []); if (typeof boundFormat !== "function") throw new __velarTimeNativeTypeError("Intl.DateTimeFormat.format must be a function"); const output = __velarTimeCall(boundFormat, undefined, [new __velarTimeNativeDate(valid(value))]); return timeResultText(output, "Intl.DateTimeFormat.format"); }
2357
- export function date(year, month, day, hour = 0, minute = 0, second = 0) { return build(false, year, month, day, hour, minute, second); }
2496
+ export function date(year, month, day, hour = null, minute = null, second = null) { return build(false, year, month, day, hour ?? 0, minute ?? 0, second ?? 0, 0, hour === null && minute === null && second === null); }
2358
2497
  export function utc(year, month, day, hour = 0, minute = 0, second = 0) { return build(true, year, month, day, hour, minute, second); }
2359
2498
  export function parts(value, timeZone = "") {
2360
2499
  const date = new __velarTimeNativeDate(valid(value));
@@ -2374,7 +2513,12 @@ export function parts(value, timeZone = "") {
2374
2513
  `.trimStart()],
2375
2514
  ["velar/id", String.raw `
2376
2515
  ${VELAR_ERROR_NORMALIZATION_RUNTIME}
2377
- const uuidPattern = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/iu;
2516
+ // D7: 'isUuid' answers the textual question its name and documentation ask —
2517
+ // 36 characters, hyphenated 8-4-4-4-12, hexadecimal in either case. Constraining
2518
+ // the version and variant nibbles rejected canonical text a caller cannot fix:
2519
+ // the nil and max UUIDs of RFC 9562 and every GUID from a variant other than
2520
+ // RFC 4122, which is what a .NET 'Guid.Empty' or an older partner system sends.
2521
+ const uuidPattern = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu;
2378
2522
  const __velarIdNativeTypeError = globalThis.TypeError;
2379
2523
  const __velarIdGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
2380
2524
  const __velarIdGetPrototypeOf = Object.getPrototypeOf;
@@ -2595,6 +2739,10 @@ function __velarLogRank(value) {
2595
2739
  }
2596
2740
  function createLogger(scope, base = null) {
2597
2741
  const context = fieldsOf(base);
2742
+ const debugRank = __velarLogRank("debug");
2743
+ const infoRank = __velarLogRank("info");
2744
+ const warnRank = __velarLogRank("warn");
2745
+ const errorRank = __velarLogRank("error");
2598
2746
  const merged = (fields) => {
2599
2747
  const output = __velarLogCloneMap(context);
2600
2748
  const items = __velarLogMapItems(fieldsOf(fields));
@@ -2606,11 +2754,16 @@ function createLogger(scope, base = null) {
2606
2754
  }
2607
2755
  return output;
2608
2756
  };
2757
+ // A call below the active level returns before it builds anything: the
2758
+ // context is not merged, the message and fields are not validated, and no
2759
+ // bound is checked, so turning a level off is both free and side-effect-free.
2760
+ // 'threshold' is read per call, so 'setLevel' keeps reaching loggers that
2761
+ // already exist. The gate inside 'emit' stays as the belt to these braces.
2609
2762
  return __velarLogFreezeValue({
2610
- debug(message, fields = null) { return emit(scope, "debug", message, merged(fields)); },
2611
- info(message, fields = null) { return emit(scope, "info", message, merged(fields)); },
2612
- warn(message, fields = null) { return emit(scope, "warn", message, merged(fields)); },
2613
- error(message, error = null, fields = null) { return emit(scope, "error", message, merged(fields), error); },
2763
+ debug(message, fields = null) { if (debugRank < __velarLogRank(threshold)) return null; return emit(scope, "debug", message, merged(fields)); },
2764
+ info(message, fields = null) { if (infoRank < __velarLogRank(threshold)) return null; return emit(scope, "info", message, merged(fields)); },
2765
+ warn(message, fields = null) { if (warnRank < __velarLogRank(threshold)) return null; return emit(scope, "warn", message, merged(fields)); },
2766
+ error(message, error = null, fields = null) { if (errorRank < __velarLogRank(threshold)) return null; return emit(scope, "error", message, merged(fields), error); },
2614
2767
  });
2615
2768
  }
2616
2769
 
@@ -2697,8 +2850,24 @@ const __velarTestPromiseThen = __velarDeepGetOwnPropertyDescriptor(__velarTestPr
2697
2850
  const __velarTestRegExpPrototype = __velarDeepGetPrototypeOf(/(?:)/u);
2698
2851
  const __velarTestNativeRegExp = __velarDeepGetOwnPropertyDescriptor(__velarTestRegExpPrototype, "constructor")?.value;
2699
2852
  const __velarTestRegExpExec = __velarDeepGetOwnPropertyDescriptor(__velarTestRegExpPrototype, "exec")?.value;
2853
+ const __velarTestPatternPrefix = /^Invalid regular expression: (?:\/[\s\S]*\/[a-z]*: )?/u;
2854
+ const __velarTestNativeDate = globalThis.Date;
2855
+ const __velarTestDateNow = __velarDeepGetOwnPropertyDescriptor(__velarTestNativeDate, "now")?.value;
2856
+ const maxTestPatternMillis = 250;
2700
2857
  function __velarTestAppend(items, value) { items[items.length] = value; }
2701
2858
  function __velarTestJoin(items) { return __velarDeepCall(__velarTestArrayJoin, items, [", "]); }
2859
+ // The same reason-carrying treatment patternOf gives velar/text: toMatch compiles
2860
+ // in 'u' mode too, so an identity escape rejected only here needs to say so.
2861
+ function __velarTestPatternReason(error) {
2862
+ if (typeof error !== "object" || error === null) return "";
2863
+ const descriptor = __velarDeepGetOwnPropertyDescriptor(error, "message");
2864
+ if (!descriptor || !("value" in descriptor) || typeof descriptor.value !== "string") return "";
2865
+ const message = descriptor.value;
2866
+ const prefix = __velarDeepCall(__velarTestRegExpExec, __velarTestPatternPrefix, [message]);
2867
+ const head = prefix === null ? null : __velarDeepGetOwnPropertyDescriptor(prefix, 0);
2868
+ const reason = head && typeof head.value === "string" ? __velarDeepCall(__velarTestStringSlice, message, [head.value.length]) : message;
2869
+ return reason === "" || reason.length > 200 ? "" : ": " + reason;
2870
+ }
2702
2871
  function __velarTestString(value) { return __velarDeepCall(__velarTestNativeString, undefined, [value]); }
2703
2872
  function display(value, state = null) {
2704
2873
  state ??= { active: new __velarDeepNativeWeakSet(), nodes: 0, depth: 0 };
@@ -2799,8 +2968,14 @@ export function expect(actual) {
2799
2968
  if (typeof actual !== "string" || typeof expected !== "string") throw new __velarTestNativeTypeError("toMatch requires text and a string pattern");
2800
2969
  if (expected.length > 4096) throw new __velarTestNativeRangeError("toMatch patterns cannot exceed 4096 code units");
2801
2970
  let pattern;
2802
- try { pattern = new __velarTestNativeRegExp(expected, "u"); } catch { throw new __velarTestNativeTypeError("Invalid toMatch pattern"); }
2803
- if (__velarDeepCall(__velarTestRegExpExec, pattern, [actual]) === null) throw new __velarTestNativeError("Expected " + display(actual) + " to match " + display(expected));
2971
+ try { pattern = new __velarTestNativeRegExp(expected, "u"); } catch (error) { throw new __velarTestNativeTypeError("Invalid toMatch pattern" + __velarTestPatternReason(error)); }
2972
+ // The same time budget velar/text puts on its pattern operations: this is
2973
+ // that operation under another name, and an assertion that never returns
2974
+ // is a hung suite rather than a failing one.
2975
+ const deadline = __velarDeepCall(__velarTestDateNow, __velarTestNativeDate, []) + maxTestPatternMillis;
2976
+ const matched = __velarDeepCall(__velarTestRegExpExec, pattern, [actual]) !== null;
2977
+ if (__velarDeepCall(__velarTestDateNow, __velarTestNativeDate, []) > deadline) throw new __velarTestNativeRangeError("toMatch pattern matching cannot exceed " + maxTestPatternMillis + " ms");
2978
+ if (!matched) throw new __velarTestNativeError("Expected " + display(actual) + " to match " + display(expected));
2804
2979
  },
2805
2980
  toHaveLength(expected) {
2806
2981
  if (!__velarDeepCall(__velarTestNumberIsSafeInteger, __velarTestNativeNumber, [expected]) || expected < 0) throw new __velarTestNativeRangeError("Expected length must be a non-negative safe integer");
@@ -2843,7 +3018,6 @@ const coreModuleDependencies = new Map([
2843
3018
  // D50 rule 97.2: 'toEqual' is the language's own equals(a, b).
2844
3019
  ["velar/test", [VELAR_COLLECTION_LOWERING_MODULE]],
2845
3020
  ]);
2846
- export const STANDARD_MODULE_ADAPTER_DEPENDENCIES = new Map();
2847
3021
  export function standardModuleSources(extensions = []) {
2848
3022
  const activeExtensions = standardExtensions(extensions);
2849
3023
  return new Map([
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@velarscript/core",
3
- "version": "0.12.0",
3
+ "version": "0.13.0",
4
4
  "description": "The target-neutral VelarScript Standard API contracts and runtime modules.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -25,7 +25,7 @@
25
25
  "access": "public"
26
26
  },
27
27
  "dependencies": {
28
- "@velarscript/compiler": "0.12.0"
28
+ "@velarscript/compiler": "0.13.0"
29
29
  },
30
30
  "exports": {
31
31
  ".": {