@wisemen/quantity 0.5.0 → 0.6.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 (124) hide show
  1. package/LICENSE.md +59 -0
  2. package/dist/quantities/current/current.column.d.ts +3 -2
  3. package/dist/quantities/current/current.column.js.map +1 -1
  4. package/dist/quantities/current/current.dto.d.ts +2 -1
  5. package/dist/quantities/current/current.dto.js +4 -1
  6. package/dist/quantities/current/current.dto.js.map +1 -1
  7. package/dist/quantities/current/index.d.ts +1 -0
  8. package/dist/quantities/current/index.js +1 -0
  9. package/dist/quantities/current/index.js.map +1 -1
  10. package/dist/quantities/current/is-current.validator.d.ts +4 -0
  11. package/dist/quantities/current/is-current.validator.js +7 -0
  12. package/dist/quantities/current/is-current.validator.js.map +1 -0
  13. package/dist/quantities/distance/distance.column.d.ts +3 -2
  14. package/dist/quantities/distance/distance.column.js.map +1 -1
  15. package/dist/quantities/distance/distance.d.ts +0 -6
  16. package/dist/quantities/distance/distance.dto.d.ts +2 -1
  17. package/dist/quantities/distance/distance.dto.js +4 -1
  18. package/dist/quantities/distance/distance.dto.js.map +1 -1
  19. package/dist/quantities/distance/distance.js +0 -15
  20. package/dist/quantities/distance/distance.js.map +1 -1
  21. package/dist/quantities/distance/index.d.ts +1 -0
  22. package/dist/quantities/distance/index.js +1 -0
  23. package/dist/quantities/distance/index.js.map +1 -1
  24. package/dist/quantities/distance/is-distance.validator.d.ts +4 -0
  25. package/dist/quantities/distance/is-distance.validator.js +7 -0
  26. package/dist/quantities/distance/is-distance.validator.js.map +1 -0
  27. package/dist/quantities/distance/tests/distance.unit.test.js +0 -9
  28. package/dist/quantities/distance/tests/distance.unit.test.js.map +1 -1
  29. package/dist/quantities/duration/duration.column.d.ts +3 -2
  30. package/dist/quantities/duration/duration.column.js.map +1 -1
  31. package/dist/quantities/duration/duration.d.ts +0 -1
  32. package/dist/quantities/duration/duration.dto.d.ts +2 -1
  33. package/dist/quantities/duration/duration.dto.js +4 -1
  34. package/dist/quantities/duration/duration.dto.js.map +1 -1
  35. package/dist/quantities/duration/duration.js +0 -3
  36. package/dist/quantities/duration/duration.js.map +1 -1
  37. package/dist/quantities/duration/index.d.ts +1 -0
  38. package/dist/quantities/duration/index.js +1 -0
  39. package/dist/quantities/duration/index.js.map +1 -1
  40. package/dist/quantities/duration/is-duration.validator.d.ts +4 -0
  41. package/dist/quantities/duration/is-duration.validator.js +7 -0
  42. package/dist/quantities/duration/is-duration.validator.js.map +1 -0
  43. package/dist/quantities/energy/energy.column.d.ts +3 -2
  44. package/dist/quantities/energy/energy.column.js.map +1 -1
  45. package/dist/quantities/energy/energy.dto.d.ts +2 -1
  46. package/dist/quantities/energy/energy.dto.js +4 -1
  47. package/dist/quantities/energy/energy.dto.js.map +1 -1
  48. package/dist/quantities/energy/index.d.ts +1 -0
  49. package/dist/quantities/energy/index.js +1 -0
  50. package/dist/quantities/energy/index.js.map +1 -1
  51. package/dist/quantities/energy/is-energy.validator.d.ts +4 -0
  52. package/dist/quantities/energy/is-energy.validator.js +7 -0
  53. package/dist/quantities/energy/is-energy.validator.js.map +1 -0
  54. package/dist/quantities/mass/index.d.ts +1 -0
  55. package/dist/quantities/mass/index.js +1 -0
  56. package/dist/quantities/mass/index.js.map +1 -1
  57. package/dist/quantities/mass/is-mass.validator.d.ts +4 -0
  58. package/dist/quantities/mass/is-mass.validator.js +7 -0
  59. package/dist/quantities/mass/is-mass.validator.js.map +1 -0
  60. package/dist/quantities/mass/mass.column.d.ts +3 -2
  61. package/dist/quantities/mass/mass.column.js.map +1 -1
  62. package/dist/quantities/mass/mass.dto.d.ts +2 -1
  63. package/dist/quantities/mass/mass.dto.js +4 -1
  64. package/dist/quantities/mass/mass.dto.js.map +1 -1
  65. package/dist/quantities/power/index.d.ts +1 -0
  66. package/dist/quantities/power/index.js +1 -0
  67. package/dist/quantities/power/index.js.map +1 -1
  68. package/dist/quantities/power/is-power.validator.d.ts +4 -0
  69. package/dist/quantities/power/is-power.validator.js +7 -0
  70. package/dist/quantities/power/is-power.validator.js.map +1 -0
  71. package/dist/quantities/power/power.column.d.ts +3 -2
  72. package/dist/quantities/power/power.column.js.map +1 -1
  73. package/dist/quantities/power/power.dto.d.ts +2 -1
  74. package/dist/quantities/power/power.dto.js +4 -1
  75. package/dist/quantities/power/power.dto.js.map +1 -1
  76. package/dist/quantities/speed/index.d.ts +1 -0
  77. package/dist/quantities/speed/index.js +1 -0
  78. package/dist/quantities/speed/index.js.map +1 -1
  79. package/dist/quantities/speed/is-speed.validator.d.ts +4 -0
  80. package/dist/quantities/speed/is-speed.validator.js +7 -0
  81. package/dist/quantities/speed/is-speed.validator.js.map +1 -0
  82. package/dist/quantities/speed/speed.column.d.ts +3 -2
  83. package/dist/quantities/speed/speed.column.js.map +1 -1
  84. package/dist/quantities/speed/speed.dto.d.ts +2 -1
  85. package/dist/quantities/speed/speed.dto.js +4 -1
  86. package/dist/quantities/speed/speed.dto.js.map +1 -1
  87. package/dist/quantities/temperature/index.d.ts +1 -0
  88. package/dist/quantities/temperature/index.js +1 -0
  89. package/dist/quantities/temperature/index.js.map +1 -1
  90. package/dist/quantities/temperature/is-temperature.validator.d.ts +4 -0
  91. package/dist/quantities/temperature/is-temperature.validator.js +7 -0
  92. package/dist/quantities/temperature/is-temperature.validator.js.map +1 -0
  93. package/dist/quantities/temperature/temperature.dto.d.ts +2 -1
  94. package/dist/quantities/temperature/temperature.dto.js +4 -1
  95. package/dist/quantities/temperature/temperature.dto.js.map +1 -1
  96. package/dist/quantities/voltage/is-voltage.validator.d.ts +4 -0
  97. package/dist/quantities/voltage/is-voltage.validator.js +7 -0
  98. package/dist/quantities/voltage/is-voltage.validator.js.map +1 -0
  99. package/dist/quantities/voltage/voltage.column.d.ts +3 -2
  100. package/dist/quantities/voltage/voltage.column.js.map +1 -1
  101. package/dist/quantities/voltage/voltage.dto.d.ts +2 -1
  102. package/dist/quantities/voltage/voltage.dto.js +4 -1
  103. package/dist/quantities/voltage/voltage.dto.js.map +1 -1
  104. package/dist/quantities/voltage/voltage.js +3 -3
  105. package/dist/quantities/voltage/voltage.js.map +1 -1
  106. package/dist/quantity.column.d.ts +5 -1
  107. package/dist/quantity.column.js +5 -6
  108. package/dist/quantity.column.js.map +1 -1
  109. package/dist/quantity.dto.d.ts +4 -0
  110. package/dist/quantity.dto.js +3 -0
  111. package/dist/quantity.dto.js.map +1 -0
  112. package/dist/validators/is-quantity.decorator.d.ts +9 -0
  113. package/dist/validators/is-quantity.decorator.js +22 -0
  114. package/dist/validators/is-quantity.decorator.js.map +1 -0
  115. package/dist/validators/max-quantity.validator.d.ts +8 -0
  116. package/dist/validators/max-quantity.validator.js +18 -0
  117. package/dist/validators/max-quantity.validator.js.map +1 -0
  118. package/dist/validators/min-quantity.validator.d.ts +8 -0
  119. package/dist/validators/min-quantity.validator.js +18 -0
  120. package/dist/validators/min-quantity.validator.js.map +1 -0
  121. package/dist/validators/tests/is-quantity.decorator.unit.test.d.ts +1 -0
  122. package/dist/validators/tests/is-quantity.decorator.unit.test.js +170 -0
  123. package/dist/validators/tests/is-quantity.decorator.unit.test.js.map +1 -0
  124. package/package.json +28 -23
