solve-engine 2.6.0 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{PackageCompatibility-CCdud__Q.d.cts → PackageCompatibility-BG0iur4I.d.cts} +1 -1
- package/dist/{PackageCompatibility-4QtIErfx.d.ts → PackageCompatibility-BlIcQg5v.d.ts} +1 -1
- package/dist/{PackageRegistry-B7wkfSrY.d.ts → PackageRegistry-BJ0QQd3k.d.ts} +4 -4
- package/dist/{PackageRegistry-Hx85XD01.d.cts → PackageRegistry-DeGDZkNt.d.cts} +4 -4
- package/dist/{Parselet-CTNpfuEB.d.cts → Parselet-BSndkWEY.d.cts} +1 -1
- package/dist/{Parselet-DONNUpur.d.ts → Parselet-Blq8B0Gj.d.ts} +1 -1
- package/dist/{ScopeManager-BkbDXK_R.d.ts → ScopeManager-CF3cZUqW.d.ts} +2 -2
- package/dist/{ScopeManager-Cvgypcu4.d.cts → ScopeManager-D8nLv--u.d.cts} +2 -2
- package/dist/{VMCheckpoints-9zBQnTsN.d.ts → VMCheckpoints-BsR5_auF.d.ts} +2 -2
- package/dist/{VMCheckpoints-CBMGiSqw.d.cts → VMCheckpoints-Dy39SVHa.d.cts} +2 -2
- package/dist/{Value-D1XlMwe2.d.cts → Value-DCTqTSeP.d.cts} +22 -5
- package/dist/{Value-D1XlMwe2.d.ts → Value-DCTqTSeP.d.ts} +22 -5
- package/dist/{chunk-T52Y5G24.js → chunk-2V44X7GH.js} +4 -4
- package/dist/{chunk-T52Y5G24.js.map → chunk-2V44X7GH.js.map} +1 -1
- package/dist/{chunk-5FO4PDIG.js → chunk-3GAWAMT4.js} +2 -2
- package/dist/{chunk-5FO4PDIG.js.map → chunk-3GAWAMT4.js.map} +1 -1
- package/dist/{chunk-32GC2FHC.cjs → chunk-3HYO3QYW.cjs} +2 -2
- package/dist/{chunk-32GC2FHC.cjs.map → chunk-3HYO3QYW.cjs.map} +1 -1
- package/dist/{chunk-2JMFUQZH.js → chunk-44EOEWGP.js} +2 -2
- package/dist/chunk-44EOEWGP.js.map +1 -0
- package/dist/chunk-5TCSFTZD.js +2 -0
- package/dist/chunk-5TCSFTZD.js.map +1 -0
- package/dist/chunk-5TVI2UPZ.cjs +2 -0
- package/dist/chunk-5TVI2UPZ.cjs.map +1 -0
- package/dist/{chunk-CIQOK7Q4.cjs → chunk-6QRHN3I6.cjs} +2 -2
- package/dist/chunk-6QRHN3I6.cjs.map +1 -0
- package/dist/chunk-6TPXH6Y5.cjs +3 -0
- package/dist/chunk-6TPXH6Y5.cjs.map +1 -0
- package/dist/{chunk-ZOOVGXMK.cjs → chunk-75XDS65A.cjs} +2 -2
- package/dist/{chunk-ZOOVGXMK.cjs.map → chunk-75XDS65A.cjs.map} +1 -1
- package/dist/chunk-A33K7NY4.js +2 -0
- package/dist/chunk-A33K7NY4.js.map +1 -0
- package/dist/chunk-BKSKZA4W.cjs +2 -0
- package/dist/chunk-BKSKZA4W.cjs.map +1 -0
- package/dist/{chunk-VAGS5JS7.cjs → chunk-C65UDMWH.cjs} +2 -2
- package/dist/{chunk-VAGS5JS7.cjs.map → chunk-C65UDMWH.cjs.map} +1 -1
- package/dist/{chunk-OVQ3V4CG.cjs → chunk-CIENDLKV.cjs} +2 -2
- package/dist/{chunk-OVQ3V4CG.cjs.map → chunk-CIENDLKV.cjs.map} +1 -1
- package/dist/chunk-DLAKPF5T.js +2 -0
- package/dist/chunk-DLAKPF5T.js.map +1 -0
- package/dist/chunk-EOMHELRL.js +2 -0
- package/dist/chunk-EOMHELRL.js.map +1 -0
- package/dist/chunk-EURCQMZK.cjs +2 -0
- package/dist/{chunk-Z5KBBQOJ.cjs.map → chunk-EURCQMZK.cjs.map} +1 -1
- package/dist/{chunk-HOQU47MF.cjs → chunk-FNNIAJNY.cjs} +2 -2
- package/dist/{chunk-HOQU47MF.cjs.map → chunk-FNNIAJNY.cjs.map} +1 -1
- package/dist/{chunk-3AVWA5IZ.cjs → chunk-FUDVKPB7.cjs} +2 -2
- package/dist/{chunk-3AVWA5IZ.cjs.map → chunk-FUDVKPB7.cjs.map} +1 -1
- package/dist/{chunk-4XTD4B77.js → chunk-GAAXTO4K.js} +3 -3
- package/dist/{chunk-4XTD4B77.js.map → chunk-GAAXTO4K.js.map} +1 -1
- package/dist/{chunk-G7TBEQRQ.js → chunk-GMSBBLUQ.js} +2 -2
- package/dist/{chunk-G7TBEQRQ.js.map → chunk-GMSBBLUQ.js.map} +1 -1
- package/dist/chunk-HDVZZ7JN.js +3 -0
- package/dist/chunk-HDVZZ7JN.js.map +1 -0
- package/dist/{chunk-SWKYVSMP.js → chunk-JEFMG6CV.js} +2 -2
- package/dist/{chunk-SWKYVSMP.js.map → chunk-JEFMG6CV.js.map} +1 -1
- package/dist/{chunk-P6BLASAA.js → chunk-JQBG3LX4.js} +2 -2
- package/dist/{chunk-P6BLASAA.js.map → chunk-JQBG3LX4.js.map} +1 -1
- package/dist/{chunk-GHW2X7PS.js → chunk-KHCNMNZZ.js} +2 -2
- package/dist/{chunk-GHW2X7PS.js.map → chunk-KHCNMNZZ.js.map} +1 -1
- package/dist/chunk-LH7URJZT.js +3 -0
- package/dist/chunk-LH7URJZT.js.map +1 -0
- package/dist/{chunk-R7T3NGUE.cjs → chunk-MVP2YD4X.cjs} +2 -2
- package/dist/{chunk-R7T3NGUE.cjs.map → chunk-MVP2YD4X.cjs.map} +1 -1
- package/dist/{chunk-KSDTVFXA.cjs → chunk-OZ6SKIPD.cjs} +4 -4
- package/dist/{chunk-KSDTVFXA.cjs.map → chunk-OZ6SKIPD.cjs.map} +1 -1
- package/dist/chunk-PNDQRCRQ.cjs +2 -0
- package/dist/chunk-PNDQRCRQ.cjs.map +1 -0
- package/dist/{chunk-YAHGSBMC.js → chunk-QYO7IEPR.js} +2 -2
- package/dist/{chunk-YAHGSBMC.js.map → chunk-QYO7IEPR.js.map} +1 -1
- package/dist/{chunk-2LFLR3VZ.cjs → chunk-SNVPM27Q.cjs} +2 -2
- package/dist/{chunk-2LFLR3VZ.cjs.map → chunk-SNVPM27Q.cjs.map} +1 -1
- package/dist/{chunk-AR7L5OJ2.js → chunk-T3FBAFRR.js} +2 -2
- package/dist/{chunk-AR7L5OJ2.js.map → chunk-T3FBAFRR.js.map} +1 -1
- package/dist/chunk-TUBLMUTZ.cjs +2 -0
- package/dist/chunk-TUBLMUTZ.cjs.map +1 -0
- package/dist/chunk-U47GA63S.cjs +3 -0
- package/dist/chunk-U47GA63S.cjs.map +1 -0
- package/dist/{chunk-HMEZJXLX.js → chunk-UKDUFMT5.js} +2 -2
- package/dist/{chunk-HMEZJXLX.js.map → chunk-UKDUFMT5.js.map} +1 -1
- package/dist/chunk-UWAXJX5G.js +2 -0
- package/dist/chunk-UWAXJX5G.js.map +1 -0
- package/dist/chunk-WEAKI5V5.cjs +2 -0
- package/dist/chunk-WEAKI5V5.cjs.map +1 -0
- package/dist/{chunk-VYWGUMFW.js → chunk-WTEXBPBR.js} +2 -2
- package/dist/{chunk-VYWGUMFW.js.map → chunk-WTEXBPBR.js.map} +1 -1
- package/dist/{chunk-NXIMGB4S.cjs → chunk-WYIOXAFW.cjs} +2 -2
- package/dist/{chunk-NXIMGB4S.cjs.map → chunk-WYIOXAFW.cjs.map} +1 -1
- package/dist/{chunk-B4P4M4ZW.cjs → chunk-YORX7723.cjs} +3 -3
- package/dist/{chunk-B4P4M4ZW.cjs.map → chunk-YORX7723.cjs.map} +1 -1
- package/dist/chunk-YTCTUBR2.js +2 -0
- package/dist/{chunk-XTM4HTRB.js.map → chunk-YTCTUBR2.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 +7 -7
- package/dist/engine.d.ts +7 -7
- package/dist/engine.js +1 -1
- package/dist/format.cjs +1 -1
- package/dist/format.d.cts +1 -1
- package/dist/format.d.ts +1 -1
- package/dist/format.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +7 -7
- package/dist/index.d.ts +7 -7
- package/dist/index.js +1 -1
- package/dist/language.cjs +1 -1
- package/dist/language.d.cts +6 -6
- package/dist/language.d.ts +6 -6
- package/dist/language.js +1 -1
- package/dist/lexer.cjs +1 -1
- package/dist/lexer.js +1 -1
- package/dist/normalizer.cjs +1 -1
- package/dist/normalizer.js +1 -1
- package/dist/packages.cjs +1 -1
- package/dist/packages.d.cts +6 -6
- package/dist/packages.d.ts +6 -6
- package/dist/packages.js +1 -1
- package/dist/parser.cjs +1 -1
- package/dist/parser.d.cts +3 -3
- package/dist/parser.d.ts +3 -3
- package/dist/parser.js +1 -1
- package/dist/{pipeline-DY0rhgQG.d.cts → pipeline-BM8xc0CZ.d.cts} +3 -3
- package/dist/{pipeline-BH7BFOTJ.d.ts → pipeline-J2ehIm7t.d.ts} +3 -3
- package/dist/resolvers.d.cts +1 -1
- package/dist/resolvers.d.ts +1 -1
- package/dist/testing.cjs +2 -2
- package/dist/testing.d.cts +6 -6
- package/dist/testing.d.ts +6 -6
- package/dist/testing.js +1 -1
- package/dist/uom.cjs +1 -1
- package/dist/uom.d.cts +1 -1
- package/dist/uom.d.ts +1 -1
- package/dist/uom.js +1 -1
- package/dist/vm.cjs +1 -1
- package/dist/vm.d.cts +6 -6
- package/dist/vm.d.ts +6 -6
- package/dist/vm.js +1 -1
- package/dist/worker.cjs +2 -2
- package/dist/worker.cjs.map +1 -1
- package/dist/worker.d.cts +15 -5
- package/dist/worker.d.ts +15 -5
- package/dist/worker.js +2 -2
- package/dist/worker.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-2JMFUQZH.js.map +0 -1
- package/dist/chunk-3DD2RVBI.cjs +0 -3
- package/dist/chunk-3DD2RVBI.cjs.map +0 -1
- package/dist/chunk-5FGOIDLS.cjs +0 -2
- package/dist/chunk-5FGOIDLS.cjs.map +0 -1
- package/dist/chunk-5OIXCVB2.js +0 -3
- package/dist/chunk-5OIXCVB2.js.map +0 -1
- package/dist/chunk-CIQOK7Q4.cjs.map +0 -1
- package/dist/chunk-ESUN2THE.cjs +0 -2
- package/dist/chunk-ESUN2THE.cjs.map +0 -1
- package/dist/chunk-FWW3M36J.cjs +0 -2
- package/dist/chunk-FWW3M36J.cjs.map +0 -1
- package/dist/chunk-GKDZ7TSX.cjs +0 -2
- package/dist/chunk-GKDZ7TSX.cjs.map +0 -1
- package/dist/chunk-IANAMBJQ.cjs +0 -2
- package/dist/chunk-IANAMBJQ.cjs.map +0 -1
- package/dist/chunk-IO374J6Z.js +0 -2
- package/dist/chunk-IO374J6Z.js.map +0 -1
- package/dist/chunk-R2ENWQ76.js +0 -2
- package/dist/chunk-R2ENWQ76.js.map +0 -1
- package/dist/chunk-SOSUS2SK.cjs +0 -3
- package/dist/chunk-SOSUS2SK.cjs.map +0 -1
- package/dist/chunk-T4Y5XOT2.js +0 -3
- package/dist/chunk-T4Y5XOT2.js.map +0 -1
- package/dist/chunk-TRBXW6HW.js +0 -2
- package/dist/chunk-TRBXW6HW.js.map +0 -1
- package/dist/chunk-WGZ3FNHI.js +0 -2
- package/dist/chunk-WGZ3FNHI.js.map +0 -1
- package/dist/chunk-XTM4HTRB.js +0 -2
- package/dist/chunk-Z5KBBQOJ.cjs +0 -2
- package/dist/chunk-ZJPAPBP3.js +0 -2
- package/dist/chunk-ZJPAPBP3.js.map +0 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { a as PrecedenceParser, b as PrefixParselet, I as InfixParselet } from './Parselet-
|
|
2
|
-
import { V as Value, b as ValueType } from './Value-
|
|
1
|
+
import { a as PrecedenceParser, b as PrefixParselet, I as InfixParselet } from './Parselet-Blq8B0Gj.js';
|
|
2
|
+
import { V as Value, b as ValueType } from './Value-DCTqTSeP.js';
|
|
3
3
|
import { M as MarkdownLineType, L as Lexer, e as TokenCategory, c as LexerVocabulary } from './Lexer-DKMlj7Sy.js';
|
|
4
4
|
import { IAsyncResolver } from './resolvers.js';
|
|
5
5
|
import { T as TokenFusion, c as TokenNormalizer, a as NormalizerRule } from './TokenNormalizer-DCWdZjGz.js';
|
|
6
|
-
import { D as DependencyGraph, V as VM, a as DagSnapshot, b as EngineContext, S as ScopeManager, P as PluginFunctionHandler } from './ScopeManager-
|
|
6
|
+
import { D as DependencyGraph, V as VM, a as DagSnapshot, b as EngineContext, S as ScopeManager, P as PluginFunctionHandler } from './ScopeManager-CF3cZUqW.js';
|
|
7
7
|
import { a as BytecodeProgram } from './BytecodeBuilder-BGq9ZiO3.js';
|
|
8
8
|
import { QueryClient } from '@tanstack/query-core';
|
|
9
9
|
import { E as EngineError } from './EngineError-Ce1lPkjZ.js';
|
|
10
|
-
import { a as DiagnosticReportJSON, D as DiagnosticPipeline } from './pipeline-
|
|
10
|
+
import { a as DiagnosticReportJSON, D as DiagnosticPipeline } from './pipeline-J2ehIm7t.js';
|
|
11
11
|
import { T as Token } from './Token-CbP_OutD.js';
|
|
12
12
|
import { E as EngineConfigOverride, a as EngineConfig } from './Configuration-BGQn-cJ8.js';
|
|
13
13
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { a as PrecedenceParser, b as PrefixParselet, I as InfixParselet } from './Parselet-
|
|
2
|
-
import { V as Value, b as ValueType } from './Value-
|
|
1
|
+
import { a as PrecedenceParser, b as PrefixParselet, I as InfixParselet } from './Parselet-BSndkWEY.cjs';
|
|
2
|
+
import { V as Value, b as ValueType } from './Value-DCTqTSeP.cjs';
|
|
3
3
|
import { M as MarkdownLineType, L as Lexer, e as TokenCategory, c as LexerVocabulary } from './Lexer-B4C1qHXu.cjs';
|
|
4
4
|
import { IAsyncResolver } from './resolvers.cjs';
|
|
5
5
|
import { T as TokenFusion, c as TokenNormalizer, a as NormalizerRule } from './TokenNormalizer-DnlL7_8c.cjs';
|
|
6
|
-
import { D as DependencyGraph, V as VM, a as DagSnapshot, b as EngineContext, S as ScopeManager, P as PluginFunctionHandler } from './ScopeManager-
|
|
6
|
+
import { D as DependencyGraph, V as VM, a as DagSnapshot, b as EngineContext, S as ScopeManager, P as PluginFunctionHandler } from './ScopeManager-D8nLv--u.cjs';
|
|
7
7
|
import { a as BytecodeProgram } from './BytecodeBuilder-BGq9ZiO3.cjs';
|
|
8
8
|
import { QueryClient } from '@tanstack/query-core';
|
|
9
9
|
import { E as EngineError } from './EngineError-Ce1lPkjZ.cjs';
|
|
10
|
-
import { a as DiagnosticReportJSON, D as DiagnosticPipeline } from './pipeline-
|
|
10
|
+
import { a as DiagnosticReportJSON, D as DiagnosticPipeline } from './pipeline-BM8xc0CZ.cjs';
|
|
11
11
|
import { T as Token } from './Token-CbP_OutD.cjs';
|
|
12
12
|
import { E as EngineConfigOverride, a as EngineConfig } from './Configuration-BGQn-cJ8.cjs';
|
|
13
13
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { B as BytecodeBuilder } from './BytecodeBuilder-BGq9ZiO3.cjs';
|
|
2
2
|
import { T as Token } from './Token-CbP_OutD.cjs';
|
|
3
|
-
import { D as DiagnosticPipeline } from './pipeline-
|
|
3
|
+
import { D as DiagnosticPipeline } from './pipeline-BM8xc0CZ.cjs';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Dual-keyed ParseletRegistry, accepts both string token types and
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { B as BytecodeBuilder } from './BytecodeBuilder-BGq9ZiO3.js';
|
|
2
2
|
import { T as Token } from './Token-CbP_OutD.js';
|
|
3
|
-
import { D as DiagnosticPipeline } from './pipeline-
|
|
3
|
+
import { D as DiagnosticPipeline } from './pipeline-J2ehIm7t.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Dual-keyed ParseletRegistry, accepts both string token types and
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { V as Value } from './Value-
|
|
1
|
+
import { V as Value } from './Value-DCTqTSeP.js';
|
|
2
2
|
import { U as UserFunctionDef, A as AnonymousBodyDef, a as BytecodeProgram } from './BytecodeBuilder-BGq9ZiO3.js';
|
|
3
3
|
import { E as EngineError } from './EngineError-Ce1lPkjZ.js';
|
|
4
|
-
import { D as DiagnosticPipeline } from './pipeline-
|
|
4
|
+
import { D as DiagnosticPipeline } from './pipeline-J2ehIm7t.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Create a new VM instance with the given opcode registry and configurable limits.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { V as Value } from './Value-
|
|
1
|
+
import { V as Value } from './Value-DCTqTSeP.cjs';
|
|
2
2
|
import { U as UserFunctionDef, A as AnonymousBodyDef, a as BytecodeProgram } from './BytecodeBuilder-BGq9ZiO3.cjs';
|
|
3
3
|
import { E as EngineError } from './EngineError-Ce1lPkjZ.cjs';
|
|
4
|
-
import { D as DiagnosticPipeline } from './pipeline-
|
|
4
|
+
import { D as DiagnosticPipeline } from './pipeline-BM8xc0CZ.cjs';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Create a new VM instance with the given opcode registry and configurable limits.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { V as Value } from './Value-
|
|
2
|
-
import { V as VM } from './ScopeManager-
|
|
1
|
+
import { V as Value } from './Value-DCTqTSeP.js';
|
|
2
|
+
import { V as VM } from './ScopeManager-CF3cZUqW.js';
|
|
3
3
|
import { U as UserFunctionDef } from './BytecodeBuilder-BGq9ZiO3.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { V as Value } from './Value-
|
|
2
|
-
import { V as VM } from './ScopeManager-
|
|
1
|
+
import { V as Value } from './Value-DCTqTSeP.cjs';
|
|
2
|
+
import { V as VM } from './ScopeManager-D8nLv--u.cjs';
|
|
3
3
|
import { U as UserFunctionDef } from './BytecodeBuilder-BGq9ZiO3.cjs';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -273,6 +273,18 @@ interface ChartData {
|
|
|
273
273
|
/** The source expression, for a plot; absent for a sparkline. */
|
|
274
274
|
readonly expr?: string;
|
|
275
275
|
}
|
|
276
|
+
/**
|
|
277
|
+
* An IPv4 address and/or subnet prefix (issue #189). `addr` is the 32-bit
|
|
278
|
+
* address (`192.168.1.10` held as one number); `prefix` is the CIDR prefix
|
|
279
|
+
* length in `/24`. A bare address has no `prefix`, a bare `/24` has no `addr`,
|
|
280
|
+
* and a full block (`192.168.1.0/24`) has both. Lives in a {@link Value}'s
|
|
281
|
+
* `value` slot as the other struct payloads do; the formatter renders it as the
|
|
282
|
+
* dotted quad (plus `/prefix` when present).
|
|
283
|
+
*/
|
|
284
|
+
interface IpCidrData {
|
|
285
|
+
readonly addr?: number;
|
|
286
|
+
readonly prefix?: number;
|
|
287
|
+
}
|
|
276
288
|
/**
|
|
277
289
|
* Discriminated union tag for {@link Value} objects.
|
|
278
290
|
*
|
|
@@ -308,7 +320,9 @@ declare enum ValueType {
|
|
|
308
320
|
/** A per-person bill split (`split $180 between 4`). Value is {@link SplitData}. */
|
|
309
321
|
Split = 15,
|
|
310
322
|
/** A chart to draw (`[1,2,3] as sparkline`, `plot sin(x) from 0 to 2pi`). Value is {@link ChartData}. */
|
|
311
|
-
Chart = 16
|
|
323
|
+
Chart = 16,
|
|
324
|
+
/** An IPv4 address or subnet (`192.168.1.0/24`). Value is {@link IpCidrData}. */
|
|
325
|
+
IpCidr = 17
|
|
312
326
|
}
|
|
313
327
|
/**
|
|
314
328
|
* Universal runtime value for the solve-js VM.
|
|
@@ -324,7 +338,7 @@ declare enum ValueType {
|
|
|
324
338
|
declare class Value {
|
|
325
339
|
private _cachedNumber;
|
|
326
340
|
type: ValueType;
|
|
327
|
-
value: number | bigint | string | boolean | MatrixData | RangeData | ColourData | SplitData | ChartData | SymbolicNode;
|
|
341
|
+
value: number | bigint | string | boolean | MatrixData | RangeData | ColourData | SplitData | ChartData | IpCidrData | SymbolicNode;
|
|
328
342
|
unit?: string;
|
|
329
343
|
/** Set by async resolvers when a fetch timed out, the result is a fallback (typically 0). */
|
|
330
344
|
timedOut?: boolean;
|
|
@@ -393,12 +407,12 @@ declare class Value {
|
|
|
393
407
|
* by {@link recycle} alongside the other sidecars.
|
|
394
408
|
*/
|
|
395
409
|
decimalPlaces?: number;
|
|
396
|
-
constructor(type: ValueType, value: number | bigint | string | boolean | MatrixData | RangeData | ColourData | SplitData | ChartData | SymbolicNode, unit?: string);
|
|
410
|
+
constructor(type: ValueType, value: number | bigint | string | boolean | MatrixData | RangeData | ColourData | SplitData | ChartData | IpCidrData | SymbolicNode, unit?: string);
|
|
397
411
|
/**
|
|
398
412
|
* Phase 5.3: Reset all fields for arena reuse.
|
|
399
413
|
* Called by ValueArena.acquire(), zero allocation, just field assignment.
|
|
400
414
|
*/
|
|
401
|
-
recycle(type: ValueType, value: number | bigint | string | boolean | MatrixData | RangeData | ColourData | SplitData | ChartData | SymbolicNode, unit?: string): void;
|
|
415
|
+
recycle(type: ValueType, value: number | bigint | string | boolean | MatrixData | RangeData | ColourData | SplitData | ChartData | IpCidrData | SymbolicNode, unit?: string): void;
|
|
402
416
|
isNumber(): this is Value & {
|
|
403
417
|
value: number;
|
|
404
418
|
};
|
|
@@ -425,6 +439,9 @@ declare class Value {
|
|
|
425
439
|
isChart(): this is Value & {
|
|
426
440
|
value: ChartData;
|
|
427
441
|
};
|
|
442
|
+
isIpCidr(): this is Value & {
|
|
443
|
+
value: IpCidrData;
|
|
444
|
+
};
|
|
428
445
|
isSymbolic(): this is Value & {
|
|
429
446
|
value: SymbolicNode;
|
|
430
447
|
};
|
|
@@ -516,4 +533,4 @@ declare function colVectorValue(data: readonly number[]): Value;
|
|
|
516
533
|
/** Create a Range value, a first-class integer range `min:max`, both bounds inclusive. */
|
|
517
534
|
declare function rangeValue(min: number, max: number): Value;
|
|
518
535
|
|
|
519
|
-
export { type ColourData as C, type MatrixData as M, type RangeData as R, type SplitData as S, Value as V, type MatrixEntry as a, ValueType as b, bigIntValue as c, colVectorValue as d, rowVectorValue as e, type ChartData as f, type SymbolicNode as g, hexValue as h, type ColourFormat as i, matrixValue as m, numberValue as n, rangeValue as r, stringValue as s, uomValue as u };
|
|
536
|
+
export { type ColourData as C, type IpCidrData as I, type MatrixData as M, type RangeData as R, type SplitData as S, Value as V, type MatrixEntry as a, ValueType as b, bigIntValue as c, colVectorValue as d, rowVectorValue as e, type ChartData as f, type SymbolicNode as g, hexValue as h, type ColourFormat as i, matrixValue as m, numberValue as n, rangeValue as r, stringValue as s, uomValue as u };
|
|
@@ -273,6 +273,18 @@ interface ChartData {
|
|
|
273
273
|
/** The source expression, for a plot; absent for a sparkline. */
|
|
274
274
|
readonly expr?: string;
|
|
275
275
|
}
|
|
276
|
+
/**
|
|
277
|
+
* An IPv4 address and/or subnet prefix (issue #189). `addr` is the 32-bit
|
|
278
|
+
* address (`192.168.1.10` held as one number); `prefix` is the CIDR prefix
|
|
279
|
+
* length in `/24`. A bare address has no `prefix`, a bare `/24` has no `addr`,
|
|
280
|
+
* and a full block (`192.168.1.0/24`) has both. Lives in a {@link Value}'s
|
|
281
|
+
* `value` slot as the other struct payloads do; the formatter renders it as the
|
|
282
|
+
* dotted quad (plus `/prefix` when present).
|
|
283
|
+
*/
|
|
284
|
+
interface IpCidrData {
|
|
285
|
+
readonly addr?: number;
|
|
286
|
+
readonly prefix?: number;
|
|
287
|
+
}
|
|
276
288
|
/**
|
|
277
289
|
* Discriminated union tag for {@link Value} objects.
|
|
278
290
|
*
|
|
@@ -308,7 +320,9 @@ declare enum ValueType {
|
|
|
308
320
|
/** A per-person bill split (`split $180 between 4`). Value is {@link SplitData}. */
|
|
309
321
|
Split = 15,
|
|
310
322
|
/** A chart to draw (`[1,2,3] as sparkline`, `plot sin(x) from 0 to 2pi`). Value is {@link ChartData}. */
|
|
311
|
-
Chart = 16
|
|
323
|
+
Chart = 16,
|
|
324
|
+
/** An IPv4 address or subnet (`192.168.1.0/24`). Value is {@link IpCidrData}. */
|
|
325
|
+
IpCidr = 17
|
|
312
326
|
}
|
|
313
327
|
/**
|
|
314
328
|
* Universal runtime value for the solve-js VM.
|
|
@@ -324,7 +338,7 @@ declare enum ValueType {
|
|
|
324
338
|
declare class Value {
|
|
325
339
|
private _cachedNumber;
|
|
326
340
|
type: ValueType;
|
|
327
|
-
value: number | bigint | string | boolean | MatrixData | RangeData | ColourData | SplitData | ChartData | SymbolicNode;
|
|
341
|
+
value: number | bigint | string | boolean | MatrixData | RangeData | ColourData | SplitData | ChartData | IpCidrData | SymbolicNode;
|
|
328
342
|
unit?: string;
|
|
329
343
|
/** Set by async resolvers when a fetch timed out, the result is a fallback (typically 0). */
|
|
330
344
|
timedOut?: boolean;
|
|
@@ -393,12 +407,12 @@ declare class Value {
|
|
|
393
407
|
* by {@link recycle} alongside the other sidecars.
|
|
394
408
|
*/
|
|
395
409
|
decimalPlaces?: number;
|
|
396
|
-
constructor(type: ValueType, value: number | bigint | string | boolean | MatrixData | RangeData | ColourData | SplitData | ChartData | SymbolicNode, unit?: string);
|
|
410
|
+
constructor(type: ValueType, value: number | bigint | string | boolean | MatrixData | RangeData | ColourData | SplitData | ChartData | IpCidrData | SymbolicNode, unit?: string);
|
|
397
411
|
/**
|
|
398
412
|
* Phase 5.3: Reset all fields for arena reuse.
|
|
399
413
|
* Called by ValueArena.acquire(), zero allocation, just field assignment.
|
|
400
414
|
*/
|
|
401
|
-
recycle(type: ValueType, value: number | bigint | string | boolean | MatrixData | RangeData | ColourData | SplitData | ChartData | SymbolicNode, unit?: string): void;
|
|
415
|
+
recycle(type: ValueType, value: number | bigint | string | boolean | MatrixData | RangeData | ColourData | SplitData | ChartData | IpCidrData | SymbolicNode, unit?: string): void;
|
|
402
416
|
isNumber(): this is Value & {
|
|
403
417
|
value: number;
|
|
404
418
|
};
|
|
@@ -425,6 +439,9 @@ declare class Value {
|
|
|
425
439
|
isChart(): this is Value & {
|
|
426
440
|
value: ChartData;
|
|
427
441
|
};
|
|
442
|
+
isIpCidr(): this is Value & {
|
|
443
|
+
value: IpCidrData;
|
|
444
|
+
};
|
|
428
445
|
isSymbolic(): this is Value & {
|
|
429
446
|
value: SymbolicNode;
|
|
430
447
|
};
|
|
@@ -516,4 +533,4 @@ declare function colVectorValue(data: readonly number[]): Value;
|
|
|
516
533
|
/** Create a Range value, a first-class integer range `min:max`, both bounds inclusive. */
|
|
517
534
|
declare function rangeValue(min: number, max: number): Value;
|
|
518
535
|
|
|
519
|
-
export { type ColourData as C, type MatrixData as M, type RangeData as R, type SplitData as S, Value as V, type MatrixEntry as a, ValueType as b, bigIntValue as c, colVectorValue as d, rowVectorValue as e, type ChartData as f, type SymbolicNode as g, hexValue as h, type ColourFormat as i, matrixValue as m, numberValue as n, rangeValue as r, stringValue as s, uomValue as u };
|
|
536
|
+
export { type ColourData as C, type IpCidrData as I, type MatrixData as M, type RangeData as R, type SplitData as S, Value as V, type MatrixEntry as a, ValueType as b, bigIntValue as c, colVectorValue as d, rowVectorValue as e, type ChartData as f, type SymbolicNode as g, hexValue as h, type ColourFormat as i, matrixValue as m, numberValue as n, rangeValue as r, stringValue as s, uomValue as u };
|