@wisemen/quantity 0.4.0 → 0.4.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/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/quantities/current/current.column.d.ts +3 -2
- package/dist/quantities/current/current.column.js.map +1 -1
- package/dist/quantities/current/index.d.ts +1 -0
- package/dist/quantities/current/index.js +1 -0
- package/dist/quantities/current/index.js.map +1 -1
- package/dist/quantities/current/is-current.validator.d.ts +4 -0
- package/dist/quantities/current/is-current.validator.js +7 -0
- package/dist/quantities/current/is-current.validator.js.map +1 -0
- package/dist/quantities/distance/distance.column.d.ts +3 -2
- package/dist/quantities/distance/distance.column.js.map +1 -1
- package/dist/quantities/distance/distance.d.ts +0 -6
- package/dist/quantities/distance/distance.dto.d.ts +2 -1
- package/dist/quantities/distance/distance.dto.js +2 -1
- package/dist/quantities/distance/distance.dto.js.map +1 -1
- package/dist/quantities/distance/distance.js +0 -15
- package/dist/quantities/distance/distance.js.map +1 -1
- package/dist/quantities/distance/index.d.ts +1 -0
- package/dist/quantities/distance/index.js +1 -0
- package/dist/quantities/distance/index.js.map +1 -1
- package/dist/quantities/distance/is-distance.validator.d.ts +4 -0
- package/dist/quantities/distance/is-distance.validator.js +7 -0
- package/dist/quantities/distance/is-distance.validator.js.map +1 -0
- package/dist/quantities/distance/tests/distance.unit.test.js +0 -9
- package/dist/quantities/distance/tests/distance.unit.test.js.map +1 -1
- package/dist/quantities/duration/duration.column.d.ts +3 -2
- package/dist/quantities/duration/duration.column.js.map +1 -1
- package/dist/quantities/duration/index.d.ts +1 -0
- package/dist/quantities/duration/index.js +1 -0
- package/dist/quantities/duration/index.js.map +1 -1
- package/dist/quantities/duration/is-duration.validator.d.ts +4 -0
- package/dist/quantities/duration/is-duration.validator.js +7 -0
- package/dist/quantities/duration/is-duration.validator.js.map +1 -0
- package/dist/quantities/energy/energy.column.d.ts +3 -2
- package/dist/quantities/energy/energy.column.js.map +1 -1
- package/dist/quantities/energy/index.d.ts +1 -0
- package/dist/quantities/energy/index.js +1 -0
- package/dist/quantities/energy/index.js.map +1 -1
- package/dist/quantities/energy/is-energy.validator.d.ts +4 -0
- package/dist/quantities/energy/is-energy.validator.js +7 -0
- package/dist/quantities/energy/is-energy.validator.js.map +1 -0
- package/dist/quantities/mass/index.d.ts +1 -0
- package/dist/quantities/mass/index.js +1 -0
- package/dist/quantities/mass/index.js.map +1 -1
- package/dist/quantities/mass/is-mass.validator.d.ts +4 -0
- package/dist/quantities/mass/is-mass.validator.js +7 -0
- package/dist/quantities/mass/is-mass.validator.js.map +1 -0
- package/dist/quantities/mass/mass.column.d.ts +3 -2
- package/dist/quantities/mass/mass.column.js.map +1 -1
- package/dist/quantities/mass/mass.dto.d.ts +2 -1
- package/dist/quantities/mass/mass.dto.js +2 -1
- package/dist/quantities/mass/mass.dto.js.map +1 -1
- package/dist/quantities/power/index.d.ts +1 -0
- package/dist/quantities/power/index.js +1 -0
- package/dist/quantities/power/index.js.map +1 -1
- package/dist/quantities/power/is-power.validator.d.ts +4 -0
- package/dist/quantities/power/is-power.validator.js +7 -0
- package/dist/quantities/power/is-power.validator.js.map +1 -0
- package/dist/quantities/power/power.column.d.ts +3 -2
- package/dist/quantities/power/power.column.js.map +1 -1
- package/dist/quantities/speed/index.d.ts +1 -0
- package/dist/quantities/speed/index.js +1 -0
- package/dist/quantities/speed/index.js.map +1 -1
- package/dist/quantities/speed/is-speed.validator.d.ts +4 -0
- package/dist/quantities/speed/is-speed.validator.js +7 -0
- package/dist/quantities/speed/is-speed.validator.js.map +1 -0
- package/dist/quantities/speed/speed.column.d.ts +3 -2
- package/dist/quantities/speed/speed.column.js.map +1 -1
- package/dist/quantities/temperature/index.d.ts +1 -0
- package/dist/quantities/temperature/index.js +1 -0
- package/dist/quantities/temperature/index.js.map +1 -1
- package/dist/quantities/temperature/is-temperature.validator.d.ts +4 -0
- package/dist/quantities/temperature/is-temperature.validator.js +7 -0
- package/dist/quantities/temperature/is-temperature.validator.js.map +1 -0
- package/dist/quantity.column.d.ts +5 -1
- package/dist/quantity.column.js +5 -6
- package/dist/quantity.column.js.map +1 -1
- package/dist/quantity.dto.d.ts +4 -0
- package/dist/quantity.dto.js +3 -0
- package/dist/quantity.dto.js.map +1 -0
- package/dist/validators/is-quantity.decorator.d.ts +9 -0
- package/dist/validators/is-quantity.decorator.js +22 -0
- package/dist/validators/is-quantity.decorator.js.map +1 -0
- package/dist/validators/max-quantity.validator.d.ts +8 -0
- package/dist/validators/max-quantity.validator.js +18 -0
- package/dist/validators/max-quantity.validator.js.map +1 -0
- package/dist/validators/min-quantity.validator.d.ts +8 -0
- package/dist/validators/min-quantity.validator.js +18 -0
- package/dist/validators/min-quantity.validator.js.map +1 -0
- package/dist/validators/tests/is-quantity.decorator.unit.test.js +170 -0
- package/dist/validators/tests/is-quantity.decorator.unit.test.js.map +1 -0
- package/package.json +28 -23
- package/dist/quantities/voltage/index.d.ts +0 -4
- package/dist/quantities/voltage/index.js +0 -5
- package/dist/quantities/voltage/index.js.map +0 -1
- package/dist/quantities/voltage/tests/voltage.unit.test.js +0 -100
- package/dist/quantities/voltage/tests/voltage.unit.test.js.map +0 -1
- package/dist/quantities/voltage/voltage-unit.enum.d.ts +0 -7
- package/dist/quantities/voltage/voltage-unit.enum.js +0 -16
- package/dist/quantities/voltage/voltage-unit.enum.js.map +0 -1
- package/dist/quantities/voltage/voltage.column.d.ts +0 -3
- package/dist/quantities/voltage/voltage.column.js +0 -6
- package/dist/quantities/voltage/voltage.column.js.map +0 -1
- package/dist/quantities/voltage/voltage.d.ts +0 -8
- package/dist/quantities/voltage/voltage.dto.d.ts +0 -21
- package/dist/quantities/voltage/voltage.dto.js +0 -60
- package/dist/quantities/voltage/voltage.dto.js.map +0 -1
- package/dist/quantities/voltage/voltage.js +0 -20
- package/dist/quantities/voltage/voltage.js.map +0 -1
- /package/dist/{quantities/voltage/tests/voltage.unit.test.d.ts → validators/tests/is-quantity.decorator.unit.test.d.ts} +0 -0
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { ColumnOptions, ValueTransformer } from 'typeorm';
|
|
2
2
|
import { Quantity, QuantityConstructor } from './quantity.js';
|
|
3
|
-
export
|
|
3
|
+
export type QuantityColumnOptions<U extends string, Q extends Quantity<U, Q>> = Omit<ColumnOptions, 'type' | 'transformer' | 'default'> & {
|
|
4
|
+
default?: Q;
|
|
5
|
+
};
|
|
6
|
+
export declare function QuantityColumn<U extends string, Q extends Quantity<U, Q>>(QuantityConstructor: QuantityConstructor<U, Q>, storeAsUnit: U, options?: QuantityColumnOptions<U, Q>): PropertyDecorator;
|
|
4
7
|
export declare class QuantityTypeOrmTransformer<U extends string, Q extends Quantity<U, Q>> implements ValueTransformer {
|
|
5
8
|
private readonly QuantityConstructor;
|
|
6
9
|
private readonly storedUnit;
|
|
@@ -9,4 +12,5 @@ export declare class QuantityTypeOrmTransformer<U extends string, Q extends Quan
|
|
|
9
12
|
from(value: number | null): Q | null;
|
|
10
13
|
to(quantity: Q): number;
|
|
11
14
|
to(quantity: Q | null): number | null;
|
|
15
|
+
to(quantity: Q | null | undefined): number | null | undefined;
|
|
12
16
|
}
|
package/dist/quantity.column.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Column } from 'typeorm';
|
|
2
2
|
export function QuantityColumn(QuantityConstructor, storeAsUnit, options) {
|
|
3
|
+
const transformer = new QuantityTypeOrmTransformer(QuantityConstructor, storeAsUnit);
|
|
3
4
|
return Column({
|
|
4
5
|
...options,
|
|
6
|
+
default: transformer.to(options?.default),
|
|
5
7
|
type: 'float',
|
|
6
|
-
transformer
|
|
8
|
+
transformer
|
|
7
9
|
});
|
|
8
10
|
}
|
|
9
11
|
export class QuantityTypeOrmTransformer {
|
|
@@ -20,11 +22,8 @@ export class QuantityTypeOrmTransformer {
|
|
|
20
22
|
return new this.QuantityConstructor(value, this.storedUnit);
|
|
21
23
|
}
|
|
22
24
|
to(quantity) {
|
|
23
|
-
if (quantity === null) {
|
|
24
|
-
return
|
|
25
|
-
}
|
|
26
|
-
if (quantity === undefined) {
|
|
27
|
-
return null;
|
|
25
|
+
if (quantity === undefined || quantity === null) {
|
|
26
|
+
return quantity;
|
|
28
27
|
}
|
|
29
28
|
return quantity.asNumber(this.storedUnit);
|
|
30
29
|
}
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"quantity.column.js","sourceRoot":"","sources":["../lib/quantity.column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAmC,MAAM,SAAS,CAAA;AAMjE,MAAM,UAAU,cAAc,CAC5B,mBAA8C,EAC9C,WAAc,EACd,OAAqC;IAErC,MAAM,WAAW,GAAG,IAAI,0BAA0B,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAA;IAEpF,OAAO,MAAM,CAAC;QACZ,GAAG,OAAO;QACV,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QACzC,IAAI,EAAE,OAAO;QACb,WAAW;KACZ,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,OAAO,0BAA0B;IAGlB;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;IAKD,EAAE,CAAE,QAA8B;QAChC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAChD,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC3C,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quantity.dto.js","sourceRoot":"","sources":["../lib/quantity.dto.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,WAAW;CAEhC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ClassConstructor } from 'class-transformer';
|
|
2
|
+
import { ValidationOptions } from 'class-validator';
|
|
3
|
+
import { Quantity } from '../quantity.js';
|
|
4
|
+
import { QuantityDto } from '../quantity.dto.js';
|
|
5
|
+
export interface IsQuantityOptions<U extends string, Q extends Quantity<U, Q>> extends ValidationOptions {
|
|
6
|
+
min?: Q;
|
|
7
|
+
max?: Q;
|
|
8
|
+
}
|
|
9
|
+
export declare function IsQuantity<U extends string, Q extends Quantity<U, Q>>(quantityClass: ClassConstructor<QuantityDto<Q>>, options?: IsQuantityOptions<U, Q>): PropertyDecorator;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Type } from 'class-transformer';
|
|
2
|
+
import { applyDecorators } from '@nestjs/common';
|
|
3
|
+
import { IsObject, ValidateBy, ValidateNested } from 'class-validator';
|
|
4
|
+
import { MinQuantityValidator } from './min-quantity.validator.js';
|
|
5
|
+
import { MaxQuantityValidator } from './max-quantity.validator.js';
|
|
6
|
+
export function IsQuantity(quantityClass, options) {
|
|
7
|
+
const decorators = [
|
|
8
|
+
Type(() => quantityClass),
|
|
9
|
+
ValidateNested(options),
|
|
10
|
+
IsObject(options)
|
|
11
|
+
];
|
|
12
|
+
if (options?.min !== undefined) {
|
|
13
|
+
const validator = new MinQuantityValidator(options.min);
|
|
14
|
+
decorators.push(ValidateBy({ name: 'minQuantityValidator', validator }));
|
|
15
|
+
}
|
|
16
|
+
if (options?.max !== undefined) {
|
|
17
|
+
const validator = new MaxQuantityValidator(options.max);
|
|
18
|
+
decorators.push(ValidateBy({ name: 'maxQuantityValidator', validator }));
|
|
19
|
+
}
|
|
20
|
+
return applyDecorators(...decorators);
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=is-quantity.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-quantity.decorator.js","sourceRoot":"","sources":["../../lib/validators/is-quantity.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAqB,MAAM,iBAAiB,CAAA;AAGzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAQlE,MAAM,UAAU,UAAU,CACxB,aAA+C,EAC/C,OAAiC;IAEjC,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC;QACzB,cAAc,CAAC,OAAO,CAAC;QACvB,QAAQ,CAAC,OAAO,CAAC;KAClB,CAAA;IAED,IAAI,OAAO,EAAE,GAAG,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAEvD,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;IAC1E,CAAC;IAED,IAAI,OAAO,EAAE,GAAG,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAEvD,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;IAC1E,CAAC;IAED,OAAO,eAAe,CAAC,GAAG,UAAU,CAAC,CAAA;AACvC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ValidatorConstraintInterface, ValidationArguments } from 'class-validator';
|
|
2
|
+
import { Quantity } from '../quantity.js';
|
|
3
|
+
export declare class MaxQuantityValidator<U extends string, Q extends Quantity<U, Q>> implements ValidatorConstraintInterface {
|
|
4
|
+
private max;
|
|
5
|
+
constructor(max: Q);
|
|
6
|
+
validate(q: unknown, _args: ValidationArguments): boolean;
|
|
7
|
+
defaultMessage(args: ValidationArguments): string;
|
|
8
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { QuantityDto } from '../quantity.dto.js';
|
|
2
|
+
export class MaxQuantityValidator {
|
|
3
|
+
max;
|
|
4
|
+
constructor(max) {
|
|
5
|
+
this.max = max;
|
|
6
|
+
}
|
|
7
|
+
validate(q, _args) {
|
|
8
|
+
if (!(q instanceof QuantityDto)) {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
const value = q.parse();
|
|
12
|
+
return this.max.isMoreThanOrEqualTo(value);
|
|
13
|
+
}
|
|
14
|
+
defaultMessage(args) {
|
|
15
|
+
return `${args.property} must be <= ${this.max.toString()}`;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=max-quantity.validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"max-quantity.validator.js","sourceRoot":"","sources":["../../lib/validators/max-quantity.validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAGhD,MAAM,OAAO,oBAAoB;IAGrB;IADV,YACU,GAAM;QAAN,QAAG,GAAH,GAAG,CAAG;IACb,CAAC;IAEJ,QAAQ,CAAE,CAAU,EAAE,KAA0B;QAC9C,IAAI,CAAC,CAAC,CAAC,YAAY,WAAW,CAAC,EAAE,CAAC;YAChC,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,EAAO,CAAA;QAE5B,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAC5C,CAAC;IAED,cAAc,CAAE,IAAyB;QACvC,OAAO,GAAG,IAAI,CAAC,QAAQ,eAAe,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAA;IAC7D,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ValidatorConstraintInterface, ValidationArguments } from 'class-validator';
|
|
2
|
+
import { Quantity } from '../quantity.js';
|
|
3
|
+
export declare class MinQuantityValidator<U extends string, Q extends Quantity<U, Q>> implements ValidatorConstraintInterface {
|
|
4
|
+
private min;
|
|
5
|
+
constructor(min: Q);
|
|
6
|
+
validate(q: unknown, _args: ValidationArguments): boolean;
|
|
7
|
+
defaultMessage(args: ValidationArguments): string;
|
|
8
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { QuantityDto } from '../quantity.dto.js';
|
|
2
|
+
export class MinQuantityValidator {
|
|
3
|
+
min;
|
|
4
|
+
constructor(min) {
|
|
5
|
+
this.min = min;
|
|
6
|
+
}
|
|
7
|
+
validate(q, _args) {
|
|
8
|
+
if (!(q instanceof QuantityDto)) {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
const value = q.parse();
|
|
12
|
+
return this.min.isLessThanOrEqualTo(value);
|
|
13
|
+
}
|
|
14
|
+
defaultMessage(args) {
|
|
15
|
+
return `${args.property} must be >= ${this.min.toString()}`;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=min-quantity.validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"min-quantity.validator.js","sourceRoot":"","sources":["../../lib/validators/min-quantity.validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAGhD,MAAM,OAAO,oBAAoB;IAGrB;IADV,YACU,GAAM;QAAN,QAAG,GAAH,GAAG,CAAG;IACb,CAAC;IAEJ,QAAQ,CAAE,CAAU,EAAE,KAA0B;QAC9C,IAAI,CAAC,CAAC,CAAC,YAAY,WAAW,CAAC,EAAE,CAAC;YAChC,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,EAAO,CAAA;QAE5B,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAC5C,CAAC;IAED,cAAc,CAAE,IAAyB;QACvC,OAAO,GAAG,IAAI,CAAC,QAAQ,eAAe,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAA;IAC7D,CAAC;CACF"}
|
|
@@ -0,0 +1,170 @@
|
|
|
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 { describe, it } from 'node:test';
|
|
11
|
+
import { plainToInstance } from 'class-transformer';
|
|
12
|
+
import { validate } from 'class-validator';
|
|
13
|
+
import { expect } from 'expect';
|
|
14
|
+
import { Distance } from '../../quantities/distance/distance.js';
|
|
15
|
+
import { DistanceUnit } from '../../quantities/distance/distance-unit.enum.js';
|
|
16
|
+
import { DistanceDto } from '../../quantities/distance/distance.dto.js';
|
|
17
|
+
import { IsQuantity } from '../is-quantity.decorator.js';
|
|
18
|
+
describe('is quantity decorator tests', () => {
|
|
19
|
+
describe('min option', () => {
|
|
20
|
+
class MinDistanceTestDto {
|
|
21
|
+
distance;
|
|
22
|
+
}
|
|
23
|
+
__decorate([
|
|
24
|
+
IsQuantity(DistanceDto, { min: new Distance(10, DistanceUnit.METER) }),
|
|
25
|
+
__metadata("design:type", DistanceDto)
|
|
26
|
+
], MinDistanceTestDto.prototype, "distance", void 0);
|
|
27
|
+
it('detects validation errors when the distance is less than the minimum', async () => {
|
|
28
|
+
const dto = plainToInstance(MinDistanceTestDto, { distance: {
|
|
29
|
+
value: 5,
|
|
30
|
+
unit: DistanceUnit.METER
|
|
31
|
+
} });
|
|
32
|
+
const errors = await validate(dto);
|
|
33
|
+
expect(errors.length).toBeGreaterThan(0);
|
|
34
|
+
});
|
|
35
|
+
it('passes a distance exactly at the minimum', async () => {
|
|
36
|
+
const dto = plainToInstance(MinDistanceTestDto, { distance: {
|
|
37
|
+
value: 10,
|
|
38
|
+
unit: DistanceUnit.METER
|
|
39
|
+
} });
|
|
40
|
+
const errors = await validate(dto);
|
|
41
|
+
expect(errors).toHaveLength(0);
|
|
42
|
+
});
|
|
43
|
+
it('passes a distance above the minimum', async () => {
|
|
44
|
+
const dto = plainToInstance(MinDistanceTestDto, { distance: {
|
|
45
|
+
value: 20,
|
|
46
|
+
unit: DistanceUnit.METER
|
|
47
|
+
} });
|
|
48
|
+
const errors = await validate(dto);
|
|
49
|
+
expect(errors).toHaveLength(0);
|
|
50
|
+
});
|
|
51
|
+
it('passes a distance above the minimum expressed in a different unit', async () => {
|
|
52
|
+
const dto = plainToInstance(MinDistanceTestDto, { distance: {
|
|
53
|
+
value: 0.02,
|
|
54
|
+
unit: DistanceUnit.KILOMETER
|
|
55
|
+
} });
|
|
56
|
+
const errors = await validate(dto);
|
|
57
|
+
expect(errors).toHaveLength(0);
|
|
58
|
+
});
|
|
59
|
+
it('detects validation errors when the distance is less than the minimum expressed in a different unit', async () => {
|
|
60
|
+
const dto = plainToInstance(MinDistanceTestDto, { distance: {
|
|
61
|
+
value: 0.005,
|
|
62
|
+
unit: DistanceUnit.KILOMETER
|
|
63
|
+
} });
|
|
64
|
+
const errors = await validate(dto);
|
|
65
|
+
expect(errors.length).toBeGreaterThan(0);
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
describe('max option', () => {
|
|
69
|
+
class MaxDistanceTestDto {
|
|
70
|
+
distance;
|
|
71
|
+
}
|
|
72
|
+
__decorate([
|
|
73
|
+
IsQuantity(DistanceDto, { max: new Distance(100, DistanceUnit.METER) }),
|
|
74
|
+
__metadata("design:type", DistanceDto)
|
|
75
|
+
], MaxDistanceTestDto.prototype, "distance", void 0);
|
|
76
|
+
it('detects validation errors when the distance exceeds the maximum', async () => {
|
|
77
|
+
const dto = plainToInstance(MaxDistanceTestDto, { distance: {
|
|
78
|
+
value: 150,
|
|
79
|
+
unit: DistanceUnit.METER
|
|
80
|
+
} });
|
|
81
|
+
const errors = await validate(dto);
|
|
82
|
+
expect(errors.length).toBeGreaterThan(0);
|
|
83
|
+
});
|
|
84
|
+
it('passes a distance exactly at the maximum', async () => {
|
|
85
|
+
const dto = plainToInstance(MaxDistanceTestDto, { distance: {
|
|
86
|
+
value: 100,
|
|
87
|
+
unit: DistanceUnit.METER
|
|
88
|
+
} });
|
|
89
|
+
const errors = await validate(dto);
|
|
90
|
+
expect(errors).toHaveLength(0);
|
|
91
|
+
});
|
|
92
|
+
it('passes a distance below the maximum', async () => {
|
|
93
|
+
const dto = plainToInstance(MaxDistanceTestDto, { distance: {
|
|
94
|
+
value: 50,
|
|
95
|
+
unit: DistanceUnit.METER
|
|
96
|
+
} });
|
|
97
|
+
const errors = await validate(dto);
|
|
98
|
+
expect(errors).toHaveLength(0);
|
|
99
|
+
});
|
|
100
|
+
it('passes a distance below the maximum expressed in a different unit', async () => {
|
|
101
|
+
const dto = plainToInstance(MaxDistanceTestDto, { distance: {
|
|
102
|
+
value: 0.05,
|
|
103
|
+
unit: DistanceUnit.KILOMETER
|
|
104
|
+
} });
|
|
105
|
+
const errors = await validate(dto);
|
|
106
|
+
expect(errors).toHaveLength(0);
|
|
107
|
+
});
|
|
108
|
+
it('detects validation errors when the distance exceeds the maximum expressed in a different unit', async () => {
|
|
109
|
+
const dto = plainToInstance(MaxDistanceTestDto, { distance: {
|
|
110
|
+
value: 0.2,
|
|
111
|
+
unit: DistanceUnit.KILOMETER
|
|
112
|
+
} });
|
|
113
|
+
const errors = await validate(dto);
|
|
114
|
+
expect(errors.length).toBeGreaterThan(0);
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
describe('min and max options together', () => {
|
|
118
|
+
class MinMaxDistanceTestDto {
|
|
119
|
+
distance;
|
|
120
|
+
}
|
|
121
|
+
__decorate([
|
|
122
|
+
IsQuantity(DistanceDto, {
|
|
123
|
+
min: new Distance(10, DistanceUnit.METER),
|
|
124
|
+
max: new Distance(100, DistanceUnit.METER)
|
|
125
|
+
}),
|
|
126
|
+
__metadata("design:type", DistanceDto)
|
|
127
|
+
], MinMaxDistanceTestDto.prototype, "distance", void 0);
|
|
128
|
+
it('detects validation errors when the distance is below the minimum', async () => {
|
|
129
|
+
const dto = plainToInstance(MinMaxDistanceTestDto, { distance: {
|
|
130
|
+
value: 5,
|
|
131
|
+
unit: DistanceUnit.METER
|
|
132
|
+
} });
|
|
133
|
+
const errors = await validate(dto);
|
|
134
|
+
expect(errors.length).toBeGreaterThan(0);
|
|
135
|
+
});
|
|
136
|
+
it('detects validation errors when the distance exceeds the maximum', async () => {
|
|
137
|
+
const dto = plainToInstance(MinMaxDistanceTestDto, { distance: {
|
|
138
|
+
value: 150,
|
|
139
|
+
unit: DistanceUnit.METER
|
|
140
|
+
} });
|
|
141
|
+
const errors = await validate(dto);
|
|
142
|
+
expect(errors.length).toBeGreaterThan(0);
|
|
143
|
+
});
|
|
144
|
+
it('passes a distance within the range', async () => {
|
|
145
|
+
const dto = plainToInstance(MinMaxDistanceTestDto, { distance: {
|
|
146
|
+
value: 50,
|
|
147
|
+
unit: DistanceUnit.METER
|
|
148
|
+
} });
|
|
149
|
+
const errors = await validate(dto);
|
|
150
|
+
expect(errors).toHaveLength(0);
|
|
151
|
+
});
|
|
152
|
+
it('passes a distance at the minimum boundary', async () => {
|
|
153
|
+
const dto = plainToInstance(MinMaxDistanceTestDto, { distance: {
|
|
154
|
+
value: 10,
|
|
155
|
+
unit: DistanceUnit.METER
|
|
156
|
+
} });
|
|
157
|
+
const errors = await validate(dto);
|
|
158
|
+
expect(errors).toHaveLength(0);
|
|
159
|
+
});
|
|
160
|
+
it('passes a distance at the maximum boundary', async () => {
|
|
161
|
+
const dto = plainToInstance(MinMaxDistanceTestDto, { distance: {
|
|
162
|
+
value: 100,
|
|
163
|
+
unit: DistanceUnit.METER
|
|
164
|
+
} });
|
|
165
|
+
const errors = await validate(dto);
|
|
166
|
+
expect(errors).toHaveLength(0);
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
//# sourceMappingURL=is-quantity.decorator.unit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-quantity.decorator.unit.test.js","sourceRoot":"","sources":["../../../lib/validators/tests/is-quantity.decorator.unit.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,40 +1,45 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wisemen/quantity",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
|
+
"publishConfig": {
|
|
5
|
+
"access": "public"
|
|
6
|
+
},
|
|
4
7
|
"main": "./dist/index.js",
|
|
5
8
|
"types": "./dist/index.d.ts",
|
|
6
9
|
"type": "module",
|
|
7
10
|
"files": [
|
|
8
11
|
"dist/"
|
|
9
12
|
],
|
|
10
|
-
"scripts": {
|
|
11
|
-
"prebuild": "rm -rf ./dist",
|
|
12
|
-
"clean": "rm -rf ./dist",
|
|
13
|
-
"build": "tsc",
|
|
14
|
-
"pretest": "npm run clean && npm run build",
|
|
15
|
-
"test": "node --test ./dist/**/*.test.js",
|
|
16
|
-
"lint": "eslint --cache",
|
|
17
|
-
"prerelease": "npm run build",
|
|
18
|
-
"release": "pnpx release-it"
|
|
19
|
-
},
|
|
20
13
|
"peerDependencies": {
|
|
21
|
-
"@nestjs/common": "
|
|
22
|
-
"@nestjs/swagger": "
|
|
23
|
-
"
|
|
24
|
-
"class-
|
|
25
|
-
"
|
|
26
|
-
"typeorm": "^0.3.28"
|
|
14
|
+
"@nestjs/common": ">=11.1.17",
|
|
15
|
+
"@nestjs/swagger": ">=11.2.6",
|
|
16
|
+
"class-transformer": ">=0.5.1",
|
|
17
|
+
"class-validator": ">=0.14.3",
|
|
18
|
+
"typeorm": ">=0.3.28"
|
|
27
19
|
},
|
|
28
20
|
"devDependencies": {
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
21
|
+
"eslint": "9.39.4",
|
|
22
|
+
"expect": "30.2.0",
|
|
23
|
+
"typescript": ">=4.8.4 <=5.9.3",
|
|
24
|
+
"@wisemen/eslint-config-nestjs": "0.2.12"
|
|
33
25
|
},
|
|
34
26
|
"author": "Maarten Sijmkens",
|
|
35
27
|
"license": "GPL",
|
|
36
28
|
"repository": {
|
|
37
29
|
"type": "git",
|
|
38
|
-
"url": "
|
|
30
|
+
"url": "https://github.com/wisemen-digital/wisemen-core",
|
|
31
|
+
"directory": "packages/quantity"
|
|
32
|
+
},
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"@wisemen/nestjs-typeorm": "0.2.0"
|
|
35
|
+
},
|
|
36
|
+
"scripts": {
|
|
37
|
+
"clean": "rm -rf ./dist",
|
|
38
|
+
"build": "tsc",
|
|
39
|
+
"pretest": "pnpm run build",
|
|
40
|
+
"test": "node --test './dist/**/*.test.js'",
|
|
41
|
+
"lint": "eslint --cache",
|
|
42
|
+
"prerelease": "npm run build",
|
|
43
|
+
"release": "pnpx release-it"
|
|
39
44
|
}
|
|
40
|
-
}
|
|
45
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/quantities/voltage/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA"}
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { describe, it } from 'node:test';
|
|
2
|
-
import { expect } from 'expect';
|
|
3
|
-
import { Voltage } from '../voltage.js';
|
|
4
|
-
import { VoltageUnit } from '../voltage-unit.enum.js';
|
|
5
|
-
void describe('Voltage class', () => {
|
|
6
|
-
void describe('Voltage calculations', () => {
|
|
7
|
-
void it('adds voltages', () => {
|
|
8
|
-
const v1 = new Voltage(1, VoltageUnit.VOLT);
|
|
9
|
-
const v2 = new Voltage(500, VoltageUnit.MILLIVOLT);
|
|
10
|
-
const r = v1.add(v2);
|
|
11
|
-
expect(r.isEqualTo(1.5, VoltageUnit.VOLT)).toBe(true);
|
|
12
|
-
});
|
|
13
|
-
void it('subtracts voltages', () => {
|
|
14
|
-
const v1 = new Voltage(2, VoltageUnit.VOLT);
|
|
15
|
-
const v2 = new Voltage(1, VoltageUnit.KILOVOLT);
|
|
16
|
-
const r = v1.subtract(v2);
|
|
17
|
-
expect(r.isEqualTo(-998, VoltageUnit.VOLT)).toBe(true);
|
|
18
|
-
});
|
|
19
|
-
void it('divides voltages', () => {
|
|
20
|
-
const v1 = new Voltage(10, VoltageUnit.VOLT);
|
|
21
|
-
const v2 = new Voltage(2, VoltageUnit.VOLT);
|
|
22
|
-
const r1 = v1.divide(2);
|
|
23
|
-
const r2 = v1.divide(v2);
|
|
24
|
-
const r3 = v1.divide(5, VoltageUnit.VOLT);
|
|
25
|
-
expect(r1.isEqualTo(5, VoltageUnit.VOLT)).toBe(true);
|
|
26
|
-
expect(r2).toBe(5);
|
|
27
|
-
expect(r3).toBe(2);
|
|
28
|
-
});
|
|
29
|
-
void it('multiplies voltages', () => {
|
|
30
|
-
const v1 = new Voltage(5, VoltageUnit.VOLT);
|
|
31
|
-
const r = v1.multiply(3);
|
|
32
|
-
expect(r.isEqualTo(15, VoltageUnit.VOLT)).toBe(true);
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
void describe('Voltage conversions', () => {
|
|
36
|
-
void it('converts V to mV', () => {
|
|
37
|
-
const v = new Voltage(1.5, VoltageUnit.VOLT);
|
|
38
|
-
expect(v.isEqualTo(1500, VoltageUnit.MILLIVOLT)).toBe(true);
|
|
39
|
-
});
|
|
40
|
-
void it('converts mV to V', () => {
|
|
41
|
-
const v = new Voltage(1500, VoltageUnit.MILLIVOLT);
|
|
42
|
-
expect(v.isEqualTo(1.5, VoltageUnit.VOLT)).toBe(true);
|
|
43
|
-
});
|
|
44
|
-
void it('converts V to kV', () => {
|
|
45
|
-
const v = new Voltage(2000, VoltageUnit.VOLT);
|
|
46
|
-
expect(v.isEqualTo(2, VoltageUnit.KILOVOLT)).toBe(true);
|
|
47
|
-
});
|
|
48
|
-
void it('converts kV to V', () => {
|
|
49
|
-
const v = new Voltage(2, VoltageUnit.KILOVOLT);
|
|
50
|
-
expect(v.isEqualTo(2000, VoltageUnit.VOLT)).toBe(true);
|
|
51
|
-
});
|
|
52
|
-
void it('converts mV to kV', () => {
|
|
53
|
-
const v = new Voltage(500000, VoltageUnit.MILLIVOLT);
|
|
54
|
-
expect(v.isEqualTo(0.5, VoltageUnit.KILOVOLT)).toBe(true);
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
void describe('Voltage comparisons', () => {
|
|
58
|
-
void it('compares voltages correctly', () => {
|
|
59
|
-
const v1 = new Voltage(1000, VoltageUnit.MILLIVOLT);
|
|
60
|
-
const v2 = new Voltage(1, VoltageUnit.VOLT);
|
|
61
|
-
const v3 = new Voltage(2, VoltageUnit.VOLT);
|
|
62
|
-
expect(v1.isEqualTo(v2)).toBe(true);
|
|
63
|
-
expect(v3.isMoreThan(v2)).toBe(true);
|
|
64
|
-
expect(v2.isLessThan(v3)).toBe(true);
|
|
65
|
-
expect(v2.isMoreThanOrEqualTo(v1)).toBe(true);
|
|
66
|
-
expect(v2.isLessThanOrEqualTo(v1)).toBe(true);
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
void describe('Voltage utilities', () => {
|
|
70
|
-
void it('returns min voltage using static method', () => {
|
|
71
|
-
const v1 = new Voltage(1, VoltageUnit.VOLT);
|
|
72
|
-
const v2 = new Voltage(1500, VoltageUnit.MILLIVOLT);
|
|
73
|
-
const r = Voltage.min(v1, v2);
|
|
74
|
-
expect(r.isEqualTo(1, VoltageUnit.VOLT)).toBe(true);
|
|
75
|
-
});
|
|
76
|
-
void it('returns max voltage using static method', () => {
|
|
77
|
-
const v1 = new Voltage(1, VoltageUnit.VOLT);
|
|
78
|
-
const v2 = new Voltage(1500, VoltageUnit.MILLIVOLT);
|
|
79
|
-
const r = Voltage.max(v1, v2);
|
|
80
|
-
expect(r.isEqualTo(1.5, VoltageUnit.VOLT)).toBe(true);
|
|
81
|
-
});
|
|
82
|
-
void it('rounds voltage value', () => {
|
|
83
|
-
const v1 = new Voltage(1.52, VoltageUnit.VOLT);
|
|
84
|
-
const r = v1.round();
|
|
85
|
-
expect(r.isEqualTo(2, VoltageUnit.VOLT)).toBe(true);
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
void describe('Voltage formatting', () => {
|
|
89
|
-
void it('converts to string', () => {
|
|
90
|
-
const v = new Voltage(1.5, VoltageUnit.VOLT);
|
|
91
|
-
expect(v.toString()).toBe('1.5V');
|
|
92
|
-
});
|
|
93
|
-
void it('converts to JSON', () => {
|
|
94
|
-
const v = new Voltage(1.5, VoltageUnit.VOLT);
|
|
95
|
-
const json = v.toJSON();
|
|
96
|
-
expect(json).toEqual({ value: 1.5, unit: VoltageUnit.VOLT });
|
|
97
|
-
});
|
|
98
|
-
});
|
|
99
|
-
});
|
|
100
|
-
//# sourceMappingURL=voltage.unit.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"voltage.unit.test.js","sourceRoot":"","sources":["../../../../lib/quantities/voltage/tests/voltage.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { ApiProperty } from '@nestjs/swagger';
|
|
2
|
-
export var VoltageUnit;
|
|
3
|
-
(function (VoltageUnit) {
|
|
4
|
-
VoltageUnit["VOLT"] = "V";
|
|
5
|
-
VoltageUnit["MILLIVOLT"] = "mV";
|
|
6
|
-
VoltageUnit["KILOVOLT"] = "kV";
|
|
7
|
-
})(VoltageUnit || (VoltageUnit = {}));
|
|
8
|
-
export function VoltageUnitApiProperty(options) {
|
|
9
|
-
return ApiProperty({
|
|
10
|
-
...options,
|
|
11
|
-
enum: VoltageUnit,
|
|
12
|
-
enumName: 'VoltageUnit',
|
|
13
|
-
example: VoltageUnit.VOLT
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=voltage-unit.enum.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"voltage-unit.enum.js","sourceRoot":"","sources":["../../../lib/quantities/voltage/voltage-unit.enum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAsB,MAAM,iBAAiB,CAAA;AAEjE,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,yBAAU,CAAA;IACV,+BAAgB,CAAA;IAChB,8BAAe,CAAA;AACjB,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAED,MAAM,UAAU,sBAAsB,CAAE,OAA4B;IAClE,OAAO,WAAW,CAAC;QACjB,GAAG,OAAO;QACV,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,WAAW,CAAC,IAAI;KAC1B,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"voltage.column.js","sourceRoot":"","sources":["../../../lib/quantities/voltage/voltage.column.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEzD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,UAAU,aAAa,CAC3B,WAAwB,EACxB,OAAqD;IAErD,OAAO,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;AACtD,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Quantity } from '../../quantity.js';
|
|
2
|
-
import { VoltageUnit } from './voltage-unit.enum.js';
|
|
3
|
-
export declare class Voltage extends Quantity<VoltageUnit, Voltage> {
|
|
4
|
-
protected baseUnit: VoltageUnit;
|
|
5
|
-
protected convertValueToBaseUnit(value: number, fromUnit: VoltageUnit): number;
|
|
6
|
-
protected convertBaseUnitValueTo(value: number, toUnit: VoltageUnit): number;
|
|
7
|
-
get volts(): number;
|
|
8
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { VoltageUnit } from './voltage-unit.enum.js';
|
|
2
|
-
import { Voltage } from './voltage.js';
|
|
3
|
-
export declare class VoltageDto {
|
|
4
|
-
value: number;
|
|
5
|
-
unit: VoltageUnit;
|
|
6
|
-
static from(voltage: undefined): undefined;
|
|
7
|
-
static from(voltage: null): null;
|
|
8
|
-
static from(voltage: Voltage): VoltageDto;
|
|
9
|
-
static from(voltage: undefined | null): undefined | null;
|
|
10
|
-
static from(voltage: Voltage | null): VoltageDto | null;
|
|
11
|
-
static from(voltage: Voltage | undefined): VoltageDto | undefined;
|
|
12
|
-
static from(voltage: Voltage | null | undefined): VoltageDto | null | undefined;
|
|
13
|
-
parse(): Voltage;
|
|
14
|
-
}
|
|
15
|
-
export declare class VoltageDtoBuilder {
|
|
16
|
-
private readonly dto;
|
|
17
|
-
constructor();
|
|
18
|
-
withValue(value: number): this;
|
|
19
|
-
withUnit(unit: VoltageUnit): this;
|
|
20
|
-
build(): VoltageDto;
|
|
21
|
-
}
|