@wisemen/quantity 0.9.1 → 0.9.3

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.
Files changed (52) hide show
  1. package/dist/quantities/current/current.d.ts +1 -0
  2. package/dist/quantities/current/current.js +3 -0
  3. package/dist/quantities/current/current.js.map +1 -1
  4. package/dist/quantities/current/tests/current.unit.test.js +27 -0
  5. package/dist/quantities/current/tests/current.unit.test.js.map +1 -1
  6. package/dist/quantities/distance/distance.d.ts +1 -0
  7. package/dist/quantities/distance/distance.js +3 -0
  8. package/dist/quantities/distance/distance.js.map +1 -1
  9. package/dist/quantities/distance/tests/distance.unit.test.js +7 -0
  10. package/dist/quantities/distance/tests/distance.unit.test.js.map +1 -1
  11. package/dist/quantities/duration/duration.d.ts +1 -0
  12. package/dist/quantities/duration/duration.js +3 -0
  13. package/dist/quantities/duration/duration.js.map +1 -1
  14. package/dist/quantities/duration/tests/duration.unit.test.js +7 -0
  15. package/dist/quantities/duration/tests/duration.unit.test.js.map +1 -1
  16. package/dist/quantities/energy/energy.d.ts +1 -0
  17. package/dist/quantities/energy/energy.js +3 -0
  18. package/dist/quantities/energy/energy.js.map +1 -1
  19. package/dist/quantities/energy/tests/energy.unit.test.d.ts +1 -0
  20. package/dist/quantities/energy/tests/energy.unit.test.js +14 -0
  21. package/dist/quantities/energy/tests/energy.unit.test.js.map +1 -0
  22. package/dist/quantities/mass/mass.d.ts +1 -0
  23. package/dist/quantities/mass/mass.js +3 -0
  24. package/dist/quantities/mass/mass.js.map +1 -1
  25. package/dist/quantities/mass/tests/mass.unit.test.js +7 -0
  26. package/dist/quantities/mass/tests/mass.unit.test.js.map +1 -1
  27. package/dist/quantities/power/power.d.ts +1 -0
  28. package/dist/quantities/power/power.js +3 -0
  29. package/dist/quantities/power/power.js.map +1 -1
  30. package/dist/quantities/power/tests/power.unit.test.d.ts +1 -0
  31. package/dist/quantities/power/tests/power.unit.test.js +14 -0
  32. package/dist/quantities/power/tests/power.unit.test.js.map +1 -0
  33. package/dist/quantities/speed/speed.d.ts +1 -0
  34. package/dist/quantities/speed/speed.js +3 -0
  35. package/dist/quantities/speed/speed.js.map +1 -1
  36. package/dist/quantities/speed/tests/speed.unit.test.js +7 -0
  37. package/dist/quantities/speed/tests/speed.unit.test.js.map +1 -1
  38. package/dist/quantities/temperature/temperature.d.ts +1 -0
  39. package/dist/quantities/temperature/temperature.js +3 -0
  40. package/dist/quantities/temperature/temperature.js.map +1 -1
  41. package/dist/quantities/temperature/tests/temperature.unit.test.d.ts +1 -0
  42. package/dist/quantities/temperature/tests/temperature.unit.test.js +14 -0
  43. package/dist/quantities/temperature/tests/temperature.unit.test.js.map +1 -0
  44. package/dist/quantities/voltage/tests/voltage.unit.test.js +7 -0
  45. package/dist/quantities/voltage/tests/voltage.unit.test.js.map +1 -1
  46. package/dist/quantities/voltage/voltage.d.ts +1 -0
  47. package/dist/quantities/voltage/voltage.js +3 -0
  48. package/dist/quantities/voltage/voltage.js.map +1 -1
  49. package/dist/quantity.d.ts +11 -1
  50. package/dist/quantity.js +21 -2
  51. package/dist/quantity.js.map +1 -1
  52. package/package.json +6 -8
@@ -3,6 +3,7 @@ import { CurrentUnit } from './current-unit.enum.js';
3
3
  export declare const CURRENT_MULTIPLIERS: Record<CurrentUnit, number>;
