@wisemen/quantity 0.10.0 → 0.11.1
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/quantities/current/current.column.d.ts +1 -1
- package/dist/quantities/current/current.column.js.map +1 -1
- package/dist/quantities/current/current.d.ts +4 -2
- package/dist/quantities/current/current.js +8 -2
- package/dist/quantities/current/current.js.map +1 -1
- package/dist/quantities/current/is-current.validator.d.ts +1 -2
- package/dist/quantities/current/is-current.validator.js.map +1 -1
- package/dist/quantities/distance/distance.column.d.ts +1 -1
- package/dist/quantities/distance/distance.column.js.map +1 -1
- package/dist/quantities/distance/distance.d.ts +12 -2
- package/dist/quantities/distance/distance.js +17 -2
- package/dist/quantities/distance/distance.js.map +1 -1
- package/dist/quantities/distance/is-distance.validator.d.ts +1 -2
- package/dist/quantities/distance/is-distance.validator.js.map +1 -1
- package/dist/quantities/distance/tests/distance.unit.test.js +11 -0
- package/dist/quantities/distance/tests/distance.unit.test.js.map +1 -1
- package/dist/quantities/duration/duration.column.d.ts +1 -1
- package/dist/quantities/duration/duration.column.js.map +1 -1
- package/dist/quantities/duration/duration.d.ts +10 -2
- package/dist/quantities/duration/duration.js +17 -2
- package/dist/quantities/duration/duration.js.map +1 -1
- package/dist/quantities/duration/is-duration.validator.d.ts +1 -2
- package/dist/quantities/duration/is-duration.validator.js.map +1 -1
- package/dist/quantities/duration/tests/duration.unit.test.js +13 -0
- package/dist/quantities/duration/tests/duration.unit.test.js.map +1 -1
- package/dist/quantities/energy/energy.column.d.ts +1 -1
- package/dist/quantities/energy/energy.column.js.map +1 -1
- package/dist/quantities/energy/energy.d.ts +12 -2
- package/dist/quantities/energy/energy.js +17 -2
- package/dist/quantities/energy/energy.js.map +1 -1
- package/dist/quantities/energy/is-energy.validator.d.ts +1 -2
- package/dist/quantities/energy/is-energy.validator.js.map +1 -1
- package/dist/quantities/energy/tests/energy.unit.test.js +13 -0
- package/dist/quantities/energy/tests/energy.unit.test.js.map +1 -1
- package/dist/quantities/mass/is-mass.validator.d.ts +1 -2
- package/dist/quantities/mass/is-mass.validator.js.map +1 -1
- package/dist/quantities/mass/mass.column.d.ts +1 -1
- package/dist/quantities/mass/mass.column.js.map +1 -1
- package/dist/quantities/mass/mass.d.ts +4 -2
- package/dist/quantities/mass/mass.js +8 -2
- package/dist/quantities/mass/mass.js.map +1 -1
- package/dist/quantities/power/is-power.validator.d.ts +1 -2
- package/dist/quantities/power/is-power.validator.js.map +1 -1
- package/dist/quantities/power/power.column.d.ts +1 -1
- package/dist/quantities/power/power.column.js.map +1 -1
- package/dist/quantities/power/power.d.ts +10 -2
- package/dist/quantities/power/power.js +17 -2
- package/dist/quantities/power/power.js.map +1 -1
- package/dist/quantities/power/tests/power.unit.test.js +13 -0
- package/dist/quantities/power/tests/power.unit.test.js.map +1 -1
- package/dist/quantities/speed/is-speed.validator.d.ts +1 -2
- package/dist/quantities/speed/is-speed.validator.js.map +1 -1
- package/dist/quantities/speed/speed.column.d.ts +1 -1
- package/dist/quantities/speed/speed.column.js.map +1 -1
- package/dist/quantities/speed/speed.d.ts +10 -2
- package/dist/quantities/speed/speed.js +17 -2
- package/dist/quantities/speed/speed.js.map +1 -1
- package/dist/quantities/speed/tests/speed.unit.test.js +12 -1
- package/dist/quantities/speed/tests/speed.unit.test.js.map +1 -1
- package/dist/quantities/temperature/is-temperature.validator.d.ts +1 -2
- package/dist/quantities/temperature/is-temperature.validator.js.map +1 -1
- package/dist/quantities/temperature/temperature.d.ts +13 -2
- package/dist/quantities/temperature/temperature.js +45 -2
- package/dist/quantities/temperature/temperature.js.map +1 -1
- package/dist/quantities/temperature/tests/temperature.unit.test.js +18 -1
- package/dist/quantities/temperature/tests/temperature.unit.test.js.map +1 -1
- package/dist/quantities/voltage/is-voltage.validator.d.ts +1 -2
- package/dist/quantities/voltage/is-voltage.validator.js.map +1 -1
- package/dist/quantities/voltage/voltage.column.d.ts +1 -1
- package/dist/quantities/voltage/voltage.column.js.map +1 -1
- package/dist/quantities/voltage/voltage.d.ts +4 -2
- package/dist/quantities/voltage/voltage.js +8 -2
- package/dist/quantities/voltage/voltage.js.map +1 -1
- package/dist/quantity.column.d.ts +3 -3
- package/dist/quantity.column.js.map +1 -1
- package/dist/quantity.d.ts +38 -15
- package/dist/quantity.dto.d.ts +1 -1
- package/dist/quantity.js +60 -36
- package/dist/quantity.js.map +1 -1
- package/dist/validators/is-quantity.decorator.d.ts +3 -3
- package/dist/validators/is-quantity.decorator.js.map +1 -1
- package/dist/validators/max-quantity.validator.d.ts +2 -2
- package/dist/validators/min-quantity.validator.d.ts +2 -2
- package/package.json +3 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { QuantityColumnOptions } from '../../quantity.column.js';
|
|
2
2
|
import { CurrentUnit } from './current-unit.enum.js';
|
|
3
3
|
import { Current } from './current.js';
|
|
4
|
-
export declare function CurrentColumn(storeAsUnit: CurrentUnit, options?: QuantityColumnOptions<
|
|
4
|
+
export declare function CurrentColumn(storeAsUnit: CurrentUnit, options?: QuantityColumnOptions<Current>): PropertyDecorator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"current.column.js","sourceRoot":"","sources":["../../../lib/quantities/current/current.column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAyB,MAAM,0BAA0B,CAAA;AAEhF,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,UAAU,aAAa,CAC3B,WAAwB,EACxB,
|
|
1
|
+
{"version":3,"file":"current.column.js","sourceRoot":"","sources":["../../../lib/quantities/current/current.column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAyB,MAAM,0BAA0B,CAAA;AAEhF,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,UAAU,aAAa,CAC3B,WAAwB,EACxB,OAAwC;IAExC,OAAO,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;AACtD,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ScalableQuantity } from '../../quantity.js';
|
|
2
2
|
import { CurrentUnit } from './current-unit.enum.js';
|
|
3
3
|
export declare const CURRENT_MULTIPLIERS: Record<CurrentUnit, number>;
|
|
4
|
-
export declare class Current extends
|
|
4
|
+
export declare class Current extends ScalableQuantity<CurrentUnit, Current, Current> {
|
|
5
|
+
protected getQuantity(): typeof Current;
|
|
6
|
+
protected getDelta(): typeof Current;
|
|
5
7
|
protected getBaseUnit(): CurrentUnit;
|
|
6
8
|
protected getUnits(): readonly CurrentUnit[];
|
|
7
9
|
protected convertValueToBaseUnit(value: number, unit: CurrentUnit): number;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ScalableQuantity } from '../../quantity.js';
|
|
2
2
|
import { CurrentUnit } from './current-unit.enum.js';
|
|
3
3
|
export const CURRENT_MULTIPLIERS = {
|
|
4
4
|
[CurrentUnit.AMPERE]: 1,
|
|
@@ -27,7 +27,13 @@ export const CURRENT_MULTIPLIERS = {
|
|
|
27
27
|
[CurrentUnit.RONNAAMPERE]: 1e27,
|
|
28
28
|
[CurrentUnit.QUETTAAMPERE]: 1e30
|
|
29
29
|
};
|
|
30
|
-
export class Current extends
|
|
30
|
+
export class Current extends ScalableQuantity {
|
|
31
|
+
getQuantity() {
|
|
32
|
+
return Current;
|
|
33
|
+
}
|
|
34
|
+
getDelta() {
|
|
35
|
+
return Current;
|
|
36
|
+
}
|
|
31
37
|
getBaseUnit() {
|
|
32
38
|
return CurrentUnit.AMPERE;
|
|
33
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"current.js","sourceRoot":"","sources":["../../../lib/quantities/current/current.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"current.js","sourceRoot":"","sources":["../../../lib/quantities/current/current.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,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,gBAA+C;IAChE,WAAW;QACnB,OAAO,OAAO,CAAA;IAChB,CAAC;IAES,QAAQ;QAChB,OAAO,OAAO,CAAA;IAChB,CAAC;IAES,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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import { IsQuantityOptions } from '../../validators/is-quantity.decorator.js';
|
|
2
|
-
import { CurrentUnit } from './current-unit.enum.js';
|
|
3
2
|
import { Current } from './current.js';
|
|
4
|
-
export declare function IsCurrent(options?: IsQuantityOptions<
|
|
3
|
+
export declare function IsCurrent(options?: IsQuantityOptions<Current>): PropertyDecorator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-current.validator.js","sourceRoot":"","sources":["../../../lib/quantities/current/is-current.validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAqB,MAAM,2CAA2C,CAAA;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"is-current.validator.js","sourceRoot":"","sources":["../../../lib/quantities/current/is-current.validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAqB,MAAM,2CAA2C,CAAA;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAG7C,MAAM,UAAU,SAAS,CACvB,OAAoC;IAEpC,OAAO,eAAe,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;AACzD,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { QuantityColumnOptions } from '../../quantity.column.js';
|
|
2
2
|
import { DistanceUnit } from './distance-unit.enum.js';
|
|
3
3
|
import { Distance } from './distance.js';
|
|
4
|
-
export declare function DistanceColumn(storeAsUnit: DistanceUnit, options?: QuantityColumnOptions<
|
|
4
|
+
export declare function DistanceColumn(storeAsUnit: DistanceUnit, options?: QuantityColumnOptions<Distance>): PropertyDecorator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distance.column.js","sourceRoot":"","sources":["../../../lib/quantities/distance/distance.column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAyB,MAAM,0BAA0B,CAAA;AAEhF,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,MAAM,UAAU,cAAc,CAC5B,WAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"distance.column.js","sourceRoot":"","sources":["../../../lib/quantities/distance/distance.column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAyB,MAAM,0BAA0B,CAAA;AAEhF,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,MAAM,UAAU,cAAc,CAC5B,WAAyB,EACzB,OAAyC;IAEzC,OAAO,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;AACvD,CAAC"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Duration } from '../../quantities/duration/duration.js';
|
|
2
|
+
import { Speed } from '../../quantities/speed/speed.js';
|
|
3
|
+
import { Rate } from '../../rate/rate.js';
|
|
4
|
+
import { ScalableQuantity } from '../../quantity.js';
|
|
2
5
|
import { DistanceUnit } from './distance-unit.enum.js';
|
|
3
|
-
export declare class Distance extends
|
|
6
|
+
export declare class Distance extends ScalableQuantity<DistanceUnit, Distance, Distance> {
|
|
7
|
+
protected getQuantity(): typeof Distance;
|
|
8
|
+
protected getDelta(): typeof Distance;
|
|
4
9
|
protected getBaseUnit(): DistanceUnit;
|
|
5
10
|
protected getUnits(): readonly DistanceUnit[];
|
|
6
11
|
protected convertValueToBaseUnit(value: number, fromUnit: DistanceUnit): number;
|
|
@@ -8,4 +13,9 @@ export declare class Distance extends Quantity<DistanceUnit, Distance> {
|
|
|
8
13
|
get meters(): number;
|
|
9
14
|
get kilometers(): number;
|
|
10
15
|
static ZERO: Distance;
|
|
16
|
+
divide(divisor: number): Distance;
|
|
17
|
+
divide(rate: Rate): Distance;
|
|
18
|
+
divide(value: number, unit: DistanceUnit): number;
|
|
19
|
+
divide(quantity: Distance): number;
|
|
20
|
+
divide(quantity: Duration): Speed;
|
|
11
21
|
}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Duration } from '../../quantities/duration/duration.js';
|
|
2
|
+
import { SpeedUnit } from '../../quantities/speed/speed-unit.enum.js';
|
|
3
|
+
import { Speed } from '../../quantities/speed/speed.js';
|
|
4
|
+
import { ScalableQuantity } from '../../quantity.js';
|
|
2
5
|
import { DistanceUnit } from './distance-unit.enum.js';
|
|
3
6
|
const DISTANCE_MULTIPLIERS = {
|
|
4
7
|
[DistanceUnit.METER]: 1,
|
|
@@ -15,7 +18,13 @@ const DISTANCE_MULTIPLIERS = {
|
|
|
15
18
|
[DistanceUnit.YARD]: 0.9144,
|
|
16
19
|
[DistanceUnit.MILES]: 1609.34
|
|
17
20
|
};
|
|
18
|
-
export class Distance extends
|
|
21
|
+
export class Distance extends ScalableQuantity {
|
|
22
|
+
getQuantity() {
|
|
23
|
+
return Distance;
|
|
24
|
+
}
|
|
25
|
+
getDelta() {
|
|
26
|
+
return Distance;
|
|
27
|
+
}
|
|
19
28
|
getBaseUnit() {
|
|
20
29
|
return DistanceUnit.METER;
|
|
21
30
|
}
|
|
@@ -35,5 +44,11 @@ export class Distance extends Quantity {
|
|
|
35
44
|
return this.asNumber(DistanceUnit.KILOMETER);
|
|
36
45
|
}
|
|
37
46
|
static ZERO = new Distance(0, DistanceUnit.METER);
|
|
47
|
+
divide(divisor, unit) {
|
|
48
|
+
if (divisor instanceof Duration) {
|
|
49
|
+
return new Speed(this.valueOf() / divisor.valueOf(), SpeedUnit.METER_PER_SECOND);
|
|
50
|
+
}
|
|
51
|
+
return super.divide(divisor, unit);
|
|
52
|
+
}
|
|
38
53
|
}
|
|
39
54
|
//# sourceMappingURL=distance.js.map
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"distance.js","sourceRoot":"","sources":["../../../lib/quantities/distance/distance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,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,gBAAkD;IACpE,WAAW;QACnB,OAAO,QAAQ,CAAA;IACjB,CAAC;IAES,QAAQ;QAChB,OAAO,QAAQ,CAAA;IACjB,CAAC;IAES,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;IAOxC,MAAM,CAAC,OAA4C,EAAE,IAAmB;QAC/E,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;YAChC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAA;QAClF,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACpC,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import { IsQuantityOptions } from '../../validators/is-quantity.decorator.js';
|
|
2
|
-
import { DistanceUnit } from './distance-unit.enum.js';
|
|
3
2
|
import { Distance } from './distance.js';
|
|
4
|
-
export declare function IsDistance(options?: IsQuantityOptions<
|
|
3
|
+
export declare function IsDistance(options?: IsQuantityOptions<Distance>): PropertyDecorator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-distance.validator.js","sourceRoot":"","sources":["../../../lib/quantities/distance/is-distance.validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAqB,MAAM,2CAA2C,CAAA;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"is-distance.validator.js","sourceRoot":"","sources":["../../../lib/quantities/distance/is-distance.validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAqB,MAAM,2CAA2C,CAAA;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAG/C,MAAM,UAAU,UAAU,CACxB,OAAqC;IAErC,OAAO,eAAe,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAA;AAC1D,CAAC"}
|
|
@@ -2,6 +2,9 @@ import { describe, it } from 'node:test';
|
|
|
2
2
|
import { expect } from 'expect';
|
|
3
3
|
import { Distance } from '../distance.js';
|
|
4
4
|
import { DistanceUnit } from '../distance-unit.enum.js';
|
|
5
|
+
import { Duration } from '../../duration/duration.js';
|
|
6
|
+
import { DurationUnit } from '../../duration/duration-unit.enum.js';
|
|
7
|
+
import { SpeedUnit } from '../../speed/speed-unit.enum.js';
|
|
5
8
|
void describe('Distance class', () => {
|
|
6
9
|
void describe('Distance calculations', () => {
|
|
7
10
|
void it('adds distances', () => {
|
|
@@ -26,6 +29,14 @@ void describe('Distance class', () => {
|
|
|
26
29
|
expect(r2).toBe(4);
|
|
27
30
|
expect(r3).toBe(2);
|
|
28
31
|
});
|
|
32
|
+
void describe('cross quantity calculations', () => {
|
|
33
|
+
void it('divides distances by durations into speeds with converted units', () => {
|
|
34
|
+
const distance = new Distance(10, DistanceUnit.KILOMETER);
|
|
35
|
+
const duration = new Duration(2, DurationUnit.HOURS);
|
|
36
|
+
const speed = distance.divide(duration);
|
|
37
|
+
expect(speed.isEqualTo(5, SpeedUnit.KILOMETER_PER_HOUR)).toBe(true);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
29
40
|
});
|
|
30
41
|
void describe('Distance parsing', () => {
|
|
31
42
|
void it('parses distance strings', () => {
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"distance.unit.test.js","sourceRoot":"","sources":["../../../../lib/quantities/distance/tests/distance.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { QuantityColumnOptions } from '../../quantity.column.js';
|
|
2
2
|
import { Duration } from './duration.js';
|
|
3
3
|
import { DurationUnit } from './duration-unit.enum.js';
|
|
4
|
-
export declare function DurationColumn(storeAsUnit: DurationUnit, options?: QuantityColumnOptions<
|
|
4
|
+
export declare function DurationColumn(storeAsUnit: DurationUnit, options?: QuantityColumnOptions<Duration>): PropertyDecorator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duration.column.js","sourceRoot":"","sources":["../../../lib/quantities/duration/duration.column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAyB,MAAM,0BAA0B,CAAA;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC,MAAM,UAAU,cAAc,CAC5B,WAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"duration.column.js","sourceRoot":"","sources":["../../../lib/quantities/duration/duration.column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAyB,MAAM,0BAA0B,CAAA;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC,MAAM,UAAU,cAAc,CAC5B,WAAyB,EACzB,OAAyC;IAEzC,OAAO,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;AACvD,CAAC"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Distance } from '../../quantities/distance/distance.js';
|
|
2
|
+
import { Speed } from '../../quantities/speed/speed.js';
|
|
3
|
+
import { Rate } from '../../rate/rate.js';
|
|
4
|
+
import { ScalableQuantity } from '../../quantity.js';
|
|
2
5
|
import { DurationUnit } from './duration-unit.enum.js';
|
|
3
|
-
export declare class Duration extends
|
|
6
|
+
export declare class Duration extends ScalableQuantity<DurationUnit, Duration, Duration> {
|
|
7
|
+
protected getQuantity(): typeof Duration;
|
|
8
|
+
protected getDelta(): typeof Duration;
|
|
4
9
|
protected getBaseUnit(): DurationUnit;
|
|
5
10
|
protected getUnits(): readonly DurationUnit[];
|
|
6
11
|
protected convertValueToBaseUnit(value: number, unit: DurationUnit): number;
|
|
@@ -13,4 +18,7 @@ export declare class Duration extends Quantity<DurationUnit, Duration> {
|
|
|
13
18
|
/** @returns number of 24hr days */
|
|
14
19
|
get days(): number;
|
|
15
20
|
static ZERO: Duration;
|
|
21
|
+
multiply(factor: number): Duration;
|
|
22
|
+
multiply(rate: Rate): Duration;
|
|
23
|
+
multiply(speed: Speed): Distance;
|
|
16
24
|
}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DistanceUnit } from '../../quantities/distance/distance-unit.enum.js';
|
|
2
|
+
import { Distance } from '../../quantities/distance/distance.js';
|
|
3
|
+
import { Speed } from '../../quantities/speed/speed.js';
|
|
4
|
+
import { ScalableQuantity } from '../../quantity.js';
|
|
2
5
|
import { DurationUnit } from './duration-unit.enum.js';
|
|
3
6
|
const DISTANCE_MULTIPLIERS = {
|
|
4
7
|
[DurationUnit.SECONDS]: 1,
|
|
@@ -9,7 +12,13 @@ const DISTANCE_MULTIPLIERS = {
|
|
|
9
12
|
[DurationUnit.HOURS]: 3600,
|
|
10
13
|
[DurationUnit.DAYS]: 3600 * 24
|
|
11
14
|
};
|
|
12
|
-
export class Duration extends
|
|
15
|
+
export class Duration extends ScalableQuantity {
|
|
16
|
+
getQuantity() {
|
|
17
|
+
return Duration;
|
|
18
|
+
}
|
|
19
|
+
getDelta() {
|
|
20
|
+
return Duration;
|
|
21
|
+
}
|
|
13
22
|
getBaseUnit() {
|
|
14
23
|
return DurationUnit.SECONDS;
|
|
15
24
|
}
|
|
@@ -42,5 +51,11 @@ export class Duration extends Quantity {
|
|
|
42
51
|
return this.asNumber(DurationUnit.DAYS);
|
|
43
52
|
}
|
|
44
53
|
static ZERO = new Duration(0, DurationUnit.SECONDS);
|
|
54
|
+
multiply(multiplier) {
|
|
55
|
+
if (multiplier instanceof Speed) {
|
|
56
|
+
return new Distance(this.valueOf() * multiplier.valueOf(), DistanceUnit.METER);
|
|
57
|
+
}
|
|
58
|
+
return super.multiply(multiplier);
|
|
59
|
+
}
|
|
45
60
|
}
|
|
46
61
|
//# sourceMappingURL=duration.js.map
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"duration.js","sourceRoot":"","sources":["../../../lib/quantities/duration/duration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAA;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAA;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,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,gBAAkD;IACpE,WAAW;QACnB,OAAO,QAAQ,CAAA;IACjB,CAAC;IAES,QAAQ;QAChB,OAAO,QAAQ,CAAA;IACjB,CAAC;IAES,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;IAK1C,QAAQ,CAAC,UAAiC;QACjD,IAAI,UAAU,YAAY,KAAK,EAAE,CAAC;YAChC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;QAChF,CAAC;QACD,OAAO,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;IACnC,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import { IsQuantityOptions } from '../../validators/is-quantity.decorator.js';
|
|
2
|
-
import { DurationUnit } from './duration-unit.enum.js';
|
|
3
2
|
import { Duration } from './duration.js';
|
|
4
|
-
export declare function IsDuration(options?: IsQuantityOptions<
|
|
3
|
+
export declare function IsDuration(options?: IsQuantityOptions<Duration>): PropertyDecorator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-duration.validator.js","sourceRoot":"","sources":["../../../lib/quantities/duration/is-duration.validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAqB,MAAM,2CAA2C,CAAA;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"is-duration.validator.js","sourceRoot":"","sources":["../../../lib/quantities/duration/is-duration.validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAqB,MAAM,2CAA2C,CAAA;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAG/C,MAAM,UAAU,UAAU,CACxB,OAAqC;IAErC,OAAO,eAAe,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAA;AAC1D,CAAC"}
|
|
@@ -2,6 +2,9 @@ import { describe, it } from 'node:test';
|
|
|
2
2
|
import { expect } from 'expect';
|
|
3
3
|
import { Duration } from '../duration.js';
|
|
4
4
|
import { DurationUnit } from '../duration-unit.enum.js';
|
|
5
|
+
import { DistanceUnit } from '../../distance/distance-unit.enum.js';
|
|
6
|
+
import { Speed } from '../../speed/speed.js';
|
|
7
|
+
import { SpeedUnit } from '../../speed/speed-unit.enum.js';
|
|
5
8
|
describe('Duration unit tests', () => {
|
|
6
9
|
describe('milliseconds', () => {
|
|
7
10
|
it('reports the correct amount of seconds', () => {
|
|
@@ -34,5 +37,15 @@ describe('Duration unit tests', () => {
|
|
|
34
37
|
expect(duration.unit).toBe(DurationUnit.DAYS);
|
|
35
38
|
});
|
|
36
39
|
});
|
|
40
|
+
describe('Duration calculations', () => {
|
|
41
|
+
describe('cross quantity calculations', () => {
|
|
42
|
+
it('multiplies durations with speeds into distances with converted units', () => {
|
|
43
|
+
const duration = new Duration(30, DurationUnit.MINUTES);
|
|
44
|
+
const speed = new Speed(72, SpeedUnit.KILOMETER_PER_HOUR);
|
|
45
|
+
const distance = duration.multiply(speed);
|
|
46
|
+
expect(distance.isEqualTo(36, DistanceUnit.KILOMETER)).toBe(true);
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
});
|
|
37
50
|
});
|
|
38
51
|
//# 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;
|
|
1
|
+
{"version":3,"file":"duration.unit.test.js","sourceRoot":"","sources":["../../../../lib/quantities/duration/tests/duration.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { QuantityColumnOptions } from '../../quantity.column.js';
|
|
2
2
|
import { Energy } from './energy.js';
|
|
3
3
|
import { EnergyUnit } from './energy-unit.enum.js';
|
|
4
|
-
export declare function EnergyColumn(storeAsUnit: EnergyUnit, options?: QuantityColumnOptions<
|
|
4
|
+
export declare function EnergyColumn(storeAsUnit: EnergyUnit, options?: QuantityColumnOptions<Energy>): PropertyDecorator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"energy.column.js","sourceRoot":"","sources":["../../../lib/quantities/energy/energy.column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAyB,MAAM,0BAA0B,CAAA;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGpC,MAAM,UAAU,YAAY,CAC1B,WAAuB,EACvB,
|
|
1
|
+
{"version":3,"file":"energy.column.js","sourceRoot":"","sources":["../../../lib/quantities/energy/energy.column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAyB,MAAM,0BAA0B,CAAA;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGpC,MAAM,UAAU,YAAY,CAC1B,WAAuB,EACvB,OAAuC;IAEvC,OAAO,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;AACrD,CAAC"}
|
|
@@ -1,9 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Duration } from '../../quantities/duration/duration.js';
|
|
2
|
+
import { Power } from '../../quantities/power/power.js';
|
|
3
|
+
import { Rate } from '../../rate/rate.js';
|
|
4
|
+
import { ScalableQuantity } from '../../quantity.js';
|
|
2
5
|
import { EnergyUnit } from './energy-unit.enum.js';
|
|
3
|
-
export declare class Energy extends
|
|
6
|
+
export declare class Energy extends ScalableQuantity<EnergyUnit, Energy, Energy> {
|
|
7
|
+
protected getQuantity(): typeof Energy;
|
|
8
|
+
protected getDelta(): typeof Energy;
|
|
4
9
|
protected getBaseUnit(): EnergyUnit;
|
|
5
10
|
protected getUnits(): readonly EnergyUnit[];
|
|
6
11
|
protected convertValueToBaseUnit(value: number, unit: EnergyUnit): number;
|
|
7
12
|
protected convertBaseUnitValueTo(value: number, unit: EnergyUnit): number;
|
|
8
13
|
static ZERO: Energy;
|
|
14
|
+
divide(divisor: number): Energy;
|
|
15
|
+
divide(rate: Rate): Energy;
|
|
16
|
+
divide(value: number, unit: EnergyUnit): number;
|
|
17
|
+
divide(quantity: Energy): number;
|
|
18
|
+
divide(quantity: Duration): Power;
|
|
9
19
|
}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Duration } from '../../quantities/duration/duration.js';
|
|
2
|
+
import { PowerUnit } from '../../quantities/power/power-unit.enum.js';
|
|
3
|
+
import { Power } from '../../quantities/power/power.js';
|
|
4
|
+
import { ScalableQuantity } from '../../quantity.js';
|
|
2
5
|
import { EnergyUnit } from './energy-unit.enum.js';
|
|
3
6
|
const ENERGY_MULTIPLIERS = {
|
|
4
7
|
[EnergyUnit.JOULE]: 1,
|
|
@@ -41,7 +44,13 @@ const ENERGY_MULTIPLIERS = {
|
|
|
41
44
|
[EnergyUnit.CALORIE]: 4.184,
|
|
42
45
|
[EnergyUnit.KILOCALORIE]: 4184
|
|
43
46
|
};
|
|
44
|
-
export class Energy extends
|
|
47
|
+
export class Energy extends ScalableQuantity {
|
|
48
|
+
getQuantity() {
|
|
49
|
+
return Energy;
|
|
50
|
+
}
|
|
51
|
+
getDelta() {
|
|
52
|
+
return Energy;
|
|
53
|
+
}
|
|
45
54
|
getBaseUnit() {
|
|
46
55
|
return EnergyUnit.JOULE;
|
|
47
56
|
}
|
|
@@ -55,5 +64,11 @@ export class Energy extends Quantity {
|
|
|
55
64
|
return value / ENERGY_MULTIPLIERS[unit];
|
|
56
65
|
}
|
|
57
66
|
static ZERO = new Energy(0, EnergyUnit.JOULE);
|
|
67
|
+
divide(divisor, unit) {
|
|
68
|
+
if (divisor instanceof Duration) {
|
|
69
|
+
return new Power(this.valueOf() / divisor.valueOf(), PowerUnit.WATT);
|
|
70
|
+
}
|
|
71
|
+
return super.divide(divisor, unit);
|
|
72
|
+
}
|
|
58
73
|
}
|
|
59
74
|
//# sourceMappingURL=energy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"energy.js","sourceRoot":"","sources":["../../../lib/quantities/energy/energy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"energy.js","sourceRoot":"","sources":["../../../lib/quantities/energy/energy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import { IsQuantityOptions } from '../../validators/is-quantity.decorator.js';
|
|
2
|
-
import { EnergyUnit } from './energy-unit.enum.js';
|
|
3
2
|
import { Energy } from './energy.js';
|
|
4
|
-
export declare function IsEnergy(options?: IsQuantityOptions<
|
|
3
|
+
export declare function IsEnergy(options?: IsQuantityOptions<Energy>): PropertyDecorator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-energy.validator.js","sourceRoot":"","sources":["../../../lib/quantities/energy/is-energy.validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAqB,MAAM,2CAA2C,CAAA;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"is-energy.validator.js","sourceRoot":"","sources":["../../../lib/quantities/energy/is-energy.validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAqB,MAAM,2CAA2C,CAAA;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAG3C,MAAM,UAAU,QAAQ,CACtB,OAAmC;IAEnC,OAAO,eAAe,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAA;AACxD,CAAC"}
|
|
@@ -2,6 +2,9 @@ import { describe, it } from 'node:test';
|
|
|
2
2
|
import { expect } from 'expect';
|
|
3
3
|
import { Energy } from '../energy.js';
|
|
4
4
|
import { EnergyUnit } from '../energy-unit.enum.js';
|
|
5
|
+
import { Duration } from '../../duration/duration.js';
|
|
6
|
+
import { DurationUnit } from '../../duration/duration-unit.enum.js';
|
|
7
|
+
import { PowerUnit } from '../../power/power-unit.enum.js';
|
|
5
8
|
void describe('Energy class', () => {
|
|
6
9
|
void describe('Energy parsing', () => {
|
|
7
10
|
void it('parses energy strings', () => {
|
|
@@ -34,5 +37,15 @@ void describe('Energy class', () => {
|
|
|
34
37
|
expect(energy.asNumber(EnergyUnit.CALORIE)).toBe(1000);
|
|
35
38
|
});
|
|
36
39
|
});
|
|
40
|
+
void describe('Energy calculations', () => {
|
|
41
|
+
void describe('cross quantity calculations', () => {
|
|
42
|
+
void it('divides energies by durations into powers with converted units', () => {
|
|
43
|
+
const energy = new Energy(1, EnergyUnit.KILOWATT_HOUR);
|
|
44
|
+
const duration = new Duration(2, DurationUnit.HOURS);
|
|
45
|
+
const power = energy.divide(duration);
|
|
46
|
+
expect(power.isEqualTo(500, PowerUnit.WATT)).toBe(true);
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
});
|
|
37
50
|
});
|
|
38
51
|
//# sourceMappingURL=energy.unit.test.js.map
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"energy.unit.test.js","sourceRoot":"","sources":["../../../../lib/quantities/energy/tests/energy.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import { IsQuantityOptions } from '../../validators/is-quantity.decorator.js';
|
|
2
|
-
import { MassUnit } from './mass-unit.enum.js';
|
|
3
2
|
import { Mass } from './mass.js';
|
|
4
|
-
export declare function IsMass(options?: IsQuantityOptions<
|
|
3
|
+
export declare function IsMass(options?: IsQuantityOptions<Mass>): PropertyDecorator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-mass.validator.js","sourceRoot":"","sources":["../../../lib/quantities/mass/is-mass.validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAqB,MAAM,2CAA2C,CAAA;AACzF,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"is-mass.validator.js","sourceRoot":"","sources":["../../../lib/quantities/mass/is-mass.validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAqB,MAAM,2CAA2C,CAAA;AACzF,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAGvC,MAAM,UAAU,MAAM,CACpB,OAAiC;IAEjC,OAAO,eAAe,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;AACtD,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { QuantityColumnOptions } from '../../quantity.column.js';
|
|
2
2
|
import { MassUnit } from './mass-unit.enum.js';
|
|
3
3
|
import { Mass } from './mass.js';
|
|
4
|
-
export declare function MassColumn(storeAsUnit: MassUnit, options?: QuantityColumnOptions<
|
|
4
|
+
export declare function MassColumn(storeAsUnit: MassUnit, options?: QuantityColumnOptions<Mass>): PropertyDecorator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mass.column.js","sourceRoot":"","sources":["../../../lib/quantities/mass/mass.column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAyB,MAAM,0BAA0B,CAAA;AAEhF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,UAAU,UAAU,CACxB,WAAqB,EACrB,
|
|
1
|
+
{"version":3,"file":"mass.column.js","sourceRoot":"","sources":["../../../lib/quantities/mass/mass.column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAyB,MAAM,0BAA0B,CAAA;AAEhF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,UAAU,UAAU,CACxB,WAAqB,EACrB,OAAqC;IAErC,OAAO,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;AACnD,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ScalableQuantity } from '../../quantity.js';
|
|
2
2
|
import { MassUnit } from './mass-unit.enum.js';
|
|
3
|
-
export declare class Mass extends
|
|
3
|
+
export declare class Mass extends ScalableQuantity<MassUnit, Mass, Mass> {
|
|
4
|
+
protected getQuantity(): typeof Mass;
|
|
5
|
+
protected getDelta(): typeof Mass;
|
|
4
6
|
protected getBaseUnit(): MassUnit;
|
|
5
7
|
protected getUnits(): readonly MassUnit[];
|
|
6
8
|
protected convertValueToBaseUnit(value: number, fromUnit: MassUnit): number;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ScalableQuantity } from '../../quantity.js';
|
|
2
2
|
import { MassUnit } from './mass-unit.enum.js';
|
|
3
3
|
const MASS_MULTIPLIERS = {
|
|
4
4
|
[MassUnit.KILOGRAM]: 1,
|
|
@@ -14,7 +14,13 @@ const MASS_MULTIPLIERS = {
|
|
|
14
14
|
[MassUnit.POUND]: 0.45359237,
|
|
15
15
|
[MassUnit.OUNCE]: 0.028349523125
|
|
16
16
|
};
|
|
17
|
-
export class Mass extends
|
|
17
|
+
export class Mass extends ScalableQuantity {
|
|
18
|
+
getQuantity() {
|
|
19
|
+
return Mass;
|
|
20
|
+
}
|
|
21
|
+
getDelta() {
|
|
22
|
+
return Mass;
|
|
23
|
+
}
|
|
18
24
|
getBaseUnit() {
|
|
19
25
|
return MassUnit.KILOGRAM;
|
|
20
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mass.js","sourceRoot":"","sources":["../../../lib/quantities/mass/mass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"mass.js","sourceRoot":"","sources":["../../../lib/quantities/mass/mass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,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,gBAAsC;IACpD,WAAW;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAES,QAAQ;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;IAES,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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import { IsQuantityOptions } from '../../validators/is-quantity.decorator.js';
|
|
2
|
-
import { PowerUnit } from './power-unit.enum.js';
|
|
3
2
|
import { Power } from './power.js';
|
|
4
|
-
export declare function IsPower(options?: IsQuantityOptions<
|
|
3
|
+
export declare function IsPower(options?: IsQuantityOptions<Power>): PropertyDecorator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-power.validator.js","sourceRoot":"","sources":["../../../lib/quantities/power/is-power.validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAqB,MAAM,2CAA2C,CAAA;AACzF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"is-power.validator.js","sourceRoot":"","sources":["../../../lib/quantities/power/is-power.validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAqB,MAAM,2CAA2C,CAAA;AACzF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGzC,MAAM,UAAU,OAAO,CACrB,OAAkC;IAElC,OAAO,eAAe,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;AACvD,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { QuantityColumnOptions } from '../../quantity.column.js';
|
|
2
2
|
import { PowerUnit } from './power-unit.enum.js';
|
|
3
3
|
import { Power } from './power.js';
|
|
4
|
-
export declare function PowerColumn(storeAsUnit: PowerUnit, options?: QuantityColumnOptions<
|
|
4
|
+
export declare function PowerColumn(storeAsUnit: PowerUnit, options?: QuantityColumnOptions<Power>): PropertyDecorator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"power.column.js","sourceRoot":"","sources":["../../../lib/quantities/power/power.column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAyB,MAAM,0BAA0B,CAAA;AAEhF,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,MAAM,UAAU,WAAW,CACzB,WAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"power.column.js","sourceRoot":"","sources":["../../../lib/quantities/power/power.column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAyB,MAAM,0BAA0B,CAAA;AAEhF,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,MAAM,UAAU,WAAW,CACzB,WAAsB,EACtB,OAAsC;IAEtC,OAAO,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;AACpD,CAAC"}
|