@danielsimonjr/mathts-core 0.21.1 → 0.23.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/index.d.ts CHANGED
@@ -15,9 +15,9 @@ export { BigNumber, isBigNumber, BIGNUMBER_ZERO, BIGNUMBER_ONE, BIGNUMBER_NEG_ON
15
15
  export type { BigNumberConfig, RoundingMode } from './types/bignumber.js';
16
16
  export { addScalar, subtractScalar, multiplyScalar, divideScalar, pow, abs, fix, round, equal, isNumeric, number, } from './arithmetic/scalar.js';
17
17
  export type { NumericScalar } from './arithmetic/scalar.js';
18
- export { Unit, isUnit as isUnitValue, DimensionMismatchError, UnitParseError, DIMENSIONLESS, dim, } from './types/unit.js';
18
+ export { Unit, isUnit as isUnitValue, DimensionMismatchError, UnitParseError, AmbiguousUnitError, DIMENSIONLESS, dim, } from './types/unit.js';
19
19
  export type { Dimensions, UnitDef, UnitInstance } from './types/unit.js';
20
- 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, REFUSED_UNIT_SPELLINGS, namedExactScale, readUnitScale, getUnitRow, unitRowExactScale, unitRowValue, unitRowExactOffset, UNIT_PREFIX_SETS, unitPrefixExactScale, getUnitPrefix, } from './types/unit.js';
20
+ 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, REFUSED_UNIT_SPELLINGS, AMBIGUOUS_UNIT_SPELLINGS, namedExactScale, readUnitScale, getUnitRow, unitRowExactScale, unitRowValue, unitRowExactOffset, UNIT_PREFIX_SETS, unitPrefixExactScale, getUnitPrefix, } from './types/unit.js';
21
21
  export type { ExactScale, IrrationalName, IrrationalPowers, UnitRow, UnitBaseKey, UnitPrefixSetKey, UnitPrefix, } from './types/unit.js';
22
22
  export { UNIT_DIMENSION_LENGTH, SI_DIMENSION_LENGTH, toSiDimensions, toSiDimensionVector, fromSiDimensions, fromSiDimensionVector, } from './types/unit.js';
23
23
  export type { SiDimensionVector, SiDimensionOptions, SiDimensionExponent } from './types/unit.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
@@ -1,4 +1,4 @@
1
- import { $ as BIGNUMBER_LN10, A as formatExactScale, B as abs, Bn as Complex, C as clearExactScaleNumberCache, D as exactScaleOf, E as exactScaleNumberCacheSize, F as powerExactScale, Fn as isUnit$1, G as isNumeric, H as divideScalar, Hn as isComplex, I as ratioExactScale, J as pow, K as multiplyScalar, L as readScaleExpression, Ln as COMPLEX_NEG_ONE, M as isRationalScale, N as multiplyExactScales, O as exactScaleToNumber, P as namedIrrationalScale, Q as BIGNUMBER_E, R as DimensionMismatchError, Rn as COMPLEX_ONE, S as binaryExactScale, T as divideExactScales, U as equal, V as addScalar, Vn as I, W as fix, X as subtractScalar, Xt as format, Y as round, _ as LN2_EXACT_SCALE, a as REFUSED_UNIT_SPELLINGS, at as BIGNUMBER_ZERO, b as UNIT_EXACT_SCALE, c as UNIT_ROW_ALIASES, ct as FRACTION_HALF, d as namedExactScale, dt as FRACTION_QUARTER, et as BIGNUMBER_LN2, f as readUnitScale, ft as FRACTION_THIRD, g as unitRowValue, gn as isBigNumber$2, h as unitRowExactScale, hn as isBigInt$1, ht as isFraction, i as NAMED_SCALES, it as BIGNUMBER_TEN, j as irrationalPower, k as exactScalesEqual, l as getUnitPrefix, lt as FRACTION_NEG_ONE, m as unitRowExactOffset, mt as Fraction, nn as nearlyEqual, nt as BIGNUMBER_ONE, o as UNIT_PREFIX_SETS, on as sign, ot as BigNumber, p as unitPrefixExactScale, pt as FRACTION_ZERO, q as number, rt as BIGNUMBER_PI, s as UNIT_ROWS, st as isBigNumber, t as Unit, tt as BIGNUMBER_NEG_ONE, u as getUnitRow, ut as FRACTION_ONE, v as NAMED_IRRATIONALS, vt as factory, w as decimalExactScale, x as addExactScales, y as PI_EXACT_SCALE, z as UnitParseError, zn as COMPLEX_ZERO } from "./unit-DfRY7PU0.js";
1
+ import { A as exactScalesEqual, B as DimensionMismatchError, Bn as COMPLEX_ONE, C as binaryExactScale, D as exactScaleNumberCacheSize, E as divideExactScales, F as namedIrrationalScale, G as equal, H as abs, Hn as Complex, I as powerExactScale, J as multiplyScalar, K as fix, L as ratioExactScale, Ln as isUnit$1, M as irrationalPower, N as isRationalScale, O as exactScaleOf, P as multiplyExactScales, Q as subtractScalar, Qt as format, R as readScaleExpression, S as addExactScales, T as decimalExactScale, U as addScalar, Un as I, V as UnitParseError, Vn as COMPLEX_ZERO, W as divideScalar, Wn as isComplex, X as pow, Y as number, Z as round, _ as unitRowValue, _n as isBigInt$1, _t as isFraction, a as NAMED_SCALES, at as BIGNUMBER_PI, b as PI_EXACT_SCALE, bt as factory, c as UNIT_ROWS, cn as sign, ct as BigNumber, d as getUnitRow, dt as FRACTION_NEG_ONE, et as BIGNUMBER_E, f as namedExactScale, ft as FRACTION_ONE, g as unitRowExactScale, gt as Fraction, h as unitRowExactOffset, ht as FRACTION_ZERO, i as AMBIGUOUS_UNIT_SPELLINGS, in as nearlyEqual, it as BIGNUMBER_ONE, j as formatExactScale, k as exactScaleToNumber, l as UNIT_ROW_ALIASES, lt as isBigNumber, m as unitPrefixExactScale, mt as FRACTION_THIRD, nt as BIGNUMBER_LN2, o as REFUSED_UNIT_SPELLINGS, ot as BIGNUMBER_TEN, p as readUnitScale, pt as FRACTION_QUARTER, q as isNumeric, rt as BIGNUMBER_NEG_ONE, s as UNIT_PREFIX_SETS, st as BIGNUMBER_ZERO, t as Unit, tt as BIGNUMBER_LN10, u as getUnitPrefix, ut as FRACTION_HALF, v as LN2_EXACT_SCALE, vn as isBigNumber$2, w as clearExactScaleNumberCache, x as UNIT_EXACT_SCALE, y as NAMED_IRRATIONALS, z as AmbiguousUnitError, zn as COMPLEX_NEG_ONE } from "./unit-BZB-NyjZ.js";
2
2
  import typed, { create } from "typed-function";
