@schorts/shared-kernel 2.5.5 → 2.5.6

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/CHANGELOG CHANGED
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.5.6] - 2025-10-13
9
+
10
+ ### Added
11
+
12
+ - Added `min` and `max` to `FloatValue`.
13
+
8
14
  ## [2.5.5] - 2025-10-13
9
15
 
10
16
  ### Added
@@ -4,13 +4,20 @@ exports.FloatValue = void 0;
4
4
  class FloatValue {
5
5
  valueType = "Float";
6
6
  value;
7
+ min;
8
+ max;
7
9
  decimals;
8
- constructor(value, decimals) {
10
+ constructor(value, decimals, min, max) {
9
11
  this.decimals = decimals;
12
+ this.min = min;
13
+ this.max = max;
10
14
  this.value = this.transform(value);
15
+ Object.freeze(this);
11
16
  }
12
17
  get isValid() {
13
- return !isNaN(this.value);
18
+ return !isNaN(this.value)
19
+ && (this.min !== undefined ? this.value >= this.min : true)
20
+ && (this.max !== undefined ? this.value <= this.max : true);
14
21
  }
15
22
  equals(valueObject) {
16
23
  if (!(valueObject instanceof FloatValue))
@@ -1 +1 @@
1
- {"version":3,"file":"float-valuet.js","sourceRoot":"","sources":["../../../src/value-objects/float-valuet.ts"],"names":[],"mappings":";;;AAEA,MAAsB,UAAU;IACrB,SAAS,GAAG,OAAO,CAAC;IACpB,KAAK,CAAS;IACd,QAAQ,CAAqB;IAEtC,YAAY,KAAa,EAAE,QAAiB;QAC1C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,WAAoB;QACzB,IAAI,CAAC,CAAC,WAAW,YAAY,UAAU,CAAC;YAAE,OAAO,KAAK,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAExD,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,CAAC;IAC1C,CAAC;IAIO,SAAS,CAAC,KAAa;QAC7B,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE3C,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;IAC7C,CAAC;CACF;AA9BD,gCA8BC"}
1
+ {"version":3,"file":"float-valuet.js","sourceRoot":"","sources":["../../../src/value-objects/float-valuet.ts"],"names":[],"mappings":";;;AAEA,MAAsB,UAAU;IACrB,SAAS,GAAG,OAAO,CAAC;IACpB,KAAK,CAAS;IACd,GAAG,CAAqB;IACxB,GAAG,CAAqB;IACxB,QAAQ,CAAqB;IAEtC,YAAY,KAAa,EAAE,QAAiB,EAAE,GAAY,EAAE,GAAY;QACtE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEnC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;eACpB,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;eACxD,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,CAAC,WAAoB;QACzB,IAAI,CAAC,CAAC,WAAW,YAAY,UAAU,CAAC;YAAE,OAAO,KAAK,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAExD,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,CAAC;IAC1C,CAAC;IAIO,SAAS,CAAC,KAAa;QAC7B,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE3C,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;IAC7C,CAAC;CACF;AAtCD,gCAsCC"}
@@ -10,10 +10,11 @@ class IntegerValue {
10
10
  this.min = min;
11
11
  this.max = max;
12
12
  this.value = value;
13
+ Object.freeze(this);
13
14
  }
14
15
  get isValid() {
15
- return (this.min ? this.value >= this.min : true)
16
- && (this.max ? this.value <= this.max : true)
16
+ return (this.min !== undefined ? this.value >= this.min : true)
17
+ && (this.max !== undefined ? this.value <= this.max : true)
17
18
  && Number.isInteger(this.value);
18
19
  }
19
20
  equals(valueObject) {
@@ -1 +1 @@
1
- {"version":3,"file":"integer-value.js","sourceRoot":"","sources":["../../../src/value-objects/integer-value.ts"],"names":[],"mappings":";;;AAEA,MAAsB,YAAY;IACvB,SAAS,GAAG,SAAS,CAAC;IACtB,GAAG,CAAqB;IACxB,GAAG,CAAqB;IACxB,KAAK,CAAS;IAEvB,YAAY,KAAa,EAAE,GAAY,EAAE,GAAY;QACnD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;eAC5C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;eAC1C,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,WAAoB;QACzB,IAAI,CAAC,CAAC,WAAW,YAAY,YAAY,CAAC;YAAE,OAAO,KAAK,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAExD,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,CAAC;IAC1C,CAAC;CAGF;AA1BD,oCA0BC"}
1
+ {"version":3,"file":"integer-value.js","sourceRoot":"","sources":["../../../src/value-objects/integer-value.ts"],"names":[],"mappings":";;;AAEA,MAAsB,YAAY;IACvB,SAAS,GAAG,SAAS,CAAC;IACtB,GAAG,CAAqB;IACxB,GAAG,CAAqB;IACxB,KAAK,CAAS;IAEvB,YAAY,KAAa,EAAE,GAAY,EAAE,GAAY;QACnD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;eAC1D,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;eACxD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,WAAoB;QACzB,IAAI,CAAC,CAAC,WAAW,YAAY,YAAY,CAAC;YAAE,OAAO,KAAK,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAExD,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,CAAC;IAC1C,CAAC;CAGF;AA5BD,oCA4BC"}
@@ -4,13 +4,20 @@ exports.FloatValue = void 0;
4
4
  class FloatValue {
5
5
  valueType = "Float";
6
6
  value;
7
+ min;
8
+ max;
7
9
  decimals;
8
- constructor(value, decimals) {
10
+ constructor(value, decimals, min, max) {
9
11
  this.decimals = decimals;
12
+ this.min = min;
13
+ this.max = max;
10
14
  this.value = this.transform(value);
15
+ Object.freeze(this);
11
16
  }
12
17
  get isValid() {
13
- return !isNaN(this.value);
18
+ return !isNaN(this.value)
19
+ && (this.min !== undefined ? this.value >= this.min : true)
20
+ && (this.max !== undefined ? this.value <= this.max : true);
14
21
  }
15
22
  equals(valueObject) {
16
23
  if (!(valueObject instanceof FloatValue))
@@ -1 +1 @@
1
- {"version":3,"file":"float-valuet.js","sourceRoot":"","sources":["../../../src/value-objects/float-valuet.ts"],"names":[],"mappings":";;;AAEA,MAAsB,UAAU;IACrB,SAAS,GAAG,OAAO,CAAC;IACpB,KAAK,CAAS;IACd,QAAQ,CAAqB;IAEtC,YAAY,KAAa,EAAE,QAAiB;QAC1C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,WAAoB;QACzB,IAAI,CAAC,CAAC,WAAW,YAAY,UAAU,CAAC;YAAE,OAAO,KAAK,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAExD,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,CAAC;IAC1C,CAAC;IAIO,SAAS,CAAC,KAAa;QAC7B,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE3C,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;IAC7C,CAAC;CACF;AA9BD,gCA8BC"}
1
+ {"version":3,"file":"float-valuet.js","sourceRoot":"","sources":["../../../src/value-objects/float-valuet.ts"],"names":[],"mappings":";;;AAEA,MAAsB,UAAU;IACrB,SAAS,GAAG,OAAO,CAAC;IACpB,KAAK,CAAS;IACd,GAAG,CAAqB;IACxB,GAAG,CAAqB;IACxB,QAAQ,CAAqB;IAEtC,YAAY,KAAa,EAAE,QAAiB,EAAE,GAAY,EAAE,GAAY;QACtE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEnC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;eACpB,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;eACxD,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,CAAC,WAAoB;QACzB,IAAI,CAAC,CAAC,WAAW,YAAY,UAAU,CAAC;YAAE,OAAO,KAAK,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAExD,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,CAAC;IAC1C,CAAC;IAIO,SAAS,CAAC,KAAa;QAC7B,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE3C,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;IAC7C,CAAC;CACF;AAtCD,gCAsCC"}
@@ -10,10 +10,11 @@ class IntegerValue {
10
10
  this.min = min;
11
11
  this.max = max;
12
12
  this.value = value;
13
+ Object.freeze(this);
13
14
  }
14
15
  get isValid() {
15
- return (this.min ? this.value >= this.min : true)
16
- && (this.max ? this.value <= this.max : true)
16
+ return (this.min !== undefined ? this.value >= this.min : true)
17
+ && (this.max !== undefined ? this.value <= this.max : true)
17
18
  && Number.isInteger(this.value);
18
19
  }
19
20
  equals(valueObject) {
@@ -1 +1 @@
1
- {"version":3,"file":"integer-value.js","sourceRoot":"","sources":["../../../src/value-objects/integer-value.ts"],"names":[],"mappings":";;;AAEA,MAAsB,YAAY;IACvB,SAAS,GAAG,SAAS,CAAC;IACtB,GAAG,CAAqB;IACxB,GAAG,CAAqB;IACxB,KAAK,CAAS;IAEvB,YAAY,KAAa,EAAE,GAAY,EAAE,GAAY;QACnD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;eAC5C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;eAC1C,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,WAAoB;QACzB,IAAI,CAAC,CAAC,WAAW,YAAY,YAAY,CAAC;YAAE,OAAO,KAAK,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAExD,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,CAAC;IAC1C,CAAC;CAGF;AA1BD,oCA0BC"}
1
+ {"version":3,"file":"integer-value.js","sourceRoot":"","sources":["../../../src/value-objects/integer-value.ts"],"names":[],"mappings":";;;AAEA,MAAsB,YAAY;IACvB,SAAS,GAAG,SAAS,CAAC;IACtB,GAAG,CAAqB;IACxB,GAAG,CAAqB;IACxB,KAAK,CAAS;IAEvB,YAAY,KAAa,EAAE,GAAY,EAAE,GAAY;QACnD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;eAC1D,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;eACxD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,WAAoB;QACzB,IAAI,CAAC,CAAC,WAAW,YAAY,YAAY,CAAC;YAAE,OAAO,KAAK,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAExD,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,CAAC;IAC1C,CAAC;CAGF;AA5BD,oCA4BC"}
@@ -2,8 +2,10 @@ import { ValueObject } from "./value-object";
2
2
  export declare abstract class FloatValue implements ValueObject {
3
3
  readonly valueType = "Float";
4
4
  readonly value: number;
5
+ readonly min: number | undefined;
6
+ readonly max: number | undefined;
5
7
  readonly decimals: number | undefined;
6
- constructor(value: number, decimals?: number);
8
+ constructor(value: number, decimals?: number, min?: number, max?: number);
7
9
  get isValid(): boolean;
8
10
  equals(valueObject: unknown): boolean;
9
11
  abstract readonly attributeName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"float-valuet.d.ts","sourceRoot":"","sources":["../../../src/value-objects/float-valuet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,8BAAsB,UAAW,YAAW,WAAW;IACrD,QAAQ,CAAC,SAAS,WAAW;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;gBAE1B,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAK5C,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,MAAM,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO;IAOrC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAExC,OAAO,CAAC,SAAS;CAOlB"}
1
+ {"version":3,"file":"float-valuet.d.ts","sourceRoot":"","sources":["../../../src/value-objects/float-valuet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,8BAAsB,UAAW,YAAW,WAAW;IACrD,QAAQ,CAAC,SAAS,WAAW;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;gBAE1B,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IASxE,IAAI,OAAO,IAAI,OAAO,CAIrB;IAED,MAAM,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO;IAOrC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAExC,OAAO,CAAC,SAAS;CAOlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"integer-value.d.ts","sourceRoot":"","sources":["../../../src/value-objects/integer-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAEjC,8BAAsB,YAAa,YAAW,WAAW;IACvD,QAAQ,CAAC,SAAS,aAAa;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEX,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAMrD,IAAI,OAAO,IAAI,OAAO,CAIrB;IAED,MAAM,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO;IAOrC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CACzC"}
1
+ {"version":3,"file":"integer-value.d.ts","sourceRoot":"","sources":["../../../src/value-objects/integer-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAEjC,8BAAsB,YAAa,YAAW,WAAW;IACvD,QAAQ,CAAC,SAAS,aAAa;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEX,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAQrD,IAAI,OAAO,IAAI,OAAO,CAIrB;IAED,MAAM,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO;IAOrC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CACzC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@schorts/shared-kernel",
3
- "version": "2.5.5",
3
+ "version": "2.5.6",
4
4
  "description": "A modular, type-safe foundation for building expressive, maintainable applications. This package provides core abstractions for domain modeling, HTTP integration, authentication, state management, and more — designed to be framework-agnostic and highly extensible.",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -3,15 +3,23 @@ import { ValueObject } from "./value-object";
3
3
  export abstract class FloatValue implements ValueObject {
4
4
  readonly valueType = "Float";
5
5
  readonly value: number;
6
+ readonly min: number | undefined;
7
+ readonly max: number | undefined;
6
8
  readonly decimals: number | undefined;
7
9
 
8
- constructor(value: number, decimals?: number) {
10
+ constructor(value: number, decimals?: number, min?: number, max?: number) {
9
11
  this.decimals = decimals;
12
+ this.min = min;
13
+ this.max = max;
10
14
  this.value = this.transform(value);
15
+
16
+ Object.freeze(this);
11
17
  }
12
18
 
13
19
  get isValid(): boolean {
14
- return !isNaN(this.value);
20
+ return !isNaN(this.value)
21
+ && (this.min !== undefined ? this.value >= this.min : true)
22
+ && (this.max !== undefined ? this.value <= this.max : true);
15
23
  }
16
24
 
17
25
  equals(valueObject: unknown): boolean {
@@ -10,11 +10,13 @@ export abstract class IntegerValue implements ValueObject {
10
10
  this.min = min;
11
11
  this.max = max;
12
12
  this.value = value;
13
+
14
+ Object.freeze(this);
13
15
  }
14
16
 
15
17
  get isValid(): boolean {
16
- return (this.min ? this.value >= this.min : true)
17
- && (this.max ? this.value <= this.max : true)
18
+ return (this.min !== undefined ? this.value >= this.min : true)
19
+ && (this.max !== undefined ? this.value <= this.max : true)
18
20
  && Number.isInteger(this.value);
19
21
  }
20
22