@wisemen/quantity 0.0.8 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/quantities/current/current-unit.enum.d.ts +29 -0
- package/dist/quantities/current/current-unit.enum.js +38 -0
- package/dist/quantities/current/current-unit.enum.js.map +1 -0
- package/dist/quantities/current/current.column.d.ts +3 -0
- package/dist/quantities/current/current.column.js +6 -0
- package/dist/quantities/current/current.column.js.map +1 -0
- package/dist/quantities/current/current.d.ts +8 -0
- package/dist/quantities/current/current.dto.d.ts +20 -0
- package/dist/quantities/current/current.dto.js +60 -0
- package/dist/quantities/current/current.dto.js.map +1 -0
- package/dist/quantities/current/current.js +39 -0
- package/dist/quantities/current/current.js.map +1 -0
- package/dist/quantities/current/index.d.ts +4 -0
- package/dist/quantities/current/index.js +5 -0
- package/dist/quantities/current/index.js.map +1 -0
- package/dist/quantities/current/tests/current.unit.test.d.ts +1 -0
- package/dist/quantities/current/tests/current.unit.test.js +31 -0
- package/dist/quantities/current/tests/current.unit.test.js.map +1 -0
- package/dist/quantities/speed/index.d.ts +4 -0
- package/dist/quantities/speed/index.js +5 -0
- package/dist/quantities/speed/index.js.map +1 -0
- package/dist/quantities/speed/speed-unit.enum.d.ts +14 -0
- package/dist/quantities/speed/speed-unit.enum.js +23 -0
- package/dist/quantities/speed/speed-unit.enum.js.map +1 -0
- package/dist/quantities/speed/speed.column.d.ts +3 -0
- package/dist/quantities/speed/speed.column.js +6 -0
- package/dist/quantities/speed/speed.column.js.map +1 -0
- package/dist/quantities/speed/speed.d.ts +7 -0
- package/dist/quantities/speed/speed.dto.d.ts +21 -0
- package/dist/quantities/speed/speed.dto.js +60 -0
- package/dist/quantities/speed/speed.dto.js.map +1 -0
- package/dist/quantities/speed/speed.js +24 -0
- package/dist/quantities/speed/speed.js.map +1 -0
- package/dist/quantities/speed/tests/speed.unit.test.d.ts +1 -0
- package/dist/quantities/speed/tests/speed.unit.test.js +126 -0
- package/dist/quantities/speed/tests/speed.unit.test.js.map +1 -0
- package/dist/quantities/temperature/temperature-unit.enum.d.ts +2 -1
- package/dist/quantities/temperature/temperature-unit.enum.js +1 -0
- package/dist/quantities/temperature/temperature-unit.enum.js.map +1 -1
- package/dist/quantities/temperature/temperature.js +4 -0
- package/dist/quantities/temperature/temperature.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
export * from './quantities/current/index.js';
|
|
1
2
|
export * from './quantities/distance/index.js';
|
|
2
3
|
export * from './quantities/duration/index.js';
|
|
3
4
|
export * from './quantities/temperature/index.js';
|
|
4
5
|
export * from './quantities/energy/index.js';
|
|
5
6
|
export * from './quantities/power/index.js';
|
|
7
|
+
export * from './quantities/speed/index.js';
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
export * from './quantities/current/index.js';
|
|
1
2
|
export * from './quantities/distance/index.js';
|
|
2
3
|
export * from './quantities/duration/index.js';
|
|
3
4
|
export * from './quantities/temperature/index.js';
|
|
4
5
|
export * from './quantities/energy/index.js';
|
|
5
6
|
export * from './quantities/power/index.js';
|
|
7
|
+
export * from './quantities/speed/index.js';
|
|
6
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,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,29 @@
|
|
|
1
|
+
import { ApiPropertyOptions } from '@nestjs/swagger';
|
|
2
|
+
export declare enum CurrentUnitEnum {
|
|
3
|
+
AMPERE = "A",
|
|
4
|
+
DECIAMPERE = "dA",
|
|
5
|
+
CENTIAMPERE = "cA",
|
|
6
|
+
MILLIAMPERE = "mA",
|
|
7
|
+
MICROAMPERE = "\u03BCA",
|
|
8
|
+
NANOAMPERE = "nA",
|
|
9
|
+
PICOAMPERE = "pA",
|
|
10
|
+
FEMTOAMPERE = "fA",
|
|
11
|
+
ATTOAMPERE = "aA",
|
|
12
|
+
ZEPTOAMPERE = "zA",
|
|
13
|
+
YOCTOAMPERE = "yA",
|
|
14
|
+
RONTOAMPERE = "rA",
|
|
15
|
+
QUECTOAMPERE = "qA",
|
|
16
|
+
DECAAMPERE = "daA",
|
|
17
|
+
HECTOAMPERE = "hA",
|
|
18
|
+
KILOAMPERE = "kA",
|
|
19
|
+
MEGAAMPERE = "MA",
|
|
20
|
+
GIGAAMPERE = "GA",
|
|
21
|
+
TERAAMPERE = "TA",
|
|
22
|
+
PETAAMPERE = "PA",
|
|
23
|
+
EXAAMPERE = "EA",
|
|
24
|
+
ZETTAAMPERE = "ZA",
|
|
25
|
+
YOTTAAMPERE = "YA",
|
|
26
|
+
RONNAAMPERE = "RA",
|
|
27
|
+
QUETTAAMPERE = "QA"
|
|
28
|
+
}
|
|
29
|
+
export declare function CurrentUnitApiProperty(options?: ApiPropertyOptions): PropertyDecorator;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ApiProperty } from '@nestjs/swagger';
|
|
2
|
+
export var CurrentUnitEnum;
|
|
3
|
+
(function (CurrentUnitEnum) {
|
|
4
|
+
CurrentUnitEnum["AMPERE"] = "A";
|
|
5
|
+
CurrentUnitEnum["DECIAMPERE"] = "dA";
|
|
6
|
+
CurrentUnitEnum["CENTIAMPERE"] = "cA";
|
|
7
|
+
CurrentUnitEnum["MILLIAMPERE"] = "mA";
|
|
8
|
+
CurrentUnitEnum["MICROAMPERE"] = "\u03BCA";
|
|
9
|
+
CurrentUnitEnum["NANOAMPERE"] = "nA";
|
|
10
|
+
CurrentUnitEnum["PICOAMPERE"] = "pA";
|
|
11
|
+
CurrentUnitEnum["FEMTOAMPERE"] = "fA";
|
|
12
|
+
CurrentUnitEnum["ATTOAMPERE"] = "aA";
|
|
13
|
+
CurrentUnitEnum["ZEPTOAMPERE"] = "zA";
|
|
14
|
+
CurrentUnitEnum["YOCTOAMPERE"] = "yA";
|
|
15
|
+
CurrentUnitEnum["RONTOAMPERE"] = "rA";
|
|
16
|
+
CurrentUnitEnum["QUECTOAMPERE"] = "qA";
|
|
17
|
+
CurrentUnitEnum["DECAAMPERE"] = "daA";
|
|
18
|
+
CurrentUnitEnum["HECTOAMPERE"] = "hA";
|
|
19
|
+
CurrentUnitEnum["KILOAMPERE"] = "kA";
|
|
20
|
+
CurrentUnitEnum["MEGAAMPERE"] = "MA";
|
|
21
|
+
CurrentUnitEnum["GIGAAMPERE"] = "GA";
|
|
22
|
+
CurrentUnitEnum["TERAAMPERE"] = "TA";
|
|
23
|
+
CurrentUnitEnum["PETAAMPERE"] = "PA";
|
|
24
|
+
CurrentUnitEnum["EXAAMPERE"] = "EA";
|
|
25
|
+
CurrentUnitEnum["ZETTAAMPERE"] = "ZA";
|
|
26
|
+
CurrentUnitEnum["YOTTAAMPERE"] = "YA";
|
|
27
|
+
CurrentUnitEnum["RONNAAMPERE"] = "RA";
|
|
28
|
+
CurrentUnitEnum["QUETTAAMPERE"] = "QA";
|
|
29
|
+
})(CurrentUnitEnum || (CurrentUnitEnum = {}));
|
|
30
|
+
export function CurrentUnitApiProperty(options) {
|
|
31
|
+
return ApiProperty({
|
|
32
|
+
...options,
|
|
33
|
+
enum: CurrentUnitEnum,
|
|
34
|
+
enumName: 'CurrentUnitEnum',
|
|
35
|
+
example: CurrentUnitEnum.AMPERE
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=current-unit.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"current-unit.enum.js","sourceRoot":"","sources":["../../../lib/quantities/current/current-unit.enum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAEjE,MAAM,CAAN,IAAY,eA4BX;AA5BD,WAAY,eAAe;IACzB,+BAAY,CAAA;IAEZ,oCAAiB,CAAA;IACjB,qCAAkB,CAAA;IAClB,qCAAkB,CAAA;IAClB,0CAAkB,CAAA;IAClB,oCAAiB,CAAA;IACjB,oCAAiB,CAAA;IACjB,qCAAkB,CAAA;IAClB,oCAAiB,CAAA;IACjB,qCAAkB,CAAA;IAClB,qCAAkB,CAAA;IAClB,qCAAkB,CAAA;IAClB,sCAAmB,CAAA;IAEnB,qCAAkB,CAAA;IAClB,qCAAkB,CAAA;IAClB,oCAAiB,CAAA;IACjB,oCAAiB,CAAA;IACjB,oCAAiB,CAAA;IACjB,oCAAiB,CAAA;IACjB,oCAAiB,CAAA;IACjB,mCAAgB,CAAA;IAChB,qCAAkB,CAAA;IAClB,qCAAkB,CAAA;IAClB,qCAAkB,CAAA;IAClB,sCAAmB,CAAA;AACrB,CAAC,EA5BW,eAAe,KAAf,eAAe,QA4B1B;AAED,MAAM,UAAU,sBAAsB,CAAE,OAA4B;IAClE,OAAO,WAAW,CAAC;QACjB,GAAG,OAAO;QACV,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,iBAAiB;QAC3B,OAAO,EAAE,eAAe,CAAC,MAAM;KAChC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"current.column.js","sourceRoot":"","sources":["../../../lib/quantities/current/current.column.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEzD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,UAAU,aAAa,CAAE,WAA4B,EAAE,OAAoD;IAC/G,OAAO,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;AACtD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Quantity } from '../../quantity.js';
|
|
2
|
+
import { CurrentUnitEnum } from './current-unit.enum.js';
|
|
3
|
+
export declare const CURRENT_MULTIPLIERS: Record<CurrentUnitEnum, number>;
|
|
4
|
+
export declare class Current extends Quantity<CurrentUnitEnum, Current> {
|
|
5
|
+
protected baseUnit: CurrentUnitEnum;
|
|
6
|
+
protected convertValueToBaseUnit(value: number, unit: CurrentUnitEnum): number;
|
|
7
|
+
protected convertBaseUnitValueTo(value: number, unit: CurrentUnitEnum): number;
|
|
8
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { CurrentUnitEnum } from './current-unit.enum.js';
|
|
2
|
+
import { Current } from './current.js';
|
|
3
|
+
export declare class CurrentDto {
|
|
4
|
+
value: number;
|
|
5
|
+
unit: CurrentUnitEnum;
|
|
6
|
+
static from(current: undefined): undefined;
|
|
7
|
+
static from(current: null): null;
|
|
8
|
+
static from(current: Current): CurrentDto;
|
|
9
|
+
static from(current: Current | null): CurrentDto | null;
|
|
10
|
+
static from(current: Current | undefined): CurrentDto | undefined;
|
|
11
|
+
static from(current: Current | null | undefined): CurrentDto | null | undefined;
|
|
12
|
+
parse(): Current;
|
|
13
|
+
}
|
|
14
|
+
export declare class CurrentDtoBuilder {
|
|
15
|
+
private readonly dto;
|
|
16
|
+
constructor();
|
|
17
|
+
withValue(value: number): this;
|
|
18
|
+
withUnit(unit: CurrentUnitEnum): this;
|
|
19
|
+
build(): CurrentDto;
|
|
20
|
+
}
|
|
@@ -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 { IsNumber, IsEnum } from 'class-validator';
|
|
12
|
+
import { CurrentUnitApiProperty, CurrentUnitEnum } from './current-unit.enum.js';
|
|
13
|
+
import { Current } from './current.js';
|
|
14
|
+
export class CurrentDto {
|
|
15
|
+
value;
|
|
16
|
+
unit;
|
|
17
|
+
static from(current) {
|
|
18
|
+
if (current === null)
|
|
19
|
+
return null;
|
|
20
|
+
if (current === undefined)
|
|
21
|
+
return undefined;
|
|
22
|
+
return new CurrentDtoBuilder()
|
|
23
|
+
.withValue(current.value)
|
|
24
|
+
.withUnit(current.unit)
|
|
25
|
+
.build();
|
|
26
|
+
}
|
|
27
|
+
parse() {
|
|
28
|
+
return new Current(this.value, this.unit);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
__decorate([
|
|
32
|
+
ApiProperty({ type: Number }),
|
|
33
|
+
IsNumber(),
|
|
34
|
+
__metadata("design:type", Number)
|
|
35
|
+
], CurrentDto.prototype, "value", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
CurrentUnitApiProperty(),
|
|
38
|
+
IsEnum(CurrentUnitEnum),
|
|
39
|
+
__metadata("design:type", String)
|
|
40
|
+
], CurrentDto.prototype, "unit", void 0);
|
|
41
|
+
export class CurrentDtoBuilder {
|
|
42
|
+
dto;
|
|
43
|
+
constructor() {
|
|
44
|
+
this.dto = new CurrentDto();
|
|
45
|
+
this.dto.value = 0;
|
|
46
|
+
this.dto.unit = CurrentUnitEnum.AMPERE;
|
|
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=current.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"current.dto.js","sourceRoot":"","sources":["../../../lib/quantities/current/current.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,OAAO,UAAU;IAGrB,KAAK,CAAQ;IAIb,IAAI,CAAiB;IASrB,MAAM,CAAC,IAAI,CAAE,OAAmC;QAC9C,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QACjC,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QAE3C,OAAO,IAAI,iBAAiB,EAAE;aAC3B,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;aACxB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;aACtB,KAAK,EAAE,CAAA;IACZ,CAAC;IAED,KAAK;QACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3C,CAAC;CACF;AA1BC;IAFC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,EAAE;;yCACE;AAIb;IAFC,sBAAsB,EAAE;IACxB,MAAM,CAAC,eAAe,CAAC;;wCACH;AAwBvB,MAAM,OAAO,iBAAiB;IACX,GAAG,CAAY;IAEhC;QACE,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,EAAE,CAAA;QAC3B,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAA;QAClB,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,eAAe,CAAC,MAAM,CAAA;IACxC,CAAC;IAED,SAAS,CAAE,KAAa;QACtB,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;QAEtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAE,IAAqB;QAC7B,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,39 @@
|
|
|
1
|
+
import { Quantity } from '../../quantity.js';
|
|
2
|
+
import { CurrentUnitEnum } from './current-unit.enum.js';
|
|
3
|
+
export const CURRENT_MULTIPLIERS = {
|
|
4
|
+
[CurrentUnitEnum.AMPERE]: 1,
|
|
5
|
+
[CurrentUnitEnum.DECIAMPERE]: 1e-1,
|
|
6
|
+
[CurrentUnitEnum.CENTIAMPERE]: 1e-2,
|
|
7
|
+
[CurrentUnitEnum.MILLIAMPERE]: 1e-3,
|
|
8
|
+
[CurrentUnitEnum.MICROAMPERE]: 1e-6,
|
|
9
|
+
[CurrentUnitEnum.NANOAMPERE]: 1e-9,
|
|
10
|
+
[CurrentUnitEnum.PICOAMPERE]: 1e-12,
|
|
11
|
+
[CurrentUnitEnum.FEMTOAMPERE]: 1e-15,
|
|
12
|
+
[CurrentUnitEnum.ATTOAMPERE]: 1e-18,
|
|
13
|
+
[CurrentUnitEnum.ZEPTOAMPERE]: 1e-21,
|
|
14
|
+
[CurrentUnitEnum.YOCTOAMPERE]: 1e-24,
|
|
15
|
+
[CurrentUnitEnum.RONTOAMPERE]: 1e-27,
|
|
16
|
+
[CurrentUnitEnum.QUECTOAMPERE]: 1e-30,
|
|
17
|
+
[CurrentUnitEnum.DECAAMPERE]: 1e1,
|
|
18
|
+
[CurrentUnitEnum.HECTOAMPERE]: 1e2,
|
|
19
|
+
[CurrentUnitEnum.KILOAMPERE]: 1e3,
|
|
20
|
+
[CurrentUnitEnum.MEGAAMPERE]: 1e6,
|
|
21
|
+
[CurrentUnitEnum.GIGAAMPERE]: 1e9,
|
|
22
|
+
[CurrentUnitEnum.TERAAMPERE]: 1e12,
|
|
23
|
+
[CurrentUnitEnum.PETAAMPERE]: 1e15,
|
|
24
|
+
[CurrentUnitEnum.EXAAMPERE]: 1e18,
|
|
25
|
+
[CurrentUnitEnum.ZETTAAMPERE]: 1e21,
|
|
26
|
+
[CurrentUnitEnum.YOTTAAMPERE]: 1e24,
|
|
27
|
+
[CurrentUnitEnum.RONNAAMPERE]: 1e27,
|
|
28
|
+
[CurrentUnitEnum.QUETTAAMPERE]: 1e30
|
|
29
|
+
};
|
|
30
|
+
export class Current extends Quantity {
|
|
31
|
+
baseUnit = CurrentUnitEnum.AMPERE;
|
|
32
|
+
convertValueToBaseUnit(value, unit) {
|
|
33
|
+
return value * CURRENT_MULTIPLIERS[unit];
|
|
34
|
+
}
|
|
35
|
+
convertBaseUnitValueTo(value, unit) {
|
|
36
|
+
return value / CURRENT_MULTIPLIERS[unit];
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=current.js.map
|
|
@@ -0,0 +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,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,MAAM,CAAC,MAAM,mBAAmB,GAAoC;IAClE,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;IAE3B,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,IAAI;IAClC,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,IAAI;IACnC,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,IAAI;IACnC,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,IAAI;IACnC,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,IAAI;IAClC,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,KAAK;IACnC,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,KAAK;IACpC,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,KAAK;IACnC,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,KAAK;IACpC,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,KAAK;IACpC,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,KAAK;IACpC,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,KAAK;IAErC,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,GAAG;IACjC,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,GAAG;IAClC,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,GAAG;IACjC,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,GAAG;IACjC,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,GAAG;IACjC,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,IAAI;IAClC,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,IAAI;IAClC,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,IAAI;IACjC,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,IAAI;IACnC,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,IAAI;IACnC,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,IAAI;IACnC,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,IAAI;CACrC,CAAA;AAED,MAAM,OAAO,OAAQ,SAAQ,QAAkC;IACnD,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAA;IAEjC,sBAAsB,CAAE,KAAa,EAAE,IAAqB;QACpE,OAAO,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,IAAqB;QACpE,OAAO,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/quantities/current/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { describe, it } from 'node:test';
|
|
2
|
+
import { expect } from 'expect';
|
|
3
|
+
import { Current } from '../current.js';
|
|
4
|
+
import { CurrentUnitEnum } from '../current-unit.enum.js';
|
|
5
|
+
void describe('Current class', () => {
|
|
6
|
+
void describe('Current calculations', () => {
|
|
7
|
+
void it('adds currents', () => {
|
|
8
|
+
const c1 = new Current(10, CurrentUnitEnum.AMPERE);
|
|
9
|
+
const c2 = new Current(500, CurrentUnitEnum.MILLIAMPERE);
|
|
10
|
+
const r = c1.add(c2);
|
|
11
|
+
expect(r.isEqualTo(10.5, CurrentUnitEnum.AMPERE)).toBe(true);
|
|
12
|
+
});
|
|
13
|
+
void it('subtracts currents', () => {
|
|
14
|
+
const c1 = new Current(10, CurrentUnitEnum.AMPERE);
|
|
15
|
+
const c2 = new Current(500, CurrentUnitEnum.MILLIAMPERE);
|
|
16
|
+
const r = c1.subtract(c2);
|
|
17
|
+
expect(r.isEqualTo(9500, CurrentUnitEnum.MILLIAMPERE)).toBe(true);
|
|
18
|
+
});
|
|
19
|
+
void it('divides currents', () => {
|
|
20
|
+
const c1 = new Current(1, CurrentUnitEnum.AMPERE);
|
|
21
|
+
const c2 = new Current(250, CurrentUnitEnum.MILLIAMPERE);
|
|
22
|
+
const r1 = c1.divide(2);
|
|
23
|
+
const r2 = c1.divide(c2);
|
|
24
|
+
const r3 = c1.divide(0.5, CurrentUnitEnum.AMPERE);
|
|
25
|
+
expect(r1.isEqualTo(500, CurrentUnitEnum.MILLIAMPERE)).toBe(true);
|
|
26
|
+
expect(r2).toBe(4);
|
|
27
|
+
expect(r3).toBe(2);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=current.unit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"current.unit.test.js","sourceRoot":"","sources":["../../../../lib/quantities/current/tests/current.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,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEzD,KAAK,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAClC,KAAK,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACzC,KAAK,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;YAC5B,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,EAAE,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA;YAClD,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;YACxD,MAAM,CAAC,GAAY,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAE7B,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;QAEF,KAAK,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;YACjC,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,EAAE,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA;YAClD,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;YACxD,MAAM,CAAC,GAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YAElC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnE,CAAC,CAAC,CAAA;QAEF,KAAK,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAC/B,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA;YACjD,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;YAExD,MAAM,EAAE,GAAY,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YAChC,MAAM,EAAE,GAAW,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAChC,MAAM,EAAE,GAAW,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA;YAEzD,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjE,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"}
|
|
@@ -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 @@
|
|
|
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,
|
|
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;
|
|
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"}
|