@schorts/shared-kernel 2.5.4 → 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,18 @@ 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
+
14
+ ## [2.5.5] - 2025-10-13
15
+
16
+ ### Added
17
+
18
+ - Added `greater_than_or_equal` and `less_than_or_equal` to `rule`.
19
+
8
20
  ## [2.5.4] - 2025-10-13
9
21
 
10
22
  ### Added
@@ -33,8 +33,12 @@ class ArrayValue {
33
33
  return value !== undefined && value !== null;
34
34
  if ("greater_than" in rule)
35
35
  return typeof value === "number" && value > rule.greater_than;
36
+ if ("greater_than_or_equal" in rule)
37
+ return value === "number" && value >= rule.greater_than_or_equal;
36
38
  if ("less_than" in rule)
37
39
  return typeof value === "number" && value < rule.less_than;
40
+ if ("less_than_or_equal" in rule)
41
+ return typeof value === "number" && value <= rule.less_than_or_equal;
38
42
  if ("type" in rule)
39
43
  return typeof value === rule.type;
40
44
  if ("custom" in rule)
@@ -1 +1 @@
1
- {"version":3,"file":"array-value.js","sourceRoot":"","sources":["../../../src/value-objects/array-value.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"array-value.js","sourceRoot":"","sources":["../../../src/value-objects/array-value.ts"],"names":[],"mappings":"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"}
@@ -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"}
@@ -33,8 +33,12 @@ class ArrayValue {
33
33
  return value !== undefined && value !== null;
34
34
  if ("greater_than" in rule)
35
35
  return typeof value === "number" && value > rule.greater_than;
36
+ if ("greater_than_or_equal" in rule)
37
+ return value === "number" && value >= rule.greater_than_or_equal;
36
38
  if ("less_than" in rule)
37
39
  return typeof value === "number" && value < rule.less_than;
40
+ if ("less_than_or_equal" in rule)
41
+ return typeof value === "number" && value <= rule.less_than_or_equal;
38
42
  if ("type" in rule)
39
43
  return typeof value === rule.type;
40
44
  if ("custom" in rule)
@@ -1 +1 @@
1
- {"version":3,"file":"array-value.js","sourceRoot":"","sources":["../../../src/value-objects/array-value.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"array-value.js","sourceRoot":"","sources":["../../../src/value-objects/array-value.ts"],"names":[],"mappings":"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"}
@@ -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,8 +4,12 @@ export type ValidationRule<Type> = {
4
4
  required: true;
5
5
  } | {
6
6
  greater_than: number;
7
+ } | {
8
+ greater_than_or_equal: number;
7
9
  } | {
8
10
  less_than: number;
11
+ } | {
12
+ less_than_or_equal: number;
9
13
  } | {
10
14
  type: "string" | "number" | "boolean";
11
15
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"array-value.d.ts","sourceRoot":"","sources":["../../../src/value-objects/array-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAE9D,MAAM,MAAM,cAAc,CAAC,IAAI,IAC3B;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,GAClB;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,GACxB;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAA;CAAE,GACzC;IAAE,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAA;CAAE,CAAC;AAEzC,KAAK,YAAY,CAAC,IAAI,IAAI;KACvB,GAAG,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,SAAS,GAC7C,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAC3B,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;CAC5B,CAAC;AAEF,8BAAsB,UAAU,CAAC,IAAI,GAAG,GAAG,CAAE,YAAW,WAAW;IACjE,QAAQ,CAAC,SAAS,WAAW;IAC7B,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;IAC7D,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;gBAGrC,KAAK,EAAE,IAAI,EAAE,EACb,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE;IAMrD,IAAI,OAAO,IAAI,OAAO,CAMrB;IAED,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,YAAY;IAUpB,MAAM,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO;IAOrC,OAAO,CAAC,UAAU;CAcnB"}
1
+ {"version":3,"file":"array-value.d.ts","sourceRoot":"","sources":["../../../src/value-objects/array-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAE9D,MAAM,MAAM,cAAc,CAAC,IAAI,IAC3B;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,GAClB;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,GACxB;IAAE,qBAAqB,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GACrB;IAAE,kBAAkB,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAA;CAAE,GACzC;IAAE,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAA;CAAE,CAAC;AAEzC,KAAK,YAAY,CAAC,IAAI,IAAI;KACvB,GAAG,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,SAAS,GAC7C,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAC3B,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;CAC5B,CAAC;AAEF,8BAAsB,UAAU,CAAC,IAAI,GAAG,GAAG,CAAE,YAAW,WAAW;IACjE,QAAQ,CAAC,SAAS,WAAW;IAC7B,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;IAC7D,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;gBAGrC,KAAK,EAAE,IAAI,EAAE,EACb,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE;IAMrD,IAAI,OAAO,IAAI,OAAO,CAMrB;IAED,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,YAAY;IAYpB,MAAM,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO;IAOrC,OAAO,CAAC,UAAU;CAcnB"}
@@ -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.4",
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",
@@ -5,7 +5,9 @@ type Primitive = string | number | boolean | null | undefined;
5
5
  export type ValidationRule<Type> =
6
6
  | { required: true }
7
7
  | { greater_than: number }
8
+ | { greater_than_or_equal: number }
8
9
  | { less_than: number }
10
+ | { less_than_or_equal: number }
9
11
  | { type: "string" | "number" | "boolean" }
10
12
  | { custom: (value: Type) => boolean };
11
13
 
@@ -57,7 +59,9 @@ export abstract class ArrayValue<Type = any> implements ValueObject {
57
59
  private validateRule(value: any, rule: ValidationRule<any>): boolean {
58
60
  if ("required" in rule) return value !== undefined && value !== null;
59
61
  if ("greater_than" in rule) return typeof value === "number" && value > rule.greater_than;
62
+ if ("greater_than_or_equal" in rule) return value === "number" && value >= rule.greater_than_or_equal;
60
63
  if ("less_than" in rule) return typeof value === "number" && value < rule.less_than;
64
+ if ("less_than_or_equal" in rule) return typeof value === "number" && value <= rule.less_than_or_equal;
61
65
  if ("type" in rule) return typeof value === rule.type;
62
66
  if ("custom" in rule) return rule.custom(value);
63
67
 
@@ -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