@danielsimonjr/mathts-core 0.16.0 → 0.18.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.
@@ -0,0 +1,100 @@
1
+ /**
2
+ * The built-in unit table: one row per unit, each stating its scale to SI as an
3
+ * exact expression, plus the aliases that copy a row under another name.
4
+ *
5
+ * This is the only place a built-in unit's size is written. `Unit` builds its
6
+ * `UNITS` from these rows, the flat registry in `unit-definitions.ts` reads its
7
+ * multipliers from them, and every row's double is the exact scale rounded
8
+ * once (`exact-scale.ts`). A unit defined in terms of others says so
9
+ * (`psi: 'lbf/inch^2'`, `hp: '550*foot*lbf'`), so no hand-rounded literal can
10
+ * drift from its definition.
11
+ *
12
+ * Scale expressions: factors joined by `*`, optionally `/` and the
13
+ * denominator's factors (everything after the first `/` is the denominator);
14
+ * each factor is a decimal literal, `pi`, or a name in {@link NAMED_SCALES},
15
+ * with an optional integer power `^n`.
16
+ *
17
+ * Sources: the SI Brochure (9th ed., 2019); NIST SP 811 (2008) Appendix B and
18
+ * NIST SP 330 (2019); the International Yard and Pound Agreement (1959);
19
+ * IAU 2012 Resolution B2 (astronomical unit) and IAU 2015 Resolution B2
20
+ * (parsec); the Fifth International Conference on the Properties of Steam
21
+ * (1956) for the International Table calorie.
22
+ *
23
+ * @module @danielsimonjr/mathts-core/types/unit/unit-table
24
+ */
25
+ import { type ExactScale } from './exact-scale.js';
26
+ /** The base-dimension keys a row may name (the `BASE_UNITS` of the Unit class). */
27
+ export type UnitBaseKey = 'MASS' | 'LENGTH' | 'TIME' | 'CURRENT' | 'TEMPERATURE' | 'LUMINOUS_INTENSITY' | 'AMOUNT_OF_SUBSTANCE' | 'FORCE' | 'SURFACE' | 'VOLUME' | 'ENERGY' | 'POWER' | 'PRESSURE' | 'ELECTRIC_CHARGE' | 'ELECTRIC_CAPACITANCE' | 'ELECTRIC_POTENTIAL' | 'ELECTRIC_RESISTANCE' | 'ELECTRIC_INDUCTANCE' | 'ELECTRIC_CONDUCTANCE' | 'MAGNETIC_FLUX' | 'MAGNETIC_FLUX_DENSITY' | 'FREQUENCY' | 'ANGLE' | 'BIT' | 'SOLID_ANGLE';
28
+ /** The prefix-set keys a row may name (the `PREFIXES` of the Unit class). */
29
+ export type UnitPrefixSetKey = 'NONE' | 'SHORT' | 'LONG' | 'SHORTLONG' | 'SQUARED' | 'CUBIC' | 'BINARY_SHORT' | 'BINARY_LONG' | 'BTU' | 'SHORT_UP_ONLY';
30
+ /** One built-in unit. */
31
+ export interface UnitRow {
32
+ /** The base dimension. */
33
+ readonly base: UnitBaseKey;
34
+ /** The prefixes the unit takes. */
35
+ readonly prefixes: UnitPrefixSetKey;
36
+ /** The exact scale to SI, as a scale expression. */
37
+ readonly scale: string;
38
+ /** Additive offset in the unit's own degrees, for an affine scale: SI = (x + offset) × scale. */
39
+ readonly offset?: string;
40
+ /** The unit's display name, when it differs from its key. */
41
+ readonly name?: string;
42
+ /** Prefer this unit in the reciprocal of its base (Hz for 1/s). */
43
+ readonly reciprocal?: true;
44
+ /** The value is the imaginary unit times the scale (reactive power, VAR). */
45
+ readonly imaginary?: true;
46
+ }
47
+ /** One prefix: the factor `radix^power`, and whether `toBest` may pick it. */
48
+ export interface UnitPrefix {
49
+ /** 10 for an SI prefix, 1024 for an IEC binary prefix. */
50
+ readonly radix: 10 | 1024;
51
+ /** The power of the radix. */
52
+ readonly power: number;
53
+ /** Whether automatic prefix selection may use it (false for da, h, d, c). */
54
+ readonly scientific: boolean;
55
+ }
56
+ type PrefixSet = Readonly<Record<string, UnitPrefix>>;
57
+ /**
58
+ * The prefix sets a row's `prefixes` names, each prefix stated as `radix^power`.
59
+ * `SQUARED` and `CUBIC` are the SI prefixes applied to an area or volume unit
60
+ * (cm² = 10⁻⁴ m²). The binary sets are the SI prefixes from kilo to yotta
61
+ * plus the IEC prefixes; `SHORT_UP_ONLY` (ly, pc) is the SI prefixes from k up.
62
+ */
63
+ export declare const UNIT_PREFIX_SETS: Readonly<Record<UnitPrefixSetKey, PrefixSet>>;
64
+ /** The exact factor of a prefix (`radix^power`). */
65
+ export declare function unitPrefixExactScale(prefix: UnitPrefix): ExactScale;
66
+ /**
67
+ * The prefix `name` in the set a built-in unit takes, or undefined when the
68
+ * unit is unknown or does not take that prefix. `''` is the unprefixed unit.
69
+ */
70
+ export declare function getUnitPrefix(unit: string, name: string): UnitPrefix | undefined;
71
+ /**
72
+ * Named exact scales the rows share. Each is a defining value or follows from
73
+ * named ones, so a derived unit cites its definition instead of a decimal.
74
+ */
75
+ export declare const NAMED_SCALES: Readonly<Record<string, string>>;
76
+ /** The built-in units, keyed by the name a unit text spells. */
77
+ export declare const UNIT_ROWS: Readonly<Record<string, UnitRow>>;
78
+ /**
79
+ * Further spellings of a row (plurals, long names, symbols). Each copies the
80
+ * row it names, so it has that row's scale, dimension and prefixes.
81
+ */
82
+ export declare const UNIT_ROW_ALIASES: Readonly<Record<string, string>>;
83
+ /** The exact value of a name in {@link NAMED_SCALES}, or undefined for an unknown name. */
84
+ export declare function namedExactScale(name: string): ExactScale | undefined;
85
+ /** The exact value of a scale expression over {@link NAMED_SCALES}. */
86
+ export declare function readUnitScale(expression: string): ExactScale;
87
+ /** The table row a built-in name or alias spells, or undefined. */
88
+ export declare function getUnitRow(name: string): UnitRow | undefined;
89
+ /** The exact scale of a built-in unit name or alias (no prefix), or undefined. */
90
+ export declare function unitRowExactScale(name: string): ExactScale | undefined;
91
+ /** The double a built-in unit's scale rounds to, or undefined for an unknown name. */
92
+ export declare function unitRowValue(name: string): number | undefined;
93
+ /**
94
+ * The additive offset of a built-in affine unit, exactly, in the unit's own
95
+ * degrees: SI = (x + offset) × scale (`degF`: 459.67, `degC`: 273.15). Zero
96
+ * for a unit with no offset; undefined for an unknown name.
97
+ */
98
+ export declare function unitRowExactOffset(name: string): ExactScale | undefined;
99
+ export {};
100
+ //# sourceMappingURL=unit-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unit-table.d.ts","sourceRoot":"","sources":["../../../src/types/unit/unit-table.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@
8
8
  *