4
4
  export declare class Current extends Quantity<CurrentUnit, Current> {
5
5
  protected getBaseUnit(): CurrentUnit;
6
+ protected getUnits(): readonly CurrentUnit[];
6
7
  protected convertValueToBaseUnit(value: number, unit: CurrentUnit): number;
7
8
  protected convertBaseUnitValueTo(value: number, unit: CurrentUnit): number;
8
9
  static ZERO: Current;
@@ -31,6 +31,9 @@ export class Current extends Quantity {
31
31
  getBaseUnit() {
32
32
  return CurrentUnit.AMPERE;
33
33
  }
34
+ getUnits() {
35
+ return Object.values(CurrentUnit);
36
+ }
34
37
  convertValueToBaseUnit(value, unit) {
35
38
  return value * CURRENT_MULTIPLIERS[unit];
36
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"current.js","sourceRoot":"","sources":["../../../lib/quantities/current/current.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,MAAM,CAAC,MAAM,mBAAmB,GAAgC;IAC9D,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IAEvB,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,IAAI;IAC9B,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,IAAI;IAC/B,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,IAAI;IAC/B,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,IAAI;IAC/B,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,IAAI;IAC9B,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK;IAC/B,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,KAAK;IAChC,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK;IAC/B,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,KAAK;IAChC,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,KAAK;IAChC,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,KAAK;IAChC,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,KAAK;IAEjC,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,GAAG;IAC7B,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,GAAG;IAC9B,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,GAAG;IAC7B,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,GAAG;IAC7B,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,GAAG;IAC7B,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,IAAI;IAC9B,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,IAAI;IAC9B,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,IAAI;IAC7B,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,IAAI;IAC/B,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,IAAI;IAC/B,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,IAAI;IAC/B,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,IAAI;CACjC,CAAA;AAED,MAAM,OAAO,OAAQ,SAAQ,QAA8B;IAC/C,WAAW;QACnB,OAAO,WAAW,CAAC,MAAM,CAAA;IAC3B,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,IAAiB;QAChE,OAAO,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,IAAiB;QAChE,OAAO,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA"}
1
+ {"version":3,"file":"current.js","sourceRoot":"","sources":["../../../lib/quantities/current/current.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,MAAM,CAAC,MAAM,mBAAmB,GAAgC;IAC9D,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IAEvB,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,IAAI;IAC9B,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,IAAI;IAC/B,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,IAAI;IAC/B,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,IAAI;IAC/B,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,IAAI;IAC9B,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK;IAC/B,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,KAAK;IAChC,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK;IAC/B,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,KAAK;IAChC,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,KAAK;IAChC,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,KAAK;IAChC,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,KAAK;IAEjC,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,GAAG;IAC7B,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,GAAG;IAC9B,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,GAAG;IAC7B,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,GAAG;IAC7B,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,GAAG;IAC7B,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,IAAI;IAC9B,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,IAAI;IAC9B,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,IAAI;IAC7B,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,IAAI;IAC/B,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,IAAI;IAC/B,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,IAAI;IAC/B,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,IAAI;CACjC,CAAA;AAED,MAAM,OAAO,OAAQ,SAAQ,QAA8B;IAC/C,WAAW;QACnB,OAAO,WAAW,CAAC,MAAM,CAAA;IAC3B,CAAC;IAES,QAAQ;QAChB,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IACnC,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,IAAiB;QAChE,OAAO,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,IAAiB;QAChE,OAAO,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA"}
@@ -53,5 +53,32 @@ void describe('Current class', () => {
53
53
  expect(c3.format('en-US', { minimumFractionDigits: 3, maximumFractionDigits: 3 })).toBe('0.500 A');
54
54
  });
55
55
  });
56
+ void describe('Current parsing', () => {
57
+ void it('parses current strings with SI units', () => {
58
+ const current = new Current('10mA');
59
+ expect(current.value).toBe(10);
60
+ expect(current.unit).toBe(CurrentUnit.MILLIAMPERE);
61
+ expect(current.isEqualTo(0.01, CurrentUnit.AMPERE)).toBe(true);
62
+ });
63
+ void it('parses signed and decimal current strings', () => {
64
+ const current = new Current('-0.5A');
65
+ expect(current.value).toBe(-0.5);
66
+ expect(current.unit).toBe(CurrentUnit.AMPERE);
67
+ });
68
+ void it('parses current strings with unicode units', () => {
69
+ const current = new Current('12μA');
70
+ expect(current.value).toBe(12);
71
+ expect(current.unit).toBe(CurrentUnit.MICROAMPERE);
72
+ });
73
+ void it('parses current strings with larger SI units', () => {
74
+ const current = new Current('1.5kA');
75
+ expect(current.value).toBe(1.5);
76
+ expect(current.unit).toBe(CurrentUnit.KILOAMPERE);
77
+ });
78
+ void it('rejects invalid current strings', () => {
79
+ expect(() => new Current('invalid')).toThrow('Invalid quantity string invalid');
80
+ expect(() => new Current('10 A')).toThrow('Invalid quantity string 10 A');
81
+ });
82
+ });
56
83
  });
57
84
  //# sourceMappingURL=current.unit.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"current.unit.test.js","sourceRoot":"","sources":["../../../../lib/quantities/current/tests/current.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"current.unit.test.js","sourceRoot":"","sources":["../../../../lib/quantities/current/tests/current.unit.test.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { Quantity } from '../../quantity.js';
2
2
  import { DistanceUnit } from './distance-unit.enum.js';
3
3
  export declare class Distance extends Quantity<DistanceUnit, Distance> {
4
4
  protected getBaseUnit(): DistanceUnit;
5
+ protected getUnits(): readonly DistanceUnit[];
5
6
  protected convertValueToBaseUnit(value: number, fromUnit: DistanceUnit): number;
6
7
  protected convertBaseUnitValueTo(value: number, toUnit: DistanceUnit): number;
7
8
  get meters(): number;
@@ -19,6 +19,9 @@ export class Distance extends Quantity {
19
19
  getBaseUnit() {
20
20
  return DistanceUnit.METER;
21
21
  }
22
+ getUnits() {
23
+ return Object.values(DistanceUnit);
24
+ }
22
25
  convertValueToBaseUnit(value, fromUnit) {
23
26
  return value * DISTANCE_MULTIPLIERS[fromUnit];
24
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"distance.js","sourceRoot":"","sources":["../../../lib/quantities/distance/distance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEtD,MAAM,oBAAoB,GAAiC;IACzD,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;IAEvB,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,IAAI;IAC9B,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,IAAI;IAC/B,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,IAAI;IAC/B,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,IAAI;IAC/B,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,IAAI;IAE9B,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,GAAG;IAC7B,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,GAAG;IAC9B,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,GAAG;IAE7B,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM;IAC3B,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM;IAC3B,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM;IAC3B,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,OAAO;CAC9B,CAAA;AAED,MAAM,OAAO,QAAS,SAAQ,QAAgC;IAClD,WAAW;QACnB,OAAO,YAAY,CAAC,KAAK,CAAA;IAC3B,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,QAAsB;QACrE,OAAO,KAAK,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAA;IAC/C,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,MAAoB;QACnE,OAAO,KAAK,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IAC9C,CAAC;IAED,MAAM,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA"}
1
+ {"version":3,"file":"distance.js","sourceRoot":"","sources":["../../../lib/quantities/distance/distance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEtD,MAAM,oBAAoB,GAAiC;IACzD,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;IAEvB,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,IAAI;IAC9B,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,IAAI;IAC/B,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,IAAI;IAC/B,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,IAAI;IAC/B,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,IAAI;IAE9B,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,GAAG;IAC7B,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,GAAG;IAC9B,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,GAAG;IAE7B,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM;IAC3B,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM;IAC3B,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM;IAC3B,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,OAAO;CAC9B,CAAA;AAED,MAAM,OAAO,QAAS,SAAQ,QAAgC;IAClD,WAAW;QACnB,OAAO,YAAY,CAAC,KAAK,CAAA;IAC3B,CAAC;IAES,QAAQ;QAChB,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IACpC,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,QAAsB;QACrE,OAAO,KAAK,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAA;IAC/C,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,MAAoB;QACnE,OAAO,KAAK,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IAC9C,CAAC;IAED,MAAM,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA"}
@@ -27,5 +27,12 @@ void describe('Distance class', () => {
27
27
  expect(r3).toBe(2);
28
28
  });
29
29
  });
30
+ void describe('Distance parsing', () => {
31
+ void it('parses distance strings', () => {
32
+ const distance = new Distance('12μm');
33
+ expect(distance.value).toBe(12);
34
+ expect(distance.unit).toBe(DistanceUnit.MICROMETER);
35
+ });
36
+ });
30
37
  });
