@wisemen/quantity 0.0.9 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.js +1 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/quantities/speed/index.d.ts +4 -0
  5. package/dist/quantities/speed/index.js +5 -0
  6. package/dist/quantities/speed/index.js.map +1 -0
  7. package/dist/quantities/speed/speed-unit.enum.d.ts +14 -0
  8. package/dist/quantities/speed/speed-unit.enum.js +23 -0
  9. package/dist/quantities/speed/speed-unit.enum.js.map +1 -0
  10. package/dist/quantities/speed/speed.column.d.ts +3 -0
  11. package/dist/quantities/speed/speed.column.js +6 -0
  12. package/dist/quantities/speed/speed.column.js.map +1 -0
  13. package/dist/quantities/speed/speed.d.ts +7 -0
  14. package/dist/quantities/speed/speed.dto.d.ts +21 -0
  15. package/dist/quantities/speed/speed.dto.js +60 -0
  16. package/dist/quantities/speed/speed.dto.js.map +1 -0
  17. package/dist/quantities/speed/speed.js +24 -0
  18. package/dist/quantities/speed/speed.js.map +1 -0
  19. package/dist/quantities/speed/tests/speed.unit.test.d.ts +1 -0
  20. package/dist/quantities/speed/tests/speed.unit.test.js +126 -0
  21. package/dist/quantities/speed/tests/speed.unit.test.js.map +1 -0
  22. package/dist/quantities/temperature/temperature-unit.enum.d.ts +2 -1
  23. package/dist/quantities/temperature/temperature-unit.enum.js +1 -0
  24. package/dist/quantities/temperature/temperature-unit.enum.js.map +1 -1
  25. package/dist/quantities/temperature/temperature.js +4 -0
  26. package/dist/quantities/temperature/temperature.js.map +1 -1
  27. package/dist/quantity.column.js +3 -0
  28. package/dist/quantity.column.js.map +1 -1
  29. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -4,3 +4,4 @@ export * from './quantities/duration/index.js';
4
4
  export * from './quantities/temperature/index.js';
5
5
  export * from './quantities/energy/index.js';
6
6
  export * from './quantities/power/index.js';
7
+ export * from './quantities/speed/index.js';
package/dist/index.js CHANGED
@@ -4,4 +4,5 @@ export * from './quantities/duration/index.js';
4
4
  export * from './quantities/temperature/index.js';
5
5
  export * from './quantities/energy/index.js';
6
6
  export * from './quantities/power/index.js';