9
9
  * @module @danielsimonjr/mathts-core/types/unit/unit-types
10
10
  */
11
+ import type { ExactScale } from './exact-scale.js';
11
12
  import type { Complex } from '../../is.js';
12
13
  /** A complex number value (re/im pair), as produced by the `Complex` type. */
13
14
  export type ComplexValue = Complex;
@@ -49,8 +50,8 @@ export interface BaseUnitDef {
49
50
  /**
50
51
  * A unit definition entry in the UNITS table. `dimensions` and `base.key` are
51
52
  * populated after the literal is created (see the module-init loops), hence
52
- * optional; `value` is `null` for angle units until `calculateAngleValues`
53
- * runs at module init, before any unit is parsed.
53
+ * optional. A built-in unit's `value` is its exact scale (`exact`) rounded
54
+ * once; a unit made with `createUnit` has no `exact` and converts by floats.
54
55
  */
55
56
  export interface UnitDef {
56
57
  name: string;
@@ -60,6 +61,10 @@ export interface UnitDef {
60
61
  offset: number;
61
62
  dimensions?: number[];
62
63
  reciprocal?: boolean;
64
+ /** The exact scale to SI, from the unit table. Absent for a `createUnit` unit and for VAR. */
65
+ exact?: ExactScale;
66
+ /** The exact `offset`, present whenever `exact` is. */
67
+ exactOffset?: ExactScale;
63
68
  }
64
69
  /** A single component of a Unit's unit list (e.g. the `m` in `m/s^2`). */
65
70
  export interface UnitComponent {
@@ -128,7 +133,7 @@ export interface BigNumberConstructor {
128
133
  }
129
134
  /** Constructor for Fraction values. */
130
135
  export interface FractionConstructor {
131
- new (value: Numeric | string, denominator?: number): FractionValue;
136
+ new (value: Numeric | string | bigint, denominator?: number | bigint): FractionValue;
132
137
  }
133
138
  /** `subtractScalar` is polymorphic: it also subtracts two Units (in splitUnit). */
134
139
  export interface SubtractScalar {
@@ -169,6 +174,12 @@ export interface UnitDependencies {
169
174
  /** An instance of Unit (the prototype methods + per-instance fields). */
170
175
  export interface UnitInstance {
171
176
  value: Numeric | null;
177
+ /**
178
+ * Exact SI quantity for a number reading that was normalized through exact
179
+ * scales. Present so A→B conversions can round once. A reader uses it only
180
+ * while `value` is still the double this quantity rounds to.
181
+ */
182
+ _exactSI?: ExactScale;
172
183
  units: UnitComponent[];
173
184
  dimensions: number[];
174
185
  fixPrefix: boolean;
@@ -179,6 +190,8 @@ export interface UnitInstance {
179
190
  clone(): UnitInstance;
180
191
  valueType(): string;
181
192
  _isDerived(): boolean;
193
+ /** The exact SI scale of the unit list, or null when a component has none. */
194
+ exactScale(): ExactScale | null;
182
195
  _normalize(value: Numeric | null | undefined): Numeric | null;
183
196
  _denormalize(value: Numeric | null, prefixValue?: Numeric): Numeric | null;
184
197
  hasBase(base: BaseUnitDef | string | undefined): boolean;
@@ -218,6 +231,8 @@ export interface UnitConstructor {
218
231
  setUnitSystem(name: string): void;
219
232
  getUnitSystem(): string | undefined;
220
233
  createUnit(obj: Record<string, unknown>, options?: CreateUnitOptions): UnitInstance | undefined;
234
+ /** The exact SI scale of a valueless unit text, or null when it has none. */
235
+ exactScale(valuelessUnit: string): ExactScale | null;
221
236
  createUnitSingle(name: string, obj?: unknown): UnitInstance;
222
237
  deleteUnit(name: string): void;
223
238
  _getNumberConverter(type: string): ConverterFn;
@@ -1 +1 @@
1
- {"version":3,"file":"unit-types.d.ts","sourceRoot":"","sources":["../../../src/types/unit/unit-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unit-types.d.ts","sourceRoot":"","sources":["../../../src/types/unit/unit-types.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,10 @@
6
6
  * exponents. Temperatures carry an additive offset for the K↔°C↔°F
7
7
  * conversions.
8
8
  *
9
+ * The factors and offsets are not written here: each derived entry reads the
10
+ * row of the one built-in unit table (`unit/unit-table.ts`) that `Unit` also
11
+ * builds from, so this flat registry and `Unit` cannot disagree.
12
+ *
9
13
  * @module @danielsimonjr/mathts-core/types/unit-definitions
10
14
  */
11
15
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"unit-definitions.d.ts","sourceRoot":"","sources":["../../src/types/unit-definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,UAQ1B,CAAC;AAEH;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAU5D;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,wEAAwE;IACxE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAU9C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAoHjD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAuC,CAAC;AAEtF;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM/C,CAAC;AAEF;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAE5D"}
1
+ {"version":3,"file":"unit-definitions.d.ts","sourceRoot":"","sources":["../../src/types/unit-definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,UAQ1B,CAAC;AAEH;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAU5D;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,wEAAwE;IACxE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAU9C,CAAC;AAmBF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAwFjD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAuC,CAAC;AAEtF;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM/C,CAAC;AAEF;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAE5D"}
@@ -2,13 +2,15 @@
2
2
  * SI prefixes for the Unit type.
3
3
  *
4
4
  * Maps single- and double-letter prefixes to their multiplicative factor in
5
- * base units. The full SI prefix range (from y = 1e-24 to Y = 1e24) is
5
+ * base units. The full SI prefix range (from q = 1e-30 to Q = 1e30) is
6
6
  * supported, plus the binary prefixes used for digital information units.
7
7
  *
8
8
  * @module @danielsimonjr/mathts-core/types/unit-prefixes
9
9
  */
10
10
  /**
11
- * Standard SI prefixes (mass/length/energy/etc.).
11
+ * Standard SI prefixes (mass/length/energy/etc.), from quecto (q, 1e-30) to
12
+ * quetta (Q, 1e30), read from the unit table's `SHORT` prefix set, plus `µ`
13
+ * as the Unicode spelling of micro beside the ASCII `u`.
12
14
  *
13
15
  * Note the ambiguity-resolution priority: longer prefixes (e.g. `da`)
14
16
  * must be tried before single-letter ones (`d`, `a`) in parsers.
@@ -1 +1 @@
1
- {"version":3,"file":"unit-prefixes.d.ts","sourceRoot":"","sources":["../../src/types/unit-prefixes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAyB9C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,MAAM,CAkB/C,CAAC;AAEF;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE1D"}
1
+ {"version":3,"file":"unit-prefixes.d.ts","sourceRoot":"","sources":["../../src/types/unit-prefixes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAS3C,CAAC;AAEL;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,MAAM,CAkB/C,CAAC;AAEF;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE1D"}
@@ -21,6 +21,8 @@
21
21
  */
22
22
  export { Unit, createUnitClass, unitDependencies } from './unit/index.js';
23
23
  export type { UnitInstance } from './unit/index.js';
24
+ export { UNIT_EXACT_SCALE, PI_EXACT_SCALE, LN2_EXACT_SCALE, NAMED_IRRATIONALS, namedIrrationalScale, irrationalPower, isRationalScale, decimalExactScale, exactScaleOf, binaryExactScale, ratioExactScale, multiplyExactScales, divideExactScales, powerExactScale, addExactScales, exactScalesEqual, exactScaleToNumber, clearExactScaleNumberCache, exactScaleNumberCacheSize, formatExactScale, readScaleExpression, NAMED_SCALES, UNIT_ROWS, UNIT_ROW_ALIASES, namedExactScale, readUnitScale, getUnitRow, unitRowExactScale, unitRowValue, unitRowExactOffset, UNIT_PREFIX_SETS, unitPrefixExactScale, getUnitPrefix, } from './unit/index.js';
25
+ export type { ExactScale, IrrationalName, IrrationalPowers, UnitRow, UnitBaseKey, UnitPrefixSetKey, UnitPrefix, } from './unit/index.js';
24
26
  export { DimensionMismatchError, UnitParseError } from './unit/errors.js';
25
27
  export { isUnit } from '../is.js';
26
28
  export { DIMENSIONLESS, dim } from './unit-definitions.js';
@@ -1 +1 @@
1
- {"version":3,"file":"unit.d.ts","sourceRoot":"","sources":["../../src/types/unit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAG1E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGjE,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"unit.d.ts","sourceRoot":"","sources":["../../src/types/unit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,UAAU,GACX,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAG1E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGjE,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danielsimonjr/mathts-core",
3
- "version": "0.16.0",
3
+ "version": "0.18.0",
4
4
  "description": "Core types, utilities, and configuration for MathTS",
5
5
  "author": "Daniel Simon Jr.",
6
6
  "license": "MIT",