@wisemen/quantity 0.10.0 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/dist/quantities/current/current.column.d.ts +1 -1
  2. package/dist/quantities/current/current.column.js.map +1 -1
  3. package/dist/quantities/current/current.d.ts +4 -2
  4. package/dist/quantities/current/current.js +8 -2
  5. package/dist/quantities/current/current.js.map +1 -1
  6. package/dist/quantities/current/is-current.validator.d.ts +1 -2
  7. package/dist/quantities/current/is-current.validator.js.map +1 -1
  8. package/dist/quantities/distance/distance.column.d.ts +1 -1
  9. package/dist/quantities/distance/distance.column.js.map +1 -1
  10. package/dist/quantities/distance/distance.d.ts +12 -2
  11. package/dist/quantities/distance/distance.js +17 -2
  12. package/dist/quantities/distance/distance.js.map +1 -1
  13. package/dist/quantities/distance/is-distance.validator.d.ts +1 -2
  14. package/dist/quantities/distance/is-distance.validator.js.map +1 -1
  15. package/dist/quantities/distance/tests/distance.unit.test.js +11 -0
  16. package/dist/quantities/distance/tests/distance.unit.test.js.map +1 -1
  17. package/dist/quantities/duration/duration.column.d.ts +1 -1
  18. package/dist/quantities/duration/duration.column.js.map +1 -1
  19. package/dist/quantities/duration/duration.d.ts +10 -2
  20. package/dist/quantities/duration/duration.js +17 -2
  21. package/dist/quantities/duration/duration.js.map +1 -1
  22. package/dist/quantities/duration/is-duration.validator.d.ts +1 -2
  23. package/dist/quantities/duration/is-duration.validator.js.map +1 -1
  24. package/dist/quantities/duration/tests/duration.unit.test.js +13 -0
  25. package/dist/quantities/duration/tests/duration.unit.test.js.map +1 -1
  26. package/dist/quantities/energy/energy.column.d.ts +1 -1
  27. package/dist/quantities/energy/energy.column.js.map +1 -1
  28. package/dist/quantities/energy/energy.d.ts +12 -2
  29. package/dist/quantities/energy/energy.js +17 -2
  30. package/dist/quantities/energy/energy.js.map +1 -1
  31. package/dist/quantities/energy/is-energy.validator.d.ts +1 -2
  32. package/dist/quantities/energy/is-energy.validator.js.map +1 -1
  33. package/dist/quantities/energy/tests/energy.unit.test.js +13 -0
  34. package/dist/quantities/energy/tests/energy.unit.test.js.map +1 -1
  35. package/dist/quantities/mass/is-mass.validator.d.ts +1 -2
  36. package/dist/quantities/mass/is-mass.validator.js.map +1 -1
  37. package/dist/quantities/mass/mass.column.d.ts +1 -1
  38. package/dist/quantities/mass/mass.column.js.map +1 -1
  39. package/dist/quantities/mass/mass.d.ts +4 -2
  40. package/dist/quantities/mass/mass.js +8 -2
  41. package/dist/quantities/mass/mass.js.map +1 -1
  42. package/dist/quantities/power/is-power.validator.d.ts +1 -2
  43. package/dist/quantities/power/is-power.validator.js.map +1 -1
  44. package/dist/quantities/power/power.column.d.ts +1 -1
  45. package/dist/quantities/power/power.column.js.map +1 -1
  46. package/dist/quantities/power/power.d.ts +10 -2
  47. package/dist/quantities/power/power.js +17 -2
  48. package/dist/quantities/power/power.js.map +1 -1
  49. package/dist/quantities/power/tests/power.unit.test.js +13 -0
  50. package/dist/quantities/power/tests/power.unit.test.js.map +1 -1
  51. package/dist/quantities/speed/is-speed.validator.d.ts +1 -2
  52. package/dist/quantities/speed/is-speed.validator.js.map +1 -1
  53. package/dist/quantities/speed/speed.column.d.ts +1 -1
  54. package/dist/quantities/speed/speed.column.js.map +1 -1
  55. package/dist/quantities/speed/speed.d.ts +10 -2
  56. package/dist/quantities/speed/speed.js +17 -2
  57. package/dist/quantities/speed/speed.js.map +1 -1
  58. package/dist/quantities/speed/tests/speed.unit.test.js +12 -1
  59. package/dist/quantities/speed/tests/speed.unit.test.js.map +1 -1
  60. package/dist/quantities/temperature/is-temperature.validator.d.ts +1 -2
  61. package/dist/quantities/temperature/is-temperature.validator.js.map +1 -1
  62. package/dist/quantities/temperature/temperature.d.ts +13 -2
  63. package/dist/quantities/temperature/temperature.js +45 -2
  64. package/dist/quantities/temperature/temperature.js.map +1 -1
  65. package/dist/quantities/temperature/tests/temperature.unit.test.js +18 -1
  66. package/dist/quantities/temperature/tests/temperature.unit.test.js.map +1 -1
  67. package/dist/quantities/voltage/is-voltage.validator.d.ts +1 -2
  68. package/dist/quantities/voltage/is-voltage.validator.js.map +1 -1
  69. package/dist/quantities/voltage/voltage.column.d.ts +1 -1
  70. package/dist/quantities/voltage/voltage.column.js.map +1 -1
  71. package/dist/quantities/voltage/voltage.d.ts +4 -2
  72. package/dist/quantities/voltage/voltage.js +8 -2
  73. package/dist/quantities/voltage/voltage.js.map +1 -1
  74. package/dist/quantity.column.d.ts +3 -3
  75. package/dist/quantity.column.js.map +1 -1
  76. package/dist/quantity.d.ts +38 -15
  77. package/dist/quantity.dto.d.ts +1 -1
  78. package/dist/quantity.js +60 -36
  79. package/dist/quantity.js.map +1 -1
  80. package/dist/validators/is-quantity.decorator.d.ts +3 -3
  81. package/dist/validators/is-quantity.decorator.js.map +1 -1
  82. package/dist/validators/max-quantity.validator.d.ts +2 -2
  83. package/dist/validators/min-quantity.validator.d.ts +2 -2
  84. package/package.json +3 -3