7
+ export * from './quantities/speed/index.js';
7
8
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,mCAAmC,CAAA;AACjD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,6BAA6B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,mCAAmC,CAAA;AACjD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './speed.js';
2
+ export * from './speed.dto.js';
3
+ export * from './speed.column.js';
4
+ export * from './speed-unit.enum.js';
@@ -0,0 +1,5 @@
1
+ export * from './speed.js';
2
+ export * from './speed.dto.js';
3
+ export * from './speed.column.js';
4
+ export * from './speed-unit.enum.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/quantities/speed/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { ApiPropertyOptions } from '@nestjs/swagger';
2
+ export declare enum SpeedUnit {
3
+ METER_PER_SECOND = "m/s",
4
+ KILOMETER_PER_HOUR = "km/h",
5
+ MILES_PER_HOUR = "mph",
6
+ KNOT = "kn",
7
+ FOOT_PER_SECOND = "ft/s",
8
+ INCH_PER_SECOND = "in/s",
9
+ YARD_PER_SECOND = "yd/s",
10
+ CENTIMETER_PER_SECOND = "cm/s",
11
+ MILLIMETER_PER_SECOND = "mm/s",
12
+ MICROMETER_PER_SECOND = "\u03BCm/s"
13
+ }
14
+ export declare function SpeedUnitApiProperty(options?: ApiPropertyOptions): PropertyDecorator;
@@ -0,0 +1,23 @@
1
+ import { ApiProperty } from '@nestjs/swagger';
2
+ export var SpeedUnit;
3
+ (function (SpeedUnit) {
4
+ SpeedUnit["METER_PER_SECOND"] = "m/s";
5
+ SpeedUnit["KILOMETER_PER_HOUR"] = "km/h";
6
+ SpeedUnit["MILES_PER_HOUR"] = "mph";
7
+ SpeedUnit["KNOT"] = "kn";
8
+ SpeedUnit["FOOT_PER_SECOND"] = "ft/s";
9
+ SpeedUnit["INCH_PER_SECOND"] = "in/s";
10
+ SpeedUnit["YARD_PER_SECOND"] = "yd/s";
11
+ SpeedUnit["CENTIMETER_PER_SECOND"] = "cm/s";
12
+ SpeedUnit["MILLIMETER_PER_SECOND"] = "mm/s";
13
+ SpeedUnit["MICROMETER_PER_SECOND"] = "\u03BCm/s";
14
+ })(SpeedUnit || (SpeedUnit = {}));
15
+ export function SpeedUnitApiProperty(options) {
16
+ return ApiProperty({
17
+ ...options,
18
+ enum: SpeedUnit,
19
+ enumName: 'SpeedUnit',
20
+ example: SpeedUnit.METER_PER_SECOND
21
+ });
22
+ }
23
+ //# sourceMappingURL=speed-unit.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"speed-unit.enum.js","sourceRoot":"","sources":["../../../lib/quantities/speed/speed-unit.enum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAsB,MAAM,iBAAiB,CAAA;AAEjE,MAAM,CAAN,IAAY,SAYX;AAZD,WAAY,SAAS;IACnB,qCAAwB,CAAA;IAExB,wCAA2B,CAAA;IAC3B,mCAAsB,CAAA;IACtB,wBAAW,CAAA;IACX,qCAAwB,CAAA;IACxB,qCAAwB,CAAA;IACxB,qCAAwB,CAAA;IACxB,2CAA8B,CAAA;IAC9B,2CAA8B,CAAA;IAC9B,gDAA8B,CAAA;AAChC,CAAC,EAZW,SAAS,KAAT,SAAS,QAYpB;AAED,MAAM,UAAU,oBAAoB,CAAE,OAA4B;IAChE,OAAO,WAAW,CAAC;QACjB,GAAG,OAAO;QACV,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,SAAS,CAAC,gBAAgB;KACpC,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ColumnOptions } from 'typeorm';
2
+ import { SpeedUnit } from './speed-unit.enum.js';
3
+ export declare function SpeedColumn(storeAsUnit: SpeedUnit, options: Omit<ColumnOptions, 'type' | 'transformer'>): PropertyDecorator;
@@ -0,0 +1,6 @@
1
+ import { QuantityColumn } from '../../quantity.column.js';
2
+ import { Speed } from './speed.js';
3
+ export function SpeedColumn(storeAsUnit, options) {
4
+ return QuantityColumn(Speed, storeAsUnit, options);
5
+ }
6
+ //# sourceMappingURL=speed.column.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"speed.column.js","sourceRoot":"","sources":["../../../lib/quantities/speed/speed.column.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEzD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,MAAM,UAAU,WAAW,CAAE,WAAsB,EAAE,OAAoD;IACvG,OAAO,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;AACpD,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Quantity } from '../../quantity.js';
2
+ import { SpeedUnit } from './speed-unit.enum.js';
3
+ export declare class Speed extends Quantity<SpeedUnit, Speed> {
4
+ protected baseUnit: SpeedUnit;
5
+ protected convertValueToBaseUnit(value: number, fromUnit: SpeedUnit): number;
6
+ protected convertBaseUnitValueTo(value: number, toUnit: SpeedUnit): number;
7
+ }
@@ -0,0 +1,21 @@
1
+ import { Speed } from './speed.js';
2
+ import { SpeedUnit } from './speed-unit.enum.js';
3
+ export declare class SpeedDto {
4
+ value: number;
5
+ unit: SpeedUnit;
6
+ static from(speed: undefined): undefined;
7
+ static from(speed: null): null;
8
+ static from(speed: Speed): SpeedDto;
9
+ static from(speed: undefined | null): undefined | null;
10
+ static from(speed: Speed | null): SpeedDto | null;
11
+ static from(speed: Speed | undefined): SpeedDto | undefined;
12
+ static from(speed: Speed | null | undefined): SpeedDto | null | undefined;
13
+ parse(): Speed;
14
+ }
15
+ export declare class SpeedDtoBuilder {
16
+ private readonly dto;
17
+ constructor();
18
+ withValue(value: number): this;
19
+ withUnit(unit: SpeedUnit): this;
20
+ build(): SpeedDto;
21
+ }
@@ -0,0 +1,60 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { ApiProperty } from '@nestjs/swagger';
11
+ import { IsEnum, IsNumber } from 'class-validator';
12
+ import { Speed } from './speed.js';
13
+ import { SpeedUnit, SpeedUnitApiProperty } from './speed-unit.enum.js';
14
+ export class SpeedDto {
15
+ value;
16
+ unit;
17
+ static from(speed) {
18
+ if (speed === null)
19
+ return null;
20
+ if (speed === undefined)
21
+ return undefined;
22
+ return new SpeedDtoBuilder()
23
+ .withValue(speed.value)
24
+ .withUnit(speed.unit)
25
+ .build();
26
+ }
27
+ parse() {
28
+ return new Speed(this.value, this.unit);
29
+ }
30
+ }
31
+ __decorate([
32
+ ApiProperty({ type: Number }),
33
+ IsNumber(),
34
+ __metadata("design:type", Number)
35
+ ], SpeedDto.prototype, "value", void 0);
36
+ __decorate([
37
+ SpeedUnitApiProperty(),
38
+ IsEnum(SpeedUnit),
39
+ __metadata("design:type", String)
40
+ ], SpeedDto.prototype, "unit", void 0);
41
+ export class SpeedDtoBuilder {
42
+ dto;
43
+ constructor() {
44
+ this.dto = new SpeedDto();
45
+ this.dto.value = 0;
46
+ this.dto.unit = SpeedUnit.METER_PER_SECOND;
47
+ }
48
+ withValue(value) {
49
+ this.dto.value = value;
50
+ return this;
51
+ }
52
+ withUnit(unit) {
53
+ this.dto.unit = unit;
54
+ return this;
55
+ }
56
+ build() {
57
+ return this.dto;
58
+ }
59
+ }
60
+ //# sourceMappingURL=speed.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"speed.dto.js","sourceRoot":"","sources":["../../../lib/quantities/speed/speed.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAEtE,MAAM,OAAO,QAAQ;IAGnB,KAAK,CAAQ;IAIb,IAAI,CAAW;IASf,MAAM,CAAC,IAAI,CAAE,KAA+B;QAC1C,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAC/B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QAEzC,OAAO,IAAI,eAAe,EAAE;aACzB,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;aACtB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;aACpB,KAAK,EAAE,CAAA;IACZ,CAAC;IAED,KAAK;QACH,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;IACzC,CAAC;CACF;AA1BC;IAFC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,EAAE;;uCACE;AAIb;IAFC,oBAAoB,EAAE;IACtB,MAAM,CAAC,SAAS,CAAC;;sCACH;AAwBjB,MAAM,OAAO,eAAe;IACT,GAAG,CAAU;IAE9B;QACE,IAAI,CAAC,GAAG,GAAG,IAAI,QAAQ,EAAE,CAAA;QACzB,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAA;QAClB,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,gBAAgB,CAAA;IAC5C,CAAC;IAED,SAAS,CAAE,KAAa;QACtB,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;QAEtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAE,IAAe;QACvB,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;QAEpB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;CACF"}
@@ -0,0 +1,24 @@
1
+ import { Quantity } from '../../quantity.js';
2
+ import { SpeedUnit } from './speed-unit.enum.js';
3
+ const SPEED_MULTIPLIERS = {
4
+ [SpeedUnit.METER_PER_SECOND]: 1,
5
+ [SpeedUnit.KILOMETER_PER_HOUR]: 1 / 3.6,
6
+ [SpeedUnit.MILES_PER_HOUR]: 0.44704,
7
+ [SpeedUnit.KNOT]: 0.514444,
8
+ [SpeedUnit.FOOT_PER_SECOND]: 0.3048,
9
+ [SpeedUnit.INCH_PER_SECOND]: 0.0254,
10
+ [SpeedUnit.YARD_PER_SECOND]: 0.9144,
11
+ [SpeedUnit.CENTIMETER_PER_SECOND]: 0.01,
12
+ [SpeedUnit.MILLIMETER_PER_SECOND]: 0.001,
13
+ [SpeedUnit.MICROMETER_PER_SECOND]: 1e-6
14
+ };
15
+ export class Speed extends Quantity {
16
+ baseUnit = SpeedUnit.METER_PER_SECOND;
17
+ convertValueToBaseUnit(value, fromUnit) {
18
+ return value * SPEED_MULTIPLIERS[fromUnit];
19
+ }
20
+ convertBaseUnitValueTo(value, toUnit) {
21
+ return value / SPEED_MULTIPLIERS[toUnit];
22
+ }
23
+ }
24
+ //# sourceMappingURL=speed.js.map
@@ -0,0 +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,QAAQ,GAAG,SAAS,CAAC,gBAAgB,CAAA;IAErC,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;CACF"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,126 @@
1
+ import { describe, it } from 'node:test';
2
+ import { expect } from 'expect';
3
+ import { Speed } from '../speed.js';
4
+ import { SpeedUnit } from '../speed-unit.enum.js';
5
+ void describe('Speed class', () => {
6
+ void describe('Speed calculations', () => {
7
+ void it('adds speeds', () => {
8
+ const s1 = new Speed(10, SpeedUnit.METER_PER_SECOND);
9
+ const s2 = new Speed(3.6, SpeedUnit.KILOMETER_PER_HOUR);
10
+ const r = s1.add(s2);
11
+ expect(r.isEqualTo(11, SpeedUnit.METER_PER_SECOND)).toBe(true);
12
+ });
13
+ void it('subtracts speeds', () => {
14
+ const s1 = new Speed(10, SpeedUnit.METER_PER_SECOND);
15
+ const s2 = new Speed(3.6, SpeedUnit.KILOMETER_PER_HOUR);
16
+ const r = s1.subtract(s2);
17
+ expect(r.isEqualTo(9, SpeedUnit.METER_PER_SECOND)).toBe(true);
18
+ });
19
+ void it('divides speeds', () => {
20
+ const s1 = new Speed(10, SpeedUnit.METER_PER_SECOND);
21
+ const s2 = new Speed(5, SpeedUnit.METER_PER_SECOND);
22
+ const r1 = s1.divide(2);
23
+ const r2 = s1.divide(s2);
24
+ const r3 = s1.divide(5, SpeedUnit.METER_PER_SECOND);
25
+ expect(r1.isEqualTo(5, SpeedUnit.METER_PER_SECOND)).toBe(true);
26
+ expect(r2).toBe(2);
27
+ expect(r3).toBe(2);
28
+ });
29
+ void it('multiplies speeds', () => {
30
+ const s1 = new Speed(5, SpeedUnit.METER_PER_SECOND);
31
+ const r = s1.multiply(2);
32
+ expect(r.isEqualTo(10, SpeedUnit.METER_PER_SECOND)).toBe(true);
33
+ });
34
+ });
35
+ void describe('Speed conversions', () => {
36
+ void it('converts m/s to km/h', () => {
37
+ const speed = new Speed(10, SpeedUnit.METER_PER_SECOND);
38
+ expect(speed.isEqualTo(36, SpeedUnit.KILOMETER_PER_HOUR)).toBe(true);
39
+ });
40
+ void it('converts km/h to m/s', () => {
41
+ const speed = new Speed(36, SpeedUnit.KILOMETER_PER_HOUR);
42
+ expect(speed.isEqualTo(10, SpeedUnit.METER_PER_SECOND)).toBe(true);
43
+ });
44
+ void it('converts m/s to mph', () => {
45
+ const speed = new Speed(10, SpeedUnit.METER_PER_SECOND);
46
+ expect(speed.to(SpeedUnit.MILES_PER_HOUR).value).toBeCloseTo(22.369, 2);
47
+ });
48
+ void it('converts m/s to knots', () => {
49
+ const speed = new Speed(10, SpeedUnit.METER_PER_SECOND);
50
+ expect(speed.to(SpeedUnit.KNOT).value).toBeCloseTo(19.438, 2);
51
+ });
52
+ void it('converts m/s to ft/s', () => {
53
+ const speed = new Speed(10, SpeedUnit.METER_PER_SECOND);
54
+ expect(speed.to(SpeedUnit.FOOT_PER_SECOND).value).toBeCloseTo(32.808, 2);
55
+ });
56
+ void it('converts m/s to cm/s', () => {
57
+ const speed = new Speed(10, SpeedUnit.METER_PER_SECOND);
58
+ expect(speed.isEqualTo(1000, SpeedUnit.CENTIMETER_PER_SECOND)).toBe(true);
59
+ });
60
+ void it('converts m/s to mm/s', () => {
61
+ const speed = new Speed(10, SpeedUnit.METER_PER_SECOND);
62
+ expect(speed.isEqualTo(10000, SpeedUnit.MILLIMETER_PER_SECOND)).toBe(true);
63
+ });
64
+ void it('converts m/s to μm/s', () => {
65
+ const speed = new Speed(1, SpeedUnit.METER_PER_SECOND);
66
+ expect(speed.isEqualTo(1000000, SpeedUnit.MICROMETER_PER_SECOND)).toBe(true);
67
+ });
68
+ });
69
+ void describe('Speed comparisons', () => {
70
+ void it('compares speeds correctly', () => {
71
+ const s1 = new Speed(10, SpeedUnit.METER_PER_SECOND);
72
+ const s2 = new Speed(36, SpeedUnit.KILOMETER_PER_HOUR);
73
+ const s3 = new Speed(5, SpeedUnit.METER_PER_SECOND);
74
+ expect(s1.isEqualTo(s2)).toBe(true);
75
+ expect(s1.isMoreThan(s3)).toBe(true);
76
+ expect(s3.isLessThan(s1)).toBe(true);
77
+ expect(s1.isMoreThanOrEqualTo(s2)).toBe(true);
78
+ expect(s1.isLessThanOrEqualTo(s2)).toBe(true);
79
+ });
80
+ });
81
+ void describe('Speed utilities', () => {
82
+ void it('returns minimum speed using static method', () => {
83
+ const s1 = new Speed(10, SpeedUnit.METER_PER_SECOND);
84
+ const s2 = new Speed(5, SpeedUnit.METER_PER_SECOND);
85
+ const r = Speed.min(s1, s2);
86
+ expect(r.isEqualTo(5, SpeedUnit.METER_PER_SECOND)).toBe(true);
87
+ });
88
+ void it('returns maximum speed using static method', () => {
89
+ const s1 = new Speed(10, SpeedUnit.METER_PER_SECOND);
90
+ const s2 = new Speed(5, SpeedUnit.METER_PER_SECOND);
91
+ const r = Speed.max(s1, s2);
92
+ expect(r.isEqualTo(10, SpeedUnit.METER_PER_SECOND)).toBe(true);
93
+ });
94
+ void it('rounds speed value', () => {
95
+ const s1 = new Speed(10.7, SpeedUnit.METER_PER_SECOND);
96
+ const r = s1.round();
97
+ expect(r.isEqualTo(11, SpeedUnit.METER_PER_SECOND)).toBe(true);
98
+ });
99
+ void it('ceils speed value', () => {
100
+ const s1 = new Speed(10.2, SpeedUnit.METER_PER_SECOND);
101
+ const r = s1.ceil();
102
+ expect(r.isEqualTo(11, SpeedUnit.METER_PER_SECOND)).toBe(true);
103
+ });
104
+ void it('checks if value is rounded', () => {
105
+ const s1 = new Speed(10, SpeedUnit.METER_PER_SECOND);
106
+ const s2 = new Speed(10.5, SpeedUnit.METER_PER_SECOND);
107
+ expect(s1.isRounded()).toBe(true);
108
+ expect(s2.isRounded()).toBe(false);
109
+ });
110
+ });
111
+ void describe('Speed formatting', () => {
112
+ void it('converts to string', () => {
113
+ const speed = new Speed(10, SpeedUnit.METER_PER_SECOND);
114
+ expect(speed.toString()).toBe('10m/s');
115
+ });
116
+ void it('converts to JSON', () => {
117
+ const speed = new Speed(10, SpeedUnit.METER_PER_SECOND);
118
+ const json = speed.toJSON();
119
+ expect(json).toEqual({
120
+ value: 10,
121
+ unit: SpeedUnit.METER_PER_SECOND
122
+ });
123
+ });
124
+ });
125
+ });
126
+ //# sourceMappingURL=speed.unit.test.js.map
@@ -0,0 +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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"}
@@ -2,6 +2,7 @@ import { ApiPropertyOptions } from '@nestjs/swagger';
2
2
  export declare enum TemperatureUnit {
3
3
  KELVIN = "K",
4
4
  CELSIUS = "C",
5
- FAHRENHEIT = "F"
5
+ FAHRENHEIT = "F",
6
+ MILLI_DEGREE_CELSIUS = "mC"
6
7
  }
