@danielsimonjr/mathts-core 0.15.4 → 0.16.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.
@@ -9,7 +9,7 @@
9
9
  *
10
10
  * @packageDocumentation
11
11
  */
12
- import type { TypedFunction, TypedInstance, SignatureFunction, ReferTo, ReferToSelf } from '../typed/mathts-typed.js';
12
+ import type { TypedFunction, TypedInstance, SignatureRecord } from '../typed/mathts-typed.js';
13
13
  /**
14
14
  * Configuration for MathTS instance
15
15
  */
@@ -131,7 +131,7 @@ export declare function createFactory<T = TypedFunction>(name: string, dependenc
131
131
  * });
132
132
  * ```
133
133
  */
134
- export declare function createTypedFunction(name: string, signatures: Record<string, SignatureFunction | ReferTo | ReferToSelf>): TypedFunction;
134
+ export declare function createTypedFunction(name: string, signatures: SignatureRecord): TypedFunction;
135
135
  export declare const registry: FunctionRegistry;
136
136
  export declare const math: {
137
137
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/factory/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,OAAO,EACP,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAGlC;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,0BAA0B;IAC1B,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC3B,8BAA8B;IAC9B,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;IAC5C,oCAAoC;IACpC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC;IACjD,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,eAAe,EAAE,OAAO,CAAC;IACzB,sCAAsC;IACtC,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,YAW5B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,aAAa;IAChD,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,2DAA2D;IAC3D,OAAO,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,2BAA2B;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,8BAA8B;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,kDAAkD;IAClD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,CAAC,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;AAE/E;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAsC;IACvD,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,QAAQ,CAAqB;IAErC,YAAY,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM,EAAE,KAAK,GAAE,aAAyB,EAK/E;IAED;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAEvC;IAED;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,eAAe,EAAE,GAAG,IAAI,CAI9C;IAED;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAoC/B;IAED;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzB;IAED;;OAEG;IACH,KAAK,IAAI,MAAM,EAAE,CAEhB;IAED;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAIhD;IAED;;OAEG;IACH,SAAS,IAAI,YAAY,CAExB;CACF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,aAAa,EAC7C,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EAAE,EACtB,OAAO,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,CAAC,GACxC,eAAe,CAAC,CAAC,CAAC,CAEpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,GAAG,WAAW,CAAC,GACpE,aAAa,CAEf;AAGD,eAAO,MAAM,QAAQ,kBAAyB,CAAC;AAG/C,eAAO,MAAM,IAAI;IACf;;OAEG;IACH,GAAG,SAAS,MAAM;IAElB;;OAEG;IACH,QAAQ,YAAY,eAAe;IAEnC;;OAEG;IACH,MAAM;IAEN;;OAEG;IACH,SAAS,WAAW,OAAO,CAAC,YAAY,CAAC;CAC1C,CAAC"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/factory/factory.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -17,6 +17,8 @@ export { addScalar, subtractScalar, multiplyScalar, divideScalar, pow, abs, fix,
17
17
  export type { NumericScalar } from './arithmetic/scalar.js';
18
18
  export { Unit, isUnit as isUnitValue, DimensionMismatchError, UnitParseError, DIMENSIONLESS, dim, } from './types/unit.js';
19
19
  export type { Dimensions, UnitDef, UnitInstance } from './types/unit.js';
20
+ export { UNIT_DIMENSION_LENGTH, SI_DIMENSION_LENGTH, toSiDimensions, toSiDimensionVector, fromSiDimensions, fromSiDimensionVector, } from './types/unit.js';
21
+ export type { SiDimensionVector, SiDimensionOptions } from './types/unit.js';
20
22
  export { BASE_UNITS, DERIVED_UNITS, ALL_UNITS, UNIT_ALIASES, getUnitDef, } from './types/unit-definitions.js';
21
23
  export { SI_PREFIXES, BEST_PREFIXES, getPrefix } from './types/unit-prefixes.js';
22
24
  export { mathTyped, createMathTSTyped, typed, create, createTypedFunction, TypeRegistry, MATHTS_TYPES, MATHTS_CONVERSIONS, isNumber, isBoolean, isString, isBigInt, isArray, isFunction, isObject, isNull, isUndefined, isMatrix, isDenseMatrix, isSparseMatrix, isUnit, initTypedWasm, isTypedWasmAvailable, registerNativeTypes, } from './typed/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -33,7 +33,7 @@ import {
33
33
  isBigInt,
34
34
  isBigNumber,
35
35
  isBigNumber2,
36
- isComplex,
36
+ isComplex2 as isComplex,
37
37
  isFraction2 as isFraction,
38
38
  isNumeric,
39
39
  isUnit,
@@ -44,7 +44,7 @@ import {
44
44
  round,
45
45
  sign,
46
46
  subtractScalar
47
- } from "./chunk-L5MWGOLB.js";
47
+ } from "./chunk-MBKU4LYX.js";
48
48
 
49
49
  // src/types/matrix/Range.ts
50
50
  var name = "Range";
@@ -653,6 +653,93 @@ function getUnitDef(name2) {
653
653
  return ALL_UNITS[name2];
654
654
  }
655
655
 
656
+ // src/types/si-dimension-vector.ts
657
+ var UNIT_DIMENSION_LENGTH = 10;
658
+ var SI_DIMENSION_LENGTH = 7;
659
+ var EXTRA_INDEXES = [7, 8, 9];
660
+ function assertFinite(label, value) {
661
+ if (typeof value !== "number" || !Number.isFinite(value)) {
662
+ throw new TypeError(`${label} must be a finite number`);
663
+ }
664
+ }
665
+ function assertUnitVector(vector) {
666
+ if (vector.length !== UNIT_DIMENSION_LENGTH) {
667
+ throw new TypeError(`dimension vector must have length ${UNIT_DIMENSION_LENGTH}`);
668
+ }
669
+ for (let i = 0; i < vector.length; i++) {
670
+ assertFinite(`dimension vector[${i}]`, vector[i]);
671
+ }
672
+ }
673
+ function rejectExtra(vector, options) {
674
+ if (options?.ignoreExtra) return;
675
+ for (const index of EXTRA_INDEXES) {
676
+ if (vector[index] !== 0) {
677
+ throw new RangeError(
678
+ `dimension vector has a nonzero angle, bit, or solid-angle exponent at index ${index}; pass { ignoreExtra: true } to drop it`
679
+ );
680
+ }
681
+ }
682
+ }
683
+ function toSiDimensions(vector, options) {
684
+ assertUnitVector(vector);
685
+ rejectExtra(vector, options);
686
+ return {
687
+ length: vector[1],
688
+ mass: vector[0],
689
+ time: vector[2],
690
+ current: vector[3],
691
+ temperature: vector[4],
692
+ amount: vector[6],
693
+ luminosity: vector[5]
694
+ };
695
+ }
696
+ function toSiDimensionVector(vector, options) {
697
+ const d = toSiDimensions(vector, options);
698
+ return [d.length, d.mass, d.time, d.current, d.temperature, d.amount, d.luminosity];
699
+ }
700
+ function fromSiDimensions(dimensions) {
701
+ const fields = [
702
+ ["mass", dimensions.mass],
703
+ ["length", dimensions.length],
704
+ ["time", dimensions.time],
705
+ ["current", dimensions.current],
706
+ ["temperature", dimensions.temperature],
707
+ ["luminosity", dimensions.luminosity],
708
+ ["amount", dimensions.amount]
709
+ ];
710
+ for (const [name2, value] of fields) {
711
+ assertFinite(`dimensions.${name2}`, value);
712
+ }
713
+ return [
714
+ dimensions.mass,
715
+ dimensions.length,
716
+ dimensions.time,
717
+ dimensions.current,
718
+ dimensions.temperature,
719
+ dimensions.luminosity,
720
+ dimensions.amount,
721
+ 0,
722
+ 0,
723
+ 0
724
+ ];
725
+ }
726
+ function fromSiDimensionVector(vector) {
727
+ if (vector.length !== SI_DIMENSION_LENGTH) {
728
+ throw new TypeError(
729
+ `SI dimension vector must have length ${SI_DIMENSION_LENGTH} [L, M, T, I, \u0398, N, J]`
730
+ );
731
+ }
732
+ return fromSiDimensions({
733
+ length: vector[0],
734
+ mass: vector[1],
735
+ time: vector[2],
736
+ current: vector[3],
737
+ temperature: vector[4],
738
+ amount: vector[5],
739
+ luminosity: vector[6]
740
+ });
741
+ }
742
+
656
743
  // src/types/unit-prefixes.ts
657
744
  var SI_PREFIXES = {
658
745
  // Positive powers of ten
@@ -1386,7 +1473,7 @@ function neumaierCumsum(xs, out) {
1386
1473
  }
1387
1474
 
1388
1475
  // src/index.ts
1389
- var VERSION = "0.15.4";
1476
+ var VERSION = "0.16.0";
1390
1477
  export {
1391
1478
  ALL_UNITS,
1392
1479
  BASE_UNITS,
@@ -1429,12 +1516,14 @@ export {
1429
1516
  PHI,
1430
1517
  PI,
1431
1518
  Range,
1519
+ SI_DIMENSION_LENGTH,
1432
1520
  SI_PREFIXES,
1433
1521
  SQRT1_2,
1434
1522
  SQRT2,
1435
1523
  TAU,
1436
1524
  TypeRegistry,
1437
1525
  UNIT_ALIASES,
1526
+ UNIT_DIMENSION_LENGTH,
1438
1527
  Unit,
1439
1528
  UnitParseError,
1440
1529
  VERSION,
@@ -1449,6 +1538,8 @@ export {
1449
1538
  divideScalar,
1450
1539
  equal,
1451
1540
  fix,
1541
+ fromSiDimensionVector,
1542
+ fromSiDimensions,
1452
1543
  getPrefix,
1453
1544
  getUnitDef,
1454
1545
  initTypedWasm,
@@ -1488,5 +1579,7 @@ export {
1488
1579
  scaledDistance,
1489
1580
  subtractScalar,
1490
1581
  sumSquaredDeviations,
1582
+ toSiDimensionVector,
1583
+ toSiDimensions,
1491
1584
  typed
1492
1585
  };
package/dist/internal.js CHANGED
@@ -29,7 +29,7 @@ import {
29
29
  isBigNumber,
30
30
  isBoolean,
31
31
  isCollection,
32
- isComplex2 as isComplex,
32
+ isComplex,
33
33
  isDate,
34
34
  isDenseMatrix,
35
35
  isFactory,
@@ -78,7 +78,7 @@ import {
78
78
  typeOf,
79
79
  unitDependencies,
80
80
  warnOnce
81
- } from "./chunk-L5MWGOLB.js";
81
+ } from "./chunk-MBKU4LYX.js";
82
82
 
83
83
  // src/error/DimensionError.ts
84
84
  var DimensionError = class _DimensionError extends RangeError {
@@ -169,8 +169,11 @@ function createIndexError(index, min, max) {
169
169
  }
170
170
 
171
171
  // src/bignumber-formatter.ts
172
+ function ctorOf(n) {
173
+ return n.constructor;
174
+ }
172
175
  function formatBigNumberToBase(n, base, size) {
173
- const BigNumberCtor = n.constructor;
176
+ const BigNumberCtor = ctorOf(n);
174
177
  const big2 = new BigNumberCtor(2);
175
178
  let suffix = "";
176
179
  if (size) {
@@ -276,7 +279,7 @@ function toEngineering2(value, precision) {
276
279
  const valueWithoutExp = value.mul(Math.pow(10, -newExp));
277
280
  let valueStr = valueWithoutExp.toPrecision(precision);
278
281
  if (valueStr.includes("e")) {
279
- const BigNumberCtor = value.constructor;
282
+ const BigNumberCtor = ctorOf(value);
280
283
  valueStr = new BigNumberCtor(valueStr).toFixed();
281
284
  }
282
285
  return valueStr + "e" + (e >= 0 ? "+" : "") + newExp.toString();
@@ -46,6 +46,10 @@ export type { TypedFunction, TypedInstance, SignatureFunction, ReferTo, ReferToS
46
46
  * parameters — every function is assignable to it because `never` is
47
47
  * assignable to every parameter type. This is exactly the set of values
48
48
  * typed-function genuinely accepts when declaring signatures.
49
+ *
50
+ * Defined here, not imported from `typed-function`: consumers resolve that module
51
+ * to the published package, whose declarations do not have this name. (The
52
+ * in-repo ambient declarations for typed-function mirror it for the monorepo build.)
49
53
  */
50
54
  export type SignatureImpl = (...args: never[]) => unknown;
51
55
  /** Signature record accepted by the MathTS typed factory (see {@link SignatureImpl}). */
@@ -241,6 +245,6 @@ export declare class TypeRegistry {
241
245
  * Helper to create a typed function with the MathTS typed instance
242
246
  */
243
247
  export declare function createTypedFunction<T>(name: string, signatures: {
244
- [signature: string]: (...args: unknown[]) => T;
248
+ [signature: string]: (...args: never[]) => T;
245
249
  }, typedInstance?: TypedInstance): (...args: unknown[]) => T;
246
250
  //# sourceMappingURL=mathts-typed.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mathts-typed.d.ts","sourceRoot":"","sources":["../../src/typed/mathts-typed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mathts-typed.d.ts","sourceRoot":"","sources":["../../src/typed/mathts-typed.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Convert between the length-10 unit exponent vector and the 7 SI base
3
+ * dimensions.
4
+ *
5
+ * `Unit` stores exponents in this order (see `BASE_DIMENSIONS` in
6
+ * `types/unit/Unit.ts`):
7
+ *
8
+ * 0 MASS, 1 LENGTH, 2 TIME, 3 CURRENT, 4 TEMPERATURE,
9
+ * 5 LUMINOUS_INTENSITY, 6 AMOUNT_OF_SUBSTANCE,
10
+ * 7 ANGLE, 8 BIT, 9 SOLID_ANGLE
11
+ *
12
+ * The 7-vector used by dimensional analysis (BIPM base quantities, and the
13
+ * order UPT's Buckingham routine uses) is
14
+ *
15
+ * [L, M, T, I, Θ, N, J]
16
+ *
17
+ * Angle, bit, and solid angle have no place in that vector. Conversion
18
+ * throws when any of those three exponents is nonzero, unless
19
+ * `ignoreExtra` is set.
20
+ *
21
+ * @packageDocumentation
22
+ */
23
+ import type { Dimensions } from './unit-definitions.js';
24
+ /** Length of a `Unit` exponent vector. */
25
+ export declare const UNIT_DIMENSION_LENGTH = 10;
26
+ /** Length of the SI base-dimension tuple `[L, M, T, I, Θ, N, J]`. */
27
+ export declare const SI_DIMENSION_LENGTH = 7;
28
+ /**
29
+ * SI base-dimension tuple in the order length, mass, time, current,
30
+ * temperature, amount, luminosity.
31
+ */
32
+ export type SiDimensionVector = readonly [number, number, number, number, number, number, number];
33
+ /** Options for {@link toSiDimensions} and {@link toSiDimensionVector}. */
34
+ export interface SiDimensionOptions {
35
+ /**
36
+ * Drop nonzero angle, bit, and solid-angle exponents instead of throwing.
37
+ * They are not represented in the 7-vector.
38
+ */
39
+ ignoreExtra?: boolean;
40
+ }
41
+ /**
42
+ * Map a length-10 unit exponent vector onto the {@link Dimensions} record.
43
+ */
44
+ export declare function toSiDimensions(vector: readonly number[], options?: SiDimensionOptions): Dimensions;
45
+ /**
46
+ * Map a length-10 unit exponent vector onto `[L, M, T, I, Θ, N, J]`.
47
+ */
48
+ export declare function toSiDimensionVector(vector: readonly number[], options?: SiDimensionOptions): SiDimensionVector;
49
+ /**
50
+ * Map a {@link Dimensions} record onto a length-10 unit exponent vector.
51
+ * Angle, bit, and solid angle are zero.
52
+ */
53
+ export declare function fromSiDimensions(dimensions: Dimensions): number[];
54
+ /**
55
+ * Map `[L, M, T, I, Θ, N, J]` onto a length-10 unit exponent vector.
56
+ */
57
+ export declare function fromSiDimensionVector(vector: readonly number[]): number[];
58
+ //# sourceMappingURL=si-dimension-vector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"si-dimension-vector.d.ts","sourceRoot":"","sources":["../../src/types/si-dimension-vector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,0CAA0C;AAC1C,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,qEAAqE;AACrE,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAElG,0EAA0E;AAC1E,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AA8BD;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,UAAU,CAYZ;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,iBAAiB,CAGnB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,EAAE,CAyBjE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAezE"}
@@ -25,4 +25,6 @@ export { DimensionMismatchError, UnitParseError } from './unit/errors.js';
25
25
  export { isUnit } from '../is.js';
26
26
  export { DIMENSIONLESS, dim } from './unit-definitions.js';
27
27
  export type { Dimensions, UnitDef } from './unit-definitions.js';
28
+ export { UNIT_DIMENSION_LENGTH, SI_DIMENSION_LENGTH, toSiDimensions, toSiDimensionVector, fromSiDimensions, fromSiDimensionVector, } from './si-dimension-vector.js';
29
+ export type { SiDimensionVector, SiDimensionOptions } from './si-dimension-vector.js';
28
30
  //# sourceMappingURL=unit.d.ts.map
@@ -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"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danielsimonjr/mathts-core",
3
- "version": "0.15.4",
3
+ "version": "0.16.0",
4
4
  "description": "Core types, utilities, and configuration for MathTS",
5
5
  "author": "Daniel Simon Jr.",
6
6
  "license": "MIT",
@@ -24,15 +24,15 @@
24
24
  ],
25
25
  "scripts": {
26
26
  "build": "tsup && tsc -p tsconfig.dts.json",
27
- "dev": "tsup --watch",
27
+ "dev": "tsup --watch --onSuccess \"tsc -p tsconfig.dts.json\"",
28
28
  "test": "bun test --isolate --timeout 30000",
29
29
  "test:watch": "vitest",
30
30
  "test:coverage": "bun test --isolate --timeout 30000 --coverage",
31
- "typecheck": "tsc --noEmit",
31
+ "typecheck": "tsc --noEmit && tsc -p tsconfig.test.json",
32
32
  "lint": "oxlint src",
33
33
  "lint:fix": "oxlint src --fix",
34
34
  "clean": "rm -rf dist",
35
- "build:prod": "tsup --minify --treeshake"
35
+ "build:prod": "tsup --minify --treeshake && tsc -p tsconfig.dts.json"
36
36
  },
37
37
  "dependencies": {
38
38
  "typed-function": "npm:@danielsimonjr/typed-function@5.0.0-alpha.4"