package/dist/quantity.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import assert from 'assert';
2
2
  import { Rate } from './rate/rate.js';
3
- export class Quantity {
3
+ export class BaseQuantity {
4
4
  value;
5
5
  unit;
6
6
  constructor(quantityOrValue, unit) {
7
- if (quantityOrValue instanceof Quantity) {
7
+ if (this.isQuantity(quantityOrValue)) {
8
8
  this.value = quantityOrValue.value;
9
9
  this.unit = quantityOrValue.unit;
10
10
  }
@@ -23,11 +23,26 @@ export class Quantity {
23
23
  this.unit = unit;
24
24
  }
25
25
  }
26
- construct(quantityOrValue, unit) {
27
- const prototype = Object.getPrototypeOf(this);
28
- const Constructor = prototype.constructor;
29
- if (quantityOrValue instanceof Quantity) {
30
- return new Constructor(quantityOrValue);
26
+ isQuantity(quantityOrValue) {
27
+ return quantityOrValue instanceof this.getQuantity();
28
+ }
29
+ isDelta(quantityOrValue) {
30
+ return quantityOrValue instanceof this.getDelta();
31
+ }
32
+ constructQuantity(quantityOrValue, unit) {
33
+ const Constructor = this.getQuantity();
34
+ if (this.isQuantity(quantityOrValue)) {
35
+ return quantityOrValue;
36
+ }
37
+ else {
38
+ assert(unit !== undefined, 'Unit must be provided when constructing from a numeric value');
39
+ return new Constructor(quantityOrValue, unit);
40
+ }
41
+ }
42
+ constructDelta(quantityOrValue, unit) {
43
+ const Constructor = this.getDelta();
44
+ if (this.isDelta(quantityOrValue)) {
45
+ return quantityOrValue;
31
46
  }
32
47
  else {
33
48
  assert(unit !== undefined, 'Unit must be provided when constructing from a numeric value');
@@ -37,69 +52,62 @@ export class Quantity {
37
52
  /** Converts the quantity to the specified unit */
38
53
  to(unit) {
39
54
  const value = this.convertBaseUnitValueTo(this.valueOf(), unit);
40
- return this.construct(value, unit);
55
+ return this.constructQuantity(value, unit);
41
56
  }
42
57
  /** Returns the numeric value of the quantity in the specified unit */
43
58
  asNumber(unit = this.unit) {
44
59
  return this.to(unit).value;
45
60
  }
46
61
  isEqualTo(quantityOrValue, unit) {
47
- const other = this.construct(quantityOrValue, unit);
62
+ const other = this.constructQuantity(quantityOrValue, unit);
48
63
  return this.valueOf() === other.valueOf();
49
64
  }
50
65
  isLessThan(quantityOrValue, unit) {
51
- const other = this.construct(quantityOrValue, unit);
66
+ const other = this.constructQuantity(quantityOrValue, unit);
52
67
  return this.valueOf() < other.valueOf();
53
68
  }
54
69
  isLessThanOrEqualTo(quantityOrValue, unit) {
55
- const other = this.construct(quantityOrValue, unit);
70
+ const other = this.constructQuantity(quantityOrValue, unit);
56
71
  return this.valueOf() <= other.valueOf();
57
72
  }
58
73
  isMoreThan(quantityOrValue, unit) {
59
- const other = this.construct(quantityOrValue, unit);
74
+ const other = this.constructQuantity(quantityOrValue, unit);
60
75
  return this.valueOf() > other.valueOf();
61
76
  }
62
77
  isMoreThanOrEqualTo(quantityOrValue, unit) {
63
- const other = this.construct(quantityOrValue, unit);
78
+ const other = this.constructQuantity(quantityOrValue, unit);
64
79
  return this.valueOf() >= other.valueOf();
65
80
  }
66
81
  add(quantityOrValue, unit) {
67
- const other = this.construct(quantityOrValue, unit);
68
- return this.construct(this.valueOf() + other.valueOf(), this.getBaseUnit()).to(this.unit);
82
+ const other = this.constructDelta(quantityOrValue, unit);
83
+ return this.constructQuantity(this.valueOf() + other.valueOf(), this.getBaseUnit()).to(this.unit);
69
84
  }
70
85
  subtract(quantityOrValue, unit) {
71
- const other = this.construct(quantityOrValue, unit);
72
- return this.construct(this.valueOf() - other.valueOf(), this.getBaseUnit()).to(this.unit);
73
- }
74
- multiply(factorOrRate) {
75
- const factor = factorOrRate instanceof Rate ? factorOrRate.asDecimal() : factorOrRate;
76
- return this.construct(this.valueOf() * factor, this.getBaseUnit()).to(this.unit);
77
- }
78
- divide(divisor, unit) {
79
- if (divisor instanceof Quantity || (typeof divisor === 'number' && unit !== undefined)) {
80
- const other = this.construct(divisor, unit);
81
- return this.valueOf() / other.valueOf();
86
+ let other;
87
+ if (this.isDelta(quantityOrValue)) {
88
+ other = this.constructDelta(quantityOrValue, unit);
89
+ return this.constructQuantity(this.valueOf() - other.valueOf(), this.getBaseUnit()).to(this.unit);
82
90
  }
83
91
  else {
84
- const factor = divisor instanceof Rate ? divisor.asDecimal() : divisor;
85
- return this.construct(this.valueOf() / factor, this.getBaseUnit()).to(this.unit);
92
+ other = this.constructQuantity(quantityOrValue, unit);
93
+ return this.constructDelta(this.valueOf() - other.valueOf(), this.getBaseUnit()).to(this.unit);
86
94
  }
87
95
  }
88
96
  modulo(quantityOrValue, unit) {
89
- const other = this.construct(quantityOrValue, unit);
90
- return this.construct(this.valueOf() % other.valueOf(), this.getBaseUnit()).to(this.unit);
97
+ const other = this.constructQuantity(quantityOrValue, unit);
98
+ return this.constructQuantity(this.valueOf() % other.valueOf(), this.getBaseUnit()).to(this.unit);
91
99
  }
92
100
  /** Ceils the value to the nearest integer for the current unit */
93
101
  ceil() {
94
- return this.construct(Math.ceil(this.value), this.unit);
102
+ return this.constructQuantity(Math.ceil(this.value), this.unit);
95
103
  }
96
104
  /** Rounds the value half up to the nearest integer for the current unit */
97
105
  round() {
98
- return this.construct(Math.round(this.value), this.unit);
106
+ return this.constructQuantity(Math.round(this.value), this.unit);
99
107
  }
100
108
  /** Floors the value to the nearest integer for the current unit */
101
109
  floor() {
102
- return this.construct(Math.floor(this.value), this.unit);
110
+ return this.constructQuantity(Math.floor(this.value), this.unit);
103
111
  }
104
112
  /** Checks whether the value is an integer for the current unit */
105
113
  isRounded() {
@@ -129,14 +137,14 @@ export class Quantity {
129
137
  }
130
138
  /** Returns the maximum quantity from the provided quantities */
131
139
  static max(...quantities) {
132
- return quantities.reduce((max, quantity) => quantity.valueOf() > max.valueOf() ? quantity : max);
140
+ return quantities.reduce((max, quantity) => quantity.isMoreThan(max) ? quantity : max);
133
141
  }
134
142
  /** Returns the minimum quantity from the provided quantities */
135
143
  static min(...quantities) {
136
- return quantities.reduce((min, quantity) => quantity.valueOf() < min.valueOf() ? quantity : min);
144
+ return quantities.reduce((min, quantity) => quantity.isLessThan(min) ? quantity : min);
137
145
  }
138
146
  parseString(s, units) {
139
- const unitsPattern = units.map(unit => Quantity.escapeRegex(unit)).join('|');
147
+ const unitsPattern = units.map(unit => BaseQuantity.escapeRegex(unit)).join('|');
140
148
  const pattern = new RegExp(`^(?<amount>[+-]?(?:\\d+\\.?\\d*|\\.\\d+)(?:e[+-]?\\d+)?)(?<unit>${unitsPattern})$`, 'u');
141
149
  const match = pattern.exec(s);
142
150
  const amount = match?.groups?.amount;
@@ -150,4 +158,20 @@ export class Quantity {
150
158
  return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
151
159
  }
152
160
  }
161
+ export class ScalableQuantity extends BaseQuantity {
162
+ multiply(multiplier) {
163
+ const factor = multiplier instanceof Rate ? multiplier.asDecimal() : multiplier;
164
+ return this.constructQuantity(this.valueOf() * factor, this.getBaseUnit()).to(this.unit);
165
+ }
166
+ divide(divisor, unit) {
167
+ if (divisor instanceof BaseQuantity || (typeof divisor === 'number' && unit !== undefined)) {
168
+ const other = this.constructQuantity(divisor, unit);
169
+ return this.valueOf() / other.valueOf();
170
+ }
171
+ else {
172
+ const factor = divisor instanceof Rate ? divisor.asDecimal() : divisor;
173
+ return this.constructQuantity(this.valueOf() / factor, this.getBaseUnit()).to(this.unit);
174
+ }
175
+ }
176
+ }
153
177
  //# sourceMappingURL=quantity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"quantity.js","sourceRoot":"","sources":["../lib/quantity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quantity.js","sourceRoot":"","sources":["../lib/quantity.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { ClassConstructor } from 'class-transformer';
2
2
  import { ValidationOptions } from 'class-validator';
3
- import { Quantity } from '../quantity.js';
3
+ import { Comparable, Quantity } from '../quantity.js';
4
4
  import { QuantityDto } from '../quantity.dto.js';
5
- export interface IsQuantityOptions<U extends string, Q extends Quantity<U, Q>> extends ValidationOptions {
5
+ export interface IsQuantityOptions<Q extends Quantity & Comparable> extends ValidationOptions {
6
6
  min?: Q;
7
7
  max?: Q;
8
8
  }
9
- export declare function IsQuantity<U extends string, Q extends Quantity<U, Q>>(quantityClass: ClassConstructor<QuantityDto<Q>>, options?: IsQuantityOptions<U, Q>): PropertyDecorator;
9
+ export declare function IsQuantity<Q extends Quantity & Comparable>(quantityClass: ClassConstructor<QuantityDto<Q>>, options?: IsQuantityOptions<Q>): PropertyDecorator;
@@ -1 +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"}
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,OAA8B;IAE9B,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"}
@@ -1,6 +1,6 @@
1
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 {
2
+ import { Comparable, Quantity } from '../quantity.js';
3
+ export declare class MaxQuantityValidator<Q extends Quantity & Comparable> implements ValidatorConstraintInterface {
4
4
  private max;
5
5
  constructor(max: Q);
6
6
  validate(q: unknown, _args: ValidationArguments): boolean;
@@ -1,6 +1,6 @@
1
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 {
2
+ import { Comparable, Quantity } from '../quantity.js';
3
+ export declare class MinQuantityValidator<Q extends Quantity & Comparable> implements ValidatorConstraintInterface {
4
4
  private min;
5
5
  constructor(min: Q);
6
6
  validate(q: unknown, _args: ValidationArguments): boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wisemen/quantity",
3
- "version": "0.10.0",
3
+ "version": "0.11.1",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -16,8 +16,8 @@
16
16
  "@nestjs/swagger": "^11.4.6",
17
17
  "class-transformer": "^0.5.1",
18
18
  "class-validator": "^0.15.1",
19
- "typeorm": "^1.0.0",
20
- "@wisemen/nestjs-typeorm": "^1.2.3"
19
+ "typeorm": "^1.1.0",
20
+ "@wisemen/nestjs-typeorm": "^1.2.5"
21
21
  },
22
22
  "devDependencies": {
23
23
  "eslint": "10.2.1",