@carbonbox/domain 0.10.8 → 0.11.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.
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/entity/ActivityDataSubmission.js +47 -4
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionPeriodEnd.js +20 -0
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionPeriodStart.js +20 -0
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionSegmentConfiguration.js +29 -0
- package/build/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/entity/CorporateCarbonFootprintSegmentConfiguration.js +10 -12
- package/build/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/value-objects/CorporateCarbonFootprintSegmentConfigurationEmissionSourceConfigurations.js +119 -0
- package/build/carbonbox/carbon-footprint-configurations/corporate-configurations/domain/value-objects/CorporateCarbonFootprintConfigurationSegmentConfigurations.js +1 -1
- package/build/carbonbox/carbon-footprint-configurations/event-configurations/domain/value-objects/EventCarbonFootprintConfigurationEventEditionLifecycleStageConfigurations.js +1 -1
- package/build/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/entity/EventEditionLifecycleStageConfiguration.js +10 -12
- package/build/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/value-objects/EventEditionLifecycleStageConfigurationEmissionSourceConfigurations.js +119 -0
- package/build/carbonbox/carbon-footprint-configurations/product-configurations/domain/value-objects/ProductCarbonFootprintConfigurationSegmentConfigurations.js +1 -1
- package/build/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/entity/ProductCarbonFootprintSegmentConfiguration.js +10 -12
- package/build/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/value-objects/ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations.js +119 -0
- package/build/carbonbox/shared/domain/authorization/enums/Permission.js +2 -0
- package/build/carbonbox/shared/domain/types/CarbonFootprintSegmentConfigurationReference.js +2 -0
- package/build/carbonbox/shared/domain/types/CarbonFootprintSegmentConfigurationReferencePrimitives.js +2 -0
- package/build/carbonbox/shared/domain/types/EmissionSourceConfiguration.js +2 -0
- package/build/carbonbox/shared/domain/types/EmissionSourceConfigurationPrimitives.js +2 -0
- package/build/carbonbox/shared/domain/value-objects/CarbonFootprintSegmentConfigurationReference.js +193 -0
- package/build/carbonbox/shared/domain/value-objects/CorporateCarbonFootprintSegmentConfigurationReferences.js +76 -185
- package/build/carbonbox/shared/domain/value-objects/EmissionSourceConfiguration.js +97 -0
- package/build/carbonbox/shared/domain/value-objects/EventEditionLifecycleStageConfigurationReferences.js +99 -252
- package/build/carbonbox/shared/domain/value-objects/ProductCarbonFootprintSegmentConfigurationReferences.js +106 -280
- package/build/main/index.js +32 -18
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/entity/ActivityDataSubmission.d.ts +11 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/entity/ActivityDataSubmission.d.ts.map +1 -1
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/entity/IActivityDataSubmission.d.ts +8 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/entity/IActivityDataSubmission.d.ts.map +1 -1
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/types/ActivityDataSubmissionPrimitives.d.ts +4 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/types/ActivityDataSubmissionPrimitives.d.ts.map +1 -1
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/types/ActivityDataSubmissionProps.d.ts +4 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/types/ActivityDataSubmissionProps.d.ts.map +1 -1
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionPeriodEnd.d.ts +9 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionPeriodEnd.d.ts.map +1 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionPeriodStart.d.ts +9 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionPeriodStart.d.ts.map +1 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionSegmentConfiguration.d.ts +11 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionSegmentConfiguration.d.ts.map +1 -0
- package/build/types/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/entity/CorporateCarbonFootprintSegmentConfiguration.d.ts +2 -2
- package/build/types/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/entity/CorporateCarbonFootprintSegmentConfiguration.d.ts.map +1 -1
- package/build/types/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/entity/ICorporateCarbonFootprintSegmentConfiguration.d.ts +2 -2
- package/build/types/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/entity/ICorporateCarbonFootprintSegmentConfiguration.d.ts.map +1 -1
- package/build/types/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/types/CorporateCarbonFootprintSegmentConfigurationPrimitives.d.ts +2 -2
- package/build/types/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/types/CorporateCarbonFootprintSegmentConfigurationPrimitives.d.ts.map +1 -1
- package/build/types/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/types/CorporateCarbonFootprintSegmentConfigurationProps.d.ts +2 -2
- package/build/types/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/types/CorporateCarbonFootprintSegmentConfigurationProps.d.ts.map +1 -1
- package/build/types/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/value-objects/CorporateCarbonFootprintSegmentConfigurationEmissionSourceConfigurations.d.ts +23 -0
- package/build/types/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/value-objects/CorporateCarbonFootprintSegmentConfigurationEmissionSourceConfigurations.d.ts.map +1 -0
- package/build/types/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/entity/EventEditionLifecycleStageConfiguration.d.ts +2 -2
- package/build/types/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/entity/EventEditionLifecycleStageConfiguration.d.ts.map +1 -1
- package/build/types/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/entity/IEventEditionLifecycleStageConfiguration.d.ts +2 -2
- package/build/types/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/entity/IEventEditionLifecycleStageConfiguration.d.ts.map +1 -1
- package/build/types/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/types/EventEditionLifecycleStageConfigurationPrimitives.d.ts +2 -2
- package/build/types/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/types/EventEditionLifecycleStageConfigurationPrimitives.d.ts.map +1 -1
- package/build/types/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/types/EventEditionLifecycleStageConfigurationProps.d.ts +2 -2
- package/build/types/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/types/EventEditionLifecycleStageConfigurationProps.d.ts.map +1 -1
- package/build/types/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/value-objects/EventEditionLifecycleStageConfigurationEmissionSourceConfigurations.d.ts +23 -0
- package/build/types/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/value-objects/EventEditionLifecycleStageConfigurationEmissionSourceConfigurations.d.ts.map +1 -0
- package/build/types/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/entity/IProductCarbonFootprintSegmentConfiguration.d.ts +2 -2
- package/build/types/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/entity/IProductCarbonFootprintSegmentConfiguration.d.ts.map +1 -1
- package/build/types/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/entity/ProductCarbonFootprintSegmentConfiguration.d.ts +2 -2
- package/build/types/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/entity/ProductCarbonFootprintSegmentConfiguration.d.ts.map +1 -1
- package/build/types/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/types/ProductCarbonFootprintSegmentConfigurationPrimitives.d.ts +2 -2
- package/build/types/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/types/ProductCarbonFootprintSegmentConfigurationPrimitives.d.ts.map +1 -1
- package/build/types/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/types/ProductCarbonFootprintSegmentConfigurationProps.d.ts +2 -2
- package/build/types/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/types/ProductCarbonFootprintSegmentConfigurationProps.d.ts.map +1 -1
- package/build/types/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/value-objects/ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations.d.ts +23 -0
- package/build/types/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/value-objects/ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations.d.ts.map +1 -0
- package/build/types/carbonbox/shared/domain/authorization/enums/Permission.d.ts +2 -0
- package/build/types/carbonbox/shared/domain/authorization/enums/Permission.d.ts.map +1 -1
- package/build/types/carbonbox/shared/domain/types/CarbonFootprintSegmentConfigurationReference.d.ts +12 -0
- package/build/types/carbonbox/shared/domain/types/CarbonFootprintSegmentConfigurationReference.d.ts.map +1 -0
- package/build/types/carbonbox/shared/domain/types/CarbonFootprintSegmentConfigurationReferencePrimitives.d.ts +12 -0
- package/build/types/carbonbox/shared/domain/types/CarbonFootprintSegmentConfigurationReferencePrimitives.d.ts.map +1 -0
- package/build/types/carbonbox/shared/domain/types/CorporateCarbonFootprintSegmentConfigurationReference.d.ts +2 -2
- package/build/types/carbonbox/shared/domain/types/CorporateCarbonFootprintSegmentConfigurationReference.d.ts.map +1 -1
- package/build/types/carbonbox/shared/domain/types/CorporateCarbonFootprintSegmentConfigurationReferencePrimitives.d.ts +2 -2
- package/build/types/carbonbox/shared/domain/types/CorporateCarbonFootprintSegmentConfigurationReferencePrimitives.d.ts.map +1 -1
- package/build/types/carbonbox/shared/domain/types/EmissionSourceConfiguration.d.ts +6 -0
- package/build/types/carbonbox/shared/domain/types/EmissionSourceConfiguration.d.ts.map +1 -0
- package/build/types/carbonbox/shared/domain/types/EmissionSourceConfigurationPrimitives.d.ts +6 -0
- package/build/types/carbonbox/shared/domain/types/EmissionSourceConfigurationPrimitives.d.ts.map +1 -0
- package/build/types/carbonbox/shared/domain/types/EventEditionLifecycleStageConfigurationReference.d.ts +2 -2
- package/build/types/carbonbox/shared/domain/types/EventEditionLifecycleStageConfigurationReference.d.ts.map +1 -1
- package/build/types/carbonbox/shared/domain/types/EventEditionLifecycleStageConfigurationReferencePrimitives.d.ts +2 -2
- package/build/types/carbonbox/shared/domain/types/EventEditionLifecycleStageConfigurationReferencePrimitives.d.ts.map +1 -1
- package/build/types/carbonbox/shared/domain/types/ProductCarbonFootprintSegmentConfigurationReference.d.ts +2 -2
- package/build/types/carbonbox/shared/domain/types/ProductCarbonFootprintSegmentConfigurationReference.d.ts.map +1 -1
- package/build/types/carbonbox/shared/domain/types/ProductCarbonFootprintSegmentConfigurationReferencePrimitives.d.ts +2 -2
- package/build/types/carbonbox/shared/domain/types/ProductCarbonFootprintSegmentConfigurationReferencePrimitives.d.ts.map +1 -1
- package/build/types/carbonbox/shared/domain/value-objects/CarbonFootprintSegmentConfigurationReference.d.ts +37 -0
- package/build/types/carbonbox/shared/domain/value-objects/CarbonFootprintSegmentConfigurationReference.d.ts.map +1 -0
- package/build/types/carbonbox/shared/domain/value-objects/CorporateCarbonFootprintSegmentConfigurationReferences.d.ts +8 -142
- package/build/types/carbonbox/shared/domain/value-objects/CorporateCarbonFootprintSegmentConfigurationReferences.d.ts.map +1 -1
- package/build/types/carbonbox/shared/domain/value-objects/EmissionSourceConfiguration.d.ts +24 -0
- package/build/types/carbonbox/shared/domain/value-objects/EmissionSourceConfiguration.d.ts.map +1 -0
- package/build/types/carbonbox/shared/domain/value-objects/EventEditionLifecycleStageConfigurationReferences.d.ts +17 -164
- package/build/types/carbonbox/shared/domain/value-objects/EventEditionLifecycleStageConfigurationReferences.d.ts.map +1 -1
- package/build/types/carbonbox/shared/domain/value-objects/ProductCarbonFootprintSegmentConfigurationReferences.d.ts +20 -176
- package/build/types/carbonbox/shared/domain/value-objects/ProductCarbonFootprintSegmentConfigurationReferences.d.ts.map +1 -1
- package/build/types/main/index.d.ts +12 -1
- package/build/types/main/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/build/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/value-objects/CorporateCarbonFootprintSegmentConfigurationEmissionSources.js +0 -90
- package/build/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/value-objects/EventEditionLifecycleStageConfigurationEmissionSources.js +0 -22
- package/build/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/value-objects/ProductCarbonFootprintSegmentConfigurationEmissionSources.js +0 -22
- package/build/types/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/value-objects/CorporateCarbonFootprintSegmentConfigurationEmissionSources.d.ts +0 -44
- package/build/types/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/value-objects/CorporateCarbonFootprintSegmentConfigurationEmissionSources.d.ts.map +0 -1
- package/build/types/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/value-objects/EventEditionLifecycleStageConfigurationEmissionSources.d.ts +0 -9
- package/build/types/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/value-objects/EventEditionLifecycleStageConfigurationEmissionSources.d.ts.map +0 -1
- package/build/types/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/value-objects/ProductCarbonFootprintSegmentConfigurationEmissionSources.d.ts +0 -9
- package/build/types/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/value-objects/ProductCarbonFootprintSegmentConfigurationEmissionSources.d.ts.map +0 -1
|
@@ -20,10 +20,6 @@ const ValueObject_1 = require("./ValueObject");
|
|
|
20
20
|
const String_1 = require("./String");
|
|
21
21
|
const AggregateId_1 = require("./AggregateId");
|
|
22
22
|
class CorporateCarbonFootprintSegmentConfigurationReferences extends ValueObject_1.ValueObject {
|
|
23
|
-
/**
|
|
24
|
-
* Constructor protegido para que solo clases hijas puedan instanciar.
|
|
25
|
-
* Aplica todas las validaciones de dominio al momento de construcción.
|
|
26
|
-
*/
|
|
27
23
|
constructor(value, skipDomainValidation, propertyName = CorporateCarbonFootprintSegmentConfigurationReferences.DEFAULT_PROPERTY_NAME, options = CorporateCarbonFootprintSegmentConfigurationReferences.DEFAULT_OPTIONS) {
|
|
28
24
|
super(value, skipDomainValidation, propertyName, 'The provided value must be of type CorporateCarbonFootprintSegmentConfigurationReference[] from the domain layer', { allowNull: false, allowUndefined: false });
|
|
29
25
|
_CorporateCarbonFootprintSegmentConfigurationReferences_configurations.set(this, void 0);
|
|
@@ -32,12 +28,9 @@ class CorporateCarbonFootprintSegmentConfigurationReferences extends ValueObject
|
|
|
32
28
|
if (skipDomainValidation === false) {
|
|
33
29
|
CorporateCarbonFootprintSegmentConfigurationReferences.validateConfigurations(value, propertyName, finalOptions);
|
|
34
30
|
}
|
|
35
|
-
__classPrivateFieldSet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_configurations, [...value], "f");
|
|
31
|
+
__classPrivateFieldSet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_configurations, [...value], "f");
|
|
36
32
|
__classPrivateFieldSet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_options, finalOptions, "f");
|
|
37
33
|
}
|
|
38
|
-
/**
|
|
39
|
-
* Validación estática para reutilización en factory methods y constructores.
|
|
40
|
-
*/
|
|
41
34
|
static validateConfigurations(value, propertyName, options) {
|
|
42
35
|
this.guardAgainstInvalidArrayType(value, propertyName);
|
|
43
36
|
this.guardAgainstInvalidEmptyArray(value, options, propertyName);
|
|
@@ -46,46 +39,31 @@ class CorporateCarbonFootprintSegmentConfigurationReferences extends ValueObject
|
|
|
46
39
|
this.guardAgainstInvalidConfiguration(configuration, index, propertyName);
|
|
47
40
|
});
|
|
48
41
|
}
|
|
49
|
-
/**
|
|
50
|
-
* Valida que el valor sea un array.
|
|
51
|
-
*/
|
|
52
42
|
static guardAgainstInvalidArrayType(value, propertyName) {
|
|
53
43
|
if (!Array.isArray(value)) {
|
|
54
44
|
throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(propertyName, 'array', typeof value);
|
|
55
45
|
}
|
|
56
46
|
}
|
|
57
|
-
/**
|
|
58
|
-
* Valida que el array no esté vacío si no se permite.
|
|
59
|
-
*/
|
|
60
47
|
static guardAgainstInvalidEmptyArray(value, options, propertyName) {
|
|
61
48
|
if (!options.allowEmpty && value.length === 0) {
|
|
62
49
|
throw InvalidPropertyValueError_1.InvalidPropertyValueError.create(propertyName, 'non-empty array', 'empty array');
|
|
63
50
|
}
|
|
64
51
|
}
|
|
65
|
-
/**
|
|
66
|
-
* Valida que no haya códigos de configuración duplicados.
|
|
67
|
-
*/
|
|
68
52
|
static guardAgainstDuplicateConfigurationIds(value, propertyName) {
|
|
69
|
-
const configurationIds = value.map((
|
|
53
|
+
const configurationIds = value.map((configuration) => configuration.id);
|
|
70
54
|
const uniqueIds = new Set(configurationIds);
|
|
71
55
|
if (configurationIds.length !== uniqueIds.size) {
|
|
72
56
|
throw InvalidPropertyValueError_1.InvalidPropertyValueError.create(`${propertyName}.id`, 'unique configuration IDs', 'duplicate IDs found');
|
|
73
57
|
}
|
|
74
58
|
}
|
|
75
|
-
/**
|
|
76
|
-
* Valida una configuración individual.
|
|
77
|
-
*/
|
|
78
59
|
static guardAgainstInvalidConfiguration(configuration, index, basePropertyName) {
|
|
79
60
|
const propertyName = `${basePropertyName}[${index}]`;
|
|
80
61
|
this.guardAgainstInvalidConfigurationStructure(configuration, propertyName);
|
|
81
62
|
this.guardAgainstInvalidConfigurationId(configuration.id, `${propertyName}.id`);
|
|
82
63
|
this.guardAgainstInvalidCorporateSegment(configuration.segment, `${propertyName}.segment`);
|
|
83
64
|
this.guardAgainstInvalidCorporateSubsegment(configuration.subsegment, `${propertyName}.subsegment`);
|
|
84
|
-
this.
|
|
65
|
+
this.guardAgainstInvalidEmissionSourceConfigurations(configuration.emissionSourceConfigurations, `${propertyName}.emissionSourceConfigurations`);
|
|
85
66
|
}
|
|
86
|
-
/**
|
|
87
|
-
* Valida que el objeto de configuración tenga la estructura correcta.
|
|
88
|
-
*/
|
|
89
67
|
static guardAgainstInvalidConfigurationStructure(configuration, propertyName) {
|
|
90
68
|
if (!configuration || typeof configuration !== 'object') {
|
|
91
69
|
throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(propertyName, 'CorporateCarbonFootprintSegmentConfigurationReference object', typeof configuration);
|
|
@@ -99,53 +77,52 @@ class CorporateCarbonFootprintSegmentConfigurationReferences extends ValueObject
|
|
|
99
77
|
if (configuration.subsegment !== null && typeof configuration.subsegment !== 'object') {
|
|
100
78
|
throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(`${propertyName}.subsegment`, 'CorporateSubsegmentReference object or null', typeof configuration.subsegment);
|
|
101
79
|
}
|
|
102
|
-
if (!Array.isArray(configuration.
|
|
103
|
-
throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(`${propertyName}.
|
|
80
|
+
if (!Array.isArray(configuration.emissionSourceConfigurations)) {
|
|
81
|
+
throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(`${propertyName}.emissionSourceConfigurations`, 'EmissionSourceConfiguration array', typeof configuration.emissionSourceConfigurations);
|
|
104
82
|
}
|
|
105
83
|
}
|
|
106
|
-
/**
|
|
107
|
-
* Valida el ID de configuración usando las validaciones de AggregateId.
|
|
108
|
-
*/
|
|
109
84
|
static guardAgainstInvalidConfigurationId(id, propertyName) {
|
|
110
85
|
String_1.String.guardAgainstEmptyValue(id, propertyName);
|
|
111
86
|
AggregateId_1.AggregateId.guardAgainstInvalidId(id, propertyName);
|
|
112
87
|
}
|
|
113
|
-
/**
|
|
114
|
-
* Valida la referencia de segmento corporativo.
|
|
115
|
-
*/
|
|
116
88
|
static guardAgainstInvalidCorporateSegment(segment, propertyName) {
|
|
117
89
|
this.guardAgainstInvalidSegmentReference(segment, propertyName, 'CorporateConfigurationCarbonFootprintSegmentReference');
|
|
118
90
|
}
|
|
119
|
-
/**
|
|
120
|
-
* Valida la referencia de subsegmento corporativo (puede ser null).
|
|
121
|
-
*/
|
|
122
91
|
static guardAgainstInvalidCorporateSubsegment(subsegment, propertyName) {
|
|
123
92
|
if (subsegment !== null) {
|
|
124
93
|
this.guardAgainstInvalidSegmentReference(subsegment, propertyName, 'CorporateConfigurationCarbonFootprintSubsegmentReference');
|
|
125
94
|
}
|
|
126
95
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
static guardAgainstInvalidEmissionSources(emissionSources, propertyName) {
|
|
131
|
-
if (!Array.isArray(emissionSources)) {
|
|
132
|
-
throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(propertyName, 'EmissionSource array', typeof emissionSources);
|
|
96
|
+
static guardAgainstInvalidEmissionSourceConfigurations(emissionSourceConfigurations, propertyName) {
|
|
97
|
+
if (!Array.isArray(emissionSourceConfigurations)) {
|
|
98
|
+
throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(propertyName, 'EmissionSourceConfiguration array', typeof emissionSourceConfigurations);
|
|
133
99
|
}
|
|
134
|
-
if (
|
|
135
|
-
throw InvalidPropertyValueError_1.InvalidPropertyValueError.create(propertyName, 'non-empty
|
|
100
|
+
if (emissionSourceConfigurations.length === 0) {
|
|
101
|
+
throw InvalidPropertyValueError_1.InvalidPropertyValueError.create(propertyName, 'non-empty EmissionSourceConfiguration array', 'empty array');
|
|
136
102
|
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
103
|
+
const validEmissionSources = Object.values(EmissionSource_1.EmissionSource);
|
|
104
|
+
const seenEmissionSources = new Set();
|
|
105
|
+
emissionSourceConfigurations.forEach((configuration, index) => {
|
|
106
|
+
const elementPath = `${propertyName}[${index}]`;
|
|
107
|
+
if (!configuration || typeof configuration !== 'object') {
|
|
108
|
+
throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(elementPath, 'EmissionSourceConfiguration object', typeof configuration);
|
|
140
109
|
}
|
|
141
|
-
if (
|
|
142
|
-
throw
|
|
110
|
+
if (typeof configuration.emissionSource !== 'string') {
|
|
111
|
+
throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(`${elementPath}.emissionSource`, 'EmissionSource enum value', typeof configuration.emissionSource);
|
|
143
112
|
}
|
|
113
|
+
if (!validEmissionSources.includes(configuration.emissionSource)) {
|
|
114
|
+
throw InvalidPropertyValueError_1.InvalidPropertyValueError.create(`${elementPath}.emissionSource`, `valid EmissionSource enum value (${validEmissionSources.join(', ')})`, configuration.emissionSource);
|
|
115
|
+
}
|
|
116
|
+
if (typeof configuration.dynamicFormCode !== 'string') {
|
|
117
|
+
throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(`${elementPath}.dynamicFormCode`, 'string', typeof configuration.dynamicFormCode);
|
|
118
|
+
}
|
|
119
|
+
String_1.String.guardAgainstEmptyValue(configuration.dynamicFormCode, `${elementPath}.dynamicFormCode`);
|
|
120
|
+
if (seenEmissionSources.has(configuration.emissionSource)) {
|
|
121
|
+
throw InvalidPropertyValueError_1.InvalidPropertyValueError.create(`${elementPath}.emissionSource`, 'unique emissionSource within emissionSourceConfigurations', `duplicate emissionSource '${configuration.emissionSource}'`);
|
|
122
|
+
}
|
|
123
|
+
seenEmissionSources.add(configuration.emissionSource);
|
|
144
124
|
});
|
|
145
125
|
}
|
|
146
|
-
/**
|
|
147
|
-
* Valida una referencia de segmento genérica.
|
|
148
|
-
*/
|
|
149
126
|
static guardAgainstInvalidSegmentReference(reference, propertyName, typeName) {
|
|
150
127
|
if (!reference || typeof reference !== 'object') {
|
|
151
128
|
throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(propertyName, `${typeName} object`, typeof reference);
|
|
@@ -156,179 +133,110 @@ class CorporateCarbonFootprintSegmentConfigurationReferences extends ValueObject
|
|
|
156
133
|
String_1.String.guardAgainstEmptyValue(reference.id, `${propertyName}.id`);
|
|
157
134
|
AggregateId_1.AggregateId.guardAgainstInvalidId(reference.id, `${propertyName}.id`);
|
|
158
135
|
}
|
|
159
|
-
/**
|
|
160
|
-
* Configuraciones de segmento corporativo (inmutable).
|
|
161
|
-
*/
|
|
162
136
|
get configurations() {
|
|
163
137
|
return Object.freeze([...__classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_configurations, "f")]);
|
|
164
138
|
}
|
|
165
|
-
/**
|
|
166
|
-
* Opciones de configuración de la colección.
|
|
167
|
-
*/
|
|
168
139
|
get options() {
|
|
169
140
|
return Object.freeze({ ...__classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_options, "f") });
|
|
170
141
|
}
|
|
171
|
-
/**
|
|
172
|
-
* Número de configuraciones en la colección.
|
|
173
|
-
*/
|
|
174
142
|
get length() {
|
|
175
143
|
return __classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_configurations, "f").length;
|
|
176
144
|
}
|
|
177
|
-
/**
|
|
178
|
-
* Verifica si la colección está vacía.
|
|
179
|
-
*/
|
|
180
145
|
isEmpty() {
|
|
181
146
|
return __classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_configurations, "f").length === 0;
|
|
182
147
|
}
|
|
183
|
-
/**
|
|
184
|
-
* Verifica si la colección tiene configuraciones.
|
|
185
|
-
*/
|
|
186
148
|
hasConfigurations() {
|
|
187
149
|
return !this.isEmpty();
|
|
188
150
|
}
|
|
189
|
-
/**
|
|
190
|
-
* Verifica si la colección permite estar vacía.
|
|
191
|
-
*/
|
|
192
151
|
allowsEmpty() {
|
|
193
152
|
return __classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_options, "f").allowEmpty === true;
|
|
194
153
|
}
|
|
195
|
-
/**
|
|
196
|
-
* Verifica si la colección requiere tener elementos.
|
|
197
|
-
*/
|
|
198
154
|
requiresElements() {
|
|
199
155
|
return !this.allowsEmpty();
|
|
200
156
|
}
|
|
201
|
-
/**
|
|
202
|
-
* Verifica si la colección está en un estado válido según sus opciones.
|
|
203
|
-
*/
|
|
204
157
|
isValidState() {
|
|
205
158
|
if (this.requiresElements() && this.isEmpty()) {
|
|
206
159
|
return false;
|
|
207
160
|
}
|
|
208
161
|
return true;
|
|
209
162
|
}
|
|
210
|
-
/**
|
|
211
|
-
* Obtiene una configuración por su código.
|
|
212
|
-
*/
|
|
213
163
|
getConfigurationById(configurationId) {
|
|
214
164
|
const configuration = __classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_configurations, "f").find((config) => config.id === configurationId.trim());
|
|
215
165
|
return configuration || null;
|
|
216
166
|
}
|
|
217
|
-
/**
|
|
218
|
-
* Verifica si existe una configuración con el código especificado.
|
|
219
|
-
*/
|
|
220
167
|
hasConfigurationId(configurationId) {
|
|
221
168
|
return this.getConfigurationById(configurationId) !== null;
|
|
222
169
|
}
|
|
223
|
-
/**
|
|
224
|
-
* Obtiene una configuración por su índice.
|
|
225
|
-
*/
|
|
226
170
|
getConfigurationAt(index) {
|
|
227
171
|
if (index < 0 || index >= __classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_configurations, "f").length) {
|
|
228
172
|
return null;
|
|
229
173
|
}
|
|
230
174
|
return __classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_configurations, "f")[index];
|
|
231
175
|
}
|
|
232
|
-
/**
|
|
233
|
-
* Obtiene todos los IDs de configuración.
|
|
234
|
-
*/
|
|
235
176
|
getAllConfigurationIds() {
|
|
236
177
|
return __classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_configurations, "f").map((config) => config.id);
|
|
237
178
|
}
|
|
238
|
-
/**
|
|
239
|
-
* Obtiene todas las configuraciones por ID de segmento corporativo.
|
|
240
|
-
*/
|
|
241
179
|
getConfigurationsBySegmentId(segmentId) {
|
|
242
180
|
return __classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_configurations, "f").filter((config) => config.segment.id === segmentId.trim());
|
|
243
181
|
}
|
|
244
|
-
/**
|
|
245
|
-
* Obtiene todas las configuraciones por fuente de emisión.
|
|
246
|
-
*/
|
|
247
182
|
getConfigurationsByEmissionSource(emissionSource) {
|
|
248
|
-
return __classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_configurations, "f").filter((config) => config.
|
|
183
|
+
return __classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_configurations, "f").filter((config) => config.emissionSourceConfigurations.some((esc) => esc.emissionSource === emissionSource));
|
|
249
184
|
}
|
|
250
|
-
/**
|
|
251
|
-
* Obtiene configuraciones que tienen subsegmento corporativo asignado.
|
|
252
|
-
*/
|
|
253
185
|
getConfigurationsWithSubsegment() {
|
|
254
186
|
return __classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_configurations, "f").filter((config) => config.subsegment !== null);
|
|
255
187
|
}
|
|
256
|
-
/**
|
|
257
|
-
* Obtiene configuraciones que no tienen subsegmento corporativo asignado.
|
|
258
|
-
*/
|
|
259
188
|
getConfigurationsWithoutSubsegment() {
|
|
260
189
|
return __classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_configurations, "f").filter((config) => config.subsegment === null);
|
|
261
190
|
}
|
|
262
|
-
/**
|
|
263
|
-
* Verifica si alguna configuración tiene subsegmento asignado.
|
|
264
|
-
*/
|
|
265
191
|
hasAnyConfigurationWithSubsegment() {
|
|
266
192
|
return __classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_configurations, "f").some((config) => config.subsegment !== null);
|
|
267
193
|
}
|
|
268
|
-
/**
|
|
269
|
-
* Obtiene todos los IDs únicos de segmentos corporativos.
|
|
270
|
-
*/
|
|
271
194
|
getUniqueSegmentIds() {
|
|
272
195
|
const ids = __classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_configurations, "f").map((config) => config.segment.id);
|
|
273
196
|
return [...new Set(ids)];
|
|
274
197
|
}
|
|
275
|
-
/**
|
|
276
|
-
* Obtiene todas las fuentes de emisión únicas.
|
|
277
|
-
*/
|
|
278
198
|
getUniqueEmissionSources() {
|
|
279
|
-
const sources = __classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_configurations, "f").flatMap((config) => config.
|
|
199
|
+
const sources = __classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_configurations, "f").flatMap((config) => config.emissionSourceConfigurations.map((esc) => esc.emissionSource));
|
|
280
200
|
return [...new Set(sources)];
|
|
281
201
|
}
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
202
|
+
getDynamicFormCodeFor(configurationId, emissionSource) {
|
|
203
|
+
const configuration = this.getConfigurationById(configurationId);
|
|
204
|
+
if (!configuration)
|
|
205
|
+
return null;
|
|
206
|
+
const match = configuration.emissionSourceConfigurations.find((esc) => esc.emissionSource === emissionSource);
|
|
207
|
+
return match ? match.dynamicFormCode : null;
|
|
208
|
+
}
|
|
285
209
|
findConfigurationsMatching(searchText) {
|
|
286
210
|
const lowerSearchText = searchText.toLowerCase().trim();
|
|
287
211
|
return __classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_configurations, "f").filter((config) => config.id.toLowerCase().includes(lowerSearchText)
|
|
288
212
|
|| config.segment.id.toLowerCase().includes(lowerSearchText)
|
|
289
|
-
|| config.
|
|
213
|
+
|| config.emissionSourceConfigurations.some((esc) => esc.emissionSource.toLowerCase().includes(lowerSearchText)
|
|
214
|
+
|| esc.dynamicFormCode.toLowerCase().includes(lowerSearchText))
|
|
290
215
|
|| (config.subsegment && config.subsegment.id.toLowerCase().includes(lowerSearchText)));
|
|
291
216
|
}
|
|
292
|
-
/**
|
|
293
|
-
* Obtiene los primeros N configuraciones.
|
|
294
|
-
*/
|
|
295
217
|
getFirstN(count) {
|
|
296
218
|
if (count <= 0) {
|
|
297
219
|
return [];
|
|
298
220
|
}
|
|
299
221
|
return __classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_configurations, "f").slice(0, count);
|
|
300
222
|
}
|
|
301
|
-
/**
|
|
302
|
-
* Obtiene los últimos N configuraciones.
|
|
303
|
-
*/
|
|
304
223
|
getLastN(count) {
|
|
305
224
|
if (count <= 0) {
|
|
306
225
|
return [];
|
|
307
226
|
}
|
|
308
227
|
return __classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_configurations, "f").slice(-count);
|
|
309
228
|
}
|
|
310
|
-
/**
|
|
311
|
-
* Obtiene estadísticas de la colección.
|
|
312
|
-
*/
|
|
313
229
|
getStatistics() {
|
|
314
|
-
const totalConfigurations = __classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_configurations, "f").length;
|
|
315
|
-
const configurationsWithSubsegment = this.getConfigurationsWithSubsegment().length;
|
|
316
|
-
const configurationsWithoutSubsegment = this.getConfigurationsWithoutSubsegment().length;
|
|
317
|
-
const uniqueSegments = this.getUniqueSegmentIds().length;
|
|
318
|
-
const uniqueEmissionSources = this.getUniqueEmissionSources().length;
|
|
319
230
|
return {
|
|
320
|
-
totalConfigurations,
|
|
321
|
-
configurationsWithSubsegment,
|
|
322
|
-
configurationsWithoutSubsegment,
|
|
323
|
-
uniqueSegments,
|
|
324
|
-
uniqueEmissionSources,
|
|
231
|
+
totalConfigurations: __classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_configurations, "f").length,
|
|
232
|
+
configurationsWithSubsegment: this.getConfigurationsWithSubsegment().length,
|
|
233
|
+
configurationsWithoutSubsegment: this.getConfigurationsWithoutSubsegment().length,
|
|
234
|
+
uniqueSegments: this.getUniqueSegmentIds().length,
|
|
235
|
+
uniqueEmissionSources: this.getUniqueEmissionSources().length,
|
|
325
236
|
allowsEmpty: __classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_options, "f").allowEmpty === true,
|
|
326
237
|
isValidState: this.isValidState(),
|
|
327
238
|
};
|
|
328
239
|
}
|
|
329
|
-
/**
|
|
330
|
-
* Compara la igualdad semántica con otra colección de configuraciones.
|
|
331
|
-
*/
|
|
332
240
|
equals(other) {
|
|
333
241
|
if (!(other instanceof CorporateCarbonFootprintSegmentConfigurationReferences)) {
|
|
334
242
|
return false;
|
|
@@ -344,57 +252,46 @@ class CorporateCarbonFootprintSegmentConfigurationReferences extends ValueObject
|
|
|
344
252
|
return this.configurationsAreEqual(config, otherConfig);
|
|
345
253
|
});
|
|
346
254
|
}
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
}
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
*/
|
|
359
|
-
segmentReferencesAreEqual(seg1, seg2) {
|
|
360
|
-
return seg1.id === seg2.id;
|
|
361
|
-
}
|
|
362
|
-
/**
|
|
363
|
-
* Compara referencias de subsegmento (pueden ser null).
|
|
364
|
-
*/
|
|
365
|
-
subsegmentReferencesAreEqual(subseg1, subseg2) {
|
|
366
|
-
if (subseg1 === null && subseg2 === null) {
|
|
255
|
+
configurationsAreEqual(leftConfiguration, rightConfiguration) {
|
|
256
|
+
return (leftConfiguration.id === rightConfiguration.id
|
|
257
|
+
&& this.segmentReferencesAreEqual(leftConfiguration.segment, rightConfiguration.segment)
|
|
258
|
+
&& this.subsegmentReferencesAreEqual(leftConfiguration.subsegment, rightConfiguration.subsegment)
|
|
259
|
+
&& this.emissionSourceConfigurationsAreEqual(leftConfiguration.emissionSourceConfigurations, rightConfiguration.emissionSourceConfigurations));
|
|
260
|
+
}
|
|
261
|
+
segmentReferencesAreEqual(leftSegment, rightSegment) {
|
|
262
|
+
return leftSegment.id === rightSegment.id;
|
|
263
|
+
}
|
|
264
|
+
subsegmentReferencesAreEqual(leftSubsegment, rightSubsegment) {
|
|
265
|
+
if (leftSubsegment === null && rightSubsegment === null) {
|
|
367
266
|
return true;
|
|
368
267
|
}
|
|
369
|
-
if (
|
|
268
|
+
if (leftSubsegment === null || rightSubsegment === null) {
|
|
370
269
|
return false;
|
|
371
270
|
}
|
|
372
|
-
return
|
|
271
|
+
return leftSubsegment.id === rightSubsegment.id;
|
|
373
272
|
}
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
*/
|
|
377
|
-
emissionSourcesAreEqual(sources1, sources2) {
|
|
378
|
-
if (sources1.length !== sources2.length) {
|
|
273
|
+
emissionSourceConfigurationsAreEqual(leftConfigurations, rightConfigurations) {
|
|
274
|
+
if (leftConfigurations.length !== rightConfigurations.length) {
|
|
379
275
|
return false;
|
|
380
276
|
}
|
|
381
|
-
const
|
|
382
|
-
const
|
|
383
|
-
return
|
|
277
|
+
const leftSorted = [...leftConfigurations].sort((left, right) => left.emissionSource.localeCompare(right.emissionSource));
|
|
278
|
+
const rightSorted = [...rightConfigurations].sort((left, right) => left.emissionSource.localeCompare(right.emissionSource));
|
|
279
|
+
return leftSorted.every((configuration, index) => (configuration.emissionSource === rightSorted[index].emissionSource
|
|
280
|
+
&& configuration.dynamicFormCode === rightSorted[index].dynamicFormCode));
|
|
384
281
|
}
|
|
385
|
-
/**
|
|
386
|
-
* Genera un hash code para usar en colecciones.
|
|
387
|
-
*/
|
|
388
282
|
hashCode() {
|
|
389
283
|
const configHashes = __classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_configurations, "f")
|
|
390
|
-
.map((config) =>
|
|
284
|
+
.map((config) => {
|
|
285
|
+
const sortedConfigurations = [...config.emissionSourceConfigurations]
|
|
286
|
+
.sort((left, right) => left.emissionSource.localeCompare(right.emissionSource))
|
|
287
|
+
.map((esc) => `${esc.emissionSource}:${esc.dynamicFormCode}`)
|
|
288
|
+
.join(',');
|
|
289
|
+
return `${config.id}_${config.segment.id}_${sortedConfigurations}`;
|
|
290
|
+
})
|
|
391
291
|
.join('|');
|
|
392
292
|
const optionsHash = __classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_options, "f").allowEmpty ? 'allowEmpty' : 'requireElements';
|
|
393
293
|
return `corporateSegmentConfigurations_${optionsHash}_${configHashes}`;
|
|
394
294
|
}
|
|
395
|
-
/**
|
|
396
|
-
* Convierte a representación primitiva para persistencia.
|
|
397
|
-
*/
|
|
398
295
|
toPrimitives() {
|
|
399
296
|
return __classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_configurations, "f").map((config) => ({
|
|
400
297
|
id: config.id,
|
|
@@ -404,25 +301,19 @@ class CorporateCarbonFootprintSegmentConfigurationReferences extends ValueObject
|
|
|
404
301
|
subsegment: config.subsegment ? {
|
|
405
302
|
id: config.subsegment.id,
|
|
406
303
|
} : null,
|
|
407
|
-
|
|
304
|
+
emissionSourceConfigurations: config.emissionSourceConfigurations.map((esc) => ({
|
|
305
|
+
emissionSource: esc.emissionSource,
|
|
306
|
+
dynamicFormCode: esc.dynamicFormCode,
|
|
307
|
+
})),
|
|
408
308
|
}));
|
|
409
309
|
}
|
|
410
|
-
/**
|
|
411
|
-
* Representación como string (resumen de la colección).
|
|
412
|
-
*/
|
|
413
310
|
toString() {
|
|
414
311
|
const emptyStatus = __classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_options, "f").allowEmpty ? 'puede estar vacía' : 'requiere elementos';
|
|
415
312
|
return `Configuraciones de Segmento Corporativo (${__classPrivateFieldGet(this, _CorporateCarbonFootprintSegmentConfigurationReferences_configurations, "f").length}) - ${emptyStatus}`;
|
|
416
313
|
}
|
|
417
|
-
/**
|
|
418
|
-
* Representación JSON para serialización.
|
|
419
|
-
*/
|
|
420
314
|
toJSON() {
|
|
421
315
|
return this.toPrimitives();
|
|
422
316
|
}
|
|
423
|
-
/**
|
|
424
|
-
* Método estático para validar si un array es válido.
|
|
425
|
-
*/
|
|
426
317
|
static isValidConfigurations(value, options = CorporateCarbonFootprintSegmentConfigurationReferences.DEFAULT_OPTIONS) {
|
|
427
318
|
try {
|
|
428
319
|
const finalOptions = { ...CorporateCarbonFootprintSegmentConfigurationReferences.DEFAULT_OPTIONS, ...options };
|
|
@@ -438,5 +329,5 @@ exports.CorporateCarbonFootprintSegmentConfigurationReferences = CorporateCarbon
|
|
|
438
329
|
_CorporateCarbonFootprintSegmentConfigurationReferences_configurations = new WeakMap(), _CorporateCarbonFootprintSegmentConfigurationReferences_options = new WeakMap();
|
|
439
330
|
CorporateCarbonFootprintSegmentConfigurationReferences.DEFAULT_PROPERTY_NAME = 'corporateSegmentConfigurationReferences';
|
|
440
331
|
CorporateCarbonFootprintSegmentConfigurationReferences.DEFAULT_OPTIONS = {
|
|
441
|
-
allowEmpty: false,
|
|
332
|
+
allowEmpty: false,
|
|
442
333
|
};
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
+
};
|
|
8
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
+
};
|
|
13
|
+
var _EmissionSourceConfiguration_emissionSource, _EmissionSourceConfiguration_dynamicFormCode;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.EmissionSourceConfiguration = void 0;
|
|
16
|
+
const InvalidPropertyTypeError_1 = require("../exceptions/InvalidPropertyTypeError");
|
|
17
|
+
const InvalidPropertyValueError_1 = require("../exceptions/InvalidPropertyValueError");
|
|
18
|
+
const EmissionSource_1 = require("../enums/EmissionSource");
|
|
19
|
+
const ObjectValueObject_1 = require("./ObjectValueObject");
|
|
20
|
+
const String_1 = require("./String");
|
|
21
|
+
class EmissionSourceConfiguration extends ObjectValueObject_1.ObjectValueObject {
|
|
22
|
+
constructor(value, skipDomainValidation, propertyName = EmissionSourceConfiguration.DEFAULT_PROPERTY_NAME) {
|
|
23
|
+
super(value, skipDomainValidation, propertyName, 'The provided value must be of type EmissionSourceConfiguration from the domain layer', { allowNull: false, allowUndefined: false });
|
|
24
|
+
_EmissionSourceConfiguration_emissionSource.set(this, void 0);
|
|
25
|
+
_EmissionSourceConfiguration_dynamicFormCode.set(this, void 0);
|
|
26
|
+
if (skipDomainValidation === false) {
|
|
27
|
+
EmissionSourceConfiguration.validateEmissionSourceConfiguration(value, propertyName);
|
|
28
|
+
}
|
|
29
|
+
__classPrivateFieldSet(this, _EmissionSourceConfiguration_emissionSource, value.emissionSource, "f");
|
|
30
|
+
__classPrivateFieldSet(this, _EmissionSourceConfiguration_dynamicFormCode, value.dynamicFormCode.trim(), "f");
|
|
31
|
+
}
|
|
32
|
+
static validateEmissionSourceConfiguration(value, propertyName) {
|
|
33
|
+
this.guardAgainstInvalidStructure(value, propertyName);
|
|
34
|
+
this.guardAgainstInvalidEmissionSource(value.emissionSource, `${propertyName}.emissionSource`);
|
|
35
|
+
this.guardAgainstInvalidDynamicFormCode(value.dynamicFormCode, `${propertyName}.dynamicFormCode`);
|
|
36
|
+
}
|
|
37
|
+
static guardAgainstInvalidStructure(value, propertyName) {
|
|
38
|
+
if (!value || typeof value !== 'object') {
|
|
39
|
+
throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(propertyName, 'EmissionSourceConfiguration object', typeof value);
|
|
40
|
+
}
|
|
41
|
+
if (typeof value.emissionSource !== 'string') {
|
|
42
|
+
throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(`${propertyName}.emissionSource`, 'EmissionSource enum value', typeof value.emissionSource);
|
|
43
|
+
}
|
|
44
|
+
if (typeof value.dynamicFormCode !== 'string') {
|
|
45
|
+
throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(`${propertyName}.dynamicFormCode`, 'string', typeof value.dynamicFormCode);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
static guardAgainstInvalidEmissionSource(emissionSource, propertyName) {
|
|
49
|
+
const validValues = Object.values(EmissionSource_1.EmissionSource);
|
|
50
|
+
if (!validValues.includes(emissionSource)) {
|
|
51
|
+
throw InvalidPropertyValueError_1.InvalidPropertyValueError.create(propertyName, `valid EmissionSource enum value (${validValues.join(', ')})`, emissionSource);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
static guardAgainstInvalidDynamicFormCode(dynamicFormCode, propertyName) {
|
|
55
|
+
String_1.String.guardAgainstEmptyValue(dynamicFormCode, propertyName);
|
|
56
|
+
}
|
|
57
|
+
get emissionSource() {
|
|
58
|
+
return __classPrivateFieldGet(this, _EmissionSourceConfiguration_emissionSource, "f");
|
|
59
|
+
}
|
|
60
|
+
get dynamicFormCode() {
|
|
61
|
+
return __classPrivateFieldGet(this, _EmissionSourceConfiguration_dynamicFormCode, "f");
|
|
62
|
+
}
|
|
63
|
+
hasEmissionSource(emissionSource) {
|
|
64
|
+
return __classPrivateFieldGet(this, _EmissionSourceConfiguration_emissionSource, "f") === emissionSource;
|
|
65
|
+
}
|
|
66
|
+
hasDynamicFormCode(dynamicFormCode) {
|
|
67
|
+
return __classPrivateFieldGet(this, _EmissionSourceConfiguration_dynamicFormCode, "f") === dynamicFormCode.trim();
|
|
68
|
+
}
|
|
69
|
+
equals(other) {
|
|
70
|
+
if (!(other instanceof EmissionSourceConfiguration)) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
return __classPrivateFieldGet(this, _EmissionSourceConfiguration_emissionSource, "f") === __classPrivateFieldGet(other, _EmissionSourceConfiguration_emissionSource, "f")
|
|
74
|
+
&& __classPrivateFieldGet(this, _EmissionSourceConfiguration_dynamicFormCode, "f") === __classPrivateFieldGet(other, _EmissionSourceConfiguration_dynamicFormCode, "f");
|
|
75
|
+
}
|
|
76
|
+
hashCode() {
|
|
77
|
+
return `${__classPrivateFieldGet(this, _EmissionSourceConfiguration_emissionSource, "f")}__${__classPrivateFieldGet(this, _EmissionSourceConfiguration_dynamicFormCode, "f")}`;
|
|
78
|
+
}
|
|
79
|
+
toPrimitives() {
|
|
80
|
+
return {
|
|
81
|
+
emissionSource: __classPrivateFieldGet(this, _EmissionSourceConfiguration_emissionSource, "f"),
|
|
82
|
+
dynamicFormCode: __classPrivateFieldGet(this, _EmissionSourceConfiguration_dynamicFormCode, "f"),
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
toString() {
|
|
86
|
+
return `${__classPrivateFieldGet(this, _EmissionSourceConfiguration_emissionSource, "f")}:${__classPrivateFieldGet(this, _EmissionSourceConfiguration_dynamicFormCode, "f")}`;
|
|
87
|
+
}
|
|
88
|
+
toJSON() {
|
|
89
|
+
return this.toPrimitives();
|
|
90
|
+
}
|
|
91
|
+
static validateCompletely(value, propertyName = EmissionSourceConfiguration.DEFAULT_PROPERTY_NAME) {
|
|
92
|
+
this.validateEmissionSourceConfiguration(value, propertyName);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
exports.EmissionSourceConfiguration = EmissionSourceConfiguration;
|
|
96
|
+
_EmissionSourceConfiguration_emissionSource = new WeakMap(), _EmissionSourceConfiguration_dynamicFormCode = new WeakMap();
|
|
97
|
+
EmissionSourceConfiguration.DEFAULT_PROPERTY_NAME = 'emissionSourceConfiguration';
|