31
38
  //# sourceMappingURL=distance.unit.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"distance.unit.test.js","sourceRoot":"","sources":["../../../../lib/quantities/distance/tests/distance.unit.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,KAAK,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IACnC,KAAK,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC1C,KAAK,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE;YAC7B,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAC/C,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;YACpD,MAAM,CAAC,GAAa,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAE9B,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1D,CAAC,CAAC,CAAA;QAEF,KAAK,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;YAClC,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAC/C,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;YACpD,MAAM,CAAC,GAAa,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YAEnC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;QAEF,KAAK,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;YAChC,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAC9C,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;YAEpD,MAAM,EAAE,GAAa,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YACjC,MAAM,EAAE,GAAW,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAChC,MAAM,EAAE,GAAW,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAErD,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC5D,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAClB,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACpB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"distance.unit.test.js","sourceRoot":"","sources":["../../../../lib/quantities/distance/tests/distance.unit.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,KAAK,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IACnC,KAAK,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC1C,KAAK,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE;YAC7B,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAC/C,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;YACpD,MAAM,CAAC,GAAa,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAE9B,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1D,CAAC,CAAC,CAAA;QAEF,KAAK,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;YAClC,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAC/C,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;YACpD,MAAM,CAAC,GAAa,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YAEnC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;QAEF,KAAK,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;YAChC,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAC9C,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;YAEpD,MAAM,EAAE,GAAa,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YACjC,MAAM,EAAE,GAAW,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAChC,MAAM,EAAE,GAAW,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAErD,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC5D,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAClB,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACpB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,KAAK,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QACrC,KAAK,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;YACtC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAA;YAErC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC/B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;QACrD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -2,6 +2,7 @@ import { Quantity } from '../../quantity.js';
2
2
  import { DurationUnit } from './duration-unit.enum.js';
3
3
  export declare class Duration extends Quantity<DurationUnit, Duration> {
4
4
  protected getBaseUnit(): DurationUnit;
5
+ protected getUnits(): readonly DurationUnit[];
5
6
  protected convertValueToBaseUnit(value: number, unit: DurationUnit): number;
6
7
  protected convertBaseUnitValueTo(value: number, unit: DurationUnit): number;
7
8
  get nanoseconds(): number;
@@ -13,6 +13,9 @@ export class Duration extends Quantity {
13
13
  getBaseUnit() {
14
14
  return DurationUnit.SECONDS;
15
15
  }
16
+ getUnits() {
17
+ return Object.values(DurationUnit);
18
+ }
16
19
  convertValueToBaseUnit(value, unit) {
17
20
  return value * DISTANCE_MULTIPLIERS[unit];
18
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"duration.js","sourceRoot":"","sources":["../../../lib/quantities/duration/duration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEtD,MAAM,oBAAoB,GAAiC;IACzD,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;IACzB,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,IAAI;IACjC,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,IAAI;IACjC,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,IAAI;IAChC,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE;IAC1B,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,IAAI;IAC1B,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE;CAC/B,CAAA;AAED,MAAM,OAAO,QAAS,SAAQ,QAAgC;IAClD,WAAW;QACnB,OAAO,YAAY,CAAC,OAAO,CAAA;IAC7B,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,IAAkB;QACjE,OAAO,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAC3C,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,IAAkB;QACjE,OAAO,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAC3C,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;IAChD,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC;IAED,mCAAmC;IACnC,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IACzC,CAAC;IAED,MAAM,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAA"}
1
+ {"version":3,"file":"duration.js","sourceRoot":"","sources":["../../../lib/quantities/duration/duration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEtD,MAAM,oBAAoB,GAAiC;IACzD,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;IACzB,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,IAAI;IACjC,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,IAAI;IACjC,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,IAAI;IAChC,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE;IAC1B,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,IAAI;IAC1B,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE;CAC/B,CAAA;AAED,MAAM,OAAO,QAAS,SAAQ,QAAgC;IAClD,WAAW;QACnB,OAAO,YAAY,CAAC,OAAO,CAAA;IAC7B,CAAC;IAES,QAAQ;QAChB,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IACpC,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,IAAkB;QACjE,OAAO,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAC3C,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,IAAkB;QACjE,OAAO,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAC3C,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;IAChD,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC;IAED,mCAAmC;IACnC,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IACzC,CAAC;IAED,MAAM,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAA"}
@@ -27,5 +27,12 @@ describe('Duration unit tests', () => {
27
27
  expect(duration.hours).toBe(1);
28
28
  });
29
29
  });
30
+ describe('parsing', () => {
31
+ it('parses duration strings', () => {
32
+ const duration = new Duration('2days');
33
+ expect(duration.value).toBe(2);
34
+ expect(duration.unit).toBe(DurationUnit.DAYS);
35
+ });
36
+ });
30
37
  });
31
38
  //# sourceMappingURL=duration.unit.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"duration.unit.test.js","sourceRoot":"","sources":["../../../../lib/quantities/duration/tests/duration.unit.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAEpD,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAEpD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAEpD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAEpD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"duration.unit.test.js","sourceRoot":"","sources":["../../../../lib/quantities/duration/tests/duration.unit.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAEpD,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAEpD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAEpD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAEpD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;YACjC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAA;YAEtC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC9B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -2,6 +2,7 @@ import { Quantity } from '../../quantity.js';
2
2
  import { EnergyUnit } from './energy-unit.enum.js';
