@carbonbox/domain 0.8.1 → 0.8.3
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/build/carbonbox/emission-calculation-process/calculation-jobs/domain/value-objects/CalculationJobProgressPercentage.js +3 -1
- package/build/carbonbox/emission-calculation-process/calculation-processes/domain/value-objects/CalculationProcessProgressPercentage.js +3 -1
- package/build/carbonbox/shared/domain/value-objects/AggregateId.js +11 -9
- package/build/types/carbonbox/emission-calculation-process/calculation-jobs/domain/value-objects/CalculationJobProgressPercentage.d.ts.map +1 -1
- package/build/types/carbonbox/emission-calculation-process/calculation-processes/domain/value-objects/CalculationProcessProgressPercentage.d.ts.map +1 -1
- package/build/types/carbonbox/shared/domain/value-objects/AggregateId.d.ts +7 -6
- package/build/types/carbonbox/shared/domain/value-objects/AggregateId.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -5,10 +5,12 @@ const Numeric_1 = require("../../../../shared/domain/value-objects/Numeric");
|
|
|
5
5
|
class CalculationJobProgressPercentage extends Numeric_1.Numeric {
|
|
6
6
|
constructor(value, skipDomainValidation) {
|
|
7
7
|
super(value, skipDomainValidation, CalculationJobProgressPercentage.PROPERTY_NAME, {
|
|
8
|
+
// Progress percentage is a 0-100 range. Zero is a valid initial
|
|
9
|
+
// state (job pending, no work done yet); 100 is the terminal state.
|
|
8
10
|
maxValue: 100,
|
|
9
11
|
minValue: 0,
|
|
10
12
|
allowNegative: false,
|
|
11
|
-
allowZero:
|
|
13
|
+
allowZero: true,
|
|
12
14
|
allowDecimals: false,
|
|
13
15
|
maxDecimalPlaces: 0,
|
|
14
16
|
});
|
|
@@ -7,9 +7,11 @@ class CalculationProcessProgressPercentage extends PositiveInteger_1.PositiveInt
|
|
|
7
7
|
super(value, skipDomainValidation, CalculationProcessProgressPercentage.PROPERTY_NAME);
|
|
8
8
|
}
|
|
9
9
|
static create(value) {
|
|
10
|
+
// Progress percentage is a 0-100 range. Zero is a valid initial state
|
|
11
|
+
// (process just queued, no work done yet); only negative values are
|
|
12
|
+
// rejected.
|
|
10
13
|
PositiveInteger_1.PositiveInteger.guardAgainstInvalidType(value, CalculationProcessProgressPercentage.PROPERTY_NAME);
|
|
11
14
|
PositiveInteger_1.PositiveInteger.guardAgainstNegativeValue(value, CalculationProcessProgressPercentage.PROPERTY_NAME);
|
|
12
|
-
PositiveInteger_1.PositiveInteger.guardAgainstZeroValue(value, CalculationProcessProgressPercentage.PROPERTY_NAME);
|
|
13
15
|
return new CalculationProcessProgressPercentage(value, false);
|
|
14
16
|
}
|
|
15
17
|
static fromPrimitives(primitive) {
|
|
@@ -7,14 +7,15 @@ const InvalidAggregateIdFormatError_1 = require("../exceptions/InvalidAggregateI
|
|
|
7
7
|
/**
|
|
8
8
|
* Pure AggregateId Value Object with structured ID format
|
|
9
9
|
*
|
|
10
|
-
* Format: {PREFIX}_{
|
|
11
|
-
*
|
|
10
|
+
* Format: {PREFIX}_{ID} where PREFIX can be BC or BC-SUB1-SUB2-...SUBn
|
|
11
|
+
* and {ID} is either a UUID v4 (legacy) or a ULID (current standard).
|
|
12
|
+
* Each prefix component can have 1+ uppercase letters (validated by specific Value Objects).
|
|
12
13
|
*
|
|
13
14
|
* Examples:
|
|
14
|
-
* - STC_550e8400-e29b-41d4-a716-446655440000
|
|
15
|
-
* - PMS-SC_550e8400-e29b-41d4-a716-446655440000
|
|
16
|
-
* -
|
|
17
|
-
* -
|
|
15
|
+
* - STC_550e8400-e29b-41d4-a716-446655440000 (UUID v4 — legacy)
|
|
16
|
+
* - PMS-SC_550e8400-e29b-41d4-a716-446655440000 (UUID v4 — legacy)
|
|
17
|
+
* - ECP-PRC_01ARZ3NDEKTSV4RRFFQ69G5FAV (ULID — current standard)
|
|
18
|
+
* - ECP-JOB_01KQD1C12GGEAV6J63DK02VD5G (ULID — current standard)
|
|
18
19
|
*
|
|
19
20
|
* This is a PURE Value Object - no external dependencies or business logic.
|
|
20
21
|
*
|
|
@@ -127,9 +128,10 @@ class AggregateId extends String_1.String {
|
|
|
127
128
|
}
|
|
128
129
|
exports.AggregateId = AggregateId;
|
|
129
130
|
AggregateId.DEFAULT_PROPERTY_NAME = 'id';
|
|
130
|
-
//
|
|
131
|
-
|
|
131
|
+
// Raw ID regex: accepts UUID v4 (legacy) or ULID (current).
|
|
132
|
+
// ULID = 26 chars, Crockford's Base32 alphabet (case-insensitive).
|
|
133
|
+
AggregateId.ID_REGEX = /^([0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|[0-9A-HJKMNP-TV-Z]{26})$/i;
|
|
132
134
|
// Aggregate ID format: BC_ID or BC-SUB1-SUB2-...SUBn_ID (flexible N-level subdomain support)
|
|
133
135
|
// Pattern: [A-Z]+(-[A-Z]+)*_[ID] - BC alone OR BC with unlimited SUBn levels (1+ letters per component)
|
|
134
136
|
// Each specific Value Object validates its exact prefix format
|
|
135
|
-
AggregateId.AGGREGATE_ID_REGEX = /^[A-Z]+(-[A-Z]+)*_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
137
|
+
AggregateId.AGGREGATE_ID_REGEX = /^[A-Z]+(-[A-Z]+)*_([0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|[0-9A-HJKMNP-TV-Z]{26})$/i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalculationJobProgressPercentage.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/emission-calculation-process/calculation-jobs/domain/value-objects/CalculationJobProgressPercentage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iDAAiD,CAAC;AAE1E,qBAAa,gCACX,SAAQ,OAAO;IACf,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAwB;IAE7D,OAAO;
|
|
1
|
+
{"version":3,"file":"CalculationJobProgressPercentage.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/emission-calculation-process/calculation-jobs/domain/value-objects/CalculationJobProgressPercentage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iDAAiD,CAAC;AAE1E,qBAAa,gCACX,SAAQ,OAAO;IACf,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAwB;IAE7D,OAAO;WAkBgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,gCAAgC;WAMvD,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,gCAAgC;IAM1E,YAAY,IAAI,MAAM;CAGvC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalculationProcessProgressPercentage.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/emission-calculation-process/calculation-processes/domain/value-objects/CalculationProcessProgressPercentage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yDAAyD,CAAC;AAE1F,qBAAa,oCACX,SAAQ,eAAe;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAwB;IAE7D,OAAO;WAIgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,oCAAoC;
|
|
1
|
+
{"version":3,"file":"CalculationProcessProgressPercentage.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/emission-calculation-process/calculation-processes/domain/value-objects/CalculationProcessProgressPercentage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yDAAyD,CAAC;AAE1F,qBAAa,oCACX,SAAQ,eAAe;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAwB;IAE7D,OAAO;WAIgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,oCAAoC;WAU3D,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,oCAAoC;IAM9E,YAAY,IAAI,MAAM;CAGvC"}
|
|
@@ -2,14 +2,15 @@ import { String } from './String';
|
|
|
2
2
|
/**
|
|
3
3
|
* Pure AggregateId Value Object with structured ID format
|
|
4
4
|
*
|
|
5
|
-
* Format: {PREFIX}_{
|
|
6
|
-
*
|
|
5
|
+
* Format: {PREFIX}_{ID} where PREFIX can be BC or BC-SUB1-SUB2-...SUBn
|
|
6
|
+
* and {ID} is either a UUID v4 (legacy) or a ULID (current standard).
|
|
7
|
+
* Each prefix component can have 1+ uppercase letters (validated by specific Value Objects).
|
|
7
8
|
*
|
|
8
9
|
* Examples:
|
|
9
|
-
* - STC_550e8400-e29b-41d4-a716-446655440000
|
|
10
|
-
* - PMS-SC_550e8400-e29b-41d4-a716-446655440000
|
|
11
|
-
* -
|
|
12
|
-
* -
|
|
10
|
+
* - STC_550e8400-e29b-41d4-a716-446655440000 (UUID v4 — legacy)
|
|
11
|
+
* - PMS-SC_550e8400-e29b-41d4-a716-446655440000 (UUID v4 — legacy)
|
|
12
|
+
* - ECP-PRC_01ARZ3NDEKTSV4RRFFQ69G5FAV (ULID — current standard)
|
|
13
|
+
* - ECP-JOB_01KQD1C12GGEAV6J63DK02VD5G (ULID — current standard)
|
|
13
14
|
*
|
|
14
15
|
* This is a PURE Value Object - no external dependencies or business logic.
|
|
15
16
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AggregateId.d.ts","sourceRoot":"","sources":["../../../../../../src/carbonbox/shared/domain/value-objects/AggregateId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC
|
|
1
|
+
{"version":3,"file":"AggregateId.d.ts","sourceRoot":"","sources":["../../../../../../src/carbonbox/shared/domain/value-objects/AggregateId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,WAAY,SAAQ,MAAM;IACrC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,QAAQ;IAIvD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAqG;IAKrI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAsH;IAEhK,SAAS,aACP,KAAK,EAAE,MAAM,EACb,oBAAoB,EAAE,OAAO,EAC7B,YAAY,GAAE,MAA0C;WAanC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW;WAI/B,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW;IAI9D;;OAEG;IACI,SAAS,IAAI,MAAM;IAQ1B;;OAEG;IACI,aAAa,IAAI,MAAM;IAQ9B;;OAEG;IACI,qBAAqB,IAAI,MAAM;IAKtC;;;OAGG;IACI,iBAAiB,IAAI,MAAM,EAAE;IAQpC;;;OAGG;IACI,uBAAuB,IAAI,MAAM;IAKxC;;OAEG;IACI,aAAa,IAAI,OAAO;IAI/B;;OAEG;WACW,qBAAqB,CACjC,EAAE,EAAE,MAAM,EACV,YAAY,GAAE,MAA0C,GACvD,IAAI;IAMP,SAAS,CAAC,MAAM,CAAC,wBAAwB,CACvC,KAAK,EAAE,MAAM,EACb,YAAY,GAAE,MAAa,GAC1B,IAAI;IAMP,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIjD,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIvD,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI/C,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;WAIvC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;WAInC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIvC,YAAY,IAAI,MAAM;CAGvC"}
|