@@ -1,3 +1,4 @@
1
- import { ColumnOptions } from 'typeorm';
1
+ import { QuantityColumnOptions } from '../../quantity.column.js';
2
2
  import { MassUnit } from './mass-unit.enum.js';
3
- export declare function MassColumn(storeAsUnit: MassUnit, options?: Omit<ColumnOptions, 'type' | 'transformer'>): PropertyDecorator;
3
+ import { Mass } from './mass.js';
4
+ export declare function MassColumn(storeAsUnit: MassUnit, options?: QuantityColumnOptions<MassUnit, Mass>): PropertyDecorator;
@@ -1 +1 @@
1
- {"version":3,"file":"mass.column.js","sourceRoot":"","sources":["../../../lib/quantities/mass/mass.column.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEzD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,UAAU,UAAU,CACxB,WAAqB,EACrB,OAAqD;IAErD,OAAO,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;AACnD,CAAC"}
1
+ {"version":3,"file":"mass.column.js","sourceRoot":"","sources":["../../../lib/quantities/mass/mass.column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAyB,MAAM,0BAA0B,CAAA;AAEhF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,UAAU,UAAU,CACxB,WAAqB,EACrB,OAA+C;IAE/C,OAAO,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;AACnD,CAAC"}
@@ -1,6 +1,7 @@
1
+ import { QuantityDto } from '../../quantity.dto.js';
1
2
  import { Mass } from './mass.js';
2
3
  import { MassUnit } from './mass-unit.enum.js';
3
- export declare class MassDto {
4
+ export declare class MassDto extends QuantityDto<Mass> {
4
5
  value: number;
5
6
  unit: MassUnit;
6
7
  static from(mass: undefined): undefined;
@@ -9,9 +9,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import { ApiProperty } from '@nestjs/swagger';
11
11
  import { IsEnum, IsNumber } from 'class-validator';
12
+ import { Type } from 'class-transformer';
13
+ import { QuantityDto } from '../../quantity.dto.js';
12
14
  import { Mass } from './mass.js';
13
15
  import { MassUnit, MassUnitApiProperty } from './mass-unit.enum.js';
14
- export class MassDto {
16
+ export class MassDto extends QuantityDto {
15
17
  value;
16
18
  unit;
17
19
  static from(mass) {
@@ -30,6 +32,7 @@ export class MassDto {
30
32
  }
31
33
  __decorate([
32
34
  ApiProperty({ type: Number }),
35
+ Type(() => Number),
33
36
  IsNumber(),
34
37
  __metadata("design:type", Number)
35
38
  ], MassDto.prototype, "value", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"mass.dto.js","sourceRoot":"","sources":["../../../lib/quantities/mass/mass.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,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAEnE,MAAM,OAAO,OAAO;IAGlB,KAAK,CAAQ;IAIb,IAAI,CAAU;IASd,MAAM,CAAC,IAAI,CAAE,IAA6B;QACxC,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAC9B,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QAExC,OAAO,IAAI,cAAc,EAAE;aACxB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;aACrB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;aACnB,KAAK,EAAE,CAAA;IACZ,CAAC;IAED,KAAK;QACH,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;CACF;AA1BC;IAFC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,EAAE;;sCACE;AAIb;IAFC,mBAAmB,EAAE;IACrB,MAAM,CAAC,QAAQ,CAAC;;qCACH;AAwBhB,MAAM,OAAO,cAAc;IACR,GAAG,CAAS;IAE7B;QACE,IAAI,CAAC,GAAG,GAAG,IAAI,OAAO,EAAE,CAAA;QACxB,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAA;QAClB,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAA;IACnC,CAAC;IAED,SAAS,CAAE,KAAa;QACtB,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;QAEtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAE,IAAc;QACtB,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"}
1
+ {"version":3,"file":"mass.dto.js","sourceRoot":"","sources":["../../../lib/quantities/mass/mass.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,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAEnE,MAAM,OAAO,OAAQ,SAAQ,WAAiB;IAI5C,KAAK,CAAQ;IAIb,IAAI,CAAU;IASd,MAAM,CAAC,IAAI,CAAE,IAA6B;QACxC,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAC9B,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QAExC,OAAO,IAAI,cAAc,EAAE;aACxB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;aACrB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;aACnB,KAAK,EAAE,CAAA;IACZ,CAAC;IAED,KAAK;QACH,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;CACF;AA1BC;IAHC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7B,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,QAAQ,EAAE;;sCACE;AAIb;IAFC,mBAAmB,EAAE;IACrB,MAAM,CAAC,QAAQ,CAAC;;qCACH;AAwBhB,MAAM,OAAO,cAAc;IACR,GAAG,CAAS;IAE7B;QACE,IAAI,CAAC,GAAG,GAAG,IAAI,OAAO,EAAE,CAAA;QACxB,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAA;QAClB,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAA;IACnC,CAAC;IAED,SAAS,CAAE,KAAa;QACtB,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;QAEtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAE,IAAc;QACtB,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"}
@@ -2,3 +2,4 @@ export * from './power.js';
2
2
  export * from './power.dto.js';
3
3
  export * from './power.column.js';
4
4
  export * from './power-unit.enum.js';
5
+ export * from './is-power.validator.js';
@@ -2,4 +2,5 @@ export * from './power.js';
2
2
  export * from './power.dto.js';
3
3
  export * from './power.column.js';
4
4
  export * from './power-unit.enum.js';
5
+ export * from './is-power.validator.js';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/quantities/power/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/quantities/power/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { IsQuantityOptions } from '../../validators/is-quantity.decorator.js';
2
+ import { PowerUnit } from './power-unit.enum.js';
3
+ import { Power } from './power.js';
4
+ export declare function IsPower(options?: IsQuantityOptions<PowerUnit, Power>): PropertyDecorator;
@@ -0,0 +1,7 @@
1
+ import { applyDecorators } from '@nestjs/common';
2
+ import { IsQuantity } from '../../validators/is-quantity.decorator.js';
3
+ import { PowerDto } from './power.dto.js';
4
+ export function IsPower(options) {
5
+ return applyDecorators(IsQuantity(PowerDto, options));
6
+ }
7
+ //# sourceMappingURL=is-power.validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-power.validator.js","sourceRoot":"","sources":["../../../lib/quantities/power/is-power.validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAqB,MAAM,2CAA2C,CAAA;AACzF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAIzC,MAAM,UAAU,OAAO,CACrB,OAA6C;IAE7C,OAAO,eAAe,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;AACvD,CAAC"}
@@ -1,3 +1,4 @@
1
- import { ColumnOptions } from 'typeorm';
1
+ import { QuantityColumnOptions } from '../../quantity.column.js';
2
2
  import { PowerUnit } from './power-unit.enum.js';
3
- export declare function PowerColumn(storeAsUnit: PowerUnit, options?: Omit<ColumnOptions, 'type' | 'transformer'>): PropertyDecorator;
3
+ import { Power } from './power.js';
4
+ export declare function PowerColumn(storeAsUnit: PowerUnit, options?: QuantityColumnOptions<PowerUnit, Power>): PropertyDecorator;
@@ -1 +1 @@
1
- {"version":3,"file":"power.column.js","sourceRoot":"","sources":["../../../lib/quantities/power/power.column.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEzD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,MAAM,UAAU,WAAW,CACzB,WAAsB,EACtB,OAAqD;IAErD,OAAO,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;AACpD,CAAC"}
1
+ {"version":3,"file":"power.column.js","sourceRoot":"","sources":["../../../lib/quantities/power/power.column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAyB,MAAM,0BAA0B,CAAA;AAEhF,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,MAAM,UAAU,WAAW,CACzB,WAAsB,EACtB,OAAiD;IAEjD,OAAO,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;AACpD,CAAC"}
@@ -1,6 +1,7 @@
1
+ import { QuantityDto } from '../../quantity.dto.js';
1
2
  import { PowerUnit } from './power-unit.enum.js';
2
3
  import { Power } from './power.js';
3
- export declare class PowerDto {
4
+ export declare class PowerDto extends QuantityDto<Power> {
4
5
  value: number;
5
6
  unit: PowerUnit;
6
7
  static from(power: undefined): undefined;
@@ -9,9 +9,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import { ApiProperty } from '@nestjs/swagger';
11
11
  import { IsEnum, IsNumber } from 'class-validator';
12
+ import { Type } from 'class-transformer';
13
+ import { QuantityDto } from '../../quantity.dto.js';
12
14
  import { PowerUnitApiProperty, PowerUnit } from './power-unit.enum.js';
13
15
  import { Power } from './power.js';
14
- export class PowerDto {
16
+ export class PowerDto extends QuantityDto {
15
17
  value;
16
18
  unit;
17
19
  static from(power) {
@@ -30,6 +32,7 @@ export class PowerDto {
30
32
  }
31
33
  __decorate([
32
34
  ApiProperty({ type: Number }),
35
+ Type(() => Number),
33
36
  IsNumber(),
34
37
  __metadata("design:type", Number)
35
38
  ], PowerDto.prototype, "value", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"power.dto.js","sourceRoot":"","sources":["../../../lib/quantities/power/power.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,oBAAoB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,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,IAAI,CAAA;IAChC,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"}
1
+ {"version":3,"file":"power.dto.js","sourceRoot":"","sources":["../../../lib/quantities/power/power.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,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,MAAM,OAAO,QAAS,SAAQ,WAAkB;IAI9C,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;IAHC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7B,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,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,IAAI,CAAA;IAChC,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"}
@@ -2,3 +2,4 @@ export * from './speed.js';
2
2
  export * from './speed.dto.js';
3
3
  export * from './speed.column.js';
4
4
  export * from './speed-unit.enum.js';
5
+ export * from './is-speed.validator.js';
@@ -2,4 +2,5 @@ export * from './speed.js';
2
2
  export * from './speed.dto.js';
3
3
  export * from './speed.column.js';
4
4
  export * from './speed-unit.enum.js';
5
+ export * from './is-speed.validator.js';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +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"}
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;AACpC,cAAc,yBAAyB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { IsQuantityOptions } from '../../validators/is-quantity.decorator.js';
2
+ import { SpeedUnit } from './speed-unit.enum.js';
3
+ import { Speed } from './speed.js';
4
+ export declare function IsSpeed(options?: IsQuantityOptions<SpeedUnit, Speed>): PropertyDecorator;
@@ -0,0 +1,7 @@
1
+ import { applyDecorators } from '@nestjs/common';
2
+ import { IsQuantity } from '../../validators/is-quantity.decorator.js';
3
+ import { SpeedDto } from './speed.dto.js';
4
+ export function IsSpeed(options) {
5
+ return applyDecorators(IsQuantity(SpeedDto, options));
6
+ }
7
+ //# sourceMappingURL=is-speed.validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-speed.validator.js","sourceRoot":"","sources":["../../../lib/quantities/speed/is-speed.validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAqB,MAAM,2CAA2C,CAAA;AACzF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAIzC,MAAM,UAAU,OAAO,CACrB,OAA6C;IAE7C,OAAO,eAAe,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;AACvD,CAAC"}
@@ -1,3 +1,4 @@
1
- import { ColumnOptions } from 'typeorm';
1
+ import { QuantityColumnOptions } from '../../quantity.column.js';
2
2
  import { SpeedUnit } from './speed-unit.enum.js';
3
- export declare function SpeedColumn(storeAsUnit: SpeedUnit, options?: Omit<ColumnOptions, 'type' | 'transformer'>): PropertyDecorator;
3
+ import { Speed } from './speed.js';
4
+ export declare function SpeedColumn(storeAsUnit: SpeedUnit, options?: QuantityColumnOptions<SpeedUnit, Speed>): PropertyDecorator;
@@ -1 +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,CACzB,WAAsB,EACtB,OAAqD;IAErD,OAAO,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;AACpD,CAAC"}
1
+ {"version":3,"file":"speed.column.js","sourceRoot":"","sources":["../../../lib/quantities/speed/speed.column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAyB,MAAM,0BAA0B,CAAA;AAEhF,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,MAAM,UAAU,WAAW,CACzB,WAAsB,EACtB,OAAiD;IAEjD,OAAO,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;AACpD,CAAC"}
@@ -1,6 +1,7 @@
1
+ import { QuantityDto } from '../../quantity.dto.js';
1
2
  import { Speed } from './speed.js';
2
3
  import { SpeedUnit } from './speed-unit.enum.js';
3
- export declare class SpeedDto {
4
+ export declare class SpeedDto extends QuantityDto<Speed> {
4
5
  value: number;
5
6
  unit: SpeedUnit;
6
7
  static from(speed: undefined): undefined;
@@ -9,9 +9,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import { ApiProperty } from '@nestjs/swagger';
11
11
  import { IsEnum, IsNumber } from 'class-validator';
12
+ import { Type } from 'class-transformer';
13
+ import { QuantityDto } from '../../quantity.dto.js';
12
14
  import { Speed } from './speed.js';
13
15
  import { SpeedUnit, SpeedUnitApiProperty } from './speed-unit.enum.js';
14
- export class SpeedDto {
16
+ export class SpeedDto extends QuantityDto {
15
17
  value;
16
18
  unit;
17
19
  static from(speed) {
@@ -30,6 +32,7 @@ export class SpeedDto {
30
32
  }
31
33
  __decorate([
32
34
  ApiProperty({ type: Number }),
35
+ Type(() => Number),
33
36
  IsNumber(),
34
37
  __metadata("design:type", Number)
35
38
  ], SpeedDto.prototype, "value", void 0);
@@ -1 +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"}
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,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAEtE,MAAM,OAAO,QAAS,SAAQ,WAAkB;IAI9C,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;IAHC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7B,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,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"}
@@ -2,3 +2,4 @@ export * from './temperature.js';
2
2
  export * from './temperature.dto.js';
3
3
  export * from './temperature.column.js';
4
4
  export * from './temperature-unit.enum.js';
5
+ export * from './is-temperature.validator.js';
@@ -2,4 +2,5 @@ export * from './temperature.js';
2
2
  export * from './temperature.dto.js';
3
3
  export * from './temperature.column.js';
4
4
  export * from './temperature-unit.enum.js';
5
+ export * from './is-temperature.validator.js';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/quantities/temperature/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/quantities/temperature/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,+BAA+B,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { IsQuantityOptions } from '../../validators/is-quantity.decorator.js';
2
+ import { TemperatureUnit } from './temperature-unit.enum.js';
3
+ import { Temperature } from './temperature.js';
4
+ export declare function IsTemperature(options?: IsQuantityOptions<TemperatureUnit, Temperature>): PropertyDecorator;
@@ -0,0 +1,7 @@
1
+ import { applyDecorators } from '@nestjs/common';
2
+ import { IsQuantity } from '../../validators/is-quantity.decorator.js';
3
+ import { TemperatureDto } from './temperature.dto.js';
4
+ export function IsTemperature(options) {
5
+ return applyDecorators(IsQuantity(TemperatureDto, options));
6
+ }
7
+ //# sourceMappingURL=is-temperature.validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-temperature.validator.js","sourceRoot":"","sources":["../../../lib/quantities/temperature/is-temperature.validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAqB,MAAM,2CAA2C,CAAA;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAIrD,MAAM,UAAU,aAAa,CAC3B,OAAyD;IAEzD,OAAO,eAAe,CAAC,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAA;AAC7D,CAAC"}
@@ -1,6 +1,7 @@
1
+ import { QuantityDto } from '../../quantity.dto.js';
1
2
  import { TemperatureUnit } from './temperature-unit.enum.js';
2
3
  import { Temperature } from './temperature.js';
3
- export declare class TemperatureDto {
4
+ export declare class TemperatureDto extends QuantityDto<Temperature> {
4
5
  value: number;
5
6
  unit: TemperatureUnit;
6
7
  static from(temperature: undefined): undefined;
@@ -9,9 +9,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import { ApiProperty } from '@nestjs/swagger';
11
11
  import { IsEnum, IsNumber } from 'class-validator';
12
+ import { Type } from 'class-transformer';
13
+ import { QuantityDto } from '../../quantity.dto.js';
12
14
  import { TemperatureUnit, TemperatureUnitApiProperty } from './temperature-unit.enum.js';
13
15
  import { Temperature } from './temperature.js';
14
- export class TemperatureDto {
16
+ export class TemperatureDto extends QuantityDto {
15
17
  value;
16
18
  unit;
17
19
  static from(temperature) {
@@ -30,6 +32,7 @@ export class TemperatureDto {
30
32
  }
31
33
  __decorate([
32
34
  ApiProperty({ type: Number }),
35
+ Type(() => Number),
33
36
  IsNumber(),
34
37
  __metadata("design:type", Number)
35
38
  ], TemperatureDto.prototype, "value", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"temperature.dto.js","sourceRoot":"","sources":["../../../lib/quantities/temperature/temperature.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,eAAe,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAA;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,MAAM,OAAO,cAAc;IAGzB,KAAK,CAAQ;IAIb,IAAI,CAAiB;IASrB,MAAM,CAAC,IAAI,CAAE,WAA2C;QACtD,IAAI,WAAW,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QACrC,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QAE/C,OAAO,IAAI,qBAAqB,EAAE;aAC/B,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC;aAC5B,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;aAC1B,KAAK,EAAE,CAAA;IACZ,CAAC;IAED,KAAK;QACH,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;IAC/C,CAAC;CACF;AA1BC;IAFC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,EAAE;;6CACE;AAIb;IAFC,0BAA0B,EAAE;IAC5B,MAAM,CAAC,eAAe,CAAC;;4CACH;AAwBvB,MAAM,OAAO,qBAAqB;IACf,GAAG,CAAgB;IAEpC;QACE,IAAI,CAAC,GAAG,GAAG,IAAI,cAAc,EAAE,CAAA;QAC/B,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAA;QAClB,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,eAAe,CAAC,OAAO,CAAA;IACzC,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"}
1
+ {"version":3,"file":"temperature.dto.js","sourceRoot":"","sources":["../../../lib/quantities/temperature/temperature.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,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAA;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,MAAM,OAAO,cAAe,SAAQ,WAAwB;IAI1D,KAAK,CAAQ;IAIb,IAAI,CAAiB;IASrB,MAAM,CAAC,IAAI,CAAE,WAA2C;QACtD,IAAI,WAAW,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QACrC,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QAE/C,OAAO,IAAI,qBAAqB,EAAE;aAC/B,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC;aAC5B,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;aAC1B,KAAK,EAAE,CAAA;IACZ,CAAC;IAED,KAAK;QACH,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;IAC/C,CAAC;CACF;AA1BC;IAHC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7B,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,QAAQ,EAAE;;6CACE;AAIb;IAFC,0BAA0B,EAAE;IAC5B,MAAM,CAAC,eAAe,CAAC;;4CACH;AAwBvB,MAAM,OAAO,qBAAqB;IACf,GAAG,CAAgB;IAEpC;QACE,IAAI,CAAC,GAAG,GAAG,IAAI,cAAc,EAAE,CAAA;QAC/B,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAA;QAClB,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,eAAe,CAAC,OAAO,CAAA;IACzC,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,4 @@
1
+ import { IsQuantityOptions } from '../../validators/is-quantity.decorator.js';
2
+ import { VoltageUnit } from './voltage-unit.enum.js';
3
+ import { Voltage } from './voltage.js';
4
+ export declare function IsVoltage(options?: IsQuantityOptions<VoltageUnit, Voltage>): PropertyDecorator;
@@ -0,0 +1,7 @@
1
+ import { applyDecorators } from '@nestjs/common';
2
+ import { IsQuantity } from '../../validators/is-quantity.decorator.js';
3
+ import { VoltageDto } from './voltage.dto.js';
4
+ export function IsVoltage(options) {
5
+ return applyDecorators(IsQuantity(VoltageDto, options));
6
+ }
7
+ //# sourceMappingURL=is-voltage.validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-voltage.validator.js","sourceRoot":"","sources":["../../../lib/quantities/voltage/is-voltage.validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAqB,MAAM,2CAA2C,CAAA;AAGzF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,MAAM,UAAU,SAAS,CACvB,OAAiD;IAEjD,OAAO,eAAe,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;AACzD,CAAC"}
@@ -1,3 +1,4 @@
1
- import { ColumnOptions } from 'typeorm';
1
+ import { QuantityColumnOptions } from '../../quantity.column.js';
2
2
  import { VoltageUnit } from './voltage-unit.enum.js';
3
- export declare function VoltageColumn(storeAsUnit: VoltageUnit, options?: Omit<ColumnOptions, 'type' | 'transformer'>): PropertyDecorator;
3
+ import { Voltage } from './voltage.js';
4
+ export declare function VoltageColumn(storeAsUnit: VoltageUnit, options?: QuantityColumnOptions<VoltageUnit, Voltage>): PropertyDecorator;
@@ -1 +1 @@
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
+ {"version":3,"file":"voltage.column.js","sourceRoot":"","sources":["../../../lib/quantities/voltage/voltage.column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEhF,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,6 +1,7 @@
1
+ import { QuantityDto } from '../../quantity.dto.js';
1
2
  import { VoltageUnit } from './voltage-unit.enum.js';
2
3
  import { Voltage } from './voltage.js';
3
- export declare class VoltageDto {
4
+ export declare class VoltageDto extends QuantityDto<Voltage> {
4
5
  value: number;
5
6
  unit: VoltageUnit;
6
7
  static from(voltage: undefined): undefined;
@@ -9,9 +9,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import { ApiProperty } from '@nestjs/swagger';
11
11
  import { IsEnum, IsNumber } from 'class-validator';
12
+ import { Type } from 'class-transformer';
13
+ import { QuantityDto } from '../../quantity.dto.js';
12
14
  import { VoltageUnit, VoltageUnitApiProperty } from './voltage-unit.enum.js';
13
15
  import { Voltage } from './voltage.js';
14
- export class VoltageDto {
16
+ export class VoltageDto extends QuantityDto {
15
17
  value;
16
18
  unit;
17
19
  static from(voltage) {
@@ -30,6 +32,7 @@ export class VoltageDto {
30
32
  }
31
33
  __decorate([
32
34
  ApiProperty({ type: Number }),
35
+ Type(() => Number),
33
36
  IsNumber(),
34
37
  __metadata("design:type", Number)
35
38
  ], VoltageDto.prototype, "value", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"voltage.dto.js","sourceRoot":"","sources":["../../../lib/quantities/voltage/voltage.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,WAAW,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,OAAO,UAAU;IAGrB,KAAK,CAAQ;IAIb,IAAI,CAAa;IASjB,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,WAAW,CAAC;;wCACH;AAwBnB,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,WAAW,CAAC,IAAI,CAAA;IAClC,CAAC;IAED,SAAS,CAAE,KAAa;QACtB,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;QAEtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAE,IAAiB;QACzB,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"}
1
+ {"version":3,"file":"voltage.dto.js","sourceRoot":"","sources":["../../../lib/quantities/voltage/voltage.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,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,OAAO,UAAW,SAAQ,WAAoB;IAIlD,KAAK,CAAQ;IAIb,IAAI,CAAa;IASjB,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;IAHC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7B,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,QAAQ,EAAE;;yCACE;AAIb;IAFC,sBAAsB,EAAE;IACxB,MAAM,CAAC,WAAW,CAAC;;wCACH;AAwBnB,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,WAAW,CAAC,IAAI,CAAA;IAClC,CAAC;IAED,SAAS,CAAE,KAAa;QACtB,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;QAEtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAE,IAAiB;QACzB,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"}
@@ -1,6 +1,6 @@
1
1
  import { Quantity } from '../../quantity.js';
2
2
  import { VoltageUnit } from './voltage-unit.enum.js';
3
- const DISTANCE_MULTIPLIERS = {
3
+ const VOLTAGE_MULTIPLIERS = {
4
4
  [VoltageUnit.VOLT]: 1,
5
5
  [VoltageUnit.MILLIVOLT]: 1e-3,
6
6
  [VoltageUnit.KILOVOLT]: 1e3
@@ -8,10 +8,10 @@ const DISTANCE_MULTIPLIERS = {
8
8
  export class Voltage extends Quantity {
9
9
  baseUnit = VoltageUnit.VOLT;
10
10
  convertValueToBaseUnit(value, fromUnit) {
11
- return value * DISTANCE_MULTIPLIERS[fromUnit];
11
+ return value * VOLTAGE_MULTIPLIERS[fromUnit];
12
12
  }
13
13
  convertBaseUnitValueTo(value, toUnit) {
14
- return value / DISTANCE_MULTIPLIERS[toUnit];
14
+ return value / VOLTAGE_MULTIPLIERS[toUnit];
15
15
  }
16
16
  get volts() {
17
17
  return this.asNumber(VoltageUnit.VOLT);
@@ -1 +1 @@
1
- {"version":3,"file":"voltage.js","sourceRoot":"","sources":["../../../lib/quantities/voltage/voltage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,MAAM,oBAAoB,GAAgC;IACxD,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;IAErB,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,IAAI;IAC7B,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG;CAC5B,CAAA;AAED,MAAM,OAAO,OAAQ,SAAQ,QAA8B;IAC/C,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAA;IAE3B,sBAAsB,CAAE,KAAa,EAAE,QAAqB;QACpE,OAAO,KAAK,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAA;IAC/C,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,MAAmB;QAClE,OAAO,KAAK,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;CACF"}
1
+ {"version":3,"file":"voltage.js","sourceRoot":"","sources":["../../../lib/quantities/voltage/voltage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,MAAM,mBAAmB,GAAgC;IACvD,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;IACrB,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,IAAI;IAC7B,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG;CAC5B,CAAA;AAED,MAAM,OAAO,OAAQ,SAAQ,QAA8B;IAC/C,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAA;IAE3B,sBAAsB,CAAE,KAAa,EAAE,QAAqB;QACpE,OAAO,KAAK,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAC9C,CAAC;IAES,sBAAsB,CAAE,KAAa,EAAE,MAAmB;QAClE,OAAO,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;CACF"}
@@ -1,6 +1,9 @@
1
1
  import { ColumnOptions, ValueTransformer } from 'typeorm';
2
2
  import { Quantity, QuantityConstructor } from './quantity.js';
3
- export declare function QuantityColumn<U extends string, Q extends Quantity<U, Q>>(QuantityConstructor: QuantityConstructor<U, Q>, storeAsUnit: U, options?: Omit<ColumnOptions, 'type' | 'transformer'>): PropertyDecorator;
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
  }
@@ -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: new QuantityTypeOrmTransformer(QuantityConstructor, storeAsUnit)
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 null;
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;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;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;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"}
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,4 @@
1
+ import { Quantity } from './quantity.js';
2
+ export declare abstract class QuantityDto<Q extends Quantity<string, Q>> {
3
+ abstract parse(): Q;
4
+ }
@@ -0,0 +1,3 @@
1
+ export class QuantityDto {
2
+ }
3
+ //# sourceMappingURL=quantity.dto.js.map
@@ -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