3
3
  export declare class Energy extends Quantity<EnergyUnit, Energy> {
4
4
  protected getBaseUnit(): EnergyUnit;
5
+ protected getUnits(): readonly EnergyUnit[];
5
6
  protected convertValueToBaseUnit(value: number, unit: EnergyUnit): number;
6
7
  protected convertBaseUnitValueTo(value: number, unit: EnergyUnit): number;
7
8
  static ZERO: Energy;
@@ -42,6 +42,9 @@ export class Energy extends Quantity {
42
42
  getBaseUnit() {
43
43
  return EnergyUnit.JOULE;
44
44
  }
45
+ getUnits() {
46
+ return Object.values(EnergyUnit);
47
+ }
45
48
  convertValueToBaseUnit(value, unit) {
46
49
  return value * ENERGY_MULTIPLIERS[unit];
47
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"energy.js","sourceRoot":"","sources":["../../../lib/quantities/energy/energy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"energy.js","sourceRoot":"","sources":["../../../lib/quantities/energy/energy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ import { describe, it } from 'node:test';
2
+ import { expect } from 'expect';
3
+ import { Energy } from '../energy.js';
4
+ import { EnergyUnit } from '../energy-unit.enum.js';
5
+ void describe('Energy class', () => {
6
+ void describe('Energy parsing', () => {
7
+ void it('parses energy strings', () => {
8
+ const energy = new Energy('1.25kWh');
9
+ expect(energy.value).toBe(1.25);
10
+ expect(energy.unit).toBe(EnergyUnit.KILOWATT_HOUR);
11
+ });
12
+ });
13
+ });
14
+ //# sourceMappingURL=energy.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"energy.unit.test.js","sourceRoot":"","sources":["../../../../lib/quantities/energy/tests/energy.unit.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEnD,KAAK,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IACjC,KAAK,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QACnC,KAAK,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;YACpC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,CAAA;YAEpC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -2,6 +2,7 @@ import { Quantity } from '../../quantity.js';
2
2
  import { MassUnit } from './mass-unit.enum.js';
3
3
  export declare class Mass extends Quantity<MassUnit, Mass> {
4
4
  protected getBaseUnit(): MassUnit;
5
+ protected getUnits(): readonly MassUnit[];
5
6
  protected convertValueToBaseUnit(value: number, fromUnit: MassUnit): number;
6
7
  protected convertBaseUnitValueTo(value: number, toUnit: MassUnit): number;
7
8
  get kilograms(): number;
@@ -18,6 +18,9 @@ export class Mass extends Quantity {
18
18
  getBaseUnit() {
19
19
  return MassUnit.KILOGRAM;
20
20
  }
21
+ getUnits() {
22
+ return Object.values(MassUnit);
23
+ }
21
24
  convertValueToBaseUnit(value, fromUnit) {
22
25
  return value * MASS_MULTIPLIERS[fromUnit];
23
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mass.js","sourceRoot":"","sources":["../../../lib/quantities/mass/mass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,MAAM,gBAAgB,GAA6B;IACjD,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IAEtB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI;IACrB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI;IACzB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI;IAC1B,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI;IAC1B,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI;IAC1B,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK;IAE1B,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI;IACzB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI;IAE1B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG;IAErB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU;IAC5B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc;CACjC,CAAA;AAED,MAAM,OAAO,IAAK,SAAQ,QAAwB;IACtC,WAAW;QACnB,OAAO,QAAQ,CAAC,QAAQ,CAAA;IAC1B,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,QAAkB;QACjE,OAAO,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAC3C,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,MAAgB;QAC/D,OAAO,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACzC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAED,MAAM,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA"}
1
+ {"version":3,"file":"mass.js","sourceRoot":"","sources":["../../../lib/quantities/mass/mass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,MAAM,gBAAgB,GAA6B;IACjD,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IAEtB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI;IACrB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI;IACzB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI;IAC1B,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI;IAC1B,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI;IAC1B,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK;IAE1B,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI;IACzB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI;IAE1B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG;IAErB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU;IAC5B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc;CACjC,CAAA;AAED,MAAM,OAAO,IAAK,SAAQ,QAAwB;IACtC,WAAW;QACnB,OAAO,QAAQ,CAAC,QAAQ,CAAA;IAC1B,CAAC;IAES,QAAQ;QAChB,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAChC,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,QAAkB;QACjE,OAAO,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAC3C,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,MAAgB;QAC/D,OAAO,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACzC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAED,MAAM,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA"}
@@ -70,5 +70,12 @@ void describe('Mass class', () => {
70
70
  });
71
71
  });
72
72
  });
73
+ void describe('Mass parsing', () => {
74
+ void it('parses mass strings', () => {
75
+ const mass = new Mass('-2.5kg');
76
+ expect(mass.value).toBe(-2.5);
77
+ expect(mass.unit).toBe(MassUnit.KILOGRAM);
78
+ });
79
+ });
73
80
  });
74
81
  //# sourceMappingURL=mass.unit.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mass.unit.test.js","sourceRoot":"","sources":["../../../../lib/quantities/mass/tests/mass.unit.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE/C,KAAK,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC/B,KAAK,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACtC,KAAK,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;YAC1B,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;YACzC,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;YACvC,MAAM,CAAC,GAAS,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAE1B,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;QAEF,KAAK,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAC/B,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;YACzC,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;YACvC,MAAM,CAAC,GAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YAE/B,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;QAEF,KAAK,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE;YAC7B,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;YACzC,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;YAEvC,MAAM,EAAE,GAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YAC7B,MAAM,EAAE,GAAW,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAChC,MAAM,EAAE,GAAW,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAEpD,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACnD,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAClB,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACpB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,KAAK,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QACrC,KAAK,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAC/B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAE3C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;QAEF,KAAK,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;YAChC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAE3C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClE,CAAC,CAAC,CAAA;QAEF,KAAK,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;YACpC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAE3C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QAC7D,CAAC,CAAC,CAAA;QAEF,KAAK,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;YACpC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAE3C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;QACjE,CAAC,CAAC,CAAA;QAEF,KAAK,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;YACpC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAE3C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;QAChE,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,KAAK,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QACjC,KAAK,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YAC1C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAE3C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,KAAK,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACpC,KAAK,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;YACjC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAE5C,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;QAEF,KAAK,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAC/B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;YAE1B,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;gBACnB,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,QAAQ,CAAC,QAAQ;aACxB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"mass.unit.test.js","sourceRoot":"","sources":["../../../../lib/quantities/mass/tests/mass.unit.test.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { Quantity } from '../../quantity.js';
2
2
  import { PowerUnit } from './power-unit.enum.js';
3
3
  export declare class Power extends Quantity<PowerUnit, Power> {
4
4
  protected getBaseUnit(): PowerUnit;
5
+ protected getUnits(): readonly PowerUnit[];
5
6
  protected convertValueToBaseUnit(value: number, unit: PowerUnit): number;
6
7
  protected convertBaseUnitValueTo(value: number, unit: PowerUnit): number;
7
8
  static ZERO: Power;
@@ -31,6 +31,9 @@ export class Power extends Quantity {
31
31
  getBaseUnit() {
32
32
  return PowerUnit.WATT;
33
33
  }
34
+ getUnits() {
35
+ return Object.values(PowerUnit);
36
+ }
34
37
  convertValueToBaseUnit(value, unit) {
35
38
  return value * POWER_MULTIPLIERS[unit];
36
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"power.js","sourceRoot":"","sources":["../../../lib/quantities/power/power.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAEhD,MAAM,iBAAiB,GAA8B;IACnD,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IAEnB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI;IAC1B,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,IAAI;IAC3B,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,IAAI;IAC3B,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,IAAI;IAC3B,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI;IAC1B,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,KAAK;IAC3B,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK;IAC5B,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,KAAK;IAC3B,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK;IAC5B,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK;IAC5B,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK;IAC5B,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,KAAK;IAE7B,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG;IACzB,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,GAAG;IAC1B,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG;IACzB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG;IACzB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG;IACzB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI;IAC1B,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI;IAC1B,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI;IACzB,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,IAAI;IAC3B,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,IAAI;IAC3B,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,IAAI;IAC3B,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI;CAC7B,CAAA;AAED,MAAM,OAAO,KAAM,SAAQ,QAA0B;IACzC,WAAW;QACnB,OAAO,SAAS,CAAC,IAAI,CAAA;IACvB,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,IAAe;QAC9D,OAAO,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,IAAe;QAC9D,OAAO,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"power.js","sourceRoot":"","sources":["../../../lib/quantities/power/power.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAEhD,MAAM,iBAAiB,GAA8B;IACnD,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IAEnB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI;IAC1B,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,IAAI;IAC3B,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,IAAI;IAC3B,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,IAAI;IAC3B,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI;IAC1B,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,KAAK;IAC3B,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK;IAC5B,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,KAAK;IAC3B,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK;IAC5B,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK;IAC5B,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK;IAC5B,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,KAAK;IAE7B,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG;IACzB,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,GAAG;IAC1B,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG;IACzB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG;IACzB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG;IACzB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI;IAC1B,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI;IAC1B,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI;IACzB,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,IAAI;IAC3B,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,IAAI;IAC3B,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,IAAI;IAC3B,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI;CAC7B,CAAA;AAED,MAAM,OAAO,KAAM,SAAQ,QAA0B;IACzC,WAAW;QACnB,OAAO,SAAS,CAAC,IAAI,CAAA;IACvB,CAAC;IAES,QAAQ;QAChB,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACjC,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,IAAe;QAC9D,OAAO,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,IAAe;QAC9D,OAAO,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ import { describe, it } from 'node:test';
2
+ import { expect } from 'expect';
3
+ import { Power } from '../power.js';
4
+ import { PowerUnit } from '../power-unit.enum.js';
5
+ void describe('Power class', () => {
6
+ void describe('Power parsing', () => {
7
+ void it('parses power strings', () => {
8
+ const power = new Power('0.5MW');
9
+ expect(power.value).toBe(0.5);
10
+ expect(power.unit).toBe(PowerUnit.MEGAWATT);
11
+ });
12
+ });
13
+ });
14
+ //# sourceMappingURL=power.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"power.unit.test.js","sourceRoot":"","sources":["../../../../lib/quantities/power/tests/power.unit.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEjD,KAAK,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAChC,KAAK,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAClC,KAAK,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;YACnC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;YAEhC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC7B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -2,6 +2,7 @@ import { Quantity } from '../../quantity.js';
2
2
  import { SpeedUnit } from './speed-unit.enum.js';
3
3
  export declare class Speed extends Quantity<SpeedUnit, Speed> {
4
4
  protected getBaseUnit(): SpeedUnit;
5
+ protected getUnits(): readonly SpeedUnit[];
5
6
  protected convertValueToBaseUnit(value: number, fromUnit: SpeedUnit): number;
6
7
  protected convertBaseUnitValueTo(value: number, toUnit: SpeedUnit): number;
7
8
  static ZERO: Speed;
@@ -16,6 +16,9 @@ export class Speed extends Quantity {
16
16
  getBaseUnit() {
17
17
  return SpeedUnit.METER_PER_SECOND;
18
18
  }
19
+ getUnits() {
20
+ return Object.values(SpeedUnit);
21
+ }
19
22
  convertValueToBaseUnit(value, fromUnit) {
20
23
  return value * SPEED_MULTIPLIERS[fromUnit];
21
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"speed.js","sourceRoot":"","sources":["../../../lib/quantities/speed/speed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAEhD,MAAM,iBAAiB,GAA8B;IACnD,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAE/B,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,CAAC,GAAG,GAAG;IACvC,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,OAAO;IACnC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ;IAC1B,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM;IACnC,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM;IACnC,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM;IACnC,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAE,IAAI;IACvC,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAE,KAAK;IACxC,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAE,IAAI;CACxC,CAAA;AAED,MAAM,OAAO,KAAM,SAAQ,QAA0B;IACzC,WAAW;QACnB,OAAO,SAAS,CAAC,gBAAgB,CAAA;IACnC,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,QAAmB;QAClE,OAAO,KAAK,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAC5C,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,MAAiB;QAChE,OAAO,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAA"}
1
+ {"version":3,"file":"speed.js","sourceRoot":"","sources":["../../../lib/quantities/speed/speed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAEhD,MAAM,iBAAiB,GAA8B;IACnD,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAE/B,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,CAAC,GAAG,GAAG;IACvC,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,OAAO;IACnC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ;IAC1B,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM;IACnC,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM;IACnC,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM;IACnC,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAE,IAAI;IACvC,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAE,KAAK;IACxC,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAE,IAAI;CACxC,CAAA;AAED,MAAM,OAAO,KAAM,SAAQ,QAA0B;IACzC,WAAW;QACnB,OAAO,SAAS,CAAC,gBAAgB,CAAA;IACnC,CAAC;IAES,QAAQ;QAChB,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACjC,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,QAAmB;QAClE,OAAO,KAAK,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAC5C,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,MAAiB;QAChE,OAAO,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAA"}
@@ -122,5 +122,12 @@ void describe('Speed class', () => {
122
122
  });
123
123
  });
124
124
  });
125
+ void describe('Speed parsing', () => {
126
+ void it('parses speed strings', () => {
127
+ const speed = new Speed('36km/h');
128
+ expect(speed.value).toBe(36);
129
+ expect(speed.unit).toBe(SpeedUnit.KILOMETER_PER_HOUR);
130
+ });
131
+ });
125
132
  });
126
133
  //# sourceMappingURL=speed.unit.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"speed.unit.test.js","sourceRoot":"","sources":["../../../../lib/quantities/speed/tests/speed.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"speed.unit.test.js","sourceRoot":"","sources":["../../../../lib/quantities/speed/tests/speed.unit.test.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { Quantity } from '../../quantity.js';
2
2
  import { TemperatureUnit } from './temperature-unit.enum.js';
3
3
  export declare class Temperature extends Quantity<TemperatureUnit, Temperature> {
4
4
  protected getBaseUnit(): TemperatureUnit;
5
+ protected getUnits(): readonly TemperatureUnit[];
5
6
  protected convertValueToBaseUnit(value: number, unit: TemperatureUnit): number;
6
7
  protected convertBaseUnitValueTo(value: number, unit: TemperatureUnit): number;
7
8
  /** Absolute zero = 0 Kelvin. NOTE: this does NOT represent 0° Celsius or Fahrenheit */
@@ -4,6 +4,9 @@ export class Temperature extends Quantity {
4
4
  getBaseUnit() {
5
5
  return TemperatureUnit.KELVIN;
6
6
  }
7
+ getUnits() {
8
+ return Object.values(TemperatureUnit);
9
+ }
7
10
  convertValueToBaseUnit(value, unit) {
8
11
  switch (unit) {
9
12
  case TemperatureUnit.KELVIN:
@@ -1 +1 @@
1
- {"version":3,"file":"temperature.js","sourceRoot":"","sources":["../../../lib/quantities/temperature/temperature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,MAAM,OAAO,WAAY,SAAQ,QAAsC;IAC3D,WAAW;QACnB,OAAO,eAAe,CAAC,MAAM,CAAA;IAC/B,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,IAAqB;QACpE,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,eAAe,CAAC,MAAM;gBACzB,OAAO,KAAK,CAAA;YACd,KAAK,eAAe,CAAC,OAAO;gBAC1B,OAAO,KAAK,GAAG,MAAM,CAAA;YACvB,KAAK,eAAe,CAAC,UAAU;gBAC7B,OAAO,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAA;YACxC,KAAK,eAAe,CAAC,oBAAoB;gBACvC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,MAAM,CAAA;QAClC,CAAC;IACH,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,IAAqB;QACpE,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,eAAe,CAAC,MAAM;gBACzB,OAAO,KAAK,CAAA;YACd,KAAK,eAAe,CAAC,OAAO;gBAC1B,OAAO,KAAK,GAAG,MAAM,CAAA;YACvB,KAAK,eAAe,CAAC,UAAU;gBAC7B,OAAO,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;YACxC,KAAK,eAAe,CAAC,oBAAoB;gBACvC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI,CAAA;QAClC,CAAC;IACH,CAAC;IAED,uFAAuF;IACvF,MAAM,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA"}
1
+ {"version":3,"file":"temperature.js","sourceRoot":"","sources":["../../../lib/quantities/temperature/temperature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,MAAM,OAAO,WAAY,SAAQ,QAAsC;IAC3D,WAAW;QACnB,OAAO,eAAe,CAAC,MAAM,CAAA;IAC/B,CAAC;IAES,QAAQ;QAChB,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;IACvC,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,IAAqB;QACpE,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,eAAe,CAAC,MAAM;gBACzB,OAAO,KAAK,CAAA;YACd,KAAK,eAAe,CAAC,OAAO;gBAC1B,OAAO,KAAK,GAAG,MAAM,CAAA;YACvB,KAAK,eAAe,CAAC,UAAU;gBAC7B,OAAO,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAA;YACxC,KAAK,eAAe,CAAC,oBAAoB;gBACvC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,MAAM,CAAA;QAClC,CAAC;IACH,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,IAAqB;QACpE,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,eAAe,CAAC,MAAM;gBACzB,OAAO,KAAK,CAAA;YACd,KAAK,eAAe,CAAC,OAAO;gBAC1B,OAAO,KAAK,GAAG,MAAM,CAAA;YACvB,KAAK,eAAe,CAAC,UAAU;gBAC7B,OAAO,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;YACxC,KAAK,eAAe,CAAC,oBAAoB;gBACvC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI,CAAA;QAClC,CAAC;IACH,CAAC;IAED,uFAAuF;IACvF,MAAM,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { describe, it } from 'node:test';
2
+ import { expect } from 'expect';
3
+ import { Temperature } from '../temperature.js';
4
+ import { TemperatureUnit } from '../temperature-unit.enum.js';
5
+ void describe('Temperature class', () => {
6
+ void describe('Temperature parsing', () => {
7
+ void it('parses temperature strings', () => {
8
+ const temperature = new Temperature('-40C');
9
+ expect(temperature.value).toBe(-40);
10
+ expect(temperature.unit).toBe(TemperatureUnit.CELSIUS);
11
+ });
12
+ });
13
+ });
14
+ //# sourceMappingURL=temperature.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"temperature.unit.test.js","sourceRoot":"","sources":["../../../../lib/quantities/temperature/tests/temperature.unit.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAE7D,KAAK,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACtC,KAAK,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACxC,KAAK,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACzC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAA;YAE3C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAA;YACnC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -96,5 +96,12 @@ void describe('Voltage class', () => {
96
96
  expect(json).toEqual({ value: 1.5, unit: VoltageUnit.VOLT });
97
97
  });
98
98
  });
99
+ void describe('Voltage parsing', () => {
100
+ void it('parses voltage strings', () => {
101
+ const voltage = new Voltage('1.5kV');
102
+ expect(voltage.value).toBe(1.5);
103
+ expect(voltage.unit).toBe(VoltageUnit.KILOVOLT);
104
+ });
105
+ });
99
106
  });
100
107
  //# sourceMappingURL=voltage.unit.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"voltage.unit.test.js","sourceRoot":"","sources":["../../../../lib/quantities/voltage/tests/voltage.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"voltage.unit.test.js","sourceRoot":"","sources":["../../../../lib/quantities/voltage/tests/voltage.unit.test.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { Quantity } from '../../quantity.js';
2
2
  import { VoltageUnit } from './voltage-unit.enum.js';
3
3
  export declare class Voltage extends Quantity<VoltageUnit, Voltage> {
4
4
  protected getBaseUnit(): VoltageUnit;
5
+ protected getUnits(): readonly VoltageUnit[];
5
6
  protected convertValueToBaseUnit(value: number, fromUnit: VoltageUnit): number;
6
7
  protected convertBaseUnitValueTo(value: number, toUnit: VoltageUnit): number;
7
8
  get volts(): number;
@@ -9,6 +9,9 @@ export class Voltage extends Quantity {
9
9
  getBaseUnit() {
10
10
  return VoltageUnit.VOLT;
11
11
  }
12
+ getUnits() {
13
+ return Object.values(VoltageUnit);
14
+ }
12
15
  convertValueToBaseUnit(value, fromUnit) {
13
16
  return value * VOLTAGE_MULTIPLIERS[fromUnit];
14
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"voltage.js","sourceRoot":"","sources":["../../../lib/quantities/voltage/voltage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,MAAM,mBAAmB,GAAgC;IACvD,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;IACrB,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,IAAI;IAC7B,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG;CAC5B,CAAA;AAED,MAAM,OAAO,OAAQ,SAAQ,QAA8B;IAC/C,WAAW;QACnB,OAAO,WAAW,CAAC,IAAI,CAAA;IACzB,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,QAAqB;QACpE,OAAO,KAAK,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAC9C,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,MAAmB;QAClE,OAAO,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"voltage.js","sourceRoot":"","sources":["../../../lib/quantities/voltage/voltage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,MAAM,mBAAmB,GAAgC;IACvD,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;IACrB,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,IAAI;IAC7B,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG;CAC5B,CAAA;AAED,MAAM,OAAO,OAAQ,SAAQ,QAA8B;IAC/C,WAAW;QACnB,OAAO,WAAW,CAAC,IAAI,CAAA;IACzB,CAAC;IAES,QAAQ;QAChB,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IACnC,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,QAAqB;QACpE,OAAO,KAAK,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAC9C,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,MAAmB;QAClE,OAAO,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA"}
@@ -1,9 +1,13 @@
1
1
  import { Rate } from './rate/rate.js';
2
2
  export type QuantityConstructor<U extends string, Q extends Quantity<U, Q>> = {
3
- new (quantityOrValue: Q | number, unit?: U): Q;
3
+ new (quantity: Q): Q;
4
+ new (value: number, unit: U): Q;
5
+ new (value: 0): Q;
6
+ new (s: string): Q;
4
7
  };
5
8
  export declare abstract class Quantity<U extends string, Q extends Quantity<U, Q>> {
6
9
  protected abstract getBaseUnit(): U;
10
+ protected abstract getUnits(): readonly U[];
7
11
  protected abstract convertValueToBaseUnit(value: number, fromUnit: U): number;
8
12
  protected abstract convertBaseUnitValueTo(value: number, toUnit: U): number;
9
13
  readonly value: number;
@@ -11,6 +15,7 @@ export declare abstract class Quantity<U extends string, Q extends Quantity<U, Q
11
15
  constructor(quantity: Q);
12
16
  constructor(value: number, unit: U);
13
17
  constructor(value: 0);
18
+ constructor(s: string);
14
19
  private construct;
15
20
  /** Converts the quantity to the specified unit */
16
21
  to(unit: U): Q;
@@ -69,4 +74,9 @@ export declare abstract class Quantity<U extends string, Q extends Quantity<U, Q
69
74
  static max<U extends string, Q extends Quantity<U, Q>>(...quantities: Q[]): Q;
70
75
  /** Returns the minimum quantity from the provided quantities */
71
76
  static min<U extends string, Q extends Quantity<U, Q>>(...quantities: Q[]): Q;
77
+ protected parseString(s: string, units: readonly U[]): {
78
+ value: number;
79
+ unit: U;
80
+ };
81
+ private static escapeRegex;
72
82
  }
package/dist/quantity.js CHANGED
@@ -12,6 +12,11 @@ export class Quantity {
12
12
  this.value = 0;
13
13
  this.unit = this.getBaseUnit();
14
14
  }
15
+ else if (typeof quantityOrValue === 'string') {
16
+ const parsedString = this.parseString(quantityOrValue, this.getUnits());
17
+ this.value = parsedString.value;
18
+ this.unit = parsedString.unit;
19
+ }
15
20
  else {
16
21
  assert(unit !== undefined, 'Unit must be provided when constructing from a numeric value');
17
22
  this.value = quantityOrValue;
@@ -19,8 +24,8 @@ export class Quantity {
19
24
  }
20
25
  }
21
26
  construct(quantityOrValue, unit) {
22
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
23
- const Constructor = Object.getPrototypeOf(this).constructor;
27
+ const prototype = Object.getPrototypeOf(this);
28
+ const Constructor = prototype.constructor;
24
29
  if (quantityOrValue instanceof Quantity) {
25
30
  return new Constructor(quantityOrValue);
26
31
  }
@@ -130,5 +135,19 @@ export class Quantity {
130
135
  static min(...quantities) {
131
136
  return quantities.reduce((min, quantity) => quantity.valueOf() < min.valueOf() ? quantity : min);
132
137
  }
138
+ parseString(s, units) {
139
+ const unitsPattern = units.map(unit => Quantity.escapeRegex(unit)).join('|');
140
+ const pattern = new RegExp(`^(?<amount>[+-]?(?:\\d+\\.?\\d*|\\.\\d+)(?:e[+-]?\\d+)?)(?<unit>${unitsPattern})$`, 'u');
141
+ const match = pattern.exec(s);
142
+ const amount = match?.groups?.amount;
143
+ const unit = match?.groups?.unit;
144
+ if (amount === undefined || unit === undefined) {
145
+ throw new Error(`Invalid quantity string ${s}, expected <amount>(${units.join(' | ')})`);
146
+ }
147
+ return { value: Number(amount), unit };
148
+ }
149
+ static escapeRegex(value) {
150
+ return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
151
+ }
133
152
  }
134
153
  //# sourceMappingURL=quantity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"quantity.js","sourceRoot":"","sources":["../lib/quantity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quantity.js","sourceRoot":"","sources":["../lib/quantity.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AASrC,MAAM,OAAgB,QAAQ;IAOnB,KAAK,CAAQ;IACb,IAAI,CAAG;IAMhB,YAAa,eAAoC,EAAE,IAAQ;QACzD,IAAI,eAAe,YAAY,QAAQ,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAA;YAClC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAA;QAClC,CAAC;aAAM,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA;YACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QAChC,CAAC;aAAM,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;YAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;YACvE,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAA;YAC/B,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAA;QAC/B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,8DAA8D,CAAC,CAAA;YAC1F,IAAI,CAAC,KAAK,GAAG,eAAe,CAAA;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAClB,CAAC;IACH,CAAC;IAEO,SAAS,CAAE,eAA2B,EAAE,IAAQ;QACtD,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAA+C,CAAA;QAC3F,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAA;QAEzC,IAAI,eAAe,YAAY,QAAQ,EAAE,CAAC;YACxC,OAAO,IAAI,WAAW,CAAC,eAAe,CAAC,CAAA;QACzC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,8DAA8D,CAAC,CAAA;YAE1F,OAAO,IAAI,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,EAAE,CAAE,IAAO;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAA;QAE/D,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACpC,CAAC;IAED,sEAAsE;IACtE,QAAQ,CAAE,OAAU,IAAI,CAAC,IAAI;QAC3B,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAA;IAC5B,CAAC;IAKD,SAAS,CAAE,eAA2B,EAAE,IAAQ;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;QAEnD,OAAO,IAAI,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE,CAAA;IAC3C,CAAC;IAKD,UAAU,CAAE,eAA2B,EAAE,IAAQ;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;QAEnD,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAA;IACzC,CAAC;IAKD,mBAAmB,CAAE,eAA2B,EAAE,IAAQ;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;QAEnD,OAAO,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAA;IAC1C,CAAC;IAKD,UAAU,CAAE,eAA2B,EAAE,IAAQ;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;QAEnD,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAA;IACzC,CAAC;IAKD,mBAAmB,CAAE,eAA2B,EAAE,IAAQ;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;QAEnD,OAAO,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAA;IAC1C,CAAC;IAKD,GAAG,CAAE,eAA2B,EAAE,IAAQ;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;QAEnD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3F,CAAC;IAKD,QAAQ,CAAE,eAA2B,EAAE,IAAQ;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;QAEnD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3F,CAAC;IAKD,QAAQ,CAAE,YAA2B;QACnC,MAAM,MAAM,GAAG,YAAY,YAAY,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,YAAY,CAAA;QACrF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClF,CAAC;IAOD,MAAM,CAAE,OAA0B,EAAE,IAAQ;QAC1C,IAAI,OAAO,YAAY,QAAQ,IAAI,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;YACvF,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YAE3C,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAA;QACzC,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,OAAO,YAAY,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;YACtE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClF,CAAC;IACH,CAAC;IAMD,MAAM,CAAE,eAA2B,EAAE,IAAQ;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;QAEnD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3F,CAAC;IAED,kEAAkE;IAClE,IAAI;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;IACzD,CAAC;IAED,2EAA2E;IAC3E,KAAK;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1D,CAAC;IAED,mEAAmE;IACnE,KAAK;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1D,CAAC;IAED,kEAAkE;IAClE,SAAS;QACP,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACrC,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IACpC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3D,CAAC;IAED,MAAM;QACJ,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAA;IACH,CAAC;IAED,MAAM;QACJ,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAA;IACH,CAAC;IAED,MAAM,CAAE,SAAiB,OAAO,EAAE,OAAkC;QAClE,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAExD,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAA;IACvD,CAAC;IAED,gEAAgE;IAChE,MAAM,CAAC,GAAG,CACR,GAAG,UAAe;QAElB,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CACzC,QAAQ,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CACpD,CAAA;IACH,CAAC;IAED,gEAAgE;IAChE,MAAM,CAAC,GAAG,CACR,GAAG,UAAe;QAElB,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CACzC,QAAQ,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CACpD,CAAA;IACH,CAAC;IAES,WAAW,CAAE,CAAS,EAAE,KAAmB;QACnD,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC5E,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,mEAAmE,YAAY,IAAI,EAAE,GAAG,CAAC,CAAA;QACpH,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC7B,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,EAAE,MAAM,CAAA;QACpC,MAAM,IAAI,GAAG,KAAK,EAAE,MAAM,EAAE,IAAqB,CAAA;QAEjD,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,uBAAuB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC1F,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAA;IACxC,CAAC;IAEO,MAAM,CAAC,WAAW,CAAE,KAAa;QACvC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAA;IACrD,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wisemen/quantity",
3
- "version": "0.9.1",
3
+ "version": "0.9.3",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -12,17 +12,18 @@
12
12
  "skills/"
13
13
  ],
14
14
  "peerDependencies": {
15
- "@nestjs/common": "^11.1.19",
16
- "@nestjs/swagger": "^11.4.2",
15
+ "@nestjs/common": "^11.1.28",
16
+ "@nestjs/swagger": "^11.4.6",
17
17
  "class-transformer": "^0.5.1",
18
18
  "class-validator": "^0.15.1",
19
- "typeorm": "^1.0.0"
19
+ "typeorm": "^1.0.0",
20
+ "@wisemen/nestjs-typeorm": "^1.2.3"
20
21
  },
21
22
  "devDependencies": {
22
23
  "eslint": "10.2.1",
23
24
  "oxlint": "1.59.0",
24
25
  "oxlint-tsgolint": "0.20.0",
25
- "expect": "30.2.0",
26
+ "expect": "30.4.1",
26
27
  "@types/node": "25.3.0",
27
28
  "typescript": "^5.9.3",
28
29
  "@wisemen/eslint-config-nestjs": "1.1.1"
@@ -34,9 +35,6 @@
34
35
  "url": "https://github.com/wisemen-digital/wisemen-core",
35
36
  "directory": "packages/quantity"
36
37
  },
37
- "dependencies": {
38
- "@wisemen/nestjs-typeorm": "1.1.1"
39
- },
40
38
  "scripts": {
41
39
  "clean": "rm -rf ./dist",
42
40
  "build": "tsc",