solve-engine 2.38.8 → 2.38.9
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-BZelfTk8.d.cts → PackageCompatibility-DMvoenB_.d.cts} +1 -1
- package/dist/{PackageCompatibility-CiYxvTMf.d.ts → PackageCompatibility-Xu04H_z-.d.ts} +1 -1
- package/dist/{PackageRegistry-DJe5_uSc.d.cts → PackageRegistry-BgXiVaR8.d.cts} +23 -0
- package/dist/{PackageRegistry-D_IUBbmY.d.ts → PackageRegistry-D2ysmOVL.d.ts} +23 -0
- package/dist/chunk-64P4KHHU.js +3 -0
- package/dist/chunk-64P4KHHU.js.map +1 -0
- package/dist/{chunk-QR2GVWD4.cjs → chunk-H3IASAE2.cjs} +4 -4
- package/dist/{chunk-QR2GVWD4.cjs.map → chunk-H3IASAE2.cjs.map} +1 -1
- package/dist/{chunk-DRXTGTXA.js → chunk-NCUOMY3E.js} +2 -2
- package/dist/{chunk-DRXTGTXA.js.map → chunk-NCUOMY3E.js.map} +1 -1
- package/dist/chunk-PBDZLX5E.cjs +3 -0
- package/dist/chunk-PBDZLX5E.cjs.map +1 -0
- package/dist/{chunk-52WTHBSR.cjs → chunk-U6H5A6PT.cjs} +2 -2
- package/dist/{chunk-52WTHBSR.cjs.map → chunk-U6H5A6PT.cjs.map} +1 -1
- package/dist/{chunk-D23VNH6B.js → chunk-Z4ZNKE5U.js} +3 -3
- package/dist/{chunk-D23VNH6B.js.map → chunk-Z4ZNKE5U.js.map} +1 -1
- package/dist/constants.cjs +1 -1
- package/dist/constants.js +1 -1
- package/dist/engine.cjs +1 -1
- package/dist/engine.d.cts +2 -2
- package/dist/engine.d.ts +2 -2
- package/dist/engine.js +1 -1
- package/dist/engine.worker.cjs +1 -1
- package/dist/engine.worker.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1 -1
- package/dist/language.d.cts +2 -2
- package/dist/language.d.ts +2 -2
- package/dist/packages.d.cts +1 -1
- package/dist/packages.d.ts +1 -1
- package/dist/testing.cjs +2 -2
- package/dist/testing.d.cts +2 -2
- package/dist/testing.d.ts +2 -2
- package/dist/testing.js +1 -1
- package/dist/worker.cjs +2 -2
- package/dist/worker.d.cts +1 -1
- package/dist/worker.d.ts +1 -1
- package/dist/worker.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-RVDO3SRI.js +0 -3
- package/dist/chunk-RVDO3SRI.js.map +0 -1
- package/dist/chunk-ZESVDPEL.cjs +0 -3
- package/dist/chunk-ZESVDPEL.cjs.map +0 -1
package/dist/constants.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkU6H5A6PT_cjs=require('./chunk-U6H5A6PT.cjs');require('./chunk-6SYU4MH7.cjs');Object.defineProperty(exports,"ConfigManager",{enumerable:true,get:function(){return chunkU6H5A6PT_cjs.d}});Object.defineProperty(exports,"DEFAULT_CONFIG",{enumerable:true,get:function(){return chunkU6H5A6PT_cjs.b}});Object.defineProperty(exports,"ENGINE_VERSION",{enumerable:true,get:function(){return chunkU6H5A6PT_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-NCUOMY3E.js';import'./chunk-6G2NES2I.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 chunkPBDZLX5E_cjs=require('./chunk-PBDZLX5E.cjs');require('./chunk-EFJCC6FJ.cjs');var chunkH3IASAE2_cjs=require('./chunk-H3IASAE2.cjs');require('./chunk-P5YWBIIU.cjs'),require('./chunk-NGBBNL4K.cjs'),require('./chunk-R3W53ZMP.cjs'),require('./chunk-TTFO4YDP.cjs'),require('./chunk-PLYETVYZ.cjs'),require('./chunk-HG4NPDN5.cjs'),require('./chunk-JUIHUG4M.cjs'),require('./chunk-W4XLVZ6R.cjs'),require('./chunk-LYGVLHAW.cjs'),require('./chunk-K3PZ66XR.cjs'),require('./chunk-YV4GDW5A.cjs'),require('./chunk-UURM7P3P.cjs'),require('./chunk-GDLYXRMA.cjs'),require('./chunk-ZLRJ7TDP.cjs'),require('./chunk-Q57LJFCT.cjs'),require('./chunk-OBZJKZ2F.cjs'),require('./chunk-SF5QVUEI.cjs'),require('./chunk-ABVDKMNF.cjs'),require('./chunk-TLG7VZRX.cjs'),require('./chunk-5TVI2UPZ.cjs'),require('./chunk-5N4XDULO.cjs');var chunkEQNKDTMX_cjs=require('./chunk-EQNKDTMX.cjs');require('./chunk-E4HAKNBQ.cjs'),require('./chunk-NH74IT7B.cjs'),require('./chunk-PHWIO4P3.cjs'),require('./chunk-U6H5A6PT.cjs'),require('./chunk-3MG7VIPL.cjs'),require('./chunk-Y7O4D3BJ.cjs'),require('./chunk-72J5V7SN.cjs'),require('./chunk-YBQOQTVL.cjs'),require('./chunk-S3DFU33X.cjs'),require('./chunk-J4LSAHCY.cjs'),require('./chunk-EZKR44MA.cjs'),require('./chunk-6SYU4MH7.cjs');Object.defineProperty(exports,"DocumentModel",{enumerable:true,get:function(){return chunkPBDZLX5E_cjs.a}});Object.defineProperty(exports,"EvalTier",{enumerable:true,get:function(){return chunkPBDZLX5E_cjs.b}});Object.defineProperty(exports,"ThreeTierEvaluator",{enumerable:true,get:function(){return chunkPBDZLX5E_cjs.c}});Object.defineProperty(exports,"evaluateDocument",{enumerable:true,get:function(){return chunkPBDZLX5E_cjs.d}});Object.defineProperty(exports,"AsyncResolutionBatcher",{enumerable:true,get:function(){return chunkH3IASAE2_cjs.i}});Object.defineProperty(exports,"ExpressionEngine",{enumerable:true,get:function(){return chunkH3IASAE2_cjs.o}});Object.defineProperty(exports,"SNAPSHOT_FORMAT",{enumerable:true,get:function(){return chunkH3IASAE2_cjs.d}});Object.defineProperty(exports,"SNAPSHOT_VERSION",{enumerable:true,get:function(){return chunkH3IASAE2_cjs.e}});Object.defineProperty(exports,"SnapshotErrorCodes",{enumerable:true,get:function(){return chunkH3IASAE2_cjs.f}});Object.defineProperty(exports,"checkExpressionComplexity",{enumerable:true,get:function(){return chunkH3IASAE2_cjs.k}});Object.defineProperty(exports,"checkExpressionLength",{enumerable:true,get:function(){return chunkH3IASAE2_cjs.j}});Object.defineProperty(exports,"extractReadsAndWrites",{enumerable:true,get:function(){return chunkH3IASAE2_cjs.l}});Object.defineProperty(exports,"findInlineSolvesInLine",{enumerable:true,get:function(){return chunkH3IASAE2_cjs.n}});Object.defineProperty(exports,"isEmptyLine",{enumerable:true,get:function(){return chunkH3IASAE2_cjs.m}});Object.defineProperty(exports,"setEngineWorkerFactory",{enumerable:true,get:function(){return chunkH3IASAE2_cjs.g}});Object.defineProperty(exports,"DATE_CALENDAR",{enumerable:true,get:function(){return chunkEQNKDTMX_cjs.b}});Object.defineProperty(exports,"DateCalendar",{enumerable:true,get:function(){return chunkEQNKDTMX_cjs.a}});Object.defineProperty(exports,"calendarOf",{enumerable:true,get:function(){return chunkEQNKDTMX_cjs.c}});Object.defineProperty(exports,"dateCalendarInZone",{enumerable:true,get:function(){return chunkEQNKDTMX_cjs.d}});//# sourceMappingURL=engine.cjs.map
|
|
2
2
|
//# sourceMappingURL=engine.cjs.map
|
package/dist/engine.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as DocumentModel, E as ExpressionEngine, V as ViewportRange, u as LineChange, U as UnifiedParsingOptions, P as ParsingResult, v as InlineSolvePosition } from './PackageRegistry-
|
|
2
|
-
export { A as ApplyChangesResult, w as AsyncCachePackageInfo, x as AsyncErrorEvent, y as AsyncResolutionBatcher, z as AsyncResolutionEvent, B as BatcherMetrics, F as BytecodeCacheEntry, G as CacheSnapshot, H as CheckpointSnapshot, D as DateOrderSource, b as DateReading, c as DateReadingPolicy, a as EngineOptions, d as EngineRestoreOptions, e as EngineSnapshot, f as Explanation, g as ExplanationStep, J as LineCacheEntryInfo, K as LineState, M as LinesUpdatedEvent, N as ParsedLine, R as ResolvedDateOrder, S as SNAPSHOT_FORMAT, h as SNAPSHOT_VERSION, i as SerializedAnonymousBody, j as SerializedBytecode, k as SerializedDecimal, l as SerializedLineCacheEntry, m as SerializedNumber, n as SerializedRational, o as SerializedUserFunction, p as SerializedValue, q as SnapshotErrorCodes } from './PackageRegistry-
|
|
1
|
+
import { t as DocumentModel, E as ExpressionEngine, V as ViewportRange, u as LineChange, U as UnifiedParsingOptions, P as ParsingResult, v as InlineSolvePosition } from './PackageRegistry-BgXiVaR8.cjs';
|
|
2
|
+
export { A as ApplyChangesResult, w as AsyncCachePackageInfo, x as AsyncErrorEvent, y as AsyncResolutionBatcher, z as AsyncResolutionEvent, B as BatcherMetrics, F as BytecodeCacheEntry, G as CacheSnapshot, H as CheckpointSnapshot, D as DateOrderSource, b as DateReading, c as DateReadingPolicy, a as EngineOptions, d as EngineRestoreOptions, e as EngineSnapshot, f as Explanation, g as ExplanationStep, J as LineCacheEntryInfo, K as LineState, M as LinesUpdatedEvent, N as ParsedLine, R as ResolvedDateOrder, S as SNAPSHOT_FORMAT, h as SNAPSHOT_VERSION, i as SerializedAnonymousBody, j as SerializedBytecode, k as SerializedDecimal, l as SerializedLineCacheEntry, m as SerializedNumber, n as SerializedRational, o as SerializedUserFunction, p as SerializedValue, q as SnapshotErrorCodes } from './PackageRegistry-BgXiVaR8.cjs';
|
|
3
3
|
export { C as CalendarBackend, a as CalendarFields, Z as ZonedFields } from './CalendarBackend-MdS3Bb4P.cjs';
|
|
4
4
|
export { D as DATE_CALENDAR, a as DateCalendar, E as EngineWorkerFactory, c as calendarOf, d as dateCalendarInZone, s as setEngineWorkerFactory } from './DateCalendar-GFQDX1ng.cjs';
|
|
5
5
|
import { V as Value } from './Value-B55Hvn3e.cjs';
|
package/dist/engine.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as DocumentModel, E as ExpressionEngine, V as ViewportRange, u as LineChange, U as UnifiedParsingOptions, P as ParsingResult, v as InlineSolvePosition } from './PackageRegistry-
|
|
2
|
-
export { A as ApplyChangesResult, w as AsyncCachePackageInfo, x as AsyncErrorEvent, y as AsyncResolutionBatcher, z as AsyncResolutionEvent, B as BatcherMetrics, F as BytecodeCacheEntry, G as CacheSnapshot, H as CheckpointSnapshot, D as DateOrderSource, b as DateReading, c as DateReadingPolicy, a as EngineOptions, d as EngineRestoreOptions, e as EngineSnapshot, f as Explanation, g as ExplanationStep, J as LineCacheEntryInfo, K as LineState, M as LinesUpdatedEvent, N as ParsedLine, R as ResolvedDateOrder, S as SNAPSHOT_FORMAT, h as SNAPSHOT_VERSION, i as SerializedAnonymousBody, j as SerializedBytecode, k as SerializedDecimal, l as SerializedLineCacheEntry, m as SerializedNumber, n as SerializedRational, o as SerializedUserFunction, p as SerializedValue, q as SnapshotErrorCodes } from './PackageRegistry-
|
|
1
|
+
import { t as DocumentModel, E as ExpressionEngine, V as ViewportRange, u as LineChange, U as UnifiedParsingOptions, P as ParsingResult, v as InlineSolvePosition } from './PackageRegistry-D2ysmOVL.js';
|
|
2
|
+
export { A as ApplyChangesResult, w as AsyncCachePackageInfo, x as AsyncErrorEvent, y as AsyncResolutionBatcher, z as AsyncResolutionEvent, B as BatcherMetrics, F as BytecodeCacheEntry, G as CacheSnapshot, H as CheckpointSnapshot, D as DateOrderSource, b as DateReading, c as DateReadingPolicy, a as EngineOptions, d as EngineRestoreOptions, e as EngineSnapshot, f as Explanation, g as ExplanationStep, J as LineCacheEntryInfo, K as LineState, M as LinesUpdatedEvent, N as ParsedLine, R as ResolvedDateOrder, S as SNAPSHOT_FORMAT, h as SNAPSHOT_VERSION, i as SerializedAnonymousBody, j as SerializedBytecode, k as SerializedDecimal, l as SerializedLineCacheEntry, m as SerializedNumber, n as SerializedRational, o as SerializedUserFunction, p as SerializedValue, q as SnapshotErrorCodes } from './PackageRegistry-D2ysmOVL.js';
|
|
3
3
|
export { C as CalendarBackend, a as CalendarFields, Z as ZonedFields } from './CalendarBackend-MdS3Bb4P.js';
|
|
4
4
|
export { D as DATE_CALENDAR, a as DateCalendar, E as EngineWorkerFactory, c as calendarOf, d as dateCalendarInZone, s as setEngineWorkerFactory } from './DateCalendar-CTz538dw.js';
|
|
5
5
|
import { V as Value } from './Value-B55Hvn3e.js';
|
package/dist/engine.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{a as DocumentModel,b as EvalTier,c as ThreeTierEvaluator,d as evaluateDocument}from'./chunk-
|
|
1
|
+
export{a as DocumentModel,b as EvalTier,c as ThreeTierEvaluator,d as evaluateDocument}from'./chunk-64P4KHHU.js';import'./chunk-RAF57WYO.js';export{i as AsyncResolutionBatcher,o as ExpressionEngine,d as SNAPSHOT_FORMAT,e as SNAPSHOT_VERSION,f as SnapshotErrorCodes,k as checkExpressionComplexity,j as checkExpressionLength,l as extractReadsAndWrites,n as findInlineSolvesInLine,m as isEmptyLine,g as setEngineWorkerFactory}from'./chunk-Z4ZNKE5U.js';import'./chunk-RU3KGJRA.js';import'./chunk-2RWAXT6O.js';import'./chunk-RMDCGYZM.js';import'./chunk-MIQBJGGR.js';import'./chunk-KKIGQ7GW.js';import'./chunk-JP4JMQOG.js';import'./chunk-SSS3ZMKX.js';import'./chunk-HLZRNZEU.js';import'./chunk-NTSH57MK.js';import'./chunk-U5MESNRT.js';import'./chunk-DB5ISONG.js';import'./chunk-76F3LCIL.js';import'./chunk-EOKHRS2T.js';import'./chunk-TCZSPH4A.js';import'./chunk-2JR7PALQ.js';import'./chunk-X2GQAKL2.js';import'./chunk-PICFFFJV.js';import'./chunk-TZYMXNIB.js';import'./chunk-HFKDWQUL.js';import'./chunk-5TCSFTZD.js';import'./chunk-IHPYXJIY.js';export{b as DATE_CALENDAR,a as DateCalendar,c as calendarOf,d as dateCalendarInZone}from'./chunk-EOO6M65F.js';import'./chunk-J4K72CQN.js';import'./chunk-A34R65WT.js';import'./chunk-BWTVJD5L.js';import'./chunk-NCUOMY3E.js';import'./chunk-6NL7RBAG.js';import'./chunk-JPFCXLJV.js';import'./chunk-APYRNAU2.js';import'./chunk-FAO6DQ74.js';import'./chunk-LHLW7JLS.js';import'./chunk-CHVGFTO3.js';import'./chunk-PRSXXDTA.js';import'./chunk-6G2NES2I.js';//# sourceMappingURL=engine.js.map
|
|
2
2
|
//# sourceMappingURL=engine.js.map
|
package/dist/engine.worker.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkH3IASAE2_cjs=require('./chunk-H3IASAE2.cjs');require('./chunk-P5YWBIIU.cjs'),require('./chunk-NGBBNL4K.cjs'),require('./chunk-R3W53ZMP.cjs'),require('./chunk-TTFO4YDP.cjs');var chunkPLYETVYZ_cjs=require('./chunk-PLYETVYZ.cjs');require('./chunk-HG4NPDN5.cjs'),require('./chunk-JUIHUG4M.cjs'),require('./chunk-W4XLVZ6R.cjs');var chunkY7UPP5QQ_cjs=require('./chunk-Y7UPP5QQ.cjs');require('./chunk-NMZRAJLJ.cjs'),require('./chunk-LYGVLHAW.cjs'),require('./chunk-K3PZ66XR.cjs'),require('./chunk-YV4GDW5A.cjs'),require('./chunk-UURM7P3P.cjs'),require('./chunk-GDLYXRMA.cjs'),require('./chunk-ZLRJ7TDP.cjs');var chunkQ57LJFCT_cjs=require('./chunk-Q57LJFCT.cjs');require('./chunk-OBZJKZ2F.cjs'),require('./chunk-SF5QVUEI.cjs'),require('./chunk-ABVDKMNF.cjs'),require('./chunk-TLG7VZRX.cjs'),require('./chunk-5TVI2UPZ.cjs'),require('./chunk-5N4XDULO.cjs'),require('./chunk-EQNKDTMX.cjs'),require('./chunk-E4HAKNBQ.cjs'),require('./chunk-NH74IT7B.cjs'),require('./chunk-PHWIO4P3.cjs'),require('./chunk-U6H5A6PT.cjs'),require('./chunk-3MG7VIPL.cjs'),require('./chunk-Y7O4D3BJ.cjs'),require('./chunk-72J5V7SN.cjs'),require('./chunk-YBQOQTVL.cjs'),require('./chunk-S3DFU33X.cjs'),require('./chunk-J4LSAHCY.cjs'),require('./chunk-EZKR44MA.cjs'),require('./chunk-6SYU4MH7.cjs');var i=null;function E(){return i||(i=new chunkH3IASAE2_cjs.o({packages:chunkY7UPP5QQ_cjs.z})),i}var f=null;function h(){return f||(f=chunkPLYETVYZ_cjs.b(chunkQ57LJFCT_cjs.z,200,5e4)),f}function B(e){let r={lineId:e.lineId,expression:e.expression,compiledAgainstHash:e.textHash,strings:[],reads:[],writes:[],isVariableDef:false,error:null};try{let n=E(),{program:u,reads:s,writes:t}=n.compileExpression(e.expression),o=t.length>0,a=u.opcodes,l=u.numbers,y=a.buffer.slice(a.byteOffset,a.byteOffset+a.byteLength),d=l.buffer.slice(l.byteOffset,l.byteOffset+l.byteLength);return {...r,opcodesBuffer:y,numbersBuffer:d,opcodesLength:a.length,numbersLength:l.length,strings:[...u.strings],reads:s,writes:t,isVariableDef:o}}catch(n){return {...r,opcodesBuffer:new ArrayBuffer(0),numbersBuffer:new ArrayBuffer(0),opcodesLength:0,numbersLength:0,error:n instanceof Error?n.message:String(n)}}}function L(e){let r=[],n=[];for(let u of e.items){let s=B(u);r.push(s),s.opcodesBuffer.byteLength>0&&n.push(s.opcodesBuffer),s.numbersBuffer.byteLength>0&&n.push(s.numbersBuffer);}self.postMessage({id:e.id,type:"COMPILE_RESULT",results:r},n);}function M(e){let r=h();r.reset();let n=new Uint8Array(e.opcodesBuffer,0,e.opcodesLength),u=new Float64Array(e.numbersBuffer,0,e.numbersLength),s={opcodes:n,numbers:u,strings:e.strings};try{let t=chunkPLYETVYZ_cjs.c(s,r);if(t.type==="pending")return {lineNumber:e.lineNumber,valueType:12,value:0,isPending:!0,queryKey:t.queryKey};if(t.type==="error")return {lineNumber:e.lineNumber,valueType:13,value:0,isPending:!1,unit:t.error.message};let o=t.value;return {lineNumber:e.lineNumber,valueType:o.type,value:typeof o.value=="number"?o.value:typeof o.value=="bigint"?Number(o.value):0,unit:o.unit,isPending:!1}}catch{return {lineNumber:e.lineNumber,valueType:13,value:0,isPending:false,unit:"Worker execution failed"}}}function T(e){let r=[];for(let n of e.items)r.push(M(n));self.postMessage({id:e.id,type:"EXECUTE_RESULT",results:r});}var x=typeof self<"u"&&typeof window>"u",C=e=>{if(e.origin&&self.location&&e.origin!==self.location.origin)return;let r=e.data;switch(r.type){case "COMPILE_BATCH":L(r);break;case "EXECUTE_BATCH":T(r);break;case "TERMINATE":{i&&(i.clear(),i=null),f&&(f.reset(),f=null),self.postMessage({id:r.id,type:"COMPILE_RESULT",results:[]});break}default:self.postMessage({id:-1,type:"COMPILE_RESULT",results:[],error:`Unknown message type: ${r.type}`});}};x&&(self.onmessage=C);//# sourceMappingURL=engine.worker.cjs.map
|
|
2
2
|
//# sourceMappingURL=engine.worker.cjs.map
|
package/dist/engine.worker.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {o}from'./chunk-
|
|
1
|
+
import {o}from'./chunk-Z4ZNKE5U.js';import'./chunk-RU3KGJRA.js';import'./chunk-2RWAXT6O.js';import'./chunk-RMDCGYZM.js';import'./chunk-MIQBJGGR.js';import {c,b}from'./chunk-KKIGQ7GW.js';import'./chunk-JP4JMQOG.js';import'./chunk-SSS3ZMKX.js';import'./chunk-HLZRNZEU.js';import {z as z$1}from'./chunk-SU7LRT6J.js';import'./chunk-AWGSR2GZ.js';import'./chunk-NTSH57MK.js';import'./chunk-U5MESNRT.js';import'./chunk-DB5ISONG.js';import'./chunk-76F3LCIL.js';import'./chunk-EOKHRS2T.js';import'./chunk-TCZSPH4A.js';import {z}from'./chunk-2JR7PALQ.js';import'./chunk-X2GQAKL2.js';import'./chunk-PICFFFJV.js';import'./chunk-TZYMXNIB.js';import'./chunk-HFKDWQUL.js';import'./chunk-5TCSFTZD.js';import'./chunk-IHPYXJIY.js';import'./chunk-EOO6M65F.js';import'./chunk-J4K72CQN.js';import'./chunk-A34R65WT.js';import'./chunk-BWTVJD5L.js';import'./chunk-NCUOMY3E.js';import'./chunk-6NL7RBAG.js';import'./chunk-JPFCXLJV.js';import'./chunk-APYRNAU2.js';import'./chunk-FAO6DQ74.js';import'./chunk-LHLW7JLS.js';import'./chunk-CHVGFTO3.js';import'./chunk-PRSXXDTA.js';import'./chunk-6G2NES2I.js';var i=null;function E(){return i||(i=new o({packages:z$1})),i}var f=null;function h(){return f||(f=b(z,200,5e4)),f}function B(e){let r={lineId:e.lineId,expression:e.expression,compiledAgainstHash:e.textHash,strings:[],reads:[],writes:[],isVariableDef:false,error:null};try{let n=E(),{program:u,reads:s,writes:t}=n.compileExpression(e.expression),o=t.length>0,a=u.opcodes,l=u.numbers,y=a.buffer.slice(a.byteOffset,a.byteOffset+a.byteLength),d=l.buffer.slice(l.byteOffset,l.byteOffset+l.byteLength);return {...r,opcodesBuffer:y,numbersBuffer:d,opcodesLength:a.length,numbersLength:l.length,strings:[...u.strings],reads:s,writes:t,isVariableDef:o}}catch(n){return {...r,opcodesBuffer:new ArrayBuffer(0),numbersBuffer:new ArrayBuffer(0),opcodesLength:0,numbersLength:0,error:n instanceof Error?n.message:String(n)}}}function L(e){let r=[],n=[];for(let u of e.items){let s=B(u);r.push(s),s.opcodesBuffer.byteLength>0&&n.push(s.opcodesBuffer),s.numbersBuffer.byteLength>0&&n.push(s.numbersBuffer);}self.postMessage({id:e.id,type:"COMPILE_RESULT",results:r},n);}function M(e){let r=h();r.reset();let n=new Uint8Array(e.opcodesBuffer,0,e.opcodesLength),u=new Float64Array(e.numbersBuffer,0,e.numbersLength),s={opcodes:n,numbers:u,strings:e.strings};try{let t=c(s,r);if(t.type==="pending")return {lineNumber:e.lineNumber,valueType:12,value:0,isPending:!0,queryKey:t.queryKey};if(t.type==="error")return {lineNumber:e.lineNumber,valueType:13,value:0,isPending:!1,unit:t.error.message};let o=t.value;return {lineNumber:e.lineNumber,valueType:o.type,value:typeof o.value=="number"?o.value:typeof o.value=="bigint"?Number(o.value):0,unit:o.unit,isPending:!1}}catch{return {lineNumber:e.lineNumber,valueType:13,value:0,isPending:false,unit:"Worker execution failed"}}}function T(e){let r=[];for(let n of e.items)r.push(M(n));self.postMessage({id:e.id,type:"EXECUTE_RESULT",results:r});}var x=typeof self<"u"&&typeof window>"u",C=e=>{if(e.origin&&self.location&&e.origin!==self.location.origin)return;let r=e.data;switch(r.type){case "COMPILE_BATCH":L(r);break;case "EXECUTE_BATCH":T(r);break;case "TERMINATE":{i&&(i.clear(),i=null),f&&(f.reset(),f=null),self.postMessage({id:r.id,type:"COMPILE_RESULT",results:[]});break}default:self.postMessage({id:-1,type:"COMPILE_RESULT",results:[],error:`Unknown message type: ${r.type}`});}};x&&(self.onmessage=C);//# sourceMappingURL=engine.worker.js.map
|
|
2
2
|
//# sourceMappingURL=engine.worker.js.map
|
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';require('./chunk-
|
|
1
|
+
'use strict';require('./chunk-PBDZLX5E.cjs'),require('./chunk-EFJCC6FJ.cjs');var chunkH3IASAE2_cjs=require('./chunk-H3IASAE2.cjs');require('./chunk-P5YWBIIU.cjs'),require('./chunk-NGBBNL4K.cjs'),require('./chunk-R3W53ZMP.cjs'),require('./chunk-TTFO4YDP.cjs'),require('./chunk-PLYETVYZ.cjs'),require('./chunk-HG4NPDN5.cjs');var chunkJUIHUG4M_cjs=require('./chunk-JUIHUG4M.cjs');require('./chunk-W4XLVZ6R.cjs');var chunkY7UPP5QQ_cjs=require('./chunk-Y7UPP5QQ.cjs');require('./chunk-NMZRAJLJ.cjs'),require('./chunk-LYGVLHAW.cjs');var chunkK3PZ66XR_cjs=require('./chunk-K3PZ66XR.cjs');require('./chunk-YV4GDW5A.cjs'),require('./chunk-UURM7P3P.cjs'),require('./chunk-GDLYXRMA.cjs'),require('./chunk-ZLRJ7TDP.cjs'),require('./chunk-Q57LJFCT.cjs'),require('./chunk-OBZJKZ2F.cjs'),require('./chunk-SF5QVUEI.cjs'),require('./chunk-ABVDKMNF.cjs'),require('./chunk-TLG7VZRX.cjs'),require('./chunk-5TVI2UPZ.cjs'),require('./chunk-5N4XDULO.cjs');var chunkEQNKDTMX_cjs=require('./chunk-EQNKDTMX.cjs');require('./chunk-E4HAKNBQ.cjs');var chunkNH74IT7B_cjs=require('./chunk-NH74IT7B.cjs');require('./chunk-PHWIO4P3.cjs');var chunkU6H5A6PT_cjs=require('./chunk-U6H5A6PT.cjs');require('./chunk-3MG7VIPL.cjs'),require('./chunk-Y7O4D3BJ.cjs'),require('./chunk-72J5V7SN.cjs'),require('./chunk-YBQOQTVL.cjs'),require('./chunk-S3DFU33X.cjs'),require('./chunk-J4LSAHCY.cjs'),require('./chunk-EZKR44MA.cjs');var chunk6SYU4MH7_cjs=require('./chunk-6SYU4MH7.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"},O=/^[a-z_][a-z0-9_]*$/i,N=new Set(["number","string","boolean"]);function u(e){return e===1?"1 argument":`${e} arguments`}function d(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 k(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 chunk6SYU4MH7_cjs.c.execution({code:r.DEFINE_FUNCTION_ARGUMENT_TYPE,message:`${t}() expects "${n.name}" to be a ${n.type}, but was given ${d(e)}`,expected:`a ${n.type}`,found:d(e),context:{functionName:t,argName:n.name,expectedType:n.type}})}function R(e,n,t){switch(n){case "number":if(typeof e=="number")return chunkNH74IT7B_cjs.n(e);break;case "string":if(typeof e=="string")return chunkNH74IT7B_cjs.t(e);break;case "boolean":if(typeof e=="boolean")return chunkNH74IT7B_cjs.L(e);break}throw chunk6SYU4MH7_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,a){n.consume("LPAREN");let i=0;if(n.peek()?.type!=="RPAREN")for(n.parseExpression(chunkK3PZ66XR_cjs.a.Lowest,a),i++;n.match("COMMA");)n.parseExpression(chunkK3PZ66XR_cjs.a.Lowest,a),i++;n.consume("RPAREN"),a.emitPluginCall(this.fnName,i);}};function D(e){let n=e.args.length;return t=>{if(t.length!==n)throw chunk6SYU4MH7_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 a=new Array(n);for(let s=0;s<n;s++)a[s]=k(t[s],e.args[s],e.name);let i=e.call(...a);return R(i,e.returns,e.name)}}function h(e){if(typeof e?.name!="string"||!O.test(e.name))throw chunk6SYU4MH7_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 chunk6SYU4MH7_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 chunk6SYU4MH7_cjs.c.config({code:r.DEFINE_FUNCTION_INVALID_SPEC,message:`defineFunction: "${e.name}" has an argument with no name`,context:{name:e.name}});if(!N.has(n.type))throw chunk6SYU4MH7_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(!N.has(e.returns))throw chunk6SYU4MH7_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 chunk6SYU4MH7_cjs.c.config({code:r.DEFINE_FUNCTION_INVALID_SPEC,message:`defineFunction: "${e.name}" is missing a call implementation`,context:{name:e.name}})}function w(e){h(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]:D(e)}}}function U(e={}){let{extraPackages:n=[],...t}=e;return new chunkH3IASAE2_cjs.o({...t,packages:n.length>0?[...chunkY7UPP5QQ_cjs.z,...n]:chunkY7UPP5QQ_cjs.z})}Object.defineProperty(exports,"ExpressionEngine",{enumerable:true,get:function(){return chunkH3IASAE2_cjs.o}});Object.defineProperty(exports,"SNAPSHOT_FORMAT",{enumerable:true,get:function(){return chunkH3IASAE2_cjs.d}});Object.defineProperty(exports,"SNAPSHOT_VERSION",{enumerable:true,get:function(){return chunkH3IASAE2_cjs.e}});Object.defineProperty(exports,"SnapshotErrorCodes",{enumerable:true,get:function(){return chunkH3IASAE2_cjs.f}});Object.defineProperty(exports,"assertEngineVersionCompatible",{enumerable:true,get:function(){return chunkH3IASAE2_cjs.c}});Object.defineProperty(exports,"checkEngineVersionCompatibility",{enumerable:true,get:function(){return chunkH3IASAE2_cjs.b}});Object.defineProperty(exports,"checkPackageCompatibility",{enumerable:true,get:function(){return chunkH3IASAE2_cjs.a}});Object.defineProperty(exports,"setEngineWorkerFactory",{enumerable:true,get:function(){return chunkH3IASAE2_cjs.g}});Object.defineProperty(exports,"formatValue",{enumerable:true,get:function(){return chunkJUIHUG4M_cjs.c}});Object.defineProperty(exports,"dateCalendarInZone",{enumerable:true,get:function(){return chunkEQNKDTMX_cjs.d}});Object.defineProperty(exports,"Value",{enumerable:true,get:function(){return chunkNH74IT7B_cjs.m}});Object.defineProperty(exports,"ValueType",{enumerable:true,get:function(){return chunkNH74IT7B_cjs.g}});Object.defineProperty(exports,"ENGINE_VERSION",{enumerable:true,get:function(){return chunkU6H5A6PT_cjs.a}});exports.DefineFunctionErrorCodes=r;exports.createEngine=U;exports.defineFunction=w;//# 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 { D as DateOrderSource, b as DateReading, c as DateReadingPolicy, d as EngineRestoreOptions, e as EngineSnapshot, f as Explanation, g as ExplanationStep, R as ResolvedDateOrder, S as SNAPSHOT_FORMAT, h as SNAPSHOT_VERSION, i as SerializedAnonymousBody, j as SerializedBytecode, k as SerializedDecimal, l as SerializedLineCacheEntry, m as SerializedNumber, n as SerializedRational, o as SerializedUserFunction, p as SerializedValue, q 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-BgXiVaR8.cjs';
|
|
2
|
+
export { D as DateOrderSource, b as DateReading, c as DateReadingPolicy, d as EngineRestoreOptions, e as EngineSnapshot, f as Explanation, g as ExplanationStep, R as ResolvedDateOrder, S as SNAPSHOT_FORMAT, h as SNAPSHOT_VERSION, i as SerializedAnonymousBody, j as SerializedBytecode, k as SerializedDecimal, l as SerializedLineCacheEntry, m as SerializedNumber, n as SerializedRational, o as SerializedUserFunction, p as SerializedValue, q as SnapshotErrorCodes } from './PackageRegistry-BgXiVaR8.cjs';
|
|
3
|
+
export { a as CompatibilityConflict, b as CompatibilityConflictKind, C as CompatibilityReport, c as CompatibilitySeverity, d as checkPackageCompatibility } from './PackageCompatibility-DMvoenB_.cjs';
|
|
4
4
|
export { E as EngineWorkerFactory, d as dateCalendarInZone, s as setEngineWorkerFactory } from './DateCalendar-GFQDX1ng.cjs';
|
|
5
5
|
export { E as EngineConfigOverride } from './Configuration-BxriK9Kw.cjs';
|
|
6
6
|
export { D as DatetimeGrain, V as Value, b as ValueType } from './Value-B55Hvn3e.cjs';
|
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 { D as DateOrderSource, b as DateReading, c as DateReadingPolicy, d as EngineRestoreOptions, e as EngineSnapshot, f as Explanation, g as ExplanationStep, R as ResolvedDateOrder, S as SNAPSHOT_FORMAT, h as SNAPSHOT_VERSION, i as SerializedAnonymousBody, j as SerializedBytecode, k as SerializedDecimal, l as SerializedLineCacheEntry, m as SerializedNumber, n as SerializedRational, o as SerializedUserFunction, p as SerializedValue, q 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-D2ysmOVL.js';
|
|
2
|
+
export { D as DateOrderSource, b as DateReading, c as DateReadingPolicy, d as EngineRestoreOptions, e as EngineSnapshot, f as Explanation, g as ExplanationStep, R as ResolvedDateOrder, S as SNAPSHOT_FORMAT, h as SNAPSHOT_VERSION, i as SerializedAnonymousBody, j as SerializedBytecode, k as SerializedDecimal, l as SerializedLineCacheEntry, m as SerializedNumber, n as SerializedRational, o as SerializedUserFunction, p as SerializedValue, q as SnapshotErrorCodes } from './PackageRegistry-D2ysmOVL.js';
|
|
3
|
+
export { a as CompatibilityConflict, b as CompatibilityConflictKind, C as CompatibilityReport, c as CompatibilitySeverity, d as checkPackageCompatibility } from './PackageCompatibility-Xu04H_z-.js';
|
|
4
4
|
export { E as EngineWorkerFactory, d as dateCalendarInZone, s as setEngineWorkerFactory } from './DateCalendar-CTz538dw.js';
|
|
5
5
|
export { E as EngineConfigOverride } from './Configuration-BxriK9Kw.js';
|
|
6
6
|
export { D as DatetimeGrain, V as Value, b as ValueType } from './Value-B55Hvn3e.js';
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import'./chunk-
|
|
1
|
+
import'./chunk-64P4KHHU.js';import'./chunk-RAF57WYO.js';import {o}from'./chunk-Z4ZNKE5U.js';export{o as ExpressionEngine,d as SNAPSHOT_FORMAT,e as SNAPSHOT_VERSION,f as SnapshotErrorCodes,c as assertEngineVersionCompatible,b as checkEngineVersionCompatibility,a as checkPackageCompatibility,g as setEngineWorkerFactory}from'./chunk-Z4ZNKE5U.js';import'./chunk-RU3KGJRA.js';import'./chunk-2RWAXT6O.js';import'./chunk-RMDCGYZM.js';import'./chunk-MIQBJGGR.js';import'./chunk-KKIGQ7GW.js';import'./chunk-JP4JMQOG.js';export{c as formatValue}from'./chunk-SSS3ZMKX.js';import'./chunk-HLZRNZEU.js';import {z}from'./chunk-SU7LRT6J.js';import'./chunk-AWGSR2GZ.js';import'./chunk-NTSH57MK.js';import {a}from'./chunk-U5MESNRT.js';import'./chunk-DB5ISONG.js';import'./chunk-76F3LCIL.js';import'./chunk-EOKHRS2T.js';import'./chunk-TCZSPH4A.js';import'./chunk-2JR7PALQ.js';import'./chunk-X2GQAKL2.js';import'./chunk-PICFFFJV.js';import'./chunk-TZYMXNIB.js';import'./chunk-HFKDWQUL.js';import'./chunk-5TCSFTZD.js';import'./chunk-IHPYXJIY.js';export{d as dateCalendarInZone}from'./chunk-EOO6M65F.js';import'./chunk-J4K72CQN.js';import {L,t,n}from'./chunk-A34R65WT.js';export{m as Value,g as ValueType}from'./chunk-A34R65WT.js';import'./chunk-BWTVJD5L.js';export{a as ENGINE_VERSION}from'./chunk-NCUOMY3E.js';import'./chunk-6NL7RBAG.js';import'./chunk-JPFCXLJV.js';import'./chunk-APYRNAU2.js';import'./chunk-FAO6DQ74.js';import'./chunk-LHLW7JLS.js';import'./chunk-CHVGFTO3.js';import'./chunk-PRSXXDTA.js';import {c}from'./chunk-6G2NES2I.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"},O=/^[a-z_][a-z0-9_]*$/i,N=new Set(["number","string","boolean"]);function u(e){return e===1?"1 argument":`${e} arguments`}function d(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 k(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 ${d(e)}`,expected:`a ${n.type}`,found:d(e),context:{functionName:t,argName:n.name,expectedType:n.type}})}function R(e,n$1,t$1){switch(n$1){case "number":if(typeof e=="number")return n(e);break;case "string":if(typeof e=="string")return t(e);break;case "boolean":if(typeof e=="boolean")return L(e);break}throw c.internal({code:r.DEFINE_FUNCTION_RETURN_TYPE,message:`${t$1}() is declared to return a ${n$1}, but its implementation returned ${typeof e}`,expected:`a ${n$1}`,found:typeof e,context:{functionName:t$1,expectedType:n$1}})}var p=class{constructor(n){this.fnName=n;this.category="Function";}parse(n,t,a$1){n.consume("LPAREN");let i=0;if(n.peek()?.type!=="RPAREN")for(n.parseExpression(a.Lowest,a$1),i++;n.match("COMMA");)n.parseExpression(a.Lowest,a$1),i++;n.consume("RPAREN"),a$1.emitPluginCall(this.fnName,i);}};function D(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 a=new Array(n);for(let s=0;s<n;s++)a[s]=k(t[s],e.args[s],e.name);let i=e.call(...a);return R(i,e.returns,e.name)}}function h(e){if(typeof e?.name!="string"||!O.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(!N.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(!N.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 w(e){h(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]:D(e)}}}function U(e={}){let{extraPackages:n=[],...t}=e;return new o({...t,packages:n.length>0?[...z,...n]:z})}export{r as DefineFunctionErrorCodes,U as createEngine,w as defineFunction};//# sourceMappingURL=index.js.map
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/language.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as CompletionItem } from './PackageRegistry-
|
|
2
|
-
export { L as LanguageService, r as LanguageServiceOptions, s as SemanticToken } from './PackageRegistry-
|
|
1
|
+
import { C as CompletionItem } from './PackageRegistry-BgXiVaR8.cjs';
|
|
2
|
+
export { L as LanguageService, r as LanguageServiceOptions, s as SemanticToken } from './PackageRegistry-BgXiVaR8.cjs';
|
|
3
3
|
import { e as TokenCategory } from './Lexer-DaWkCu84.cjs';
|
|
4
4
|
import './Parselet-DmMY2s9Y.cjs';
|
|
5
5
|
import './BytecodeBuilder-DSWKZi4f.cjs';
|
package/dist/language.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as CompletionItem } from './PackageRegistry-
|
|
2
|
-
export { L as LanguageService, r as LanguageServiceOptions, s as SemanticToken } from './PackageRegistry-
|
|
1
|
+
import { C as CompletionItem } from './PackageRegistry-D2ysmOVL.js';
|
|
2
|
+
export { L as LanguageService, r as LanguageServiceOptions, s as SemanticToken } from './PackageRegistry-D2ysmOVL.js';
|
|
3
3
|
import { e as TokenCategory } from './Lexer-DPn5dfCH.js';
|
|
4
4
|
import './Parselet-Br1tHash.js';
|
|
5
5
|
import './BytecodeBuilder-DSWKZi4f.js';
|
package/dist/packages.d.cts
CHANGED
package/dist/packages.d.ts
CHANGED
package/dist/testing.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkH3IASAE2_cjs=require('./chunk-H3IASAE2.cjs');require('./chunk-P5YWBIIU.cjs'),require('./chunk-NGBBNL4K.cjs'),require('./chunk-R3W53ZMP.cjs'),require('./chunk-TTFO4YDP.cjs'),require('./chunk-PLYETVYZ.cjs'),require('./chunk-HG4NPDN5.cjs'),require('./chunk-JUIHUG4M.cjs'),require('./chunk-W4XLVZ6R.cjs');var chunkY7UPP5QQ_cjs=require('./chunk-Y7UPP5QQ.cjs');require('./chunk-NMZRAJLJ.cjs'),require('./chunk-LYGVLHAW.cjs'),require('./chunk-K3PZ66XR.cjs'),require('./chunk-YV4GDW5A.cjs'),require('./chunk-UURM7P3P.cjs'),require('./chunk-GDLYXRMA.cjs'),require('./chunk-ZLRJ7TDP.cjs'),require('./chunk-Q57LJFCT.cjs'),require('./chunk-OBZJKZ2F.cjs'),require('./chunk-SF5QVUEI.cjs'),require('./chunk-ABVDKMNF.cjs'),require('./chunk-TLG7VZRX.cjs'),require('./chunk-5TVI2UPZ.cjs'),require('./chunk-5N4XDULO.cjs'),require('./chunk-EQNKDTMX.cjs'),require('./chunk-E4HAKNBQ.cjs');var chunkNH74IT7B_cjs=require('./chunk-NH74IT7B.cjs');require('./chunk-PHWIO4P3.cjs');var chunkU6H5A6PT_cjs=require('./chunk-U6H5A6PT.cjs');require('./chunk-3MG7VIPL.cjs'),require('./chunk-Y7O4D3BJ.cjs'),require('./chunk-72J5V7SN.cjs'),require('./chunk-YBQOQTVL.cjs'),require('./chunk-S3DFU33X.cjs'),require('./chunk-J4LSAHCY.cjs'),require('./chunk-EZKR44MA.cjs');var chunk6SYU4MH7_cjs=require('./chunk-6SYU4MH7.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 chunkH3IASAE2_cjs.o({locale:e,packages:r?chunkY7UPP5QQ_cjs.z:[]});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 chunk6SYU4MH7_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 chunkNH74IT7B_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=chunkH3IASAE2_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=chunkU6H5A6PT_cjs.a){let e=chunkH3IASAE2_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-BgXiVaR8.cjs';
|
|
2
2
|
import { V as Value } from './Value-B55Hvn3e.cjs';
|
|
3
3
|
import { E as EngineError } from './EngineError-Bm4OYmw8.cjs';
|
|
4
|
-
import { C as CompatibilityReport } from './PackageCompatibility-
|
|
4
|
+
import { C as CompatibilityReport } from './PackageCompatibility-DMvoenB_.cjs';
|
|
5
5
|
import './Parselet-DmMY2s9Y.cjs';
|
|
6
6
|
import './BytecodeBuilder-DSWKZi4f.cjs';
|
|
7
7
|
import './Token-D8f7yaz1.cjs';
|
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-D2ysmOVL.js';
|
|
2
2
|
import { V as Value } from './Value-B55Hvn3e.js';
|
|
3
3
|
import { E as EngineError } from './EngineError-Bm4OYmw8.js';
|
|
4
|
-
import { C as CompatibilityReport } from './PackageCompatibility-
|
|
4
|
+
import { C as CompatibilityReport } from './PackageCompatibility-Xu04H_z-.js';
|
|
5
5
|
import './Parselet-Br1tHash.js';
|
|
6
6
|
import './BytecodeBuilder-DSWKZi4f.js';
|
|
7
7
|
import './Token-D8f7yaz1.js';
|
package/dist/testing.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {o,a,b}from'./chunk-
|
|
1
|
+
import {o,a,b}from'./chunk-Z4ZNKE5U.js';import'./chunk-RU3KGJRA.js';import'./chunk-2RWAXT6O.js';import'./chunk-RMDCGYZM.js';import'./chunk-MIQBJGGR.js';import'./chunk-KKIGQ7GW.js';import'./chunk-JP4JMQOG.js';import'./chunk-SSS3ZMKX.js';import'./chunk-HLZRNZEU.js';import {z}from'./chunk-SU7LRT6J.js';import'./chunk-AWGSR2GZ.js';import'./chunk-NTSH57MK.js';import'./chunk-U5MESNRT.js';import'./chunk-DB5ISONG.js';import'./chunk-76F3LCIL.js';import'./chunk-EOKHRS2T.js';import'./chunk-TCZSPH4A.js';import'./chunk-2JR7PALQ.js';import'./chunk-X2GQAKL2.js';import'./chunk-PICFFFJV.js';import'./chunk-TZYMXNIB.js';import'./chunk-HFKDWQUL.js';import'./chunk-5TCSFTZD.js';import'./chunk-IHPYXJIY.js';import'./chunk-EOO6M65F.js';import'./chunk-J4K72CQN.js';import {m}from'./chunk-A34R65WT.js';import'./chunk-BWTVJD5L.js';import {a as a$1}from'./chunk-NCUOMY3E.js';import'./chunk-6NL7RBAG.js';import'./chunk-JPFCXLJV.js';import'./chunk-APYRNAU2.js';import'./chunk-FAO6DQ74.js';import'./chunk-LHLW7JLS.js';import'./chunk-CHVGFTO3.js';import'./chunk-PRSXXDTA.js';import {b as b$1}from'./chunk-6G2NES2I.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$1=[],t={}){let{locale:e="en",includeBuiltins:r=true}=t,s=new o({locale:e,packages:r?z:[]});for(let a of o$1)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
|
package/dist/worker.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
'use strict';var chunkHSTGWWU2_cjs=require('./chunk-HSTGWWU2.cjs'),
|
|
2
|
-
`).forEach((u,d)=>a.set(d+1,u)):o.method==="evaluateLines"?o.args[0].forEach((u,d)=>a.set(d+1,u)):a.set(-1,o.args[0]),a},V=(o,a)=>{if(a.type==="error"){g({kind:"async-error",queryKey:a.queryKey,packageId:a.packageId,error:chunkHSTGWWU2_cjs.b(chunk6SYU4MH7_cjs.d(a.error))});return}let u=[];for(let d of a.lineNumbers){let f=l.get(d);if(f!==void 0)try{let T=o.evaluateLine(d,f);T&&u.push({lineNumber:d,value:m(T,s)});}catch{}}u.length>0&&g({kind:"async-update",lines:u});},U=o=>{p?.();let a=o.getEventStream().getReader();p=()=>{a.cancel();},(async()=>{try{for(;;){let{done:u,value:d}=await a.read();if(u)return;V(o,d);}}catch{}})();},j=o=>{try{let a=$(n,o.packages);t=new
|
|
1
|
+
'use strict';var chunkHSTGWWU2_cjs=require('./chunk-HSTGWWU2.cjs'),chunkH3IASAE2_cjs=require('./chunk-H3IASAE2.cjs');require('./chunk-P5YWBIIU.cjs'),require('./chunk-NGBBNL4K.cjs'),require('./chunk-R3W53ZMP.cjs'),require('./chunk-TTFO4YDP.cjs'),require('./chunk-PLYETVYZ.cjs'),require('./chunk-HG4NPDN5.cjs');var chunkJUIHUG4M_cjs=require('./chunk-JUIHUG4M.cjs');require('./chunk-W4XLVZ6R.cjs');var chunkY7UPP5QQ_cjs=require('./chunk-Y7UPP5QQ.cjs');require('./chunk-NMZRAJLJ.cjs');var chunkLYGVLHAW_cjs=require('./chunk-LYGVLHAW.cjs');require('./chunk-K3PZ66XR.cjs'),require('./chunk-YV4GDW5A.cjs'),require('./chunk-UURM7P3P.cjs'),require('./chunk-GDLYXRMA.cjs'),require('./chunk-ZLRJ7TDP.cjs'),require('./chunk-Q57LJFCT.cjs'),require('./chunk-OBZJKZ2F.cjs'),require('./chunk-SF5QVUEI.cjs'),require('./chunk-ABVDKMNF.cjs'),require('./chunk-TLG7VZRX.cjs');var chunk5TVI2UPZ_cjs=require('./chunk-5TVI2UPZ.cjs'),chunk5N4XDULO_cjs=require('./chunk-5N4XDULO.cjs');require('./chunk-EQNKDTMX.cjs'),require('./chunk-E4HAKNBQ.cjs'),require('./chunk-NH74IT7B.cjs'),require('./chunk-PHWIO4P3.cjs');var chunkU6H5A6PT_cjs=require('./chunk-U6H5A6PT.cjs');require('./chunk-3MG7VIPL.cjs'),require('./chunk-Y7O4D3BJ.cjs'),require('./chunk-72J5V7SN.cjs'),require('./chunk-YBQOQTVL.cjs'),require('./chunk-S3DFU33X.cjs'),require('./chunk-J4LSAHCY.cjs'),require('./chunk-EZKR44MA.cjs');var chunk6SYU4MH7_cjs=require('./chunk-6SYU4MH7.cjs');function B(e){if(e?.date?.inputOrder!=="locale")return e;let r={...e.date,inputOrder:chunkLYGVLHAW_cjs.k({...chunkU6H5A6PT_cjs.b.date,...e.date}).order};return delete r.inputLocale,{...e,date:r}}var x=class{constructor(r){this.nextId=1;this.pending=new Map;this.resolvedListeners=new Set;this.asyncErrorListeners=new Set;this.terminated=false;this.transport=r,this.transport.onMessage(n=>this.onMessage(n));}init(r){let n=this.nextId++;return new Promise((t,s)=>{this.pending.set(n,{resolve:()=>t(),reject:s}),this.transport.postMessage({kind:"init",id:n,localeCode:r.localeCode,diagnostics:r.diagnostics,config:B(r.config),packages:r.packages,formatting:r.formatting});})}parseDocument(r,n){let{signal:t,...s}=n??{},i=Object.keys(s).length>0?s:void 0;return this.call("parseDocument",[r,i],t)}evaluateLines(r,n){return this.call("evaluateLines",[r],n?.signal)}evaluateExpression(r,n){return this.call("evaluateExpression",[r],n?.signal)}onResolved(r){return this.resolvedListeners.add(r),()=>this.resolvedListeners.delete(r)}onAsyncError(r){return this.asyncErrorListeners.add(r),()=>this.asyncErrorListeners.delete(r)}terminate(){if(this.terminated)return;this.terminated=true;let r=chunkHSTGWWU2_cjs.e();for(let n of this.pending.values())this.unhook(n),n.reject(r);this.pending.clear(),this.resolvedListeners.clear(),this.asyncErrorListeners.clear(),this.transport.terminate();}call(r,n,t){if(this.terminated)return Promise.reject(chunkHSTGWWU2_cjs.e());if(t?.aborted)return Promise.reject(chunkHSTGWWU2_cjs.d(r));let s=this.nextId++;return new Promise((i,l)=>{let c={resolve:i,reject:l};if(t){let p=()=>{this.pending.has(s)&&(this.pending.delete(s),this.transport.postMessage({kind:"cancel",id:s}),l(chunkHSTGWWU2_cjs.d(r)));};c.signal=t,c.onAbort=p,t.addEventListener("abort",p,{once:true});}this.pending.set(s,c),this.transport.postMessage({kind:"request",id:s,method:r,args:n});})}onMessage(r){let n=r;switch(n.kind){case "ready":case "result":{let t=n.kind==="result"?n.value:void 0;this.settle(n.id,s=>s.resolve(t));break}case "error":this.settle(n.id,t=>t.reject(chunkHSTGWWU2_cjs.c(n.error)));break;case "async-update":for(let t of [...this.resolvedListeners])t(n.lines);break;case "async-error":for(let t of [...this.asyncErrorListeners])t({queryKey:n.queryKey,packageId:n.packageId,error:chunkHSTGWWU2_cjs.c(n.error)});break}}settle(r,n){let t=this.pending.get(r);t&&(this.pending.delete(r),this.unhook(t),n(t));}unhook(r){r.signal&&r.onAbort&&r.signal.removeEventListener("abort",r.onAbort);}};async function G(e){let r=new x(e.transport);return await r.init(e),r}function F(e){return e>0?"Infinity":e<0?"-Infinity":"NaN"}function H(e){let r=e.data.map(n=>typeof n=="object"&&n!==null?chunk5N4XDULO_cjs.R(n):typeof n=="number"&&!Number.isFinite(n)?F(n):n);return {rows:e.rows,cols:e.cols,cells:r,hasSymbolic:e.hasSymbolic}}function m(e,r){let n=e.toNumber(),t={type:e.type,text:chunkJUIHUG4M_cjs.c(e,r),number:Number.isFinite(n)?n:0};Number.isFinite(n)||(t.nonFinite=F(n)),e.unit!==void 0&&(t.unit=e.unit),e.timedOut!==void 0&&(t.timedOut=e.timedOut),e.grain!==void 0&&(t.grain=e.grain),e.zone!==void 0&&(t.zone=e.zone);let s=e.value;if(typeof s=="bigint")t.bigint=s.toString();else if(e.type===7)t.matrix=H(s);else if(e.type===8){let i=s;t.range={min:i.min,max:i.max};}else if(e.type===14){let i=s;t.colour={hex:chunk5TVI2UPZ_cjs.f(i),r:i.r,g:i.g,b:i.b,a:i.a,format:i.format,css:chunk5TVI2UPZ_cjs.g(i)};}else if(e.type===16){let i=s;t.chart={kind:i.kind,points:i.points.map(l=>[l[0],l[1]]),label:i.label,domain:[i.domain[0],i.domain[1]],range:[i.range[0],i.range[1]],...i.expr!==void 0?{expr:i.expr}:{}};}else if(e.type===17){let i=s;t.ipCidr={...i.addr!==void 0?{addr:i.addr}:{},...i.prefix!==void 0?{prefix:i.prefix}:{},text:chunkJUIHUG4M_cjs.c(e).replace(/^=\s*/,"")};}return t}function q(e,r){return e?m(e,r):null}function J(e,r){return {start:e.start,end:e.end,expression:e.expression,lineNumber:e.lineNumber,columnNumber:e.columnNumber,result:q(e.result,r),error:e.error??null}}function y(e,r){return {lineNumber:e.lineNumber,text:e.text,startPosition:e.startPosition,endPosition:e.endPosition,isEmpty:e.isEmpty,hasInlineSolves:e.hasInlineSolves,inlineSolves:e.inlineSolves.map(n=>J(n,r)),expression:e.expression,result:q(e.result,r),error:e.error}}function R(e,r){let n={lines:e.lines.map(t=>y(t,r)),totalLines:e.totalLines,errors:[...e.errors]};return e.diagnostics!==void 0&&(n.diagnostics=e.diagnostics),n}function $(e,r){if(r===void 0)return e;let n=new Map(e.map(s=>[s.name,s])),t=[];for(let s of r){let i=n.get(s);if(!i)throw chunk6SYU4MH7_cjs.c.config(chunkHSTGWWU2_cjs.a.WORKER_UNKNOWN_PACKAGE,`No package named "${s}" is available in this worker runtime`,{name:s,available:[...n.keys()]});t.push(i);}return t}function Q(e,r={}){let n=r.packages??chunkY7UPP5QQ_cjs.z,t=null,s,i=new Map,l=new Map,c=null,p=null,g=o=>e.postMessage(o),E=(o,a)=>{g({kind:"error",id:o,error:chunkHSTGWWU2_cjs.b(chunk6SYU4MH7_cjs.d(a))});},D=o=>{let a=new Map;return o.method==="parseDocument"?o.args[0].split(`
|
|
2
|
+
`).forEach((u,d)=>a.set(d+1,u)):o.method==="evaluateLines"?o.args[0].forEach((u,d)=>a.set(d+1,u)):a.set(-1,o.args[0]),a},V=(o,a)=>{if(a.type==="error"){g({kind:"async-error",queryKey:a.queryKey,packageId:a.packageId,error:chunkHSTGWWU2_cjs.b(chunk6SYU4MH7_cjs.d(a.error))});return}let u=[];for(let d of a.lineNumbers){let f=l.get(d);if(f!==void 0)try{let T=o.evaluateLine(d,f);T&&u.push({lineNumber:d,value:m(T,s)});}catch{}}u.length>0&&g({kind:"async-update",lines:u});},U=o=>{p?.();let a=o.getEventStream().getReader();p=()=>{a.cancel();},(async()=>{try{for(;;){let{done:u,value:d}=await a.read();if(u)return;V(o,d);}}catch{}})();},j=o=>{try{let a=$(n,o.packages);t=new chunkH3IASAE2_cjs.o({locale:o.localeCode??"en",diagnostics:o.diagnostics??!1,config:o.config,packages:a,calendar:r.calendar}),s=r.calendar?{...o.formatting??chunkJUIHUG4M_cjs.a,calendar:r.calendar}:o.formatting,U(t),g({kind:"ready",id:o.id});}catch(a){E(o.id,a);}},K=(o,a)=>{let{method:u,args:d}=a;switch(u){case "parseDocument":return R(o.parseDocument(d[0],d[1]),s);case "evaluateLines":return o.evaluateLines(d[0]).map(f=>y(f,s));case "evaluateExpression":return m(o.evaluateExpression(d[0]),s);default:throw chunk6SYU4MH7_cjs.c.execution(chunkHSTGWWU2_cjs.a.WORKER_UNKNOWN_METHOD,`The worker runtime has no method named "${String(u)}"`,{method:u})}},_=o=>{let a=t;if(!a){E(o.id,chunk6SYU4MH7_cjs.c.execution(chunkHSTGWWU2_cjs.a.WORKER_NOT_INITIALISED,"The worker received a request before its engine finished initialising"));return}c?.abort();let u=new AbortController;c=u,l=D(o),i.set(o.id,u),a.setKeystrokeSignal(u.signal);try{let d=K(a,o);g({kind:"result",id:o.id,value:d});}catch(d){E(o.id,d);}finally{i.delete(o.id),a.setKeystrokeSignal(null);}};return e.onMessage(o=>{let a=o;switch(a.kind){case "init":j(a);break;case "request":_(a);break;case "cancel":i.get(a.id)?.abort();break}}),()=>{p?.(),p=null,c?.abort(),c=null,l=new Map;for(let o of i.values())o.abort();i.clear(),t?.clear(),t=null,e.terminate();}}function X(e){return typeof globalThis.structuredClone=="function"?globalThis.structuredClone(e):JSON.parse(JSON.stringify(e))}function Y(){let e=null,r=null,n=true,t=(l,c)=>{let p=X(c);queueMicrotask(()=>{n&&l()?.(p);});};return {client:{postMessage:l=>t(()=>r,l),onMessage:l=>{e=l;},terminate:()=>{n=false;}},host:{postMessage:l=>t(()=>e,l),onMessage:l=>{r=l;},terminate:()=>{n=false;}}}}function Z(e){return {postMessage:r=>e.postMessage(r),onMessage:r=>{let n=t=>r(t.data);typeof e.addEventListener=="function"?e.addEventListener("message",n):e.onmessage=n,e.start?.();},terminate:()=>{e.terminate?.(),e.close?.();}}}function ee(e){return {postMessage:r=>e.postMessage(r),onMessage:r=>{e.on("message",n=>r(n));},terminate:()=>{e.terminate?.(),e.close?.();}}}exports.createLinkedTransports=Y;exports.createWorkerEngine=G;exports.eventTargetTransport=Z;exports.messagePortTransport=ee;exports.serializeParsedLine=y;exports.serializeParsingResult=R;exports.serializeValue=m;exports.startWorkerRuntime=Q;//# sourceMappingURL=worker.cjs.map
|
|
3
3
|
//# sourceMappingURL=worker.cjs.map
|
package/dist/worker.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { E as EngineConfigOverride } from './Configuration-BxriK9Kw.cjs';
|
|
2
|
-
import { U as UnifiedParsingOptions, I as IEnginePackage, N as ParsedLine, P as ParsingResult } from './PackageRegistry-
|
|
2
|
+
import { U as UnifiedParsingOptions, I as IEnginePackage, N as ParsedLine, P as ParsingResult } from './PackageRegistry-BgXiVaR8.cjs';
|
|
3
3
|
import { F as FormattingSettings } from './FormattingSettings-ByO-4wiM.cjs';
|
|
4
4
|
import { E as EngineError } from './EngineError-Bm4OYmw8.cjs';
|
|
5
5
|
import { b as ValueType, i as ColourFormat, D as DatetimeGrain, V as Value } from './Value-B55Hvn3e.cjs';
|
package/dist/worker.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { E as EngineConfigOverride } from './Configuration-BxriK9Kw.js';
|
|
2
|
-
import { U as UnifiedParsingOptions, I as IEnginePackage, N as ParsedLine, P as ParsingResult } from './PackageRegistry-
|
|
2
|
+
import { U as UnifiedParsingOptions, I as IEnginePackage, N as ParsedLine, P as ParsingResult } from './PackageRegistry-D2ysmOVL.js';
|
|
3
3
|
import { F as FormattingSettings } from './FormattingSettings-CvCzAfsz.js';
|
|
4
4
|
import { E as EngineError } from './EngineError-Bm4OYmw8.js';
|
|
5
5
|
import { b as ValueType, i as ColourFormat, D as DatetimeGrain, V as Value } from './Value-B55Hvn3e.js';
|
package/dist/worker.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {a as a$1,e,d,c as c$2,b}from'./chunk-YID47OPR.js';import {o}from'./chunk-
|
|
1
|
+
import {a as a$1,e,d,c as c$2,b}from'./chunk-YID47OPR.js';import {o}from'./chunk-Z4ZNKE5U.js';import'./chunk-RU3KGJRA.js';import'./chunk-2RWAXT6O.js';import'./chunk-RMDCGYZM.js';import'./chunk-MIQBJGGR.js';import'./chunk-KKIGQ7GW.js';import'./chunk-JP4JMQOG.js';import {c,a}from'./chunk-SSS3ZMKX.js';import'./chunk-HLZRNZEU.js';import {z}from'./chunk-SU7LRT6J.js';import'./chunk-AWGSR2GZ.js';import {k}from'./chunk-NTSH57MK.js';import'./chunk-U5MESNRT.js';import'./chunk-DB5ISONG.js';import'./chunk-76F3LCIL.js';import'./chunk-EOKHRS2T.js';import'./chunk-TCZSPH4A.js';import'./chunk-2JR7PALQ.js';import'./chunk-X2GQAKL2.js';import'./chunk-PICFFFJV.js';import'./chunk-TZYMXNIB.js';import'./chunk-HFKDWQUL.js';import {g,f}from'./chunk-5TCSFTZD.js';import {R as R$1}from'./chunk-IHPYXJIY.js';import'./chunk-EOO6M65F.js';import'./chunk-J4K72CQN.js';import'./chunk-A34R65WT.js';import'./chunk-BWTVJD5L.js';import {b as b$1}from'./chunk-NCUOMY3E.js';import'./chunk-6NL7RBAG.js';import'./chunk-JPFCXLJV.js';import'./chunk-APYRNAU2.js';import'./chunk-FAO6DQ74.js';import'./chunk-LHLW7JLS.js';import'./chunk-CHVGFTO3.js';import'./chunk-PRSXXDTA.js';import {c as c$1,d as d$1}from'./chunk-6G2NES2I.js';function B(e){if(e?.date?.inputOrder!=="locale")return e;let r={...e.date,inputOrder:k({...b$1.date,...e.date}).order};return delete r.inputLocale,{...e,date:r}}var x=class{constructor(r){this.nextId=1;this.pending=new Map;this.resolvedListeners=new Set;this.asyncErrorListeners=new Set;this.terminated=false;this.transport=r,this.transport.onMessage(n=>this.onMessage(n));}init(r){let n=this.nextId++;return new Promise((t,s)=>{this.pending.set(n,{resolve:()=>t(),reject:s}),this.transport.postMessage({kind:"init",id:n,localeCode:r.localeCode,diagnostics:r.diagnostics,config:B(r.config),packages:r.packages,formatting:r.formatting});})}parseDocument(r,n){let{signal:t,...s}=n??{},i=Object.keys(s).length>0?s:void 0;return this.call("parseDocument",[r,i],t)}evaluateLines(r,n){return this.call("evaluateLines",[r],n?.signal)}evaluateExpression(r,n){return this.call("evaluateExpression",[r],n?.signal)}onResolved(r){return this.resolvedListeners.add(r),()=>this.resolvedListeners.delete(r)}onAsyncError(r){return this.asyncErrorListeners.add(r),()=>this.asyncErrorListeners.delete(r)}terminate(){if(this.terminated)return;this.terminated=true;let r=e();for(let n of this.pending.values())this.unhook(n),n.reject(r);this.pending.clear(),this.resolvedListeners.clear(),this.asyncErrorListeners.clear(),this.transport.terminate();}call(r,n,t){if(this.terminated)return Promise.reject(e());if(t?.aborted)return Promise.reject(d(r));let s=this.nextId++;return new Promise((i,l)=>{let c={resolve:i,reject:l};if(t){let p=()=>{this.pending.has(s)&&(this.pending.delete(s),this.transport.postMessage({kind:"cancel",id:s}),l(d(r)));};c.signal=t,c.onAbort=p,t.addEventListener("abort",p,{once:true});}this.pending.set(s,c),this.transport.postMessage({kind:"request",id:s,method:r,args:n});})}onMessage(r){let n=r;switch(n.kind){case "ready":case "result":{let t=n.kind==="result"?n.value:void 0;this.settle(n.id,s=>s.resolve(t));break}case "error":this.settle(n.id,t=>t.reject(c$2(n.error)));break;case "async-update":for(let t of [...this.resolvedListeners])t(n.lines);break;case "async-error":for(let t of [...this.asyncErrorListeners])t({queryKey:n.queryKey,packageId:n.packageId,error:c$2(n.error)});break}}settle(r,n){let t=this.pending.get(r);t&&(this.pending.delete(r),this.unhook(t),n(t));}unhook(r){r.signal&&r.onAbort&&r.signal.removeEventListener("abort",r.onAbort);}};async function G(e){let r=new x(e.transport);return await r.init(e),r}function F(e){return e>0?"Infinity":e<0?"-Infinity":"NaN"}function H(e){let r=e.data.map(n=>typeof n=="object"&&n!==null?R$1(n):typeof n=="number"&&!Number.isFinite(n)?F(n):n);return {rows:e.rows,cols:e.cols,cells:r,hasSymbolic:e.hasSymbolic}}function m(e,r){let n=e.toNumber(),t={type:e.type,text:c(e,r),number:Number.isFinite(n)?n:0};Number.isFinite(n)||(t.nonFinite=F(n)),e.unit!==void 0&&(t.unit=e.unit),e.timedOut!==void 0&&(t.timedOut=e.timedOut),e.grain!==void 0&&(t.grain=e.grain),e.zone!==void 0&&(t.zone=e.zone);let s=e.value;if(typeof s=="bigint")t.bigint=s.toString();else if(e.type===7)t.matrix=H(s);else if(e.type===8){let i=s;t.range={min:i.min,max:i.max};}else if(e.type===14){let i=s;t.colour={hex:f(i),r:i.r,g:i.g,b:i.b,a:i.a,format:i.format,css:g(i)};}else if(e.type===16){let i=s;t.chart={kind:i.kind,points:i.points.map(l=>[l[0],l[1]]),label:i.label,domain:[i.domain[0],i.domain[1]],range:[i.range[0],i.range[1]],...i.expr!==void 0?{expr:i.expr}:{}};}else if(e.type===17){let i=s;t.ipCidr={...i.addr!==void 0?{addr:i.addr}:{},...i.prefix!==void 0?{prefix:i.prefix}:{},text:c(e).replace(/^=\s*/,"")};}return t}function q(e,r){return e?m(e,r):null}function J(e,r){return {start:e.start,end:e.end,expression:e.expression,lineNumber:e.lineNumber,columnNumber:e.columnNumber,result:q(e.result,r),error:e.error??null}}function y(e,r){return {lineNumber:e.lineNumber,text:e.text,startPosition:e.startPosition,endPosition:e.endPosition,isEmpty:e.isEmpty,hasInlineSolves:e.hasInlineSolves,inlineSolves:e.inlineSolves.map(n=>J(n,r)),expression:e.expression,result:q(e.result,r),error:e.error}}function R(e,r){let n={lines:e.lines.map(t=>y(t,r)),totalLines:e.totalLines,errors:[...e.errors]};return e.diagnostics!==void 0&&(n.diagnostics=e.diagnostics),n}function $(e,r){if(r===void 0)return e;let n=new Map(e.map(s=>[s.name,s])),t=[];for(let s of r){let i=n.get(s);if(!i)throw c$1.config(a$1.WORKER_UNKNOWN_PACKAGE,`No package named "${s}" is available in this worker runtime`,{name:s,available:[...n.keys()]});t.push(i);}return t}function Q(e,r={}){let n=r.packages??z,t=null,s,i=new Map,l=new Map,c=null,p=null,g=o=>e.postMessage(o),E=(o,a)=>{g({kind:"error",id:o,error:b(d$1(a))});},D=o=>{let a=new Map;return o.method==="parseDocument"?o.args[0].split(`
|
|
2
2
|
`).forEach((u,d)=>a.set(d+1,u)):o.method==="evaluateLines"?o.args[0].forEach((u,d)=>a.set(d+1,u)):a.set(-1,o.args[0]),a},V=(o,a)=>{if(a.type==="error"){g({kind:"async-error",queryKey:a.queryKey,packageId:a.packageId,error:b(d$1(a.error))});return}let u=[];for(let d of a.lineNumbers){let f=l.get(d);if(f!==void 0)try{let T=o.evaluateLine(d,f);T&&u.push({lineNumber:d,value:m(T,s)});}catch{}}u.length>0&&g({kind:"async-update",lines:u});},U=o=>{p?.();let a=o.getEventStream().getReader();p=()=>{a.cancel();},(async()=>{try{for(;;){let{done:u,value:d}=await a.read();if(u)return;V(o,d);}}catch{}})();},j=o$1=>{try{let a$1=$(n,o$1.packages);t=new o({locale:o$1.localeCode??"en",diagnostics:o$1.diagnostics??!1,config:o$1.config,packages:a$1,calendar:r.calendar}),s=r.calendar?{...o$1.formatting??a,calendar:r.calendar}:o$1.formatting,U(t),g({kind:"ready",id:o$1.id});}catch(a){E(o$1.id,a);}},K=(o,a)=>{let{method:u,args:d}=a;switch(u){case "parseDocument":return R(o.parseDocument(d[0],d[1]),s);case "evaluateLines":return o.evaluateLines(d[0]).map(f=>y(f,s));case "evaluateExpression":return m(o.evaluateExpression(d[0]),s);default:throw c$1.execution(a$1.WORKER_UNKNOWN_METHOD,`The worker runtime has no method named "${String(u)}"`,{method:u})}},_=o=>{let a=t;if(!a){E(o.id,c$1.execution(a$1.WORKER_NOT_INITIALISED,"The worker received a request before its engine finished initialising"));return}c?.abort();let u=new AbortController;c=u,l=D(o),i.set(o.id,u),a.setKeystrokeSignal(u.signal);try{let d=K(a,o);g({kind:"result",id:o.id,value:d});}catch(d){E(o.id,d);}finally{i.delete(o.id),a.setKeystrokeSignal(null);}};return e.onMessage(o=>{let a=o;switch(a.kind){case "init":j(a);break;case "request":_(a);break;case "cancel":i.get(a.id)?.abort();break}}),()=>{p?.(),p=null,c?.abort(),c=null,l=new Map;for(let o of i.values())o.abort();i.clear(),t?.clear(),t=null,e.terminate();}}function X(e){return typeof globalThis.structuredClone=="function"?globalThis.structuredClone(e):JSON.parse(JSON.stringify(e))}function Y(){let e=null,r=null,n=true,t=(l,c)=>{let p=X(c);queueMicrotask(()=>{n&&l()?.(p);});};return {client:{postMessage:l=>t(()=>r,l),onMessage:l=>{e=l;},terminate:()=>{n=false;}},host:{postMessage:l=>t(()=>e,l),onMessage:l=>{r=l;},terminate:()=>{n=false;}}}}function Z(e){return {postMessage:r=>e.postMessage(r),onMessage:r=>{let n=t=>r(t.data);typeof e.addEventListener=="function"?e.addEventListener("message",n):e.onmessage=n,e.start?.();},terminate:()=>{e.terminate?.(),e.close?.();}}}function ee(e){return {postMessage:r=>e.postMessage(r),onMessage:r=>{e.on("message",n=>r(n));},terminate:()=>{e.terminate?.(),e.close?.();}}}export{Y as createLinkedTransports,G as createWorkerEngine,Z as eventTargetTransport,ee as messagePortTransport,y as serializeParsedLine,R as serializeParsingResult,m as serializeValue,Q as startWorkerRuntime};//# sourceMappingURL=worker.js.map
|
|
3
3
|
//# sourceMappingURL=worker.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "solve-engine",
|
|
3
|
-
"version": "2.38.
|
|
3
|
+
"version": "2.38.9",
|
|
4
4
|
"description": "An embeddable expression engine for natural-language calculations: units, currencies, percentages, dates and matrices, with the parsing and evaluation plumbing already built.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"expression-evaluator",
|
package/dist/chunk-RVDO3SRI.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import {a}from'./chunk-RAF57WYO.js';import {m,n,h as h$1}from'./chunk-D23VNH6B.js';import {b as b$2,a as a$1}from'./chunk-NTSH57MK.js';import {b as b$1}from'./chunk-76F3LCIL.js';import {M as M$1,N}from'./chunk-2JR7PALQ.js';import {h,i,P as P$1,j as j$1,k as k$1}from'./chunk-A34R65WT.js';import {b}from'./chunk-DRXTGTXA.js';import {c as c$1}from'./chunk-6NL7RBAG.js';import {c,b as b$3}from'./chunk-6G2NES2I.js';var M=class{constructor(){this.root=null;}get length(){return this.root?this.root.size:0}get isEmpty(){return this.root===null}getAt(e){if(!(e<0||e>=(this.root?.size??0)))return this.nodeAt(this.root,e).lineId}insertAt(e,n){let[t,r]=S(this.root,e);this.root=C(C(t,se(n)),r);}deleteAt(e){if(e<0||e>=(this.root?.size??0))return;let[n,t]=S(this.root,e),[r,i]=S(t,1),s=r?r.lineId:void 0;return this.root=C(n,i),s}spliceAt(e,n,t){let r=Math.max(0,e),i=Math.min(Math.max(0,n),(this.root?.size??0)-r),[s,a]=S(this.root,r),[l,o]=S(a,i),c=oe(l),d=B(t,0,t.length);return this.root=C(C(s,d),o),c}replaceAll(e){this.root=B(e,0,e.length);}getRange(e,n){let t=Math.max(0,e),r=Math.min((this.root?.size??0)-1,n);if(t>r)return [];let i=[];return this.collectRange(this.root,t,r,0,i),i}clear(){this.root=null;}*[Symbol.iterator](){yield*this.inOrder(this.root);}*inOrder(e){e&&(yield*this.inOrder(e.left),yield e.lineId,yield*this.inOrder(e.right));}nodeAt(e,n){let t=e.left?e.left.size:0;return n<t?this.nodeAt(e.left,n):n===t?e:this.nodeAt(e.right,n-t-1)}collectRange(e,n,t,r,i){if(!e)return;let s=e.left?e.left.size:0,a=r+s;a>n&&e.left&&this.collectRange(e.left,n,t,r,i),a>=n&&a<=t&&i.push(e.lineId),a<t&&e.right&&this.collectRange(e.right,n,t,a+1,i);}};function se(u){return {lineId:u,size:1,priority:Math.random(),left:null,right:null}}function P(u){u.size=1+(u.left?u.left.size:0)+(u.right?u.right.size:0);}function C(u,e){return u?e?u.priority>e.priority?(u.right=C(u.right,e),P(u),u):(e.left=C(u,e.left),P(e),e):u:e}function S(u,e){if(!u)return [null,null];let n=u.left?u.left.size:0;if(e<=n){let[t,r]=S(u.left,e);return u.left=r,P(u),[t,u]}else {let[t,r]=S(u.right,e-n-1);return u.right=t,P(u),[u,r]}}function oe(u){let e=[];return _(u,e),e}function _(u,e){u&&(_(u.left,e),e.push(u.lineId),_(u.right,e));}function B(u,e,n){if(e>=n)return null;let t=Math.floor((e+n)/2),r=le(u[t]);return {lineId:u[t],size:n-e,priority:r,left:B(u,e,t),right:B(u,t+1,n)}}function le(u){let e=u+2654435769|0;return e=Math.imul(e>>>16^e,73244475),e=Math.imul(e>>>16^e,73244475),e=(e>>>16^e)>>>0,e/4294967296}var A=class{constructor(e=b.performance.maxDocumentLines){this.lines=new Map;this.orderTree=new M;this.nextLineId=1;this._positionCache=null;this.dirtyLineIds=new Set;this.tagIndex=null;this.maxLines=e;}setDocument(e){if(b$1(e,this.maxLines)>this.maxLines)throw c.execution("DOCUMENT_TOO_LARGE",`This document has more than ${this.maxLines.toLocaleString("en-US")} lines, which is the most the engine will hold at once`,{maxLines:this.maxLines});this.lines.clear(),this.orderTree.clear(),this._positionCache=null,this.dirtyLineIds.clear(),this.nextLineId=1,this.tagIndex=null;let t=e.split(`
|
|
2
|
-
`),r=new Array(t.length);for(let i=0;i<t.length;i++){let s=this.nextLineId++;r[i]=s,this.lines.set(s,{lineId:s,textHash:a(t[i]),text:t[i],expressions:[],bytecodes:[],reads:[],writes:[],results:[],result:null,dirty:true,isVariableDef:false,isEmpty:t[i].trim().length===0,inlineSolveCount:0});}this.orderTree.replaceAll(r);for(let i of r)this.dirtyLineIds.add(i);}applyChanges(e){let n=[],t=[],r=[...e].sort((i,s)=>s.startLine-i.startLine);for(let i of r){let s=i.startLine-1,a$1=[];for(let o of i.insertLines){let c=this.nextLineId++;a$1.push(c),n.push(c),this.lines.set(c,{lineId:c,textHash:a(o),text:o,expressions:[],bytecodes:[],reads:[],writes:[],results:[],result:null,dirty:true,isVariableDef:false,isEmpty:o.trim().length===0,inlineSolveCount:0});}for(let o of a$1)this.dirtyLineIds.add(o);if(this.tagIndex!==null)for(let o of a$1)this.indexTags(o,this.lines.get(o).text);let l=this.orderTree.spliceAt(s,i.deleteCount,a$1);for(let o of l)t.push(o),this.tagIndex!==null&&this.unindexTags(o,this.lines.get(o)?.text??""),this.lines.delete(o),this.dirtyLineIds.delete(o);}return this._positionCache=null,{inserted:n,removed:t}}insertLines(e,n){let t={startLine:e,deleteCount:0,insertLines:n};return this.applyChanges([t]).inserted}deleteLines(e,n){let t={startLine:e,deleteCount:n-e+1,insertLines:[]};return this.applyChanges([t]).removed}editLine(e,n){let t=this.getLineAt(e);if(!t)return false;let r=a(n);return r===t.textHash?false:(this.tagIndex!==null&&(this.unindexTags(t.lineId,t.text),this.indexTags(t.lineId,n)),t.text=n,t.textHash=r,t.expressions=[],t.bytecodes=[],t.results=[],t.result=null,t.inlineSolveCount=0,t.dirty=true,this.dirtyLineIds.add(t.lineId),t.isEmpty=n.trim().length===0,true)}linesCarryingTag(e){let n=this.ensureTagIndex().get(e.toLowerCase());if(n===void 0||n.size===0)return [];let t=[];for(let r of n){let i=this.getLinePosition(r);i>0&&t.push(i);}return t.sort((r,i)=>r-i),t}ensureTagIndex(){if(this.tagIndex!==null)return this.tagIndex;this.tagIndex=new Map;for(let e of this.lines.values())this.indexTags(e.lineId,e.text);return this.tagIndex}indexTags(e,n){if(!(n.indexOf("#")<0))for(let t of b$2(n)){let r=this.tagIndex.get(t);r===void 0?this.tagIndex.set(t,new Set([e])):r.add(e);}}unindexTags(e,n){if(!(n.indexOf("#")<0))for(let t of b$2(n)){let r=this.tagIndex.get(t);r!==void 0&&(r.delete(e),r.size===0&&this.tagIndex.delete(t));}}getLineAt(e){let n=e-1,t=this.orderTree.getAt(n);if(t!==void 0)return this.lines.get(t)}getLinePosition(e){if(this._positionCache)return this._positionCache.get(e)??-1;this._positionCache=new Map;let n=1;for(let t of this.orderTree)this._positionCache.set(t,n++);return this._positionCache.get(e)??-1}getVisibleLines(e,n){let t=this.orderTree.getRange(e-1,n-1),r=[];for(let i of t){let s=this.lines.get(i);s&&r.push(s);}return r}getAllLines(){return this.getVisibleLines(1,this.lineCount)}getLineById(e){return this.lines.get(e)}getDirtyLines(){let e=[];for(let n of this.lines.values())n.dirty&&e.push(n);return e}hasAnyDirtyLineBefore(e){for(let n of this.dirtyLineIds){let t=this.getLinePosition(n);if(t>=1&&t<e)return true}return false}hasAnyDirtyVariableDefLineBefore(e){for(let n of this.dirtyLineIds){let t=this.lines.get(n);if(!t||!t.isVariableDef)continue;let r=this.getLinePosition(n);if(r>=1&&r<e)return true}return false}get dirtyCount(){return this.dirtyLineIds.size}isBytecodeValid(e,n){let t=this.lines.get(e);return t!==void 0&&t.textHash===n}markClean(e){let n=this.lines.get(e);n&&(n.dirty=false,this.dirtyLineIds.delete(e));}markDirtyByLineNumber(e){let n=this.getLineAt(e);n&&(n.dirty=true,this.dirtyLineIds.add(n.lineId));}markDirty(e){let n=this.lines.get(e);n&&(n.dirty=true,this.dirtyLineIds.add(e));}invalidateAll(){for(let e of this.lines.values())e.dirty=true;this.dirtyLineIds=new Set(this.lines.keys());}updateLineResult(e,n,t,r,i,s,a,l=0){let o=this.lines.get(e);o&&(o.results=n,o.result=n[0]?.[0]??null,o.bytecodes=t,o.expressions=r,o.reads=i,o.writes=s,o.isVariableDef=a,o.inlineSolveCount=l,o.dirty=false,this.dirtyLineIds.delete(e));}updateLineCompiled(e,n,t,r,i,s,a=0){let l=this.lines.get(e);l&&(l.expressions=n,l.bytecodes=t,l.reads=r,l.writes=i,l.isVariableDef=s,l.inlineSolveCount=a);}get lineCount(){return this.orderTree.length}get isEmpty(){return this.orderTree.isEmpty}*[Symbol.iterator](){for(let e of this.orderTree){let n=this.lines.get(e);n&&(yield n);}}clear(){this.lines.clear(),this.orderTree.clear(),this._positionCache=null,this.nextLineId=1,this.tagIndex=null;}toJSON(){return {lineCount:this.lineCount,lines:this.getAllLines().map(e=>({lineId:e.lineId,text:e.text.substring(0,80),textHash:e.textHash,dirty:e.dirty,isVariableDef:e.isVariableDef,isEmpty:e.isEmpty,hasBytecode:e.bytecodes.length>0,hasResult:e.results.length>0,inlineSolveCount:e.inlineSolveCount,reads:e.reads,writes:e.writes}))}}};var R=class{constructor(){this.worker=null;this.nextId=1;this.pending=new Map;}ensureWorker(){if(this.worker)return this.worker;let e=h$1();if(e===null)throw new Error("no engine worker factory registered, so compilation stays on the main thread");return this.worker=e(),this.worker.onmessage=n=>{let t=n.data;if(!t||t.type!=="COMPILE_RESULT")return;let r=this.pending.get(t.id);if(!r)return;this.pending.delete(t.id);let i=[];for(let s of t.results)i.push(this.reconstructResult(s));r.resolve(i);},this.worker.onerror=n=>{for(let[t,r]of this.pending)r.reject(new Error(`Compilation worker error: ${n.message}`)),this.pending.delete(t);},this.worker}async compileBatch(e){if(e.length===0)return [];let n=this.ensureWorker(),t=this.nextId++;return new Promise((r,i)=>{this.pending.set(t,{resolve:r,reject:i}),n.postMessage({type:"COMPILE_BATCH",id:t,items:e});})}storeResults(e,n){let t=new Map;for(let s of e){if(s.error)continue;let a=n.getLineById(s.lineId);if(!a||a.textHash!==s.compiledAgainstHash)continue;let l=t.get(s.lineId);l||(l={bytecodes:[],reads:new Set,writes:new Set,isVariableDef:false,expressions:a.expressions.length>0?[...a.expressions]:[],textHash:s.compiledAgainstHash},t.set(s.lineId,l)),l.bytecodes.push(s.program);for(let o of s.reads)l.reads.add(o);for(let o of s.writes)l.writes.add(o);s.isVariableDef&&(l.isVariableDef=true);}let i=0;for(let[s,a]of t){if(a.bytecodes.length===0)continue;let o=n.getLineById(s)?.inlineSolveCount??0;n.updateLineCompiled(s,a.expressions,a.bytecodes,[...a.reads],[...a.writes],a.isVariableDef,o),i+=a.bytecodes.length;}return i}terminate(){this.worker&&(this.worker.terminate(),this.worker=null,this.pending.clear());}get isActive(){return this.worker!==null}reconstructResult(e){if(e.error)return {lineId:e.lineId,compiledAgainstHash:e.compiledAgainstHash,program:{opcodes:new Uint8Array(0),numbers:new Float64Array(0),strings:[],hasAsync:false},reads:[],writes:[],isVariableDef:false,error:e.error};let n=e.opcodesLength>0?new Uint8Array(e.opcodesBuffer,0,e.opcodesLength):new Uint8Array(0),t=e.numbersLength>0?new Float64Array(e.numbersBuffer,0,e.numbersLength):new Float64Array(0),r={opcodes:n,numbers:t,strings:e.strings,hasAsync:false};return {lineId:e.lineId,compiledAgainstHash:e.compiledAgainstHash,program:r,reads:e.reads,writes:e.writes,isVariableDef:e.isVariableDef,error:null}}};var j=128,k=3,ee=6,te=2,ne=k,W=class u{constructor(){this.lastViewportStart=null;this.savedDirection=null;this.pageAccess=new Map;this.accessSeq=0;}static pageForLine(e){return Math.floor((e-1)/j)}static pageRange(e,n){return {startLine:e*j+1,endLine:Math.min((e+1)*j,n)}}detectDirection(e){return this.lastViewportStart===null?null:e.startLine>this.lastViewportStart?"down":e.startLine<this.lastViewportStart?"up":null}maintainAfterEval(e,n){this.savedDirection=this.detectDirection(e),this.lastViewportStart=e.startLine;let t=n.lineCount,r=u.pageForLine(e.startLine),i=u.pageForLine(e.endLine),s=u.pageForLine(t),a=Math.max(0,r-k),l=Math.min(s,i+k),o=Math.max(0,r-ee),c=Math.min(s,i+ee);for(let p=a;p<=l;p++)this.touchPage(p);for(let p=o;p<=c;p++)p>=a&&p<=l||this.evictPageResults(p,n,t);let d=o-1,h=Math.max(0,d-ne+1);for(let p=h;p<=d;p++)this.evictPageBytecode(p,n,t);let f=c+1,g=Math.min(s,f+ne-1);for(let p=f;p<=g;p++)this.evictPageBytecode(p,n,t);}getPreloadTargets(e,n){let t=this.savedDirection;if(!t)return [];let r=[],i=u.pageForLine(e.endLine),s=u.pageForLine(e.startLine),a=u.pageForLine(n.lineCount),l=[];if(t==="down"){let o=i+k+1,c=Math.min(o+te-1,a);for(let d=o;d<=c&&d<=a;d++)l.push(d);}else {let o=s-k-1;for(let c=o;c>o-te&&c>=0;c--)l.push(c);}for(let o of l){let c=u.pageRange(o,n.lineCount);for(let d=c.startLine;d<=c.endLine;d++){let h=n.getLineAt(d);if(h&&h.dirty&&!(h.bytecodes.length>0&&!h.isVariableDef)&&!h.isEmpty)if(h.expressions.length>0)for(let f of h.expressions)f.trim()&&r.push({lineId:h.lineId,expression:f,textHash:h.textHash});else {let f=c$1.findInlineSolves(h.text);if(f.length>0)for(let g of f)g.expression.trim()&&r.push({lineId:h.lineId,expression:g.expression,textHash:h.textHash});else {let g=h.text.trim();g&&r.push({lineId:h.lineId,expression:g,textHash:h.textHash});}}}}return r}clear(){this.pageAccess.clear(),this.accessSeq=0,this.lastViewportStart=null,this.savedDirection=null;}touchPage(e){this.pageAccess.set(e,++this.accessSeq);}evictPageResults(e,n,t){let r=u.pageRange(e,t);for(let i=r.startLine;i<=r.endLine;i++){let s=n.getLineAt(i);s&&!s.isVariableDef&&s.results.length>0&&(s.results=[],s.result=null);}}evictPageBytecode(e,n,t){let r=u.pageRange(e,t);for(let i=r.startLine;i<=r.endLine;i++){let s=n.getLineAt(i);!s||s.isVariableDef||(s.bytecodes.length>0||s.results.length>0)&&(s.bytecodes=[],s.results=[],s.result=null,n.markDirty(s.lineId));}}};var re=(r=>(r[r.Tier1=1]="Tier1",r[r.Tier2=2]="Tier2",r[r.Tier3=3]="Tier3",r[r.Skipped=0]="Skipped",r))(re||{}),w=class{constructor(e,n,t){this.compilationWorker=null;this.globalUnsubscribe=null;this.doc=e,this.engine=n,this.dag=n.getDag(),this.checkpointer=t??null,this.pageManager=new W,this.engine.setDocumentModel(this.doc),this.globalUnsubscribe=M$1.subscribe(r=>{for(let i of this.dag.getAffectedLines(N(r)))this.doc.markDirtyByLineNumber(i);});}evaluate(e,n){this.engine.setKeystrokeSignal(n??null),h();try{this.reseedAccumulators();let t=[],r=new Map,i={tier1:0,tier2:0,tier3:0,skipped:0},s=this.doc.lineCount,a=Math.min(e.endLine,s);for(let l=1;l<=a;l++){let o=this.doc.getLineAt(l);if(!o){i.skipped++;continue}let c=l>=e.startLine&&l<=e.endLine,d=this.evaluateSingleLine(o,l,c);t.push(d),d.tier===1?i.tier1++:d.tier===2?i.tier2++:d.tier===3?i.tier3++:i.skipped++,d.results&&c&&r.set(l,d.results.flat());}return this.pageManager.maintainAfterEval(e,this.doc),{lines:t,resultMap:r,tierCounts:i}}finally{this.engine.setKeystrokeSignal(null),i();}}backgroundCompile(e){let n=[],t=this.doc.lineCount,r=e.endLine+1;for(let i=r;i<=t;i++){let s=this.doc.getLineAt(i);if(!s||!s.dirty||s.bytecodes.length>0&&!s.isVariableDef)continue;let a=this.evaluateSingleLine(s,i,false);n.push(a);}return n}dispatchBackgroundCompiles(e){let n=this.collectInvisibleCompileTargets(e);n.length!==0&&(this.compilationWorker||(this.compilationWorker=new R),this.compilationWorker.compileBatch(n).then(t=>{this.compilationWorker.storeResults(t,this.doc);}).catch(t=>{}));}terminateWorker(){this.compilationWorker&&(this.compilationWorker.terminate(),this.compilationWorker=null),this.globalUnsubscribe&&(this.globalUnsubscribe(),this.globalUnsubscribe=null);}getDoc(){return this.doc}evaluateAll(e){let n={startLine:1,endLine:this.doc.lineCount};return this.evaluate(n,e)}setViewport(e,n){if(this.engine.setKeystrokeSignal(n??null),e.startLine>1&&this.hasDirtyLinesBefore(e.startLine))return this.checkpointer?.clear(),this.evaluate(e,n);this.pageManager.maintainAfterEval(e,this.doc),this.preloadNextPages(e),this.restoreTo(e.startLine-1),h();try{return this.collectEvalResults(e.startLine,e.endLine)}finally{this.engine.setKeystrokeSignal(null),i();}}applyTransaction(e){let n=new Set;for(let i of e)for(let s=0;s<i.deleteCount;s++){let a=i.startLine+s,l=this.dag.getWrites(a);for(let o of l)n.add(o);this.dag.removeLine(a),this.engine.getLineCache().removeAllForLine(a);}let t=new Set;for(let i of n){let s=this.dag.getAffectedLines(i);for(let a of s){let l=this.doc.getLineAt(a);l&&t.add(l.lineId);}}let r=this.doc.applyChanges(e);this.checkpointer?.clear();for(let i of t)this.doc.markDirty(i);return this.dag.clear(),{inserted:r.inserted,removed:r.removed}}reseedAccumulators(){let e=this.engine.resetAccumulators();if(e.size===0)return;let n=this.doc.lineCount;for(let t=1;t<=n;t++){let r=this.dag.getWrites(t);if(r.size!==0){for(let i of r)if(e.has(i)){this.doc.markDirtyByLineNumber(t);break}}}}collectEvalResults(e,n){let t=[],r=new Map,i={tier1:0,tier2:0,tier3:0,skipped:0},s=this.doc.lineCount,a=Math.min(n,s);for(let l=e;l<=a;l++){let o=this.doc.getLineAt(l);if(!o)continue;let c=this.evaluateSingleLine(o,l,true);t.push(c),c.tier===1?i.tier1++:c.tier===2?i.tier2++:c.tier===3?i.tier3++:i.skipped++,c.results&&r.set(l,c.results.flat());}return {lines:t,resultMap:r,tierCounts:i}}hasDirtyLinesBefore(e){return this.doc.hasAnyDirtyVariableDefLineBefore(e)}evaluateSingleLine(e,n,t){let r={lineId:e.lineId,lineNumber:n};if(e.isEmpty||m(e.text))return e.isEmpty=true,this.doc.markClean(e.lineId),{...r,tier:0,result:null,error:null};let{expressions:i,inlineSolveCount:s}=this.extractExpressions(e);return i.length===0?(e.isEmpty=true,this.doc.markClean(e.lineId),{...r,tier:0,result:null,error:null}):e.dirty?t?this.evaluateTier1(e,n,i,s,r):e.bytecodes.length>0&&e.bytecodes.length===i.length&&!e.isVariableDef?{...r,tier:0,result:null,error:null}:this.evaluateTier3(e,n,i,s,r):t&&e.bytecodes.length>0?this.evaluateTier2(e,n,r):{...r,tier:0,result:null,error:null}}registerWithTags(e,n,t){let r=this.doc.getLineAt(e)?.text??"",i=a$1(r,n,t);this.dag.registerLine(e,i.reads,i.writes);}evaluateTier1(e,n,t,r,i){let s=[],a=[],l=new Set,o=new Set,c=false,d=null,h=null,f=false,g=false;for(let y of t){if(!y.trim())continue;let b=null,L;try{let m=this.engine.evaluateLine(n,y);b=[m],d=m,L=this.engine.getLineCache().get(n,y);}catch(m){let x=m instanceof Error?m.message:String(m);h||(h=x),f=true,b=null;}if(b&&b.some(m=>m.type===12)&&(g=true),b?s.push(b):s.push([P$1("eval_failed",h??"unknown error")]),L){a.push(L.bytecode);for(let m of L.readVariables)l.add(m);L.writeVariable&&(o.add(L.writeVariable),c=true);}else try{let{program:m,reads:x,writes:E}=this.engine.compileExpression(y);a.push(m);for(let I of x)l.add(I);for(let I of E)o.add(I);E.length>0&&(c=!0);}catch(m){if(a.push({opcodes:new Uint8Array(0),numbers:new Float64Array(0),strings:[],hasAsync:false}),m instanceof b$3&&m.context){let x=m.context.reads,E=m.context.writes;if(Array.isArray(x))for(let I of x)l.add(I);if(Array.isArray(E))for(let I of E)o.add(I);}}}let p=[...l],v=[...o];return f||g?(this.doc.updateLineCompiled(e.lineId,t,a,p,v,c,r),e.results=s,e.result=s[0]?.[0]??null,e.inlineSolveCount=r,e.expressions=t):this.doc.updateLineResult(e.lineId,s,a,t,p,v,c,r),this.registerWithTags(n,p,v),this.checkpointer&&v.length>0&&!f&&!g&&this.checkpointer.snapshot(n,e.lineId,v),{...i,tier:1,result:d,results:s,error:h}}evaluateTier2(e,n,t){if(e.bytecodes.length===0)return {...t,tier:0,result:null,error:null};let r=[],i=null,s=null,a=false;for(let l of e.bytecodes)if(l.opcodes.length!==0)try{let o=this.engine.executeCached(l,n);i=o,r.push([o]);}catch(o){let c=o instanceof Error?o.message:String(o);s||(s=c),a=true,r.push([P$1("exec_failed",c)]);}return this.registerWithTags(n,e.reads,e.writes),r.length>0?(e.results=r,e.result=r[0][0]??null):e.result!==null&&j$1()&&(e.results=e.results.map(l=>l.map(k$1)),e.result=e.results[0]?.[0]??k$1(e.result)),a&&this.doc.markDirty(e.lineId),{...t,tier:2,result:r.length>0?i:e.result,results:r.length>0?r:e.results,error:s}}evaluateTier3(e,n,t,r,i){let s=[],a=new Set,l=new Set,o=false,c=null,d=null,h=false,f=false;for(let v of t)if(v.trim())try{let{program:y,reads:b,writes:L}=this.engine.compileExpression(v);s.push(y);for(let m of b)a.add(m);for(let m of L)l.add(m);L.length>0&&(o=!0),L.length>0&&y.opcodes.length>0&&(c=this.engine.executeCached(y,n),c&&c.type===12&&(f=!0));}catch(y){let b=y instanceof Error?y.message:String(y);d||(d=b),h=true,s.push({opcodes:new Uint8Array(0),numbers:new Float64Array(0),strings:[],hasAsync:false});}let g=[...a],p=[...l];return this.doc.updateLineCompiled(e.lineId,t,s,g,p,o,r),this.registerWithTags(n,g,p),o&&c&&!h&&!f&&(e.results=[[c]],e.result=c,this.doc.markClean(e.lineId),this.checkpointer&&this.checkpointer.snapshot(n,e.lineId,p)),{...i,tier:3,result:c,results:o&&c&&!h&&!f?[[c]]:void 0,error:d}}restoreTo(e){this.checkpointer&&this.checkpointer.restoreTo(e);}getCheckpointer(){return this.checkpointer}getPageManager(){return this.pageManager}preloadNextPages(e){let n=this.pageManager.getPreloadTargets(e,this.doc);n.length!==0&&(this.compilationWorker||(this.compilationWorker=new R),this.compilationWorker.compileBatch(n).then(t=>{this.compilationWorker.storeResults(t,this.doc);}).catch(t=>{}));}collectInvisibleCompileTargets(e){let n=[],t=this.doc.lineCount,r=e.endLine+1;for(let i=r;i<=t;i++){let s=this.doc.getLineAt(i);if(!s||!s.dirty||s.bytecodes.length>0&&!s.isVariableDef||s.isEmpty||m(s.text))continue;let{expressions:a}=this.extractExpressions(s);if(a.length!==0)for(let l of a)l.trim()&&n.push({lineId:s.lineId,expression:l,textHash:s.textHash});}return n}extractExpressions(e){if(e.expressions.length>0)return {expressions:e.expressions,inlineSolveCount:e.inlineSolveCount};let n=e.text.trim();if(n.length===0)return {expressions:[],inlineSolveCount:0};let t=c$1.findInlineSolves(e.text);return t.length>0?{expressions:t.map(r=>r.expression),inlineSolveCount:t.length}:{expressions:[n],inlineSolveCount:0}}};function ie(u){return typeof u.unit=="string"?u.unit:String(u.value)}function ae(u,e,n$1={inputType:"markdown"}){let t=u.getDocumentModel(),r=new A;r.setDocument(e);let i=new w(r,u);try{let s=r.lineCount;i.evaluate({startLine:1,endLine:s});let a=[],l=[],o=0;for(let c=1;c<=s;c++){let d=r.getLineAt(c),h=d.text,f=o,g=o+h.length;o=g+1;let p=d.inlineSolveCount>0,v=[],y=null,b=null;d.isEmpty||(p?v=n(h,c).map((L,m)=>{let x=d.results[m]?.[0]??null;if(x&&x.type===13){let E=ie(x);return l.push(`Line ${c}: ${E}`),{...L,result:null,error:E}}return {...L,result:x,error:null}}):(y=d.expressions[0]??null,b=d.result??null,b&&b.type===13&&l.push(`Line ${c}: ${ie(b)}`))),a.push({lineNumber:c,text:h,startPosition:f,endPosition:g,isEmpty:d.isEmpty,hasInlineSolves:p,inlineSolves:v,expression:y,error:null,result:b});}return {lines:a,totalLines:s,errors:l}}finally{i.terminateWorker(),u.setDocumentModel(t);}}export{A as a,re as b,w as c,ae as d};//# sourceMappingURL=chunk-RVDO3SRI.js.map
|
|
3
|
-
//# sourceMappingURL=chunk-RVDO3SRI.js.map
|