7
8
  export declare function TemperatureUnitApiProperty(options?: ApiPropertyOptions): PropertyDecorator;
@@ -4,6 +4,7 @@ export var TemperatureUnit;
4
4
  TemperatureUnit["KELVIN"] = "K";
5
5
  TemperatureUnit["CELSIUS"] = "C";
6
6
  TemperatureUnit["FAHRENHEIT"] = "F";
7
+ TemperatureUnit["MILLI_DEGREE_CELSIUS"] = "mC";
7
8
  })(TemperatureUnit || (TemperatureUnit = {}));
8
9
  export function TemperatureUnitApiProperty(options) {
9
10
  return ApiProperty({
@@ -1 +1 @@
1
- {"version":3,"file":"temperature-unit.enum.js","sourceRoot":"","sources":["../../../lib/quantities/temperature/temperature-unit.enum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAsB,MAAM,iBAAiB,CAAA;AAEjE,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,+BAAY,CAAA;IACZ,gCAAa,CAAA;IACb,mCAAgB,CAAA;AAClB,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;AAED,MAAM,UAAU,0BAA0B,CAAE,OAA4B;IACtE,OAAO,WAAW,CAAC;QACjB,GAAG,OAAO;QACV,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,iBAAiB;QAC3B,OAAO,EAAE,eAAe,CAAC,OAAO;KACjC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"temperature-unit.enum.js","sourceRoot":"","sources":["../../../lib/quantities/temperature/temperature-unit.enum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAsB,MAAM,iBAAiB,CAAA;AAEjE,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,+BAAY,CAAA;IACZ,gCAAa,CAAA;IACb,mCAAgB,CAAA;IAChB,8CAA2B,CAAA;AAC7B,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAED,MAAM,UAAU,0BAA0B,CAAE,OAA4B;IACtE,OAAO,WAAW,CAAC;QACjB,GAAG,OAAO;QACV,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,iBAAiB;QAC3B,OAAO,EAAE,eAAe,CAAC,OAAO;KACjC,CAAC,CAAA;AACJ,CAAC"}
@@ -10,6 +10,8 @@ export class Temperature extends Quantity {
10
10
  return value + 273.15;
11
11
  case TemperatureUnit.FAHRENHEIT:
12
12
  return ((value - 32) * 5) / 9 + 273.15;
13
+ case TemperatureUnit.MILLI_DEGREE_CELSIUS:
14
+ return (value / 1000) + 273.15;
13
15
  }
14
16
  }
15
17
  convertBaseUnitValueTo(value, unit) {
@@ -20,6 +22,8 @@ export class Temperature extends Quantity {
20
22
  return value - 273.15;
21
23
  case TemperatureUnit.FAHRENHEIT:
22
24
  return ((value - 273.15) * 9) / 5 + 32;
25
+ case TemperatureUnit.MILLI_DEGREE_CELSIUS:
26
+ return (value - 273.15) * 1000;
23
27
  }
24
28
  }
25
29
  }
@@ -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,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAA;IAEjC,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;QAC1C,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;QAC1C,CAAC;IACH,CAAC;CACF"}
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,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAA;IAEjC,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;CACF"}
@@ -23,6 +23,9 @@ export class QuantityTypeOrmTransformer {
23
23
  if (quantity === null) {
24
24
  return null;
25
25
  }
26
+ if (quantity === undefined) {
27
+ return null;
28
+ }
26
29
  return quantity.asNumber(this.storedUnit);
27
30
  }
28
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"quantity.column.js","sourceRoot":"","sources":["../lib/quantity.column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAmC,MAAM,SAAS,CAAA;AAGjE,MAAM,UAAU,cAAc,CAC5B,mBAA6C,EAC7C,WAAc,EACd,OAAqD;IAErD,OAAO,MAAM,CAAC;QACZ,GAAG,OAAO;QACV,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,IAAI,0BAA0B,CAAC,mBAAmB,EAAE,WAAW,CAAC;KAC9E,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,OAAO,0BAA0B;IAElB;IACA;IAFnB,YACmB,mBAA6C,EAC7C,UAAa;QADb,wBAAmB,GAAnB,mBAAmB,CAA0B;QAC7C,eAAU,GAAV,UAAU,CAAG;IAC7B,CAAC;IAIJ,IAAI,CAAE,KAAoB;QACxB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;IAC7D,CAAC;IAID,EAAE,CAAE,QAAkB;QACpB,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC3C,CAAC;CACF"}
1
+ {"version":3,"file":"quantity.column.js","sourceRoot":"","sources":["../lib/quantity.column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAmC,MAAM,SAAS,CAAA;AAGjE,MAAM,UAAU,cAAc,CAC5B,mBAA8C,EAC9C,WAAc,EACd,OAAqD;IAErD,OAAO,MAAM,CAAC;QACZ,GAAG,OAAO;QACV,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,IAAI,0BAA0B,CAAC,mBAAmB,EAAE,WAAW,CAAC;KAC9E,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,OAAO,0BAA0B;IAElB;IACA;IAFnB,YACmB,mBAA8C,EAC9C,UAAa;QADb,wBAAmB,GAAnB,mBAAmB,CAA2B;QAC9C,eAAU,GAAV,UAAU,CAAG;IAC7B,CAAC;IAIJ,IAAI,CAAE,KAAoB;QACxB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;IAC7D,CAAC;IAID,EAAE,CAAE,QAA8B;QAChC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC3C,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wisemen/quantity",
3
- "version": "0.0.9",
3
+ "version": "0.2.0",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "type": "module",