solve-engine 2.0.0 → 2.2.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/{PackageCompatibility-Bn5jnBtA.d.cts → PackageCompatibility-Cv7zjqSV.d.cts} +1 -1
- package/dist/{PackageCompatibility-CIvq2MP5.d.ts → PackageCompatibility-DBsZ0l2a.d.ts} +1 -1
- package/dist/{PackageRegistry-dpdurBVO.d.cts → PackageRegistry-BSGQ6saH.d.cts} +9 -2
- package/dist/{PackageRegistry-DzeiWcv4.d.ts → PackageRegistry-DRbqNJfI.d.ts} +9 -2
- package/dist/{ScopeManager-C2LDOrDx.d.ts → ScopeManager-DkpnlKuz.d.ts} +1 -1
- package/dist/{ScopeManager-D7uMXbhS.d.cts → ScopeManager-t6SnP6Ce.d.cts} +1 -1
- package/dist/{VMCheckpoints-I9jg3jWR.d.cts → VMCheckpoints-C_jQvABf.d.cts} +2 -2
- package/dist/{VMCheckpoints-CGyFhivM.d.ts → VMCheckpoints-CsHmQVaD.d.ts} +2 -2
- package/dist/{chunk-6KFVG6UY.cjs → chunk-2LFLR3VZ.cjs} +2 -2
- package/dist/chunk-2LFLR3VZ.cjs.map +1 -0
- package/dist/{chunk-LR4E4A4W.cjs → chunk-32GC2FHC.cjs} +2 -2
- package/dist/{chunk-LR4E4A4W.cjs.map → chunk-32GC2FHC.cjs.map} +1 -1
- package/dist/chunk-5FO4PDIG.js +2 -0
- package/dist/chunk-5FO4PDIG.js.map +1 -0
- package/dist/{chunk-WN5CMP4T.cjs → chunk-6C6IPUBH.cjs} +3 -3
- package/dist/chunk-6C6IPUBH.cjs.map +1 -0
- package/dist/{chunk-SZGK6RIP.cjs → chunk-7BXPCWKM.cjs} +2 -2
- package/dist/{chunk-SZGK6RIP.cjs.map → chunk-7BXPCWKM.cjs.map} +1 -1
- package/dist/chunk-7NXAZJDB.js +3 -0
- package/dist/chunk-7NXAZJDB.js.map +1 -0
- package/dist/{chunk-EYRBENHC.js → chunk-E2Q3PQ2G.js} +3 -3
- package/dist/{chunk-EYRBENHC.js.map → chunk-E2Q3PQ2G.js.map} +1 -1
- package/dist/{chunk-UI6IFGBT.js → chunk-G7TBEQRQ.js} +2 -2
- package/dist/chunk-G7TBEQRQ.js.map +1 -0
- package/dist/{chunk-L3FPQSGN.js → chunk-KVTOV3TZ.js} +2 -2
- package/dist/{chunk-L3FPQSGN.js.map → chunk-KVTOV3TZ.js.map} +1 -1
- package/dist/{chunk-SUXRZWH2.cjs → chunk-OVKDDTXO.cjs} +3 -3
- package/dist/{chunk-SUXRZWH2.cjs.map → chunk-OVKDDTXO.cjs.map} +1 -1
- package/dist/{chunk-6CY44ZPG.js → chunk-TN5E6JU6.js} +2 -2
- package/dist/{chunk-6CY44ZPG.js.map → chunk-TN5E6JU6.js.map} +1 -1
- package/dist/{chunk-4J7XZSZJ.cjs → chunk-U2UZJX5W.cjs} +4 -4
- package/dist/chunk-U2UZJX5W.cjs.map +1 -0
- package/dist/chunk-VAGS5JS7.cjs +2 -0
- package/dist/chunk-VAGS5JS7.cjs.map +1 -0
- package/dist/{chunk-UDQ57ZRX.cjs → chunk-X3R7B7XM.cjs} +2 -2
- package/dist/{chunk-UDQ57ZRX.cjs.map → chunk-X3R7B7XM.cjs.map} +1 -1
- package/dist/{chunk-GOIQYUWV.js → chunk-YAHGSBMC.js} +2 -2
- package/dist/{chunk-GOIQYUWV.js.map → chunk-YAHGSBMC.js.map} +1 -1
- package/dist/{chunk-XR7HEC7B.js → chunk-YU3PACLE.js} +4 -4
- package/dist/chunk-YU3PACLE.js.map +1 -0
- package/dist/constants.cjs +1 -1
- package/dist/constants.js +1 -1
- package/dist/engine.cjs +1 -1
- package/dist/engine.d.cts +48 -5
- package/dist/engine.d.ts +48 -5
- package/dist/engine.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +1 -1
- package/dist/language.d.cts +3 -3
- package/dist/language.d.ts +3 -3
- package/dist/lexer.cjs +1 -1
- package/dist/lexer.js +1 -1
- package/dist/normalizer.cjs +1 -1
- package/dist/normalizer.js +1 -1
- package/dist/packages.cjs +1 -1
- package/dist/packages.d.cts +2 -2
- package/dist/packages.d.ts +2 -2
- package/dist/packages.js +1 -1
- package/dist/testing.cjs +2 -2
- package/dist/testing.d.cts +3 -3
- package/dist/testing.d.ts +3 -3
- package/dist/testing.js +1 -1
- package/dist/vm.d.cts +3 -3
- package/dist/vm.d.ts +3 -3
- package/dist/worker.cjs +2 -2
- package/dist/worker.d.cts +2 -2
- package/dist/worker.d.ts +2 -2
- package/dist/worker.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-4J7XZSZJ.cjs.map +0 -1
- package/dist/chunk-6KFVG6UY.cjs.map +0 -1
- package/dist/chunk-APN442VD.cjs +0 -2
- package/dist/chunk-APN442VD.cjs.map +0 -1
- package/dist/chunk-JSPKKNPQ.js +0 -3
- package/dist/chunk-JSPKKNPQ.js.map +0 -1
- package/dist/chunk-QXQE7X4S.js +0 -2
- package/dist/chunk-QXQE7X4S.js.map +0 -1
- package/dist/chunk-UI6IFGBT.js.map +0 -1
- package/dist/chunk-WN5CMP4T.cjs.map +0 -1
- package/dist/chunk-XR7HEC7B.js.map +0 -1
package/dist/constants.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkX3R7B7XM_cjs=require('./chunk-X3R7B7XM.cjs');require('./chunk-SOMGSIO4.cjs');Object.defineProperty(exports,"ConfigManager",{enumerable:true,get:function(){return chunkX3R7B7XM_cjs.d}});Object.defineProperty(exports,"DEFAULT_CONFIG",{enumerable:true,get:function(){return chunkX3R7B7XM_cjs.b}});Object.defineProperty(exports,"ENGINE_VERSION",{enumerable:true,get:function(){return chunkX3R7B7XM_cjs.a}});//# sourceMappingURL=constants.cjs.map
|
|
2
2
|
//# sourceMappingURL=constants.cjs.map
|
package/dist/constants.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{d as ConfigManager,b as DEFAULT_CONFIG,a as ENGINE_VERSION}from'./chunk-
|
|
1
|
+
export{d as ConfigManager,b as DEFAULT_CONFIG,a as ENGINE_VERSION}from'./chunk-KVTOV3TZ.js';import'./chunk-MPB7KUN5.js';//# sourceMappingURL=constants.js.map
|
|
2
2
|
//# sourceMappingURL=constants.js.map
|
package/dist/engine.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunk6C6IPUBH_cjs=require('./chunk-6C6IPUBH.cjs');require('./chunk-EFJCC6FJ.cjs');var chunkU2UZJX5W_cjs=require('./chunk-U2UZJX5W.cjs');require('./chunk-FDE5HWDI.cjs'),require('./chunk-NGBBNL4K.cjs'),require('./chunk-ZCNBT44X.cjs'),require('./chunk-TTFO4YDP.cjs'),require('./chunk-SYYE3QAX.cjs'),require('./chunk-AXMQG5TS.cjs'),require('./chunk-HLBYHXQD.cjs'),require('./chunk-R2SZFJTT.cjs'),require('./chunk-7BXPCWKM.cjs'),require('./chunk-4QVBSG6B.cjs'),require('./chunk-VAGS5JS7.cjs'),require('./chunk-UURM7P3P.cjs'),require('./chunk-ZLRJ7TDP.cjs'),require('./chunk-JAK3RAFA.cjs'),require('./chunk-4BZIYU7S.cjs'),require('./chunk-JFAJN3C2.cjs'),require('./chunk-TLG7VZRX.cjs'),require('./chunk-ESUN2THE.cjs'),require('./chunk-N7N7MPMK.cjs'),require('./chunk-PS272DZJ.cjs'),require('./chunk-IANAMBJQ.cjs'),require('./chunk-X3R7B7XM.cjs'),require('./chunk-32GC2FHC.cjs'),require('./chunk-Y7O4D3BJ.cjs'),require('./chunk-2LFLR3VZ.cjs'),require('./chunk-5IJD5L3O.cjs'),require('./chunk-MSYX32PF.cjs'),require('./chunk-FWW3M36J.cjs'),require('./chunk-CIQOK7Q4.cjs'),require('./chunk-SOMGSIO4.cjs');Object.defineProperty(exports,"DocumentModel",{enumerable:true,get:function(){return chunk6C6IPUBH_cjs.a}});Object.defineProperty(exports,"EvalTier",{enumerable:true,get:function(){return chunk6C6IPUBH_cjs.b}});Object.defineProperty(exports,"ThreeTierEvaluator",{enumerable:true,get:function(){return chunk6C6IPUBH_cjs.c}});Object.defineProperty(exports,"evaluateDocument",{enumerable:true,get:function(){return chunk6C6IPUBH_cjs.d}});Object.defineProperty(exports,"AsyncResolutionBatcher",{enumerable:true,get:function(){return chunkU2UZJX5W_cjs.h}});Object.defineProperty(exports,"ExpressionEngine",{enumerable:true,get:function(){return chunkU2UZJX5W_cjs.n}});Object.defineProperty(exports,"SNAPSHOT_FORMAT",{enumerable:true,get:function(){return chunkU2UZJX5W_cjs.d}});Object.defineProperty(exports,"SNAPSHOT_VERSION",{enumerable:true,get:function(){return chunkU2UZJX5W_cjs.e}});Object.defineProperty(exports,"SnapshotErrorCodes",{enumerable:true,get:function(){return chunkU2UZJX5W_cjs.f}});Object.defineProperty(exports,"checkExpressionComplexity",{enumerable:true,get:function(){return chunkU2UZJX5W_cjs.j}});Object.defineProperty(exports,"checkExpressionLength",{enumerable:true,get:function(){return chunkU2UZJX5W_cjs.i}});Object.defineProperty(exports,"extractReadsAndWrites",{enumerable:true,get:function(){return chunkU2UZJX5W_cjs.k}});Object.defineProperty(exports,"findInlineSolvesInLine",{enumerable:true,get:function(){return chunkU2UZJX5W_cjs.m}});Object.defineProperty(exports,"isEmptyLine",{enumerable:true,get:function(){return chunkU2UZJX5W_cjs.l}});//# sourceMappingURL=engine.cjs.map
|
|
2
2
|
//# sourceMappingURL=engine.cjs.map
|
package/dist/engine.d.cts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { D as DocumentModel, E as ExpressionEngine, V as ViewportRange,
|
|
2
|
-
export { A as ApplyChangesResult,
|
|
1
|
+
import { D as DocumentModel, E as ExpressionEngine, V as ViewportRange, r as LineChange, U as UnifiedParsingOptions, P as ParsingResult, s as InlineSolvePosition } from './PackageRegistry-BSGQ6saH.cjs';
|
|
2
|
+
export { A as ApplyChangesResult, t as AsyncCachePackageInfo, u as AsyncErrorEvent, v as AsyncResolutionBatcher, w as AsyncResolutionEvent, B as BatcherMetrics, x as BytecodeCacheEntry, y as CacheSnapshot, z as CheckpointSnapshot, a as EngineOptions, b as EngineRestoreOptions, c as EngineSnapshot, d as Explanation, e as ExplanationStep, F as LineCacheEntryInfo, G as LineState, H as LinesUpdatedEvent, J as ParsedLine, S as SNAPSHOT_FORMAT, f as SNAPSHOT_VERSION, g as SerializedAnonymousBody, h as SerializedBytecode, i as SerializedDecimal, j as SerializedLineCacheEntry, k as SerializedNumber, l as SerializedRational, m as SerializedUserFunction, n as SerializedValue, o as SnapshotErrorCodes } from './PackageRegistry-BSGQ6saH.cjs';
|
|
3
3
|
import { V as Value } from './Value-CCi_Eecs.cjs';
|
|
4
|
-
import {
|
|
4
|
+
import { a as VMCheckpointer } from './VMCheckpoints-C_jQvABf.cjs';
|
|
5
5
|
import { T as Token } from './Token-CbP_OutD.cjs';
|
|
6
6
|
import { E as EngineError } from './EngineError-Ce1lPkjZ.cjs';
|
|
7
7
|
import { a as BytecodeProgram } from './BytecodeBuilder-DGGeByAP.cjs';
|
|
8
|
-
export {
|
|
8
|
+
export { a as DagSnapshot } from './ScopeManager-t6SnP6Ce.cjs';
|
|
9
9
|
import './Parselet-C4Wu055_.cjs';
|
|
10
10
|
import './pipeline-DCQicwWX.cjs';
|
|
11
11
|
import './Lexer-B4C1qHXu.cjs';
|
|
@@ -496,6 +496,49 @@ declare class ThreeTierEvaluator {
|
|
|
496
496
|
private extractExpressions;
|
|
497
497
|
}
|
|
498
498
|
|
|
499
|
+
/**
|
|
500
|
+
* Whole-document evaluation through the incremental engine.
|
|
501
|
+
*
|
|
502
|
+
* The engine has two ways to read a document, and they are not interchangeable.
|
|
503
|
+
* {@link ExpressionEngine.parseDocument} is the light batch pass: it scans the
|
|
504
|
+
* text, reads earlier lines' results, and skips markdown, which is everything
|
|
505
|
+
* line references, category tags and table columns need. What it has no way to
|
|
506
|
+
* do is re-run an earlier line with a variable bound to a trial value, which is
|
|
507
|
+
* exactly what goal seek (`solve line N for x = target`) is, so goal seek comes
|
|
508
|
+
* back as a `GOAL_SEEK_NO_DOCUMENT` error through `parseDocument`.
|
|
509
|
+
*
|
|
510
|
+
* The re-run primitive lives on the incremental `DocumentModel` +
|
|
511
|
+
* `ThreeTierEvaluator` path (a live editor drives it on every keystroke). This
|
|
512
|
+
* helper stands that path up for a single pass and hands back the familiar
|
|
513
|
+
* {@link ParsingResult}, so a caller reads the answers exactly as it would from
|
|
514
|
+
* `parseDocument`, goal seek included. A documentation notepad that wants goal
|
|
515
|
+
* seek to resolve, and the tests that prove those examples, both go through
|
|
516
|
+
* here.
|
|
517
|
+
*
|
|
518
|
+
* Two boundaries, each deliberate:
|
|
519
|
+
*
|
|
520
|
+
* - It builds a fresh model and evaluator per call and disposes the evaluator
|
|
521
|
+
* before returning, which suits occasional evaluation, not the keystroke loop
|
|
522
|
+
* a real editor runs against one long-lived `ThreeTierEvaluator`.
|
|
523
|
+
* - Unlike `parseDocument`, it does not classify a markdown table's own rows as
|
|
524
|
+
* skippable: they reach the evaluator as expressions and error. A document
|
|
525
|
+
* that mixes a raw table with goal seek is the one case that wants both paths,
|
|
526
|
+
* the table read through `parseDocument` and the goal seek through here.
|
|
527
|
+
*/
|
|
528
|
+
|
|
529
|
+
/**
|
|
530
|
+
* Evaluate a whole document with full cross-line context, including the line
|
|
531
|
+
* re-runs goal seek needs, and return per-line results in the same shape
|
|
532
|
+
* {@link ExpressionEngine.parseDocument} produces.
|
|
533
|
+
*
|
|
534
|
+
* @param engine - The engine to borrow for the pass. Its current document model
|
|
535
|
+
* (if any) is restored before returning.
|
|
536
|
+
* @param input - The document text, newline-separated.
|
|
537
|
+
* @param options - Parsing options, matching `parseDocument`. Only `inputType`
|
|
538
|
+
* is consulted; it defaults to `markdown`.
|
|
539
|
+
*/
|
|
540
|
+
declare function evaluateDocument(engine: ExpressionEngine, input: string, _options?: UnifiedParsingOptions): ParsingResult;
|
|
541
|
+
|
|
499
542
|
/** Bounds applied to input before parsing: length and nesting depth. */
|
|
500
543
|
interface ValidationConfig {
|
|
501
544
|
maxExpressionLength: number;
|
|
@@ -599,4 +642,4 @@ declare function isEmptyLine(lineText: string): boolean;
|
|
|
599
642
|
*/
|
|
600
643
|
declare function findInlineSolvesInLine(lineText: string, lineNumber: number): InlineSolvePosition[];
|
|
601
644
|
|
|
602
|
-
export { DocumentModel, type EvalLineResult, type EvalResult, EvalTier, ExpressionEngine, InlineSolvePosition, LineChange, type SafetyCheckResult, ThreeTierEvaluator, type ValidationConfig, ViewportRange, checkExpressionComplexity, checkExpressionLength, extractReadsAndWrites, findInlineSolvesInLine, isEmptyLine };
|
|
645
|
+
export { DocumentModel, type EvalLineResult, type EvalResult, EvalTier, ExpressionEngine, InlineSolvePosition, LineChange, ParsingResult, type SafetyCheckResult, ThreeTierEvaluator, UnifiedParsingOptions, type ValidationConfig, ViewportRange, checkExpressionComplexity, checkExpressionLength, evaluateDocument, extractReadsAndWrites, findInlineSolvesInLine, isEmptyLine };
|
package/dist/engine.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { D as DocumentModel, E as ExpressionEngine, V as ViewportRange,
|
|
2
|
-
export { A as ApplyChangesResult,
|
|
1
|
+
import { D as DocumentModel, E as ExpressionEngine, V as ViewportRange, r as LineChange, U as UnifiedParsingOptions, P as ParsingResult, s as InlineSolvePosition } from './PackageRegistry-DRbqNJfI.js';
|
|
2
|
+
export { A as ApplyChangesResult, t as AsyncCachePackageInfo, u as AsyncErrorEvent, v as AsyncResolutionBatcher, w as AsyncResolutionEvent, B as BatcherMetrics, x as BytecodeCacheEntry, y as CacheSnapshot, z as CheckpointSnapshot, a as EngineOptions, b as EngineRestoreOptions, c as EngineSnapshot, d as Explanation, e as ExplanationStep, F as LineCacheEntryInfo, G as LineState, H as LinesUpdatedEvent, J as ParsedLine, S as SNAPSHOT_FORMAT, f as SNAPSHOT_VERSION, g as SerializedAnonymousBody, h as SerializedBytecode, i as SerializedDecimal, j as SerializedLineCacheEntry, k as SerializedNumber, l as SerializedRational, m as SerializedUserFunction, n as SerializedValue, o as SnapshotErrorCodes } from './PackageRegistry-DRbqNJfI.js';
|
|
3
3
|
import { V as Value } from './Value-CCi_Eecs.js';
|
|
4
|
-
import {
|
|
4
|
+
import { a as VMCheckpointer } from './VMCheckpoints-CsHmQVaD.js';
|
|
5
5
|
import { T as Token } from './Token-CbP_OutD.js';
|
|
6
6
|
import { E as EngineError } from './EngineError-Ce1lPkjZ.js';
|
|
7
7
|
import { a as BytecodeProgram } from './BytecodeBuilder-DGGeByAP.js';
|
|
8
|
-
export {
|
|
8
|
+
export { a as DagSnapshot } from './ScopeManager-DkpnlKuz.js';
|
|
9
9
|
import './Parselet-B-zoPrTa.js';
|
|
10
10
|
import './pipeline-72QmQlGx.js';
|
|
11
11
|
import './Lexer-DKMlj7Sy.js';
|
|
@@ -496,6 +496,49 @@ declare class ThreeTierEvaluator {
|
|
|
496
496
|
private extractExpressions;
|
|
497
497
|
}
|
|
498
498
|
|
|
499
|
+
/**
|
|
500
|
+
* Whole-document evaluation through the incremental engine.
|
|
501
|
+
*
|
|
502
|
+
* The engine has two ways to read a document, and they are not interchangeable.
|
|
503
|
+
* {@link ExpressionEngine.parseDocument} is the light batch pass: it scans the
|
|
504
|
+
* text, reads earlier lines' results, and skips markdown, which is everything
|
|
505
|
+
* line references, category tags and table columns need. What it has no way to
|
|
506
|
+
* do is re-run an earlier line with a variable bound to a trial value, which is
|
|
507
|
+
* exactly what goal seek (`solve line N for x = target`) is, so goal seek comes
|
|
508
|
+
* back as a `GOAL_SEEK_NO_DOCUMENT` error through `parseDocument`.
|
|
509
|
+
*
|
|
510
|
+
* The re-run primitive lives on the incremental `DocumentModel` +
|
|
511
|
+
* `ThreeTierEvaluator` path (a live editor drives it on every keystroke). This
|
|
512
|
+
* helper stands that path up for a single pass and hands back the familiar
|
|
513
|
+
* {@link ParsingResult}, so a caller reads the answers exactly as it would from
|
|
514
|
+
* `parseDocument`, goal seek included. A documentation notepad that wants goal
|
|
515
|
+
* seek to resolve, and the tests that prove those examples, both go through
|
|
516
|
+
* here.
|
|
517
|
+
*
|
|
518
|
+
* Two boundaries, each deliberate:
|
|
519
|
+
*
|
|
520
|
+
* - It builds a fresh model and evaluator per call and disposes the evaluator
|
|
521
|
+
* before returning, which suits occasional evaluation, not the keystroke loop
|
|
522
|
+
* a real editor runs against one long-lived `ThreeTierEvaluator`.
|
|
523
|
+
* - Unlike `parseDocument`, it does not classify a markdown table's own rows as
|
|
524
|
+
* skippable: they reach the evaluator as expressions and error. A document
|
|
525
|
+
* that mixes a raw table with goal seek is the one case that wants both paths,
|
|
526
|
+
* the table read through `parseDocument` and the goal seek through here.
|
|
527
|
+
*/
|
|
528
|
+
|
|
529
|
+
/**
|
|
530
|
+
* Evaluate a whole document with full cross-line context, including the line
|
|
531
|
+
* re-runs goal seek needs, and return per-line results in the same shape
|
|
532
|
+
* {@link ExpressionEngine.parseDocument} produces.
|
|
533
|
+
*
|
|
534
|
+
* @param engine - The engine to borrow for the pass. Its current document model
|
|
535
|
+
* (if any) is restored before returning.
|
|
536
|
+
* @param input - The document text, newline-separated.
|
|
537
|
+
* @param options - Parsing options, matching `parseDocument`. Only `inputType`
|
|
538
|
+
* is consulted; it defaults to `markdown`.
|
|
539
|
+
*/
|
|
540
|
+
declare function evaluateDocument(engine: ExpressionEngine, input: string, _options?: UnifiedParsingOptions): ParsingResult;
|
|
541
|
+
|
|
499
542
|
/** Bounds applied to input before parsing: length and nesting depth. */
|
|
500
543
|
interface ValidationConfig {
|
|
501
544
|
maxExpressionLength: number;
|
|
@@ -599,4 +642,4 @@ declare function isEmptyLine(lineText: string): boolean;
|
|
|
599
642
|
*/
|
|
600
643
|
declare function findInlineSolvesInLine(lineText: string, lineNumber: number): InlineSolvePosition[];
|
|
601
644
|
|
|
602
|
-
export { DocumentModel, type EvalLineResult, type EvalResult, EvalTier, ExpressionEngine, InlineSolvePosition, LineChange, type SafetyCheckResult, ThreeTierEvaluator, type ValidationConfig, ViewportRange, checkExpressionComplexity, checkExpressionLength, extractReadsAndWrites, findInlineSolvesInLine, isEmptyLine };
|
|
645
|
+
export { DocumentModel, type EvalLineResult, type EvalResult, EvalTier, ExpressionEngine, InlineSolvePosition, LineChange, ParsingResult, type SafetyCheckResult, ThreeTierEvaluator, UnifiedParsingOptions, type ValidationConfig, ViewportRange, checkExpressionComplexity, checkExpressionLength, evaluateDocument, extractReadsAndWrites, findInlineSolvesInLine, isEmptyLine };
|
package/dist/engine.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{a as DocumentModel,b as EvalTier,c as ThreeTierEvaluator}from'./chunk-
|
|
1
|
+
export{a as DocumentModel,b as EvalTier,c as ThreeTierEvaluator,d as evaluateDocument}from'./chunk-7NXAZJDB.js';import'./chunk-RAF57WYO.js';export{h as AsyncResolutionBatcher,n as ExpressionEngine,d as SNAPSHOT_FORMAT,e as SNAPSHOT_VERSION,f as SnapshotErrorCodes,j as checkExpressionComplexity,i as checkExpressionLength,k as extractReadsAndWrites,m as findInlineSolvesInLine,l as isEmptyLine}from'./chunk-YU3PACLE.js';import'./chunk-XNIWQHXY.js';import'./chunk-2RWAXT6O.js';import'./chunk-7GK3XEZF.js';import'./chunk-MIQBJGGR.js';import'./chunk-YJ2OPULK.js';import'./chunk-TWC7K3ZX.js';import'./chunk-J4LZD4ZY.js';import'./chunk-XEIDV5JP.js';import'./chunk-TN5E6JU6.js';import'./chunk-YVKHEAFT.js';import'./chunk-5FO4PDIG.js';import'./chunk-76F3LCIL.js';import'./chunk-TCZSPH4A.js';import'./chunk-W2JAR233.js';import'./chunk-YAYBVVG2.js';import'./chunk-E6Z4NQAS.js';import'./chunk-HFKDWQUL.js';import'./chunk-R2ENWQ76.js';import'./chunk-RSF25YSJ.js';import'./chunk-EVAOPEO4.js';import'./chunk-WGZ3FNHI.js';import'./chunk-KVTOV3TZ.js';import'./chunk-YAHGSBMC.js';import'./chunk-JPFCXLJV.js';import'./chunk-G7TBEQRQ.js';import'./chunk-IJMNVBIS.js';import'./chunk-62LMTO4F.js';import'./chunk-TRBXW6HW.js';import'./chunk-2JMFUQZH.js';import'./chunk-MPB7KUN5.js';//# sourceMappingURL=engine.js.map
|
|
2
2
|
//# sourceMappingURL=engine.js.map
|
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';require('./chunk-
|
|
1
|
+
'use strict';require('./chunk-6C6IPUBH.cjs'),require('./chunk-EFJCC6FJ.cjs');var chunkU2UZJX5W_cjs=require('./chunk-U2UZJX5W.cjs');require('./chunk-FDE5HWDI.cjs'),require('./chunk-NGBBNL4K.cjs'),require('./chunk-ZCNBT44X.cjs'),require('./chunk-TTFO4YDP.cjs'),require('./chunk-SYYE3QAX.cjs'),require('./chunk-AXMQG5TS.cjs'),require('./chunk-HLBYHXQD.cjs'),require('./chunk-R2SZFJTT.cjs');var chunkOVKDDTXO_cjs=require('./chunk-OVKDDTXO.cjs');require('./chunk-6INX773F.cjs'),require('./chunk-7BXPCWKM.cjs');var chunk4QVBSG6B_cjs=require('./chunk-4QVBSG6B.cjs');require('./chunk-VAGS5JS7.cjs'),require('./chunk-UURM7P3P.cjs'),require('./chunk-ZLRJ7TDP.cjs'),require('./chunk-JAK3RAFA.cjs'),require('./chunk-4BZIYU7S.cjs'),require('./chunk-JFAJN3C2.cjs'),require('./chunk-TLG7VZRX.cjs'),require('./chunk-ESUN2THE.cjs'),require('./chunk-N7N7MPMK.cjs');var chunkPS272DZJ_cjs=require('./chunk-PS272DZJ.cjs');require('./chunk-IANAMBJQ.cjs');var chunkX3R7B7XM_cjs=require('./chunk-X3R7B7XM.cjs');require('./chunk-32GC2FHC.cjs'),require('./chunk-Y7O4D3BJ.cjs'),require('./chunk-2LFLR3VZ.cjs'),require('./chunk-5IJD5L3O.cjs'),require('./chunk-MSYX32PF.cjs'),require('./chunk-FWW3M36J.cjs'),require('./chunk-CIQOK7Q4.cjs');var chunkSOMGSIO4_cjs=require('./chunk-SOMGSIO4.cjs');var r={DEFINE_FUNCTION_INVALID_NAME:"DEFINE_FUNCTION_INVALID_NAME",DEFINE_FUNCTION_INVALID_SPEC:"DEFINE_FUNCTION_INVALID_SPEC",DEFINE_FUNCTION_ARITY_MISMATCH:"DEFINE_FUNCTION_ARITY_MISMATCH",DEFINE_FUNCTION_ARGUMENT_TYPE:"DEFINE_FUNCTION_ARGUMENT_TYPE",DEFINE_FUNCTION_RETURN_TYPE:"DEFINE_FUNCTION_RETURN_TYPE"},b=/^[a-z_][a-z0-9_]*$/i,y=new Set(["number","string","boolean"]);function u(e){return e===1?"1 argument":`${e} arguments`}function f(e){switch(e.type){case 0:case 1:return "a number";case 3:return "a string";case 10:return "a boolean";case 2:return "a big integer";case 5:return "a percentage";case 6:return "a value with a unit";case 4:return "a date";case 7:return "a matrix";case 8:return "a range";case 9:return "a symbolic expression";default:return "an unsupported value"}}function A(e,n,t){switch(n.type){case "number":if(e.type===0||e.type===1)return e.toNumber();break;case "string":if(e.type===3)return e.value;break;case "boolean":if(e.type===10)return e.value;break}throw chunkSOMGSIO4_cjs.c.execution({code:r.DEFINE_FUNCTION_ARGUMENT_TYPE,message:`${t}() expects "${n.name}" to be a ${n.type}, but was given ${f(e)}`,expected:`a ${n.type}`,found:f(e),context:{functionName:t,argName:n.name,expectedType:n.type}})}function S(e,n,t){switch(n){case "number":if(typeof e=="number")return chunkPS272DZJ_cjs.n(e);break;case "string":if(typeof e=="string")return chunkPS272DZJ_cjs.t(e);break;case "boolean":if(typeof e=="boolean")return chunkPS272DZJ_cjs.J(e);break}throw chunkSOMGSIO4_cjs.c.internal({code:r.DEFINE_FUNCTION_RETURN_TYPE,message:`${t}() is declared to return a ${n}, but its implementation returned ${typeof e}`,expected:`a ${n}`,found:typeof e,context:{functionName:t,expectedType:n}})}var p=class{constructor(n){this.fnName=n;this.category="Function";}parse(n,t,i){n.consume("LPAREN");let a=0;if(n.peek()?.type!=="RPAREN")for(n.parseExpression(chunk4QVBSG6B_cjs.a.Lowest,i),a++;n.match("COMMA");)n.parseExpression(chunk4QVBSG6B_cjs.a.Lowest,i),a++;n.consume("RPAREN"),i.emitPluginCall(this.fnName,a);}};function P(e){let n=e.args.length;return t=>{if(t.length!==n)throw chunkSOMGSIO4_cjs.c.execution({code:r.DEFINE_FUNCTION_ARITY_MISMATCH,message:`${e.name}() takes ${u(n)}, but was given ${t.length===0?"none":u(t.length)}`,expected:u(n),found:t.length===0?"none":u(t.length),context:{functionName:e.name,expected:n,actual:t.length}});let i=new Array(n);for(let s=0;s<n;s++)i[s]=A(t[s],e.args[s],e.name);let a=e.call(...i);return S(a,e.returns,e.name)}}function V(e){if(typeof e?.name!="string"||!b.test(e.name))throw chunkSOMGSIO4_cjs.c.config({code:r.DEFINE_FUNCTION_INVALID_NAME,message:`defineFunction: name must be a single identifier, got ${JSON.stringify(e?.name)}`,suggestion:'e.g. "vat" or "net_price"',context:{name:e?.name}});if(!Array.isArray(e.args))throw chunkSOMGSIO4_cjs.c.config({code:r.DEFINE_FUNCTION_INVALID_SPEC,message:`defineFunction: "${e.name}" args must be an array`,context:{name:e.name}});for(let n of e.args){if(typeof n?.name!="string"||n.name.length===0)throw chunkSOMGSIO4_cjs.c.config({code:r.DEFINE_FUNCTION_INVALID_SPEC,message:`defineFunction: "${e.name}" has an argument with no name`,context:{name:e.name}});if(!y.has(n.type))throw chunkSOMGSIO4_cjs.c.config({code:r.DEFINE_FUNCTION_INVALID_SPEC,message:`defineFunction: "${e.name}" argument "${n.name}" has unsupported type ${JSON.stringify(n.type)}`,suggestion:"supported argument types are number, string, boolean",context:{name:e.name,argName:n.name,type:n.type}})}if(!y.has(e.returns))throw chunkSOMGSIO4_cjs.c.config({code:r.DEFINE_FUNCTION_INVALID_SPEC,message:`defineFunction: "${e.name}" has unsupported return type ${JSON.stringify(e.returns)}`,suggestion:"supported return types are number, string, boolean",context:{name:e.name,returns:e.returns}});if(typeof e.call!="function")throw chunkSOMGSIO4_cjs.c.config({code:r.DEFINE_FUNCTION_INVALID_SPEC,message:`defineFunction: "${e.name}" is missing a call implementation`,context:{name:e.name}})}function O(e){V(e);let n=e.name,t=`DEFINE_FN_${n.toUpperCase()}`;return {name:`solve-fn-${n}`,lexerVocabulary:{keywords:{[n.toLowerCase()]:t}},prefixParselets:{[t]:new p(n)},pluginFunctions:{[n]:P(e)}}}function h(e={}){let{extraPackages:n=[],...t}=e;return new chunkU2UZJX5W_cjs.n({...t,packages:n.length>0?[...chunkOVKDDTXO_cjs.y,...n]:chunkOVKDDTXO_cjs.y})}Object.defineProperty(exports,"ExpressionEngine",{enumerable:true,get:function(){return chunkU2UZJX5W_cjs.n}});Object.defineProperty(exports,"SNAPSHOT_FORMAT",{enumerable:true,get:function(){return chunkU2UZJX5W_cjs.d}});Object.defineProperty(exports,"SNAPSHOT_VERSION",{enumerable:true,get:function(){return chunkU2UZJX5W_cjs.e}});Object.defineProperty(exports,"SnapshotErrorCodes",{enumerable:true,get:function(){return chunkU2UZJX5W_cjs.f}});Object.defineProperty(exports,"assertEngineVersionCompatible",{enumerable:true,get:function(){return chunkU2UZJX5W_cjs.c}});Object.defineProperty(exports,"checkEngineVersionCompatibility",{enumerable:true,get:function(){return chunkU2UZJX5W_cjs.b}});Object.defineProperty(exports,"checkPackageCompatibility",{enumerable:true,get:function(){return chunkU2UZJX5W_cjs.a}});Object.defineProperty(exports,"ENGINE_VERSION",{enumerable:true,get:function(){return chunkX3R7B7XM_cjs.a}});exports.DefineFunctionErrorCodes=r;exports.createEngine=h;exports.defineFunction=O;//# sourceMappingURL=index.cjs.map
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { I as IEnginePackage, a as EngineOptions, E as ExpressionEngine } from './PackageRegistry-
|
|
2
|
-
export { b as EngineRestoreOptions, c as EngineSnapshot, d as Explanation, e as ExplanationStep, S as SNAPSHOT_FORMAT, f as SNAPSHOT_VERSION, g as SerializedAnonymousBody, h as SerializedBytecode, i as SerializedDecimal, j as SerializedLineCacheEntry, k as SerializedNumber, l as SerializedRational, m as SerializedUserFunction, n as SerializedValue, o as SnapshotErrorCodes } from './PackageRegistry-
|
|
3
|
-
export { a as CompatibilityConflict, b as CompatibilityConflictKind, C as CompatibilityReport, c as CompatibilitySeverity, d as checkPackageCompatibility } from './PackageCompatibility-
|
|
1
|
+
import { I as IEnginePackage, a as EngineOptions, E as ExpressionEngine } from './PackageRegistry-BSGQ6saH.cjs';
|
|
2
|
+
export { b as EngineRestoreOptions, c as EngineSnapshot, d as Explanation, e as ExplanationStep, S as SNAPSHOT_FORMAT, f as SNAPSHOT_VERSION, g as SerializedAnonymousBody, h as SerializedBytecode, i as SerializedDecimal, j as SerializedLineCacheEntry, k as SerializedNumber, l as SerializedRational, m as SerializedUserFunction, n as SerializedValue, o as SnapshotErrorCodes } from './PackageRegistry-BSGQ6saH.cjs';
|
|
3
|
+
export { a as CompatibilityConflict, b as CompatibilityConflictKind, C as CompatibilityReport, c as CompatibilitySeverity, d as checkPackageCompatibility } from './PackageCompatibility-Cv7zjqSV.cjs';
|
|
4
4
|
export { E as EngineConfigOverride } from './Configuration-B6W0-T67.cjs';
|
|
5
5
|
export { ENGINE_VERSION } from './constants.cjs';
|
|
6
6
|
import './Parselet-C4Wu055_.cjs';
|
|
@@ -12,7 +12,7 @@ import './Lexer-B4C1qHXu.cjs';
|
|
|
12
12
|
import './resolvers.cjs';
|
|
13
13
|
import '@tanstack/query-core';
|
|
14
14
|
import './TokenNormalizer-DnlL7_8c.cjs';
|
|
15
|
-
import './ScopeManager-
|
|
15
|
+
import './ScopeManager-t6SnP6Ce.cjs';
|
|
16
16
|
import './EngineError-Ce1lPkjZ.cjs';
|
|
17
17
|
|
|
18
18
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { I as IEnginePackage, a as EngineOptions, E as ExpressionEngine } from './PackageRegistry-
|
|
2
|
-
export { b as EngineRestoreOptions, c as EngineSnapshot, d as Explanation, e as ExplanationStep, S as SNAPSHOT_FORMAT, f as SNAPSHOT_VERSION, g as SerializedAnonymousBody, h as SerializedBytecode, i as SerializedDecimal, j as SerializedLineCacheEntry, k as SerializedNumber, l as SerializedRational, m as SerializedUserFunction, n as SerializedValue, o as SnapshotErrorCodes } from './PackageRegistry-
|
|
3
|
-
export { a as CompatibilityConflict, b as CompatibilityConflictKind, C as CompatibilityReport, c as CompatibilitySeverity, d as checkPackageCompatibility } from './PackageCompatibility-
|
|
1
|
+
import { I as IEnginePackage, a as EngineOptions, E as ExpressionEngine } from './PackageRegistry-DRbqNJfI.js';
|
|
2
|
+
export { b as EngineRestoreOptions, c as EngineSnapshot, d as Explanation, e as ExplanationStep, S as SNAPSHOT_FORMAT, f as SNAPSHOT_VERSION, g as SerializedAnonymousBody, h as SerializedBytecode, i as SerializedDecimal, j as SerializedLineCacheEntry, k as SerializedNumber, l as SerializedRational, m as SerializedUserFunction, n as SerializedValue, o as SnapshotErrorCodes } from './PackageRegistry-DRbqNJfI.js';
|
|
3
|
+
export { a as CompatibilityConflict, b as CompatibilityConflictKind, C as CompatibilityReport, c as CompatibilitySeverity, d as checkPackageCompatibility } from './PackageCompatibility-DBsZ0l2a.js';
|
|
4
4
|
export { E as EngineConfigOverride } from './Configuration-B6W0-T67.js';
|
|
5
5
|
export { ENGINE_VERSION } from './constants.js';
|
|
6
6
|
import './Parselet-B-zoPrTa.js';
|
|
@@ -12,7 +12,7 @@ import './Lexer-DKMlj7Sy.js';
|
|
|
12
12
|
import './resolvers.js';
|
|
13
13
|
import '@tanstack/query-core';
|
|
14
14
|
import './TokenNormalizer-DCWdZjGz.js';
|
|
15
|
-
import './ScopeManager-
|
|
15
|
+
import './ScopeManager-DkpnlKuz.js';
|
|
16
16
|
import './EngineError-Ce1lPkjZ.js';
|
|
17
17
|
|
|
18
18
|
/**
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import'./chunk-
|
|
1
|
+
import'./chunk-7NXAZJDB.js';import'./chunk-RAF57WYO.js';import {n}from'./chunk-YU3PACLE.js';export{n as ExpressionEngine,d as SNAPSHOT_FORMAT,e as SNAPSHOT_VERSION,f as SnapshotErrorCodes,c as assertEngineVersionCompatible,b as checkEngineVersionCompatibility,a as checkPackageCompatibility}from'./chunk-YU3PACLE.js';import'./chunk-XNIWQHXY.js';import'./chunk-2RWAXT6O.js';import'./chunk-7GK3XEZF.js';import'./chunk-MIQBJGGR.js';import'./chunk-YJ2OPULK.js';import'./chunk-TWC7K3ZX.js';import'./chunk-J4LZD4ZY.js';import'./chunk-XEIDV5JP.js';import {y as y$1}from'./chunk-E2Q3PQ2G.js';import'./chunk-6G3PMEPA.js';import'./chunk-TN5E6JU6.js';import {a}from'./chunk-YVKHEAFT.js';import'./chunk-5FO4PDIG.js';import'./chunk-76F3LCIL.js';import'./chunk-TCZSPH4A.js';import'./chunk-W2JAR233.js';import'./chunk-YAYBVVG2.js';import'./chunk-E6Z4NQAS.js';import'./chunk-HFKDWQUL.js';import'./chunk-R2ENWQ76.js';import'./chunk-RSF25YSJ.js';import {J,t,n as n$1}from'./chunk-EVAOPEO4.js';import'./chunk-WGZ3FNHI.js';export{a as ENGINE_VERSION}from'./chunk-KVTOV3TZ.js';import'./chunk-YAHGSBMC.js';import'./chunk-JPFCXLJV.js';import'./chunk-G7TBEQRQ.js';import'./chunk-IJMNVBIS.js';import'./chunk-62LMTO4F.js';import'./chunk-TRBXW6HW.js';import'./chunk-2JMFUQZH.js';import {c}from'./chunk-MPB7KUN5.js';var r={DEFINE_FUNCTION_INVALID_NAME:"DEFINE_FUNCTION_INVALID_NAME",DEFINE_FUNCTION_INVALID_SPEC:"DEFINE_FUNCTION_INVALID_SPEC",DEFINE_FUNCTION_ARITY_MISMATCH:"DEFINE_FUNCTION_ARITY_MISMATCH",DEFINE_FUNCTION_ARGUMENT_TYPE:"DEFINE_FUNCTION_ARGUMENT_TYPE",DEFINE_FUNCTION_RETURN_TYPE:"DEFINE_FUNCTION_RETURN_TYPE"},b=/^[a-z_][a-z0-9_]*$/i,y=new Set(["number","string","boolean"]);function u(e){return e===1?"1 argument":`${e} arguments`}function f(e){switch(e.type){case 0:case 1:return "a number";case 3:return "a string";case 10:return "a boolean";case 2:return "a big integer";case 5:return "a percentage";case 6:return "a value with a unit";case 4:return "a date";case 7:return "a matrix";case 8:return "a range";case 9:return "a symbolic expression";default:return "an unsupported value"}}function A(e,n,t){switch(n.type){case "number":if(e.type===0||e.type===1)return e.toNumber();break;case "string":if(e.type===3)return e.value;break;case "boolean":if(e.type===10)return e.value;break}throw c.execution({code:r.DEFINE_FUNCTION_ARGUMENT_TYPE,message:`${t}() expects "${n.name}" to be a ${n.type}, but was given ${f(e)}`,expected:`a ${n.type}`,found:f(e),context:{functionName:t,argName:n.name,expectedType:n.type}})}function S(e,n,t$1){switch(n){case "number":if(typeof e=="number")return n$1(e);break;case "string":if(typeof e=="string")return t(e);break;case "boolean":if(typeof e=="boolean")return J(e);break}throw c.internal({code:r.DEFINE_FUNCTION_RETURN_TYPE,message:`${t$1}() is declared to return a ${n}, but its implementation returned ${typeof e}`,expected:`a ${n}`,found:typeof e,context:{functionName:t$1,expectedType:n}})}var p=class{constructor(n){this.fnName=n;this.category="Function";}parse(n,t,i){n.consume("LPAREN");let a$1=0;if(n.peek()?.type!=="RPAREN")for(n.parseExpression(a.Lowest,i),a$1++;n.match("COMMA");)n.parseExpression(a.Lowest,i),a$1++;n.consume("RPAREN"),i.emitPluginCall(this.fnName,a$1);}};function P(e){let n=e.args.length;return t=>{if(t.length!==n)throw c.execution({code:r.DEFINE_FUNCTION_ARITY_MISMATCH,message:`${e.name}() takes ${u(n)}, but was given ${t.length===0?"none":u(t.length)}`,expected:u(n),found:t.length===0?"none":u(t.length),context:{functionName:e.name,expected:n,actual:t.length}});let i=new Array(n);for(let s=0;s<n;s++)i[s]=A(t[s],e.args[s],e.name);let a=e.call(...i);return S(a,e.returns,e.name)}}function V(e){if(typeof e?.name!="string"||!b.test(e.name))throw c.config({code:r.DEFINE_FUNCTION_INVALID_NAME,message:`defineFunction: name must be a single identifier, got ${JSON.stringify(e?.name)}`,suggestion:'e.g. "vat" or "net_price"',context:{name:e?.name}});if(!Array.isArray(e.args))throw c.config({code:r.DEFINE_FUNCTION_INVALID_SPEC,message:`defineFunction: "${e.name}" args must be an array`,context:{name:e.name}});for(let n of e.args){if(typeof n?.name!="string"||n.name.length===0)throw c.config({code:r.DEFINE_FUNCTION_INVALID_SPEC,message:`defineFunction: "${e.name}" has an argument with no name`,context:{name:e.name}});if(!y.has(n.type))throw c.config({code:r.DEFINE_FUNCTION_INVALID_SPEC,message:`defineFunction: "${e.name}" argument "${n.name}" has unsupported type ${JSON.stringify(n.type)}`,suggestion:"supported argument types are number, string, boolean",context:{name:e.name,argName:n.name,type:n.type}})}if(!y.has(e.returns))throw c.config({code:r.DEFINE_FUNCTION_INVALID_SPEC,message:`defineFunction: "${e.name}" has unsupported return type ${JSON.stringify(e.returns)}`,suggestion:"supported return types are number, string, boolean",context:{name:e.name,returns:e.returns}});if(typeof e.call!="function")throw c.config({code:r.DEFINE_FUNCTION_INVALID_SPEC,message:`defineFunction: "${e.name}" is missing a call implementation`,context:{name:e.name}})}function O(e){V(e);let n=e.name,t=`DEFINE_FN_${n.toUpperCase()}`;return {name:`solve-fn-${n}`,lexerVocabulary:{keywords:{[n.toLowerCase()]:t}},prefixParselets:{[t]:new p(n)},pluginFunctions:{[n]:P(e)}}}function h(e={}){let{extraPackages:n$1=[],...t}=e;return new n({...t,packages:n$1.length>0?[...y$1,...n$1]:y$1})}export{r as DefineFunctionErrorCodes,h as createEngine,O as defineFunction};//# sourceMappingURL=index.js.map
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/language.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export {
|
|
1
|
+
import { C as CompletionItem } from './PackageRegistry-BSGQ6saH.cjs';
|
|
2
|
+
export { L as LanguageService, p as LanguageServiceOptions, q as SemanticToken } from './PackageRegistry-BSGQ6saH.cjs';
|
|
3
3
|
import { e as TokenCategory } from './Lexer-B4C1qHXu.cjs';
|
|
4
4
|
import './Parselet-C4Wu055_.cjs';
|
|
5
5
|
import './BytecodeBuilder-DGGeByAP.cjs';
|
|
@@ -9,7 +9,7 @@ import './Value-CCi_Eecs.cjs';
|
|
|
9
9
|
import './resolvers.cjs';
|
|
10
10
|
import '@tanstack/query-core';
|
|
11
11
|
import './TokenNormalizer-DnlL7_8c.cjs';
|
|
12
|
-
import './ScopeManager-
|
|
12
|
+
import './ScopeManager-t6SnP6Ce.cjs';
|
|
13
13
|
import './EngineError-Ce1lPkjZ.cjs';
|
|
14
14
|
import './Configuration-B6W0-T67.cjs';
|
|
15
15
|
|
package/dist/language.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export {
|
|
1
|
+
import { C as CompletionItem } from './PackageRegistry-DRbqNJfI.js';
|
|
2
|
+
export { L as LanguageService, p as LanguageServiceOptions, q as SemanticToken } from './PackageRegistry-DRbqNJfI.js';
|
|
3
3
|
import { e as TokenCategory } from './Lexer-DKMlj7Sy.js';
|
|
4
4
|
import './Parselet-B-zoPrTa.js';
|
|
5
5
|
import './BytecodeBuilder-DGGeByAP.js';
|
|
@@ -9,7 +9,7 @@ import './Value-CCi_Eecs.js';
|
|
|
9
9
|
import './resolvers.js';
|
|
10
10
|
import '@tanstack/query-core';
|
|
11
11
|
import './TokenNormalizer-DCWdZjGz.js';
|
|
12
|
-
import './ScopeManager-
|
|
12
|
+
import './ScopeManager-DkpnlKuz.js';
|
|
13
13
|
import './EngineError-Ce1lPkjZ.js';
|
|
14
14
|
import './Configuration-B6W0-T67.js';
|
|
15
15
|
|
package/dist/lexer.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunk32GC2FHC_cjs=require('./chunk-32GC2FHC.cjs');require('./chunk-Y7O4D3BJ.cjs');var chunk2LFLR3VZ_cjs=require('./chunk-2LFLR3VZ.cjs'),chunk5IJD5L3O_cjs=require('./chunk-5IJD5L3O.cjs');require('./chunk-MSYX32PF.cjs');var chunkFWW3M36J_cjs=require('./chunk-FWW3M36J.cjs');require('./chunk-CIQOK7Q4.cjs'),require('./chunk-SOMGSIO4.cjs');Object.defineProperty(exports,"Lexer",{enumerable:true,get:function(){return chunk32GC2FHC_cjs.b}});Object.defineProperty(exports,"LexerState",{enumerable:true,get:function(){return chunk32GC2FHC_cjs.a}});Object.defineProperty(exports,"buildTokenLookup",{enumerable:true,get:function(){return chunk32GC2FHC_cjs.d}});Object.defineProperty(exports,"sharedLexer",{enumerable:true,get:function(){return chunk32GC2FHC_cjs.c}});Object.defineProperty(exports,"ExpressionLexer",{enumerable:true,get:function(){return chunk2LFLR3VZ_cjs.b}});Object.defineProperty(exports,"LexerToken",{enumerable:true,get:function(){return chunk2LFLR3VZ_cjs.a}});Object.defineProperty(exports,"TokenTypes",{enumerable:true,get:function(){return chunk5IJD5L3O_cjs.a}});Object.defineProperty(exports,"registerAllTokenTypes",{enumerable:true,get:function(){return chunk5IJD5L3O_cjs.e}});Object.defineProperty(exports,"registerTokenType",{enumerable:true,get:function(){return chunk5IJD5L3O_cjs.b}});Object.defineProperty(exports,"tokenTypeId",{enumerable:true,get:function(){return chunk5IJD5L3O_cjs.c}});Object.defineProperty(exports,"tokenTypeName",{enumerable:true,get:function(){return chunk5IJD5L3O_cjs.d}});Object.defineProperty(exports,"knownUnits",{enumerable:true,get:function(){return chunkFWW3M36J_cjs.a}});//# sourceMappingURL=lexer.cjs.map
|
|
2
2
|
//# sourceMappingURL=lexer.cjs.map
|
package/dist/lexer.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{b as Lexer,a as LexerState,d as buildTokenLookup,c as sharedLexer}from'./chunk-
|
|
1
|
+
export{b as Lexer,a as LexerState,d as buildTokenLookup,c as sharedLexer}from'./chunk-YAHGSBMC.js';import'./chunk-JPFCXLJV.js';export{b as ExpressionLexer,a as LexerToken}from'./chunk-G7TBEQRQ.js';export{a as TokenTypes,e as registerAllTokenTypes,b as registerTokenType,c as tokenTypeId,d as tokenTypeName}from'./chunk-IJMNVBIS.js';import'./chunk-62LMTO4F.js';export{a as knownUnits}from'./chunk-TRBXW6HW.js';import'./chunk-2JMFUQZH.js';import'./chunk-MPB7KUN5.js';//# sourceMappingURL=lexer.js.map
|
|
2
2
|
//# sourceMappingURL=lexer.js.map
|
package/dist/normalizer.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';require('./chunk-NGBBNL4K.cjs');var
|
|
1
|
+
'use strict';require('./chunk-NGBBNL4K.cjs');var chunkVAGS5JS7_cjs=require('./chunk-VAGS5JS7.cjs');require('./chunk-2LFLR3VZ.cjs'),require('./chunk-5IJD5L3O.cjs'),require('./chunk-MSYX32PF.cjs'),require('./chunk-FWW3M36J.cjs'),require('./chunk-CIQOK7Q4.cjs'),require('./chunk-SOMGSIO4.cjs');Object.defineProperty(exports,"BUILTIN_PHRASES",{enumerable:true,get:function(){return chunkVAGS5JS7_cjs.g}});Object.defineProperty(exports,"PhraseTrie",{enumerable:true,get:function(){return chunkVAGS5JS7_cjs.a}});Object.defineProperty(exports,"TokenNormalizer",{enumerable:true,get:function(){return chunkVAGS5JS7_cjs.c}});Object.defineProperty(exports,"createBuiltinNormalizerRules",{enumerable:true,get:function(){return chunkVAGS5JS7_cjs.f}});Object.defineProperty(exports,"createFusedToken",{enumerable:true,get:function(){return chunkVAGS5JS7_cjs.b}});Object.defineProperty(exports,"implicitMultiplyRule",{enumerable:true,get:function(){return chunkVAGS5JS7_cjs.d}});//# sourceMappingURL=normalizer.cjs.map
|
|
2
2
|
//# sourceMappingURL=normalizer.cjs.map
|
package/dist/normalizer.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import'./chunk-2RWAXT6O.js';export{g as BUILTIN_PHRASES,a as PhraseTrie,c as TokenNormalizer,f as createBuiltinNormalizerRules,b as createFusedToken,d as implicitMultiplyRule}from'./chunk-
|
|
1
|
+
import'./chunk-2RWAXT6O.js';export{g as BUILTIN_PHRASES,a as PhraseTrie,c as TokenNormalizer,f as createBuiltinNormalizerRules,b as createFusedToken,d as implicitMultiplyRule}from'./chunk-5FO4PDIG.js';import'./chunk-G7TBEQRQ.js';import'./chunk-IJMNVBIS.js';import'./chunk-62LMTO4F.js';import'./chunk-TRBXW6HW.js';import'./chunk-2JMFUQZH.js';import'./chunk-MPB7KUN5.js';//# sourceMappingURL=normalizer.js.map
|
|
2
2
|
//# sourceMappingURL=normalizer.js.map
|
package/dist/packages.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkOVKDDTXO_cjs=require('./chunk-OVKDDTXO.cjs');require('./chunk-6INX773F.cjs');var chunk7BXPCWKM_cjs=require('./chunk-7BXPCWKM.cjs');require('./chunk-4QVBSG6B.cjs'),require('./chunk-VAGS5JS7.cjs'),require('./chunk-UURM7P3P.cjs'),require('./chunk-ZLRJ7TDP.cjs'),require('./chunk-JAK3RAFA.cjs'),require('./chunk-4BZIYU7S.cjs'),require('./chunk-JFAJN3C2.cjs'),require('./chunk-TLG7VZRX.cjs'),require('./chunk-ESUN2THE.cjs'),require('./chunk-N7N7MPMK.cjs'),require('./chunk-PS272DZJ.cjs'),require('./chunk-IANAMBJQ.cjs'),require('./chunk-2LFLR3VZ.cjs'),require('./chunk-5IJD5L3O.cjs'),require('./chunk-MSYX32PF.cjs'),require('./chunk-FWW3M36J.cjs'),require('./chunk-CIQOK7Q4.cjs'),require('./chunk-SOMGSIO4.cjs');Object.defineProperty(exports,"ARITHMETIC_PACKAGE",{enumerable:true,get:function(){return chunkOVKDDTXO_cjs.a}});Object.defineProperty(exports,"BIGINT_PACKAGE",{enumerable:true,get:function(){return chunkOVKDDTXO_cjs.n}});Object.defineProperty(exports,"BUILTIN_PACKAGES",{enumerable:true,get:function(){return chunkOVKDDTXO_cjs.y}});Object.defineProperty(exports,"CONDITIONALS_PACKAGE",{enumerable:true,get:function(){return chunkOVKDDTXO_cjs.o}});Object.defineProperty(exports,"CONVERTERS_PACKAGE",{enumerable:true,get:function(){return chunkOVKDDTXO_cjs.p}});Object.defineProperty(exports,"CURRENCY_PACKAGE",{enumerable:true,get:function(){return chunkOVKDDTXO_cjs.j}});Object.defineProperty(exports,"DATETIME_PACKAGE",{enumerable:true,get:function(){return chunkOVKDDTXO_cjs.d}});Object.defineProperty(exports,"DICE_PACKAGE",{enumerable:true,get:function(){return chunkOVKDDTXO_cjs.f}});Object.defineProperty(exports,"FINANCE_PACKAGE",{enumerable:true,get:function(){return chunkOVKDDTXO_cjs.r}});Object.defineProperty(exports,"FUNCTION_PACKAGE",{enumerable:true,get:function(){return chunkOVKDDTXO_cjs.c}});Object.defineProperty(exports,"LINES_PACKAGE",{enumerable:true,get:function(){return chunkOVKDDTXO_cjs.v}});Object.defineProperty(exports,"MAPREDUCE_PACKAGE",{enumerable:true,get:function(){return chunkOVKDDTXO_cjs.m}});Object.defineProperty(exports,"MATHPHRASES_PACKAGE",{enumerable:true,get:function(){return chunkOVKDDTXO_cjs.q}});Object.defineProperty(exports,"MATRIX_PACKAGE",{enumerable:true,get:function(){return chunkOVKDDTXO_cjs.l}});Object.defineProperty(exports,"PERCENTAGE_PACKAGE",{enumerable:true,get:function(){return chunkOVKDDTXO_cjs.b}});Object.defineProperty(exports,"TABLES_PACKAGE",{enumerable:true,get:function(){return chunkOVKDDTXO_cjs.w}});Object.defineProperty(exports,"TAGS_PACKAGE",{enumerable:true,get:function(){return chunkOVKDDTXO_cjs.x}});Object.defineProperty(exports,"TIME_PACKAGE",{enumerable:true,get:function(){return chunkOVKDDTXO_cjs.e}});Object.defineProperty(exports,"UOM_PACKAGE",{enumerable:true,get:function(){return chunkOVKDDTXO_cjs.h}});Object.defineProperty(exports,"VARIABLES_PACKAGE",{enumerable:true,get:function(){return chunkOVKDDTXO_cjs.g}});Object.defineProperty(exports,"VECTOR_PACKAGE",{enumerable:true,get:function(){return chunkOVKDDTXO_cjs.k}});Object.defineProperty(exports,"WEATHER_PACKAGE",{enumerable:true,get:function(){return chunkOVKDDTXO_cjs.s}});Object.defineProperty(exports,"createCurrencyPackage",{enumerable:true,get:function(){return chunkOVKDDTXO_cjs.i}});Object.defineProperty(exports,"createKnowledgePackage",{enumerable:true,get:function(){return chunkOVKDDTXO_cjs.u}});Object.defineProperty(exports,"createStocksPackage",{enumerable:true,get:function(){return chunkOVKDDTXO_cjs.t}});Object.defineProperty(exports,"SYMBOLIC_PACKAGE",{enumerable:true,get:function(){return chunk7BXPCWKM_cjs.a}});//# sourceMappingURL=packages.cjs.map
|
|
2
2
|
//# sourceMappingURL=packages.cjs.map
|
package/dist/packages.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { I as IEnginePackage } from './PackageRegistry-
|
|
1
|
+
import { I as IEnginePackage } from './PackageRegistry-BSGQ6saH.cjs';
|
|
2
2
|
import './Parselet-C4Wu055_.cjs';
|
|
3
3
|
import './BytecodeBuilder-DGGeByAP.cjs';
|
|
4
4
|
import './Token-CbP_OutD.cjs';
|
|
@@ -8,7 +8,7 @@ import './Lexer-B4C1qHXu.cjs';
|
|
|
8
8
|
import './resolvers.cjs';
|
|
9
9
|
import '@tanstack/query-core';
|
|
10
10
|
import './TokenNormalizer-DnlL7_8c.cjs';
|
|
11
|
-
import './ScopeManager-
|
|
11
|
+
import './ScopeManager-t6SnP6Ce.cjs';
|
|
12
12
|
import './EngineError-Ce1lPkjZ.cjs';
|
|
13
13
|
import './Configuration-B6W0-T67.cjs';
|
|
14
14
|
|
package/dist/packages.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { I as IEnginePackage } from './PackageRegistry-
|
|
1
|
+
import { I as IEnginePackage } from './PackageRegistry-DRbqNJfI.js';
|
|
2
2
|
import './Parselet-B-zoPrTa.js';
|
|
3
3
|
import './BytecodeBuilder-DGGeByAP.js';
|
|
4
4
|
import './Token-CbP_OutD.js';
|
|
@@ -8,7 +8,7 @@ import './Lexer-DKMlj7Sy.js';
|
|
|
8
8
|
import './resolvers.js';
|
|
9
9
|
import '@tanstack/query-core';
|
|
10
10
|
import './TokenNormalizer-DCWdZjGz.js';
|
|
11
|
-
import './ScopeManager-
|
|
11
|
+
import './ScopeManager-DkpnlKuz.js';
|
|
12
12
|
import './EngineError-Ce1lPkjZ.js';
|
|
13
13
|
import './Configuration-B6W0-T67.js';
|
|
14
14
|
|
package/dist/packages.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{a as ARITHMETIC_PACKAGE,n as BIGINT_PACKAGE,y as BUILTIN_PACKAGES,o as CONDITIONALS_PACKAGE,p as CONVERTERS_PACKAGE,j as CURRENCY_PACKAGE,d as DATETIME_PACKAGE,f as DICE_PACKAGE,r as FINANCE_PACKAGE,c as FUNCTION_PACKAGE,v as LINES_PACKAGE,m as MAPREDUCE_PACKAGE,q as MATHPHRASES_PACKAGE,l as MATRIX_PACKAGE,b as PERCENTAGE_PACKAGE,w as TABLES_PACKAGE,x as TAGS_PACKAGE,e as TIME_PACKAGE,h as UOM_PACKAGE,g as VARIABLES_PACKAGE,k as VECTOR_PACKAGE,s as WEATHER_PACKAGE,i as createCurrencyPackage,u as createKnowledgePackage,t as createStocksPackage}from'./chunk-
|
|
1
|
+
export{a as ARITHMETIC_PACKAGE,n as BIGINT_PACKAGE,y as BUILTIN_PACKAGES,o as CONDITIONALS_PACKAGE,p as CONVERTERS_PACKAGE,j as CURRENCY_PACKAGE,d as DATETIME_PACKAGE,f as DICE_PACKAGE,r as FINANCE_PACKAGE,c as FUNCTION_PACKAGE,v as LINES_PACKAGE,m as MAPREDUCE_PACKAGE,q as MATHPHRASES_PACKAGE,l as MATRIX_PACKAGE,b as PERCENTAGE_PACKAGE,w as TABLES_PACKAGE,x as TAGS_PACKAGE,e as TIME_PACKAGE,h as UOM_PACKAGE,g as VARIABLES_PACKAGE,k as VECTOR_PACKAGE,s as WEATHER_PACKAGE,i as createCurrencyPackage,u as createKnowledgePackage,t as createStocksPackage}from'./chunk-E2Q3PQ2G.js';import'./chunk-6G3PMEPA.js';export{a as SYMBOLIC_PACKAGE}from'./chunk-TN5E6JU6.js';import'./chunk-YVKHEAFT.js';import'./chunk-5FO4PDIG.js';import'./chunk-76F3LCIL.js';import'./chunk-TCZSPH4A.js';import'./chunk-W2JAR233.js';import'./chunk-YAYBVVG2.js';import'./chunk-E6Z4NQAS.js';import'./chunk-HFKDWQUL.js';import'./chunk-R2ENWQ76.js';import'./chunk-RSF25YSJ.js';import'./chunk-EVAOPEO4.js';import'./chunk-WGZ3FNHI.js';import'./chunk-G7TBEQRQ.js';import'./chunk-IJMNVBIS.js';import'./chunk-62LMTO4F.js';import'./chunk-TRBXW6HW.js';import'./chunk-2JMFUQZH.js';import'./chunk-MPB7KUN5.js';//# sourceMappingURL=packages.js.map
|
|
2
2
|
//# sourceMappingURL=packages.js.map
|
package/dist/testing.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkU2UZJX5W_cjs=require('./chunk-U2UZJX5W.cjs');require('./chunk-FDE5HWDI.cjs'),require('./chunk-NGBBNL4K.cjs'),require('./chunk-ZCNBT44X.cjs'),require('./chunk-TTFO4YDP.cjs'),require('./chunk-SYYE3QAX.cjs'),require('./chunk-AXMQG5TS.cjs'),require('./chunk-HLBYHXQD.cjs'),require('./chunk-R2SZFJTT.cjs');var chunkOVKDDTXO_cjs=require('./chunk-OVKDDTXO.cjs');require('./chunk-6INX773F.cjs'),require('./chunk-7BXPCWKM.cjs'),require('./chunk-4QVBSG6B.cjs'),require('./chunk-VAGS5JS7.cjs'),require('./chunk-UURM7P3P.cjs'),require('./chunk-ZLRJ7TDP.cjs'),require('./chunk-JAK3RAFA.cjs'),require('./chunk-4BZIYU7S.cjs'),require('./chunk-JFAJN3C2.cjs'),require('./chunk-TLG7VZRX.cjs'),require('./chunk-ESUN2THE.cjs'),require('./chunk-N7N7MPMK.cjs');var chunkPS272DZJ_cjs=require('./chunk-PS272DZJ.cjs');require('./chunk-IANAMBJQ.cjs');var chunkX3R7B7XM_cjs=require('./chunk-X3R7B7XM.cjs');require('./chunk-32GC2FHC.cjs'),require('./chunk-Y7O4D3BJ.cjs'),require('./chunk-2LFLR3VZ.cjs'),require('./chunk-5IJD5L3O.cjs'),require('./chunk-MSYX32PF.cjs'),require('./chunk-FWW3M36J.cjs'),require('./chunk-CIQOK7Q4.cjs');var chunkSOMGSIO4_cjs=require('./chunk-SOMGSIO4.cjs');var i=class o extends Error{constructor(t){super(t.message),this.name="ExpectationError",this.code=t.code,this.expected=t.expected,this.actual=t.actual,Object.setPrototypeOf(this,o.prototype);}};function V(o=[],t={}){let{locale:e="en",includeBuiltins:r=true}=t,s=new chunkU2UZJX5W_cjs.n({locale:e,packages:r?chunkOVKDDTXO_cjs.y:[]});for(let a of o)s.registerPackage(a);return s}function v(o,t){try{let e=o.evaluateExpression(t);return e.isError()?{status:"error",code:e.errorCode??"",message:e.errorMessage??"",source:e}:e.isPending()?{status:"pending",value:e}:{status:"value",value:e}}catch(e){if(e instanceof chunkSOMGSIO4_cjs.b)return {status:"error",code:e.code,message:e.message,source:e};let r=e instanceof Error?e.message:String(e);return {status:"error",code:"UNKNOWN_ERROR",message:r,source:new chunkPS272DZJ_cjs.m(13,"UNKNOWN_ERROR",r)}}}function x(o,t){if(Object.is(o,t))return true;if(!Number.isFinite(o)||!Number.isFinite(t))return false;let e=1e-9*Math.max(1,Math.abs(o),Math.abs(t));return Math.abs(o-t)<=e}function l(o){return o.type===3?JSON.stringify(o.value):o.type===6&&typeof o.unit=="string"?`${String(o.value)} ${o.unit}`:String(o.value)}function n(o){switch(o.status){case "value":return l(o.value);case "pending":return "a pending async value";case "error":return `an error (${o.code}: ${o.message})`}}var d=class{constructor(t,e){this.expression=t;this.outcome=e;}get value(){if(this.outcome.status==="error")throw new i({code:"EXPECTED_VALUE",message:`Expected "${this.expression}" to evaluate, but it failed with ${n(this.outcome)}.`,expected:"a resolved value",actual:n(this.outcome)});return this.outcome.value}toEvaluate(){if(this.outcome.status!=="value")throw new i({code:"EXPECTED_EVALUATE",message:`Expected "${this.expression}" to evaluate to a value, but got ${n(this.outcome)}.`,expected:"a resolved value",actual:n(this.outcome)});return this}toEqual(t,e){if(this.outcome.status!=="value")throw new i({code:"EXPECTED_EQUAL",message:`Expected "${this.expression}" to equal ${c(t,e)}, but got ${n(this.outcome)}.`,expected:c(t,e),actual:n(this.outcome)});let r=this.outcome.value,s;if(typeof t=="number"?s=x(r.toNumber(),t):typeof t=="boolean"?s=r.type===10&&r.value===t:s=C(r)===t,!s)throw new i({code:"EXPECTED_EQUAL",message:`Expected "${this.expression}" to equal ${c(t,e)}, but it was ${l(r)}.`,expected:c(t,e),actual:l(r)});if(e!==void 0&&r.unit!==e)throw new i({code:"EXPECTED_UNIT",message:`Expected "${this.expression}" to carry the unit "${e}", but it was ${r.unit===void 0?"unitless":`"${r.unit}"`}.`,expected:`unit "${e}"`,actual:r.unit===void 0?"no unit":`unit "${r.unit}"`});return this}toBeError(){if(this.outcome.status!=="error")throw new i({code:"EXPECTED_ERROR",message:`Expected "${this.expression}" to fail, but it produced ${n(this.outcome)}.`,expected:"an error",actual:n(this.outcome)});return this}toFailWith(t){if(this.outcome.status!=="error")throw new i({code:"EXPECTED_FAIL_WITH",message:`Expected "${this.expression}" to fail with "${t}", but it produced ${n(this.outcome)}.`,expected:`error code "${t}"`,actual:n(this.outcome)});if(this.outcome.code!==t)throw new i({code:"EXPECTED_FAIL_WITH",message:`Expected "${this.expression}" to fail with "${t}", but it failed with "${this.outcome.code}" (${this.outcome.message}).`,expected:`error code "${t}"`,actual:`error code "${this.outcome.code}"`});return this}toBePending(){if(this.outcome.status!=="pending")throw new i({code:"EXPECTED_PENDING",message:`Expected "${this.expression}" to be pending, but got ${n(this.outcome)}.`,expected:"a pending async value",actual:n(this.outcome)});return this}};function c(o,t){let e=typeof o=="string"?JSON.stringify(o):String(o);return t===void 0?e:`${e} ${t}`}function C(o){return String(o.value)}function D(o,t){return new d(t,v(o,t))}var O=["a","an","and","or","but","if","then","the","this","that","these","those","in","on","at","to","of","for","from","with","by","as","per","into","over","is","are","was","were","be","been","being","do","does","did","have","has","had","will","would","can","could","should","may","might","must","price","cost","value","total","sum","count","rate","amount","number","time","date","day","week","month","year","hour","minute","second","add","buy","sell","hold","make","take","give","get","set","run","up","down","out","off","all","some","any","no","not","more","less","one","two","three","first","last","next","each","every","here","there"],$=["error","warning","info"];function k(o){let t=[],e=o.lexerVocabulary;if(e?.keywords)for(let[r,s]of Object.entries(e.keywords))t.push({word:r,via:"keyword",tokenType:s});if(e?.units)for(let r of e.units)t.push({word:r,via:"unit"});if(e?.operators)for(let[r,s]of Object.entries(e.operators))t.push({word:r,via:"operator",tokenType:s});if(o.phrases)for(let[r,s]of Object.entries(o.phrases))r.includes(" ")||t.push({word:r,via:"phrase",tokenType:s});return t}var p=class{constructor(t){this.pkg=t;}notToShadow(t=O){let e=new Set(t.map(s=>s.toLowerCase())),r=k(this.pkg).filter(s=>e.has(s.word.toLowerCase()));if(r.length>0){let s=r.map(a=>`"${a.word}" (${a.via})`).join(", ");throw new i({code:"PACKAGE_SHADOWS_PROSE",message:`Package "${this.pkg.name}" claims prose word(s) as syntax: ${s}. A word that is also ordinary English turns prose into arithmetic; prefer a multi-word phrase or a form that requires a parenthesis.`,expected:"no prose words claimed as syntax",actual:s})}return r}notToCollideWith(t,e="error"){let r=chunkU2UZJX5W_cjs.a(this.pkg,t),s=$.indexOf(e),a=r.conflicts.filter(u=>$.indexOf(u.severity)<=s);if(a.length>0){let u=a.map(g=>`[${g.severity}] ${g.detail}`).join(`
|
|
2
2
|
`);throw new i({code:"PACKAGE_VOCABULARY_COLLISION",message:`Package "${this.pkg.name}" collides with another package:
|
|
3
|
-
${u}`,expected:`no conflicts at or above "${e}" severity`,actual:`${a.length} conflict(s)`})}return r}toDeclareCompatibleEngineVersion(t=
|
|
3
|
+
${u}`,expected:`no conflicts at or above "${e}" severity`,actual:`${a.length} conflict(s)`})}return r}toDeclareCompatibleEngineVersion(t=chunkX3R7B7XM_cjs.a){let e=chunkU2UZJX5W_cjs.b(this.pkg,t);if(!e.compatible){let r=e.reason==="invalid-range"?`its range "${e.declaredRange}" is not valid semver`:`its range "${e.declaredRange}" is not satisfied by engine version "${e.engineVersion}"`;throw new i({code:"PACKAGE_ENGINE_VERSION_INCOMPATIBLE",message:`Package "${this.pkg.name}" declares an engineVersion that will be rejected at registration: ${r}.`,expected:`an engineVersion satisfied by "${t}"`,actual:`"${e.declaredRange}"`})}return this}};function L(o){return new p(o)}exports.COMMON_PROSE_WORDS=O;exports.ExpectationError=i;exports.ExpressionAssertion=d;exports.PackageAssertion=p;exports.createTestEngine=V;exports.expectExpression=D;exports.expectPackage=L;//# sourceMappingURL=testing.cjs.map
|
|
4
4
|
//# sourceMappingURL=testing.cjs.map
|
package/dist/testing.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { I as IEnginePackage, E as ExpressionEngine } from './PackageRegistry-
|
|
1
|
+
import { I as IEnginePackage, E as ExpressionEngine } from './PackageRegistry-BSGQ6saH.cjs';
|
|
2
2
|
import { V as Value } from './Value-CCi_Eecs.cjs';
|
|
3
3
|
import { E as EngineError } from './EngineError-Ce1lPkjZ.cjs';
|
|
4
|
-
import { C as CompatibilityReport } from './PackageCompatibility-
|
|
4
|
+
import { C as CompatibilityReport } from './PackageCompatibility-Cv7zjqSV.cjs';
|
|
5
5
|
import './Parselet-C4Wu055_.cjs';
|
|
6
6
|
import './BytecodeBuilder-DGGeByAP.cjs';
|
|
7
7
|
import './Token-CbP_OutD.cjs';
|
|
@@ -10,7 +10,7 @@ import './Lexer-B4C1qHXu.cjs';
|
|
|
10
10
|
import './resolvers.cjs';
|
|
11
11
|
import '@tanstack/query-core';
|
|
12
12
|
import './TokenNormalizer-DnlL7_8c.cjs';
|
|
13
|
-
import './ScopeManager-
|
|
13
|
+
import './ScopeManager-t6SnP6Ce.cjs';
|
|
14
14
|
import './Configuration-B6W0-T67.cjs';
|
|
15
15
|
|
|
16
16
|
/**
|
package/dist/testing.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { I as IEnginePackage, E as ExpressionEngine } from './PackageRegistry-
|
|
1
|
+
import { I as IEnginePackage, E as ExpressionEngine } from './PackageRegistry-DRbqNJfI.js';
|
|
2
2
|
import { V as Value } from './Value-CCi_Eecs.js';
|
|
3
3
|
import { E as EngineError } from './EngineError-Ce1lPkjZ.js';
|
|
4
|
-
import { C as CompatibilityReport } from './PackageCompatibility-
|
|
4
|
+
import { C as CompatibilityReport } from './PackageCompatibility-DBsZ0l2a.js';
|
|
5
5
|
import './Parselet-B-zoPrTa.js';
|
|
6
6
|
import './BytecodeBuilder-DGGeByAP.js';
|
|
7
7
|
import './Token-CbP_OutD.js';
|
|
@@ -10,7 +10,7 @@ import './Lexer-DKMlj7Sy.js';
|
|
|
10
10
|
import './resolvers.js';
|
|
11
11
|
import '@tanstack/query-core';
|
|
12
12
|
import './TokenNormalizer-DCWdZjGz.js';
|
|
13
|
-
import './ScopeManager-
|
|
13
|
+
import './ScopeManager-DkpnlKuz.js';
|
|
14
14
|
import './Configuration-B6W0-T67.js';
|
|
15
15
|
|
|
16
16
|
/**
|
package/dist/testing.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {n as n$1,a,b}from'./chunk-
|
|
1
|
+
import {n as n$1,a,b}from'./chunk-YU3PACLE.js';import'./chunk-XNIWQHXY.js';import'./chunk-2RWAXT6O.js';import'./chunk-7GK3XEZF.js';import'./chunk-MIQBJGGR.js';import'./chunk-YJ2OPULK.js';import'./chunk-TWC7K3ZX.js';import'./chunk-J4LZD4ZY.js';import'./chunk-XEIDV5JP.js';import {y}from'./chunk-E2Q3PQ2G.js';import'./chunk-6G3PMEPA.js';import'./chunk-TN5E6JU6.js';import'./chunk-YVKHEAFT.js';import'./chunk-5FO4PDIG.js';import'./chunk-76F3LCIL.js';import'./chunk-TCZSPH4A.js';import'./chunk-W2JAR233.js';import'./chunk-YAYBVVG2.js';import'./chunk-E6Z4NQAS.js';import'./chunk-HFKDWQUL.js';import'./chunk-R2ENWQ76.js';import'./chunk-RSF25YSJ.js';import {m}from'./chunk-EVAOPEO4.js';import'./chunk-WGZ3FNHI.js';import {a as a$1}from'./chunk-KVTOV3TZ.js';import'./chunk-YAHGSBMC.js';import'./chunk-JPFCXLJV.js';import'./chunk-G7TBEQRQ.js';import'./chunk-IJMNVBIS.js';import'./chunk-62LMTO4F.js';import'./chunk-TRBXW6HW.js';import'./chunk-2JMFUQZH.js';import {b as b$1}from'./chunk-MPB7KUN5.js';var i=class o extends Error{constructor(t){super(t.message),this.name="ExpectationError",this.code=t.code,this.expected=t.expected,this.actual=t.actual,Object.setPrototypeOf(this,o.prototype);}};function V(o=[],t={}){let{locale:e="en",includeBuiltins:r=true}=t,s=new n$1({locale:e,packages:r?y:[]});for(let a of o)s.registerPackage(a);return s}function v(o,t){try{let e=o.evaluateExpression(t);return e.isError()?{status:"error",code:e.errorCode??"",message:e.errorMessage??"",source:e}:e.isPending()?{status:"pending",value:e}:{status:"value",value:e}}catch(e){if(e instanceof b$1)return {status:"error",code:e.code,message:e.message,source:e};let r=e instanceof Error?e.message:String(e);return {status:"error",code:"UNKNOWN_ERROR",message:r,source:new m(13,"UNKNOWN_ERROR",r)}}}function x(o,t){if(Object.is(o,t))return true;if(!Number.isFinite(o)||!Number.isFinite(t))return false;let e=1e-9*Math.max(1,Math.abs(o),Math.abs(t));return Math.abs(o-t)<=e}function l(o){return o.type===3?JSON.stringify(o.value):o.type===6&&typeof o.unit=="string"?`${String(o.value)} ${o.unit}`:String(o.value)}function n(o){switch(o.status){case "value":return l(o.value);case "pending":return "a pending async value";case "error":return `an error (${o.code}: ${o.message})`}}var d=class{constructor(t,e){this.expression=t;this.outcome=e;}get value(){if(this.outcome.status==="error")throw new i({code:"EXPECTED_VALUE",message:`Expected "${this.expression}" to evaluate, but it failed with ${n(this.outcome)}.`,expected:"a resolved value",actual:n(this.outcome)});return this.outcome.value}toEvaluate(){if(this.outcome.status!=="value")throw new i({code:"EXPECTED_EVALUATE",message:`Expected "${this.expression}" to evaluate to a value, but got ${n(this.outcome)}.`,expected:"a resolved value",actual:n(this.outcome)});return this}toEqual(t,e){if(this.outcome.status!=="value")throw new i({code:"EXPECTED_EQUAL",message:`Expected "${this.expression}" to equal ${c(t,e)}, but got ${n(this.outcome)}.`,expected:c(t,e),actual:n(this.outcome)});let r=this.outcome.value,s;if(typeof t=="number"?s=x(r.toNumber(),t):typeof t=="boolean"?s=r.type===10&&r.value===t:s=C(r)===t,!s)throw new i({code:"EXPECTED_EQUAL",message:`Expected "${this.expression}" to equal ${c(t,e)}, but it was ${l(r)}.`,expected:c(t,e),actual:l(r)});if(e!==void 0&&r.unit!==e)throw new i({code:"EXPECTED_UNIT",message:`Expected "${this.expression}" to carry the unit "${e}", but it was ${r.unit===void 0?"unitless":`"${r.unit}"`}.`,expected:`unit "${e}"`,actual:r.unit===void 0?"no unit":`unit "${r.unit}"`});return this}toBeError(){if(this.outcome.status!=="error")throw new i({code:"EXPECTED_ERROR",message:`Expected "${this.expression}" to fail, but it produced ${n(this.outcome)}.`,expected:"an error",actual:n(this.outcome)});return this}toFailWith(t){if(this.outcome.status!=="error")throw new i({code:"EXPECTED_FAIL_WITH",message:`Expected "${this.expression}" to fail with "${t}", but it produced ${n(this.outcome)}.`,expected:`error code "${t}"`,actual:n(this.outcome)});if(this.outcome.code!==t)throw new i({code:"EXPECTED_FAIL_WITH",message:`Expected "${this.expression}" to fail with "${t}", but it failed with "${this.outcome.code}" (${this.outcome.message}).`,expected:`error code "${t}"`,actual:`error code "${this.outcome.code}"`});return this}toBePending(){if(this.outcome.status!=="pending")throw new i({code:"EXPECTED_PENDING",message:`Expected "${this.expression}" to be pending, but got ${n(this.outcome)}.`,expected:"a pending async value",actual:n(this.outcome)});return this}};function c(o,t){let e=typeof o=="string"?JSON.stringify(o):String(o);return t===void 0?e:`${e} ${t}`}function C(o){return String(o.value)}function D(o,t){return new d(t,v(o,t))}var O=["a","an","and","or","but","if","then","the","this","that","these","those","in","on","at","to","of","for","from","with","by","as","per","into","over","is","are","was","were","be","been","being","do","does","did","have","has","had","will","would","can","could","should","may","might","must","price","cost","value","total","sum","count","rate","amount","number","time","date","day","week","month","year","hour","minute","second","add","buy","sell","hold","make","take","give","get","set","run","up","down","out","off","all","some","any","no","not","more","less","one","two","three","first","last","next","each","every","here","there"],$=["error","warning","info"];function k(o){let t=[],e=o.lexerVocabulary;if(e?.keywords)for(let[r,s]of Object.entries(e.keywords))t.push({word:r,via:"keyword",tokenType:s});if(e?.units)for(let r of e.units)t.push({word:r,via:"unit"});if(e?.operators)for(let[r,s]of Object.entries(e.operators))t.push({word:r,via:"operator",tokenType:s});if(o.phrases)for(let[r,s]of Object.entries(o.phrases))r.includes(" ")||t.push({word:r,via:"phrase",tokenType:s});return t}var p=class{constructor(t){this.pkg=t;}notToShadow(t=O){let e=new Set(t.map(s=>s.toLowerCase())),r=k(this.pkg).filter(s=>e.has(s.word.toLowerCase()));if(r.length>0){let s=r.map(a=>`"${a.word}" (${a.via})`).join(", ");throw new i({code:"PACKAGE_SHADOWS_PROSE",message:`Package "${this.pkg.name}" claims prose word(s) as syntax: ${s}. A word that is also ordinary English turns prose into arithmetic; prefer a multi-word phrase or a form that requires a parenthesis.`,expected:"no prose words claimed as syntax",actual:s})}return r}notToCollideWith(t,e="error"){let r=a(this.pkg,t),s=$.indexOf(e),a$1=r.conflicts.filter(u=>$.indexOf(u.severity)<=s);if(a$1.length>0){let u=a$1.map(g=>`[${g.severity}] ${g.detail}`).join(`
|
|
2
2
|
`);throw new i({code:"PACKAGE_VOCABULARY_COLLISION",message:`Package "${this.pkg.name}" collides with another package:
|
|
3
3
|
${u}`,expected:`no conflicts at or above "${e}" severity`,actual:`${a$1.length} conflict(s)`})}return r}toDeclareCompatibleEngineVersion(t=a$1){let e=b(this.pkg,t);if(!e.compatible){let r=e.reason==="invalid-range"?`its range "${e.declaredRange}" is not valid semver`:`its range "${e.declaredRange}" is not satisfied by engine version "${e.engineVersion}"`;throw new i({code:"PACKAGE_ENGINE_VERSION_INCOMPATIBLE",message:`Package "${this.pkg.name}" declares an engineVersion that will be rejected at registration: ${r}.`,expected:`an engineVersion satisfied by "${t}"`,actual:`"${e.declaredRange}"`})}return this}};function L(o){return new p(o)}export{O as COMMON_PROSE_WORDS,i as ExpectationError,d as ExpressionAssertion,p as PackageAssertion,V as createTestEngine,D as expectExpression,L as expectPackage};//# sourceMappingURL=testing.js.map
|
|
4
4
|
//# sourceMappingURL=testing.js.map
|