3
3
  const createRangeClass = /* #__PURE__ */ factory("Range", [], () => {
4
4
  class Range {
@@ -420,7 +420,8 @@ const DERIVED_UNITS = {
420
420
  lb: tableUnit("lb", dim({ mass: 1 })),
421
421
  lbm: tableUnit("lbm", dim({ mass: 1 })),
422
422
  oz: tableUnit("oz", dim({ mass: 1 })),
423
- ton: tableUnit("ton", dim({ mass: 1 })),
423
+ shortton: tableUnit("shortton", dim({ mass: 1 })),
424
+ longton: tableUnit("longton", dim({ mass: 1 })),
424
425
  tonne: tableUnit("tonne", dim({ mass: 1 })),
425
426
  min: tableUnit("min", dim({ time: 1 })),
426
427
  h: tableUnit("h", dim({ time: 1 })),
@@ -1407,6 +1408,6 @@ function rowMajorStrides(shape) {
1407
1408
  }
1408
1409
  //#endregion
1409
1410
  //#region src/index.ts
1410
- const VERSION = "0.21.1";
1411
+ const VERSION = "0.23.0";
1411
1412
  //#endregion
1412
- export { ALL_UNITS, BASE_UNITS, BEST_PREFIXES, BIGNUMBER_E, BIGNUMBER_LN10, BIGNUMBER_LN2, BIGNUMBER_NEG_ONE, BIGNUMBER_ONE, BIGNUMBER_PI, BIGNUMBER_TEN, BIGNUMBER_ZERO, BigNumber, COMPLEX_NEG_ONE, COMPLEX_ONE, COMPLEX_ZERO, Complex, DEFAULT_CONFIG, DERIVED_UNITS, DIMENSIONLESS, DUAL_UNARY_RULES, DimensionMismatchError, Dual, E, FRACTION_HALF, FRACTION_NEG_ONE, FRACTION_ONE, FRACTION_QUARTER, FRACTION_THIRD, FRACTION_ZERO, Fraction, FunctionRegistry, I, LN10, LN2, LN2_EXACT_SCALE, LOG10E, LOG2E, MATHTS_CONVERSIONS, MATHTS_TYPES, NAMED_IRRATIONALS, NAMED_SCALES, PHI, PI, PI_EXACT_SCALE, REFUSED_UNIT_SPELLINGS, Range, SI_DIMENSION_LENGTH, SI_PREFIXES, SQRT1_2, SQRT2, TAU, TypeRegistry, UNIT_ALIASES, UNIT_DIMENSION_LENGTH, UNIT_EXACT_SCALE, UNIT_PREFIX_SETS, UNIT_ROWS, UNIT_ROW_ALIASES, Unit, UnitParseError, VERSION, abs, addExactScales, addScalar, binaryExactScale, boxMuller, clearExactScaleNumberCache, create, createFactory, createMathTSTyped, createRangeClass, createSeededRng, createTypedFunction, decimalExactScale, dim, divideExactScales, divideScalar, equal, exactScaleNumberCacheSize, exactScaleOf, exactScaleToNumber, exactScalesEqual, fix, formatExactScale, fromSiDimensionVector, fromSiDimensions, getPrefix, getUnitDef, getUnitPrefix, getUnitRow, initTypedWasm, irrationalPower, isArray, isBigInt, isBigNumber, isBoolean, isComplex, isDenseMatrix, isDual, isFraction, isFunction, isMatrix, isNull, isNumber, isNumeric, isObject, isRationalScale, isSparseMatrix, isString, isTypedWasmAvailable, isUndefined, isUnit, isUnit$1 as isUnitValue, math, mathTyped, mulberry32, multiplyExactScales, multiplyScalar, namedExactScale, namedIrrationalScale, neumaierCumsum, neumaierSum, norm2, number, pairwiseDot, pairwiseSum, pow, powerExactScale, ratioExactScale, readScaleExpression, readUnitScale, registerNativeTypes, registry, round, rowMajorStrides, scaledDistance, subtractScalar, sumSquaredDeviations, toSiDimensionVector, toSiDimensions, typed, unitPrefixExactScale, unitRowExactOffset, unitRowExactScale, unitRowValue };
1413
+ export { ALL_UNITS, AMBIGUOUS_UNIT_SPELLINGS, AmbiguousUnitError, BASE_UNITS, BEST_PREFIXES, BIGNUMBER_E, BIGNUMBER_LN10, BIGNUMBER_LN2, BIGNUMBER_NEG_ONE, BIGNUMBER_ONE, BIGNUMBER_PI, BIGNUMBER_TEN, BIGNUMBER_ZERO, BigNumber, COMPLEX_NEG_ONE, COMPLEX_ONE, COMPLEX_ZERO, Complex, DEFAULT_CONFIG, DERIVED_UNITS, DIMENSIONLESS, DUAL_UNARY_RULES, DimensionMismatchError, Dual, E, FRACTION_HALF, FRACTION_NEG_ONE, FRACTION_ONE, FRACTION_QUARTER, FRACTION_THIRD, FRACTION_ZERO, Fraction, FunctionRegistry, I, LN10, LN2, LN2_EXACT_SCALE, LOG10E, LOG2E, MATHTS_CONVERSIONS, MATHTS_TYPES, NAMED_IRRATIONALS, NAMED_SCALES, PHI, PI, PI_EXACT_SCALE, REFUSED_UNIT_SPELLINGS, Range, SI_DIMENSION_LENGTH, SI_PREFIXES, SQRT1_2, SQRT2, TAU, TypeRegistry, UNIT_ALIASES, UNIT_DIMENSION_LENGTH, UNIT_EXACT_SCALE, UNIT_PREFIX_SETS, UNIT_ROWS, UNIT_ROW_ALIASES, Unit, UnitParseError, VERSION, abs, addExactScales, addScalar, binaryExactScale, boxMuller, clearExactScaleNumberCache, create, createFactory, createMathTSTyped, createRangeClass, createSeededRng, createTypedFunction, decimalExactScale, dim, divideExactScales, divideScalar, equal, exactScaleNumberCacheSize, exactScaleOf, exactScaleToNumber, exactScalesEqual, fix, formatExactScale, fromSiDimensionVector, fromSiDimensions, getPrefix, getUnitDef, getUnitPrefix, getUnitRow, initTypedWasm, irrationalPower, isArray, isBigInt, isBigNumber, isBoolean, isComplex, isDenseMatrix, isDual, isFraction, isFunction, isMatrix, isNull, isNumber, isNumeric, isObject, isRationalScale, isSparseMatrix, isString, isTypedWasmAvailable, isUndefined, isUnit, isUnit$1 as isUnitValue, math, mathTyped, mulberry32, multiplyExactScales, multiplyScalar, namedExactScale, namedIrrationalScale, neumaierCumsum, neumaierSum, norm2, number, pairwiseDot, pairwiseSum, pow, powerExactScale, ratioExactScale, readScaleExpression, readUnitScale, registerNativeTypes, registry, round, rowMajorStrides, scaledDistance, subtractScalar, sumSquaredDeviations, toSiDimensionVector, toSiDimensions, typed, unitPrefixExactScale, unitRowExactOffset, unitRowExactScale, unitRowValue };
@@ -22,7 +22,7 @@ export { IndexError, createIndexError } from './error/IndexError.js';
22
22
  export * from './factory.js';
23
23
  export { format as formatGeneric, stringify, escape, compareText, type GeneralFormatOptions, } from './string.js';
24
24
  export { format as formatBigNumber, toEngineering as toEngineeringBigNumber, toExponential as toExponentialBigNumber, toFixed as toFixedBigNumber, type BigNumberValue, } from './bignumber-formatter.js';
25
- export type { ComplexValue, ComplexConstructor, BigNumberConstructor, FractionConstructor, FractionValue, Numeric, PrefixDef, PrefixTable, BaseUnitDef, UnitDef, UnitComponent, UnitSystemEntry, UnitSystem, UnitJSON, ConverterFn, TypeConverters, ParseOptions, UnitFormatOptions, CreateUnitOptions, CreateUnitDefObject, UnitConfig, SubtractScalar, ScalarBinaryOp, ScalarUnaryOp, UnitDependencies, UnitInstance, UnitConstructor, } from './types/unit/unit-types.js';
25
+ export type { ComplexValue, ComplexConstructor, BigNumberConstructor, FractionConstructor, FractionValue, Numeric, PrefixDef, PrefixTable, BaseUnitDef, UnitDef, UnitComponent, UnitSystemEntry, UnitSystem, UnitJSON, ConverterFn, TypeConverters, ParseOptions, ConvertOptions, UnitFormatOptions, CreateUnitOptions, CreateUnitDefObject, UnitConfig, SubtractScalar, ScalarBinaryOp, ScalarUnaryOp, UnitDependencies, UnitInstance, UnitConstructor, } from './types/unit/unit-types.js';
26
26
  export { createUnitClass, unitDependencies, Unit as CoreUnit } from './types/unit/index.js';
27
27
  export type { NestedArray, IdentifiedValue } from './array.js';
28
28
  export { arraySize, validate, validateIndexSourceSize, validateIndex, isEmptyIndex, resize, reshape, processSizesWildcard, squeeze, unsqueeze, flatten, map, forEach, filter, filterRegExp, join, identify, generalize, getArrayDataType, last, initial, concat, broadcastSizes, checkBroadcastingRules, broadcastTo, broadcastArrays, stretch, get as getArrayElement, deepMap as deepMapArray, deepForEach as deepForEachArray, clone as cloneArray, } from './array.js';
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC1E,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AASpD,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAU7C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAoBrE,cAAc,cAAc,CAAC;AAM7B,OAAO,EACL,MAAM,IAAI,aAAa,EACvB,SAAS,EACT,MAAM,EACN,WAAW,EACX,KAAK,oBAAoB,GAC1B,MAAM,aAAa,CAAC;AAMrB,OAAO,EACL,MAAM,IAAI,eAAe,EACzB,aAAa,IAAI,sBAAsB,EACvC,aAAa,IAAI,sBAAsB,EACvC,OAAO,IAAI,gBAAgB,EAC3B,KAAK,cAAc,GACpB,MAAM,0BAA0B,CAAC;AAIlC,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,OAAO,EACP,SAAS,EACT,WAAW,EACX,WAAW,EACX,OAAO,EACP,aAAa,EACb,eAAe,EACf,UAAU,EACV,QAAQ,EACR,WAAW,EACX,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,eAAe,GAChB,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAe5F,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EACL,SAAS,EACT,QAAQ,EACR,uBAAuB,EACvB,aAAa,EACb,YAAY,EACZ,MAAM,EACN,OAAO,EACP,oBAAoB,EACpB,OAAO,EACP,SAAS,EACT,OAAO,EACP,GAAG,EACH,OAAO,EACP,MAAM,EACN,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,IAAI,EACJ,OAAO,EACP,MAAM,EACN,cAAc,EACd,sBAAsB,EACtB,WAAW,EACX,eAAe,EACf,OAAO,EACP,GAAG,IAAI,eAAe,EACtB,OAAO,IAAI,YAAY,EACvB,WAAW,IAAI,gBAAgB,EAC/B,KAAK,IAAI,UAAU,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,SAAS,EACT,QAAQ,EACR,MAAM,IAAI,SAAS,EACnB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAOlB,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAe3E,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC1E,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AASpD,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAU7C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAoBrE,cAAc,cAAc,CAAC;AAM7B,OAAO,EACL,MAAM,IAAI,aAAa,EACvB,SAAS,EACT,MAAM,EACN,WAAW,EACX,KAAK,oBAAoB,GAC1B,MAAM,aAAa,CAAC;AAMrB,OAAO,EACL,MAAM,IAAI,eAAe,EACzB,aAAa,IAAI,sBAAsB,EACvC,aAAa,IAAI,sBAAsB,EACvC,OAAO,IAAI,gBAAgB,EAC3B,KAAK,cAAc,GACpB,MAAM,0BAA0B,CAAC;AAIlC,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,OAAO,EACP,SAAS,EACT,WAAW,EACX,WAAW,EACX,OAAO,EACP,aAAa,EACb,eAAe,EACf,UAAU,EACV,QAAQ,EACR,WAAW,EACX,cAAc,EACd,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,eAAe,GAChB,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAe5F,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EACL,SAAS,EACT,QAAQ,EACR,uBAAuB,EACvB,aAAa,EACb,YAAY,EACZ,MAAM,EACN,OAAO,EACP,oBAAoB,EACpB,OAAO,EACP,SAAS,EACT,OAAO,EACP,GAAG,EACH,OAAO,EACP,MAAM,EACN,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,IAAI,EACJ,OAAO,EACP,MAAM,EACN,cAAc,EACd,sBAAsB,EACtB,WAAW,EACX,eAAe,EACf,OAAO,EACP,GAAG,IAAI,eAAe,EACtB,OAAO,IAAI,YAAY,EACvB,WAAW,IAAI,gBAAgB,EAC/B,KAAK,IAAI,UAAU,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,SAAS,EACT,QAAQ,EACR,MAAM,IAAI,SAAS,EACnB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAOlB,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAe3E,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/internal.js CHANGED
@@ -1,4 +1,4 @@
1
- import { $t as log10, An as isRange, At as get, Bt as memoize, Cn as isFunction, Ct as MathjsError, Dn as isNull, Dt as deepFlatten, En as isMatrix, Et as deepExtend, Fn as isUnit, Ft as pickShallow, Gt as cbrt, Ht as acosh, In as typeOf, It as set, Jt as digits, Kt as copysign, Lt as traverse, Mn as isSparseMatrix, Mt as lazy, Nn as isString, Nt as mapObject, On as isNumber, Ot as deepStrictEqual, Pn as isUndefined, Pt as pick, Qt as isPowZeroAtInfinity, Rt as endsWith, Sn as isFraction, St as stripOptionalNotation, Tn as isMap, Tt as clone, Ut as asinh, Vt as warnOnce, Wt as atanh, Xt as format, Yt as expm1, Z as DEFAULT_CONFIG, Zt as isInteger, _n as isBoolean, _t as create, an as safeNumberType, bn as isDate, bt as isOptionalDependency, cn as splitNumber, dn as toExponential, en as log1p, fn as toFixed, gn as isBigNumber, gt as assertDependencies, hn as isBigInt, in as roundDigits, jn as isRegExp, jt as isLegacyFactory, kn as isObject, kt as extend, ln as tanh, mn as isArray, n as unitDependencies, nn as nearlyEqual, on as sign, pn as toPrecision, qt as cosh, r as createUnitClass, rn as normalizeFormatOptions, sn as sinh, t as Unit, tn as log2, un as toEngineering, vn as isCollection, vt as factory, wn as isIndex, wt as canDefineProperty, xn as isDenseMatrix, xt as sortFactories, yn as isComplex, yt as isFactory, zt as hasOwnProperty } from "./unit-DfRY7PU0.js";
1
+ import { $ as DEFAULT_CONFIG, $t as isInteger, An as isNumber, At as deepStrictEqual, Bt as endsWith, Cn as isDenseMatrix, Ct as sortFactories, Dn as isMap, Dt as clone, En as isIndex, Et as canDefineProperty, Fn as isString, Ft as mapObject, Gt as asinh, Ht as memoize, In as isUndefined, It as pick, Jt as copysign, Kt as atanh, Ln as isUnit, Lt as pickShallow, Mn as isRange, Mt as get, Nn as isRegExp, Nt as isLegacyFactory, On as isMatrix, Ot as deepExtend, Pn as isSparseMatrix, Pt as lazy, Qt as format, Rn as typeOf, Rt as set, Sn as isDate, St as isOptionalDependency, Tn as isFunction, Tt as MathjsError, Ut as warnOnce, Vt as hasOwnProperty, Wt as acosh, Xt as digits, Yt as cosh, Zt as expm1, _n as isBigInt, an as normalizeFormatOptions, bn as isCollection, bt as factory, cn as sign, dn as tanh, en as isPowZeroAtInfinity, fn as toEngineering, gn as isArray, hn as toPrecision, in as nearlyEqual, jn as isObject, jt as extend, kn as isNull, kt as deepFlatten, ln as sinh, mn as toFixed, n as unitDependencies, nn as log1p, on as roundDigits, pn as toExponential, qt as cbrt, r as createUnitClass, rn as log2, sn as safeNumberType, t as Unit, tn as log10, un as splitNumber, vn as isBigNumber, vt as assertDependencies, wn as isFraction, wt as stripOptionalNotation, xn as isComplex, xt as isFactory, yn as isBoolean, yt as create, zt as traverse } from "./unit-BZB-NyjZ.js";
2
2
  //#region src/error/DimensionError.ts
3
3
  var DimensionError = class DimensionError extends RangeError {
4
4
  actual;
@@ -1 +1 @@
1
- {"version":3,"file":"Unit.d.ts","sourceRoot":"","sources":["../../../src/types/unit/Unit.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAcV,eAAe,EAQhB,MAAM,iBAAiB,CAAC;AAkJzB,eAAO,MAAM,eAAe,6DAksF3B,CAAC"}
1
+ {"version":3,"file":"Unit.d.ts","sourceRoot":"","sources":["../../../src/types/unit/Unit.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAeV,eAAe,EAQhB,MAAM,iBAAiB,CAAC;AAmJzB,eAAO,MAAM,eAAe,6DA45F3B,CAAC"}
@@ -15,4 +15,14 @@ export declare class DimensionMismatchError extends Error {
15
15
  readonly name = "DimensionMismatchError";
16
16
  constructor(message: string);
17
17
  }
18
+ /**
19
+ * Thrown when a unit token has two or more readings with different dimension
20
+ * vectors. `readings` lists every reading, sorted, so the caller can choose.
21
+ * `hint` is the last sentence of the message.
22
+ */
23
+ export declare class AmbiguousUnitError extends UnitParseError {
24
+ readonly token: string;
25
+ readonly readings: readonly string[];
26
+ constructor(token: string, readings: readonly string[], hint?: string);
27
+ }
18
28
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/types/unit/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,gFAAgF;AAChF,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,oBAAoB;IACjC,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,6FAA6F;AAC7F,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,IAAI,4BAA4B;IACzC,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/types/unit/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,gFAAgF;AAChF,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,oBAAoB;IACjC,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,6FAA6F;AAC7F,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,IAAI,4BAA4B;IACzC,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAErC,YACE,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,IAAI,SAAqD,EAO1D;CACF"}
@@ -1,10 +1,10 @@
1
1
  import type { UnitConstructor } from './unit-types.js';
2
2
  export { createUnitClass } from './Unit.js';
3
3
  export { unitDependencies } from './dependencies.js';
4
- export type { BigNumberValue, ComplexValue, ComplexConstructor, BigNumberConstructor, FractionConstructor, FractionValue, Numeric, PrefixDef, PrefixTable, BaseUnitDef, UnitDef, UnitComponent, UnitSystemEntry, UnitSystem, UnitJSON, ConverterFn, TypeConverters, ParseOptions, UnitFormatOptions, CreateUnitOptions, CreateUnitDefObject, UnitConfig, SubtractScalar, ScalarBinaryOp, ScalarUnaryOp, UnitDependencies, UnitInstance, UnitConstructor, } from './unit-types.js';
4
+ export type { BigNumberValue, ComplexValue, ComplexConstructor, BigNumberConstructor, FractionConstructor, FractionValue, Numeric, PrefixDef, PrefixTable, BaseUnitDef, UnitDef, UnitComponent, UnitSystemEntry, UnitSystem, UnitJSON, ConverterFn, TypeConverters, ParseOptions, ConvertOptions, UnitFormatOptions, CreateUnitOptions, CreateUnitDefObject, UnitConfig, SubtractScalar, ScalarBinaryOp, ScalarUnaryOp, UnitDependencies, UnitInstance, UnitConstructor, } from './unit-types.js';
5
5
  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, } from './exact-scale.js';
6
6
  export type { ExactScale, IrrationalName, IrrationalPowers } from './exact-scale.js';
7
- export { NAMED_SCALES, UNIT_ROWS, UNIT_ROW_ALIASES, REFUSED_UNIT_SPELLINGS, namedExactScale, readUnitScale, getUnitRow, unitRowExactScale, unitRowValue, unitRowExactOffset, UNIT_PREFIX_SETS, unitPrefixExactScale, getUnitPrefix, } from './unit-table.js';
7
+ export { NAMED_SCALES, UNIT_ROWS, UNIT_ROW_ALIASES, REFUSED_UNIT_SPELLINGS, AMBIGUOUS_UNIT_SPELLINGS, namedExactScale, readUnitScale, getUnitRow, unitRowExactScale, unitRowValue, unitRowExactOffset, UNIT_PREFIX_SETS, unitPrefixExactScale, getUnitPrefix, } from './unit-table.js';
8
8
  export type { UnitRow, UnitBaseKey, UnitPrefixSetKey, UnitPrefix } from './unit-table.js';
9
9
  /** The core `Unit` class, pre-wired to core's numeric primitives. */
10
10
  export declare const Unit: UnitConstructor;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/unit/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,YAAY,EACV,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,OAAO,EACP,SAAS,EACT,WAAW,EACX,WAAW,EACX,OAAO,EACP,aAAa,EACb,eAAe,EACf,UAAU,EACV,QAAQ,EACR,WAAW,EACX,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,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,GACpB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,EACL,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE1F,qEAAqE;AACrE,eAAO,MAAM,IAAI,EAAE,eAEC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/unit/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,YAAY,EACV,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,OAAO,EACP,SAAS,EACT,WAAW,EACX,WAAW,EACX,OAAO,EACP,aAAa,EACb,eAAe,EACf,UAAU,EACV,QAAQ,EACR,WAAW,EACX,cAAc,EACd,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,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,GACpB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,EACL,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,EACf,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE1F,qEAAqE;AACrE,eAAO,MAAM,IAAI,EAAE,eAEC,CAAC"}
@@ -98,6 +98,15 @@ export declare const UNIT_ROW_ALIASES: Readonly<Record<string, string>>;
98
98
  * refused reason.
99
99
  */
100
100
  export declare const REFUSED_UNIT_SPELLINGS: Readonly<Record<string, string>>;
101
+ /**
102
+ * Spellings with more than one common meaning. `Unit.parse` throws
103
+ * `AmbiguousUnitError` with these readings and the hint instead of picking one.
104
+ * A lookup MUST use `Object.hasOwn`.
105
+ */
106
+ export declare const AMBIGUOUS_UNIT_SPELLINGS: Readonly<Record<string, {
107
+ readonly readings: readonly string[];
108
+ readonly hint: string;
109
+ }>>;
101
110
  /** The exact value of a name in {@link NAMED_SCALES}, or undefined for an unknown name. */
102
111
  export declare function namedExactScale(name: string): ExactScale | undefined;
103
112
  /** The exact value of a scale expression over {@link NAMED_SCALES}. */
@@ -1 +1 @@
1
- {"version":3,"file":"unit-table.d.ts","sourceRoot":"","sources":["../../../src/types/unit/unit-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unit-table.d.ts","sourceRoot":"","sources":["../../../src/types/unit/unit-table.ts"],"names":[],"mappings":"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"}
@@ -102,6 +102,13 @@ export interface TypeConverters {
102
102
  /** Options accepted by `Unit.parse`. */
103
103
  export interface ParseOptions {
104
104
  allowNoUnits?: boolean;
105
+ /** Read a compound with an affine unit (degC, degF) as a temperature interval. */
106
+ affine?: 'difference';
107
+ }
108
+ /** Options accepted by `Unit#to`. */
109
+ export interface ConvertOptions {
110
+ /** `'difference'` converts an interval: no offset is added. Default `'absolute'`. */
111
+ reading?: 'absolute' | 'difference';
105
112
  }
106
113
  /** Formatting options accepted by `Unit#format` / `Unit#toBest`. */
107
114
  export interface UnitFormatOptions {
@@ -190,6 +197,8 @@ export interface UnitInstance {
190
197
  * while `value` is still the double this quantity rounds to.
191
198
  */
192
199
  _exactSI?: ExactScale;
200
+ /** Cycle bridge k used by the last `to()` (1 for Hz->rad/s, -1 for rad/s->Hz); 0 otherwise. */
201
+ cycles: number;
193
202
  units: UnitComponent[];
194
203
  dimensions: number[];
195
204
  fixPrefix: boolean;
@@ -214,7 +223,7 @@ export interface UnitInstance {
214
223
  divide(other: UnitInstance | Numeric): UnitInstance | Numeric;
215
224
  pow(p: number): UnitInstance | Numeric;
216
225
  abs(): UnitInstance;
217
- to(valuelessUnit: string | UnitInstance): UnitInstance;
226
+ to(valuelessUnit: string | UnitInstance, options?: ConvertOptions): UnitInstance;
218
227
  toNumber(valuelessUnit?: string | UnitInstance): number;
219
228
  toNumeric(valuelessUnit?: string | UnitInstance): Numeric | null;
220
229
  toString(): string;
@@ -243,6 +252,14 @@ export interface UnitConstructor {
243
252
  createUnit(obj: Record<string, unknown>, options?: CreateUnitOptions): UnitInstance | undefined;
244
253
  /** The exact SI scale of a valueless unit text, or null when it has none. */
245
254
  exactScale(valuelessUnit: string): ExactScale | null;
255
+ /**
256
+ * Every product reading of one glued unit token, before any parse policy
257
+ * (see {@link Unit.readings}).
258
+ */
259
+ readings(token: string): ReadonlyArray<ReadonlyArray<{
260
+ readonly name: string;
261
+ readonly power: number;
262
+ }>>;
246
263
  createUnitSingle(name: string, obj?: unknown): UnitInstance;
247
264
  deleteUnit(name: string): void;
248
265
  _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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"}
@@ -1 +1 @@
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"}
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,CAyFjD,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"}
@@ -21,9 +21,9 @@
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, REFUSED_UNIT_SPELLINGS, namedExactScale, readUnitScale, getUnitRow, unitRowExactScale, unitRowValue, unitRowExactOffset, UNIT_PREFIX_SETS, unitPrefixExactScale, getUnitPrefix, } 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, REFUSED_UNIT_SPELLINGS, AMBIGUOUS_UNIT_SPELLINGS, namedExactScale, readUnitScale, getUnitRow, unitRowExactScale, unitRowValue, unitRowExactOffset, UNIT_PREFIX_SETS, unitPrefixExactScale, getUnitPrefix, } from './unit/index.js';
25
25
  export type { ExactScale, IrrationalName, IrrationalPowers, UnitRow, UnitBaseKey, UnitPrefixSetKey, UnitPrefix, } from './unit/index.js';
26
- export { DimensionMismatchError, UnitParseError } from './unit/errors.js';
26
+ export { AmbiguousUnitError, DimensionMismatchError, UnitParseError } from './unit/errors.js';
27
27
  export { isUnit } from '../is.js';
28
28
  export { DIMENSIONLESS, dim } from './unit-definitions.js';
29
29
  export type { Dimensions, UnitDef } 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,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,sBAAsB,EACtB,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,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,GACpB,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,sBAAsB,EACtB,wBAAwB,EACxB,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,kBAAkB,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAG9F,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,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC"}
@@ -2345,6 +2345,17 @@ var DimensionMismatchError = class extends Error {
2345
2345
  super(message);
2346
2346
  }
2347
2347
  };
2348
+ var AmbiguousUnitError = class extends UnitParseError {
2349
+ token;
2350
+ readings;
2351
+ constructor(token, readings, hint = "Write the product with \"*\" or use a single unit.") {
2352
+ const sortedReadings = Object.freeze([...readings].sort());
2353
+ super(`Unit "${token}" is ambiguous: ${sortedReadings.join(" or ")}. ${hint}`);
2354
+ this.name = "AmbiguousUnitError";
2355
+ this.token = token;
2356
+ this.readings = sortedReadings;
2357
+ }
2358
+ };
2348
2359
  //#endregion
2349
2360
  //#region src/types/unit/va-var.ts
2350
2361
  function isEffectivelyImaginary(re, im) {
@@ -3272,11 +3283,16 @@ const UNIT_ROWS = Object.freeze({
3272
3283
  prefixes: "LONG",
3273
3284
  scale: "1e-3"
3274
3285
  },
3275
- ton: {
3286
+ shortton: {
3276
3287
  base: "MASS",
3277
- prefixes: "SHORT",
3288
+ prefixes: "NONE",
3278
3289
  scale: "2000*pound"
3279
3290
  },
3291
+ longton: {
3292
+ base: "MASS",
3293
+ prefixes: "NONE",
3294
+ scale: "2240*pound"
3295
+ },
3280
3296
  t: {
3281
3297
  base: "MASS",
3282
3298
  prefixes: "SHORT",
@@ -4024,7 +4040,6 @@ const UNIT_ROW_ALIASES = Object.freeze({
4024
4040
  hogsheads: "hogshead",
4025
4041
  gtts: "gtt",
4026
4042
  grams: "gram",
4027
- tons: "ton",
4028
4043
  tonnes: "tonne",
4029
4044
  grains: "grain",
4030
4045
  drams: "dram",
@@ -4108,6 +4123,25 @@ const REFUSED_UNIT_SPELLINGS = Object.freeze({
4108
4123
  Mach: "Mach is a ratio to the local speed of sound; give m/s, or the ratio as a bare number",
4109
4124
  mach: "mach is a ratio to the local speed of sound; give m/s, or the ratio as a bare number"
4110
4125
  });
4126
+ const TON_HINT = "Use shortton (US, 2000 lb), longton (UK, 2240 lb), or t / tonne (1000 kg).";
4127
+ const AMBIGUOUS_UNIT_SPELLINGS = Object.freeze({
4128
+ ton: Object.freeze({
4129
+ readings: Object.freeze([
4130
+ "shortton",
4131
+ "longton",
4132
+ "t"
4133
+ ]),
4134
+ hint: TON_HINT
4135
+ }),
4136
+ tons: Object.freeze({
4137
+ readings: Object.freeze([
4138
+ "shortton",
4139
+ "longton",
4140
+ "t"
4141
+ ]),
4142
+ hint: TON_HINT
4143
+ })
4144
+ });
4111
4145
  const namedCache = /* @__PURE__ */ new Map();
4112
4146
  function namedExactScale(name) {
4113
4147
  const cached = namedCache.get(name);
@@ -4286,6 +4320,7 @@ const createUnitClass = /* #__PURE__ */ factory("Unit", [
4286
4320
  if (!(value === null || value === void 0 || isNumeric(value) || isComplex(value))) throw new TypeError("First parameter in Unit constructor must be number, BigNumber, Fraction, Complex, or undefined");
4287
4321
  this.fixPrefix = fixPrefixDefault;
4288
4322
  this.skipAutomaticSimplification = skipAutomaticSimplificationDefault;
4323
+ this.cycles = 0;
4289
4324
  if (valuelessUnit === void 0) {
4290
4325
  this.units = [];
4291
4326
  this.dimensions = BASE_DIMENSIONS.map((_x) => 0);
@@ -4404,10 +4439,101 @@ const createUnitClass = /* #__PURE__ */ factory("Unit", [
4404
4439
  return toFind;
4405
4440
  } else return null;
4406
4441
  }
4442
+ function findUnitPair(name) {
4443
+ return _findUnit(name);
4444
+ }
4445
+ let prefixSymbolCache;
4446
+ function prefixSymbols() {
4447
+ if (prefixSymbolCache === void 0) {
4448
+ const all = /* @__PURE__ */ new Set();
4449
+ for (const set of Object.values(UNIT_PREFIX_SETS)) for (const symbol of Object.keys(set)) if (symbol !== "") all.add(symbol);
4450
+ prefixSymbolCache = [...all];
4451
+ }
4452
+ return prefixSymbolCache;
4453
+ }
4454
+ function isPrefixedUnitSpelling(token) {
4455
+ const names = Object.keys(UNIT_ROWS);
4456
+ return prefixSymbols().some((symbol) => token.startsWith(symbol) && names.some((name) => token.slice(symbol.length).startsWith(name)));
4457
+ }
4458
+ const SUPERSCRIPT_DIGITS = "⁰¹²³⁴⁵⁶⁷⁸⁹";
4459
+ function expandSuperscripts(input) {
4460
+ let out = "";
4461
+ let i = 0;
4462
+ while (i < input.length) {
4463
+ let j = i;
4464
+ let sign = "";
4465
+ if (input[j] === "⁻") {
4466
+ sign = "-";
4467
+ j++;
4468
+ }
4469
+ let digits = "";
4470
+ while (j < input.length && SUPERSCRIPT_DIGITS.includes(input[j])) {
4471
+ digits += String(SUPERSCRIPT_DIGITS.indexOf(input[j]));
4472
+ j++;
4473
+ }
4474
+ if (digits !== "") {
4475
+ out += "^" + sign + digits;
4476
+ i = j;
4477
+ } else {
4478
+ out += input[i];
4479
+ i++;
4480
+ }
4481
+ }
4482
+ return out;
4483
+ }
4484
+ function readings(token) {
4485
+ const result = [];
4486
+ const factors = [];
4487
+ function isDigit(ch) {
4488
+ return ch >= "0" && ch <= "9";
4489
+ }
4490
+ function addFactor(name, power, next) {
4491
+ const prev = factors[factors.length - 1];
4492
+ if (prev !== void 0 && prev.name === name && isPrefixRepeat(prev.name, name)) return;
4493
+ factors.push({
4494
+ name,
4495
+ power
4496
+ });
4497
+ if (next === token.length) {
4498
+ if (factors.length >= 2) result.push(factors.slice());
4499
+ } else addFactors(next);
4500
+ factors.pop();
4501
+ }
4502
+ function addFactors(start) {
4503
+ for (let end = start + 1; end <= token.length; end++) {
4504
+ const name = token.slice(start, end);
4505
+ if (findUnitPair(name) === null) continue;
4506
+ addFactor(name, 1, end);
4507
+ if (end < token.length && isDigit(token[end])) {
4508
+ let digitEnd = end + 1;
4509
+ while (digitEnd < token.length && isDigit(token[digitEnd])) digitEnd++;
4510
+ addFactor(name, Number.parseInt(token.slice(end, digitEnd), 10), digitEnd);
4511
+ }
4512
+ }
4513
+ }
4514
+ addFactors(0);
4515
+ return result;
4516
+ }
4517
+ function spelling(r) {
4518
+ return r.map((f) => f.power === 1 ? f.name : f.name + "^" + f.power).join("*");
4519
+ }
4520
+ function readingDims(r) {
4521
+ const dims = new Array(BASE_DIMENSIONS.length).fill(0);
4522
+ for (const f of r) {
4523
+ const found = findUnitPair(f.name);
4524
+ for (let i = 0; i < BASE_DIMENSIONS.length; i++) dims[i] += (found.unit.dimensions?.[i] || 0) * f.power;
4525
+ }
4526
+ return dims;
4527
+ }
4528
+ function isPrefixRepeat(left, right) {
4529
+ if (left !== right) return false;
4530
+ const hit = findUnitPair(left + right);
4531
+ return hit !== null && hit.prefix.name === left && hit.unit.name === right;
4532
+ }
4407
4533
  Unit.parse = function(str, options) {
4408
4534
  options = options || {};
4409
4535
  if (typeof str !== "string") throw new TypeError("Invalid argument in Unit.parse, string expected");
4410
- text = normalizeUnitSpellings(str);
4536
+ text = expandSuperscripts(normalizeUnitSpellings(str));
4411
4537
  index = -1;
4412
4538
  c = "";
4413
4539
  const unit = new Unit();
@@ -4419,6 +4545,7 @@ const createUnitClass = /* #__PURE__ */ factory("Unit", [
4419
4545
  skipWhitespace();
4420
4546
  const valueStr = parseNumber();
4421
4547
  let value = null;
4548
+ let valueProduct = false;
4422
4549
  if (valueStr) {
4423
4550
  if (config.number === "BigNumber") value = new BigNumber(valueStr);
4424
4551
  else if (config.number === "Fraction") try {
@@ -4429,6 +4556,7 @@ const createUnitClass = /* #__PURE__ */ factory("Unit", [
4429
4556
  else value = parseFloat(valueStr);
4430
4557
  skipWhitespace();
4431
4558
  if (parseCharacter("*")) {
4559
+ valueProduct = true;
4432
4560
  powerMultiplierCurrent = 1;
4433
4561
  expectingUnit = true;
4434
4562
  } else if (parseCharacter("/")) {
@@ -4458,10 +4586,22 @@ const createUnitClass = /* #__PURE__ */ factory("Unit", [
4458
4586
  if (uStr === null) throw new UnitParseError("Unexpected \"" + oldC + "\" in \"" + text + "\" at index " + index.toString());
4459
4587
  } else break;
4460
4588
  const res = _findUnit(uStr);
4589
+ let splitReading = null;
4461
4590
  if (res === null) {
4591
+ const ambiguous = Object.hasOwn(AMBIGUOUS_UNIT_SPELLINGS, uStr) ? AMBIGUOUS_UNIT_SPELLINGS[uStr] : void 0;
4592
+ if (ambiguous !== void 0) throw new AmbiguousUnitError(uStr, ambiguous.readings, ambiguous.hint);
4462
4593
  const refused = Object.hasOwn(REFUSED_UNIT_SPELLINGS, uStr) ? REFUSED_UNIT_SPELLINGS[uStr] : void 0;
4463
4594
  if (refused !== void 0) throw new UnitParseError("Unit \"" + uStr + "\" is refused: " + refused);
4464
- throw new UnitParseError("Unit \"" + uStr + "\" not found.");
4595
+ const ways = isPrefixedUnitSpelling(uStr) ? [] : readings(uStr);
4596
+ if (ways.length === 0) throw new UnitParseError("Unit \"" + uStr + "\" not found.");
4597
+ const groups = /* @__PURE__ */ new Map();
4598
+ for (const r of ways) {
4599
+ const key = JSON.stringify(readingDims(r));
4600
+ const current = groups.get(key);
4601
+ if (current === void 0 || r.length < current.length || r.length === current.length && spelling(r) < spelling(current)) groups.set(key, r);
4602
+ }
4603
+ if (groups.size !== 1) throw new AmbiguousUnitError(uStr, [...groups.values()].map(spelling));
4604
+ splitReading = groups.values().next().value;
4465
4605
  }
4466
4606
  let power = powerMultiplierCurrent * powerMultiplierStackProduct;
4467
4607
  skipWhitespace();
@@ -4471,12 +4611,22 @@ const createUnitClass = /* #__PURE__ */ factory("Unit", [
4471
4611
  if (p === null) throw new UnitParseError("In \"" + str + "\", \"^\" must be followed by a floating-point number");
4472
4612
  power *= p;
4473
4613
  }
4474
- unit.units.push({
4475
- unit: res.unit,
4476
- prefix: res.prefix,
4477
- power
4478
- });
4479
- for (let i = 0; i < BASE_DIMENSIONS.length; i++) unit.dimensions[i] += (res.unit.dimensions?.[i] || 0) * power;
4614
+ if (res !== null) {
4615
+ unit.units.push({
4616
+ unit: res.unit,
4617
+ prefix: res.prefix,
4618
+ power
4619
+ });
4620
+ for (let i = 0; i < BASE_DIMENSIONS.length; i++) unit.dimensions[i] += (res.unit.dimensions?.[i] || 0) * power;
4621
+ } else for (const f of splitReading) {
4622
+ const r = findUnitPair(f.name);
4623
+ unit.units.push({
4624
+ unit: r.unit,
4625
+ prefix: r.prefix,
4626
+ power: f.power * power
4627
+ });
4628
+ for (let i = 0; i < BASE_DIMENSIONS.length; i++) unit.dimensions[i] += (r.unit.dimensions?.[i] || 0) * f.power * power;
4629
+ }
4480
4630
  skipWhitespace();
4481
4631
  while (c === ")") {
4482
4632
  if (powerMultiplierStack.length === 0) throw new UnitParseError("Unmatched \")\" in \"" + text + "\" at index " + index.toString());
@@ -4494,11 +4644,12 @@ const createUnitClass = /* #__PURE__ */ factory("Unit", [
4494
4644
  powerMultiplierCurrent = -1;
4495
4645
  expectingUnit = true;
4496
4646
  } else powerMultiplierCurrent = inDenominator ? -1 : 1;
4497
- if (res.unit.base) {
4498
- const baseDim = res.unit.base.key;
4647
+ const parsedUnits = res !== null ? [res] : splitReading.map((f) => findUnitPair(f.name));
4648
+ for (const parsed of parsedUnits) if (parsed.unit.base) {
4649
+ const baseDim = parsed.unit.base.key;
4499
4650
  UNIT_SYSTEMS.auto[baseDim] = {
4500
- unit: res.unit,
4501
- prefix: res.prefix
4651
+ unit: parsed.unit,
4652
+ prefix: parsed.prefix
4502
4653
  };
4503
4654
  }
4504
4655
  }
@@ -4507,6 +4658,7 @@ const createUnitClass = /* #__PURE__ */ factory("Unit", [
4507
4658
  if (expectingUnit) throw new UnitParseError("Trailing characters: \"" + str + "\"");
4508
4659
  if (powerMultiplierStack.length !== 0) throw new UnitParseError("Unmatched \"(\" in \"" + text + "\"");
4509
4660
  if (unit.units.length === 0 && !options.allowNoUnits) throw new UnitParseError("\"" + str + "\" contains no units");
4661
+ if (options.affine !== "difference" && unit.units.some((u) => u.unit.offset !== 0) && !(unit.units.length === 1 && unit.units[0].power === 1 && !valueProduct)) throw new UnitParseError("Unit \"" + str + "\" uses an affine unit (degC, degF) in a compound. Write a single affine unit, or pass { affine: 'difference' } to read it as a temperature interval.");
4510
4662
  unit.value = value !== void 0 ? unit._normalize(value) : null;
4511
4663
  return unit;
4512
4664
  };
@@ -4516,6 +4668,7 @@ const createUnitClass = /* #__PURE__ */ factory("Unit", [
4516
4668
  unit.skipAutomaticSimplification = this.skipAutomaticSimplification;
4517
4669
  unit.value = clone(this.value);
4518
4670
  unit._exactSI = this._exactSI;
4671
+ unit.cycles = this.cycles;
4519
4672
  unit.dimensions = this.dimensions.slice(0);
4520
4673
  unit.units = [];
4521
4674
  for (let i = 0; i < this.units.length; i++) {
@@ -4556,6 +4709,9 @@ const createUnitClass = /* #__PURE__ */ factory("Unit", [
4556
4709
  Unit.exactScale = function(valuelessUnit) {
4557
4710
  return Unit.parse(valuelessUnit).exactScale();
4558
4711
  };
4712
+ Unit.readings = function(token) {
4713
+ return readings(token);
4714
+ };
4559
4715
  Unit.prototype._normalize = function(value) {
4560
4716
  if (value === null || value === void 0 || this.units.length === 0) return value ?? null;
4561
4717
  const scale = this.exactScale();
@@ -4792,7 +4948,7 @@ const createUnitClass = /* #__PURE__ */ factory("Unit", [
4792
4948
  if (!Number.isInteger(angleDelta)) return null;
4793
4949
  return angleDelta;
4794
4950
  }
4795
- Unit.prototype.to = function(valuelessUnit) {
4951
+ Unit.prototype.to = function(valuelessUnit, options) {
4796
4952
  const value = this.value === null ? this._normalize(1) : this.value;
4797
4953
  let other;
4798
4954
  if (typeof valuelessUnit === "string") other = Unit.parse(valuelessUnit);
@@ -4801,6 +4957,7 @@ const createUnitClass = /* #__PURE__ */ factory("Unit", [
4801
4957
  const bridge = this.equalBase(other) ? 0 : cycleAngleBridge(this, other);
4802
4958
  if (bridge === null) throw new DimensionMismatchError(`Units do not match ('${other.toString()}' != '${this.toString()}')`);
4803
4959
  if (other.value !== null) throw new Error("Cannot convert to a unit with a value");
4960
+ other.cycles = bridge;
4804
4961
  if (bridge !== 0) {
4805
4962
  const factor = cyclesToRadians(bridge);
4806
4963
  const exact = liveExactSI(this);
@@ -4815,7 +4972,7 @@ const createUnitClass = /* #__PURE__ */ factory("Unit", [
4815
4972
  other.skipAutomaticSimplification = true;
4816
4973
  return other;
4817
4974
  }
4818
- if (this.value === null || this._isDerived() || this.units.length === 0 || other.units.length === 0 || this.units[0].unit.offset === other.units[0].unit.offset) {
4975
+ if (options?.reading === "difference" || this.value === null || this._isDerived() || this.units.length === 0 || other.units.length === 0 || this.units[0].unit.offset === other.units[0].unit.offset) {
4819
4976
  other.value = clone(value);
4820
4977
  other._exactSI = liveExactSI(this);
4821
4978
  } else {
@@ -5998,4 +6155,4 @@ const unitDependencies = {
5998
6155
  //#region src/types/unit/index.ts
5999
6156
  const Unit = createUnitClass(unitDependencies);
6000
6157
  //#endregion
6001
- export { BIGNUMBER_LN10 as $, log10 as $t, formatExactScale as A, isRange as An, get as At, abs as B, Complex as Bn, memoize as Bt, clearExactScaleNumberCache as C, isFunction as Cn, MathjsError as Ct, exactScaleOf as D, isNull as Dn, deepFlatten as Dt, exactScaleNumberCacheSize as E, isMatrix as En, deepExtend as Et, powerExactScale as F, isUnit as Fn, pickShallow as Ft, isNumeric as G, cbrt as Gt, divideScalar as H, isComplex$1 as Hn, acosh as Ht, ratioExactScale as I, typeOf as In, set as It, pow as J, digits as Jt, multiplyScalar as K, copysign as Kt, readScaleExpression as L, COMPLEX_NEG_ONE as Ln, traverse as Lt, isRationalScale as M, isSparseMatrix as Mn, lazy as Mt, multiplyExactScales as N, isString as Nn, mapObject as Nt, exactScaleToNumber as O, isNumber as On, deepStrictEqual as Ot, namedIrrationalScale as P, isUndefined as Pn, pick as Pt, BIGNUMBER_E as Q, isPowZeroAtInfinity as Qt, DimensionMismatchError as R, COMPLEX_ONE as Rn, endsWith as Rt, binaryExactScale as S, isFraction$1 as Sn, stripOptionalNotation as St, divideExactScales as T, isMap as Tn, clone as Tt, equal as U, asinh as Ut, addScalar as V, I as Vn, warnOnce as Vt, fix as W, atanh as Wt, subtractScalar$1 as X, format as Xt, round as Y, expm1 as Yt, DEFAULT_CONFIG as Z, isInteger as Zt, LN2_EXACT_SCALE as _, isBoolean as _n, create as _t, REFUSED_UNIT_SPELLINGS as a, safeNumberType as an, BIGNUMBER_ZERO as at, UNIT_EXACT_SCALE as b, isDate as bn, isOptionalDependency as bt, UNIT_ROW_ALIASES as c, splitNumber as cn, FRACTION_HALF as ct, namedExactScale as d, toExponential as dn, FRACTION_QUARTER as dt, log1p as en, BIGNUMBER_LN2 as et, readUnitScale as f, toFixed as fn, FRACTION_THIRD as ft, unitRowValue as g, isBigNumber$1 as gn, assertDependencies as gt, unitRowExactScale as h, isBigInt as hn, isFraction as ht, NAMED_SCALES as i, roundDigits as in, BIGNUMBER_TEN as it, irrationalPower as j, isRegExp as jn, isLegacyFactory as jt, exactScalesEqual as k, isObject as kn, extend as kt, getUnitPrefix as l, tanh as ln, FRACTION_NEG_ONE as lt, unitRowExactOffset as m, isArray as mn, Fraction as mt, unitDependencies as n, nearlyEqual as nn, BIGNUMBER_ONE as nt, UNIT_PREFIX_SETS as o, sign as on, BigNumber as ot, unitPrefixExactScale as p, toPrecision as pn, FRACTION_ZERO as pt, number as q, cosh as qt, createUnitClass as r, normalizeFormatOptions as rn, BIGNUMBER_PI as rt, UNIT_ROWS as s, sinh as sn, isBigNumber as st, Unit as t, log2 as tn, BIGNUMBER_NEG_ONE as tt, getUnitRow as u, toEngineering as un, FRACTION_ONE as ut, NAMED_IRRATIONALS as v, isCollection as vn, factory as vt, decimalExactScale as w, isIndex as wn, canDefineProperty as wt, addExactScales as x, isDenseMatrix as xn, sortFactories as xt, PI_EXACT_SCALE as y, isComplex as yn, isFactory as yt, UnitParseError as z, COMPLEX_ZERO as zn, hasOwnProperty as zt };
6158
+ export { DEFAULT_CONFIG as $, isInteger as $t, exactScalesEqual as A, isNumber as An, deepStrictEqual as At, DimensionMismatchError as B, COMPLEX_ONE as Bn, endsWith as Bt, binaryExactScale as C, isDenseMatrix as Cn, sortFactories as Ct, exactScaleNumberCacheSize as D, isMap as Dn, clone as Dt, divideExactScales as E, isIndex as En, canDefineProperty as Et, namedIrrationalScale as F, isString as Fn, mapObject as Ft, equal as G, asinh as Gt, abs as H, Complex as Hn, memoize as Ht, powerExactScale as I, isUndefined as In, pick as It, multiplyScalar as J, copysign as Jt, fix as K, atanh as Kt, ratioExactScale as L, isUnit as Ln, pickShallow as Lt, irrationalPower as M, isRange as Mn, get as Mt, isRationalScale as N, isRegExp as Nn, isLegacyFactory as Nt, exactScaleOf as O, isMatrix as On, deepExtend as Ot, multiplyExactScales as P, isSparseMatrix as Pn, lazy as Pt, subtractScalar$1 as Q, format as Qt, readScaleExpression as R, typeOf as Rn, set as Rt, addExactScales as S, isDate as Sn, isOptionalDependency as St, decimalExactScale as T, isFunction as Tn, MathjsError as Tt, addScalar as U, I as Un, warnOnce as Ut, UnitParseError as V, COMPLEX_ZERO as Vn, hasOwnProperty as Vt, divideScalar as W, isComplex$1 as Wn, acosh as Wt, pow as X, digits as Xt, number as Y, cosh as Yt, round as Z, expm1 as Zt, unitRowValue as _, isBigInt as _n, isFraction as _t, NAMED_SCALES as a, normalizeFormatOptions as an, BIGNUMBER_PI as at, PI_EXACT_SCALE as b, isCollection as bn, factory as bt, UNIT_ROWS as c, sign as cn, BigNumber as ct, getUnitRow as d, tanh as dn, FRACTION_NEG_ONE as dt, isPowZeroAtInfinity as en, BIGNUMBER_E as et, namedExactScale as f, toEngineering as fn, FRACTION_ONE as ft, unitRowExactScale as g, isArray as gn, Fraction as gt, unitRowExactOffset as h, toPrecision as hn, FRACTION_ZERO as ht, AMBIGUOUS_UNIT_SPELLINGS as i, nearlyEqual as in, BIGNUMBER_ONE as it, formatExactScale as j, isObject as jn, extend as jt, exactScaleToNumber as k, isNull as kn, deepFlatten as kt, UNIT_ROW_ALIASES as l, sinh as ln, isBigNumber as lt, unitPrefixExactScale as m, toFixed as mn, FRACTION_THIRD as mt, unitDependencies as n, log1p as nn, BIGNUMBER_LN2 as nt, REFUSED_UNIT_SPELLINGS as o, roundDigits as on, BIGNUMBER_TEN as ot, readUnitScale as p, toExponential as pn, FRACTION_QUARTER as pt, isNumeric as q, cbrt as qt, createUnitClass as r, log2 as rn, BIGNUMBER_NEG_ONE as rt, UNIT_PREFIX_SETS as s, safeNumberType as sn, BIGNUMBER_ZERO as st, Unit as t, log10 as tn, BIGNUMBER_LN10 as tt, getUnitPrefix as u, splitNumber as un, FRACTION_HALF as ut, LN2_EXACT_SCALE as v, isBigNumber$1 as vn, assertDependencies as vt, clearExactScaleNumberCache as w, isFraction$1 as wn, stripOptionalNotation as wt, UNIT_EXACT_SCALE as x, isComplex as xn, isFactory as xt, NAMED_IRRATIONALS as y, isBoolean as yn, create as yt, AmbiguousUnitError as z, COMPLEX_NEG_ONE as zn, traverse as zt };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danielsimonjr/mathts-core",
3
- "version": "0.21.1",
3
+ "version": "0.23.0",
4
4
  "description": "Core types, utilities, and configuration for MathTS",
5
5
  "author": "Daniel Simon Jr.",
6
6
  "license": "MIT",