@tiangong-lca/tidas-sdk 0.1.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/LICENSE +21 -0
- package/README.md +0 -0
- package/dist/core/base/TidasEntity.d.ts +97 -0
- package/dist/core/base/TidasEntity.d.ts.map +1 -0
- package/dist/core/base/TidasEntity.js +241 -0
- package/dist/core/base/TidasEntity.js.map +1 -0
- package/dist/core/config/GlobalConfig.d.ts +60 -0
- package/dist/core/config/GlobalConfig.d.ts.map +1 -0
- package/dist/core/config/GlobalConfig.js +110 -0
- package/dist/core/config/GlobalConfig.js.map +1 -0
- package/dist/core/config/ValidationConfig.d.ts +70 -0
- package/dist/core/config/ValidationConfig.d.ts.map +1 -0
- package/dist/core/config/ValidationConfig.js +159 -0
- package/dist/core/config/ValidationConfig.js.map +1 -0
- package/dist/core/entities/TidasContact.d.ts +14 -0
- package/dist/core/entities/TidasContact.d.ts.map +1 -0
- package/dist/core/entities/TidasContact.js +87 -0
- package/dist/core/entities/TidasContact.js.map +1 -0
- package/dist/core/entities/TidasFlow.d.ts +14 -0
- package/dist/core/entities/TidasFlow.d.ts.map +1 -0
- package/dist/core/entities/TidasFlow.js +105 -0
- package/dist/core/entities/TidasFlow.js.map +1 -0
- package/dist/core/entities/TidasFlowProperty.d.ts +14 -0
- package/dist/core/entities/TidasFlowProperty.d.ts.map +1 -0
- package/dist/core/entities/TidasFlowProperty.js +111 -0
- package/dist/core/entities/TidasFlowProperty.js.map +1 -0
- package/dist/core/entities/TidasLCIAMethod.d.ts +14 -0
- package/dist/core/entities/TidasLCIAMethod.d.ts.map +1 -0
- package/dist/core/entities/TidasLCIAMethod.js +125 -0
- package/dist/core/entities/TidasLCIAMethod.js.map +1 -0
- package/dist/core/entities/TidasLifeCycleModel.d.ts +14 -0
- package/dist/core/entities/TidasLifeCycleModel.d.ts.map +1 -0
- package/dist/core/entities/TidasLifeCycleModel.js +117 -0
- package/dist/core/entities/TidasLifeCycleModel.js.map +1 -0
- package/dist/core/entities/TidasProcess.d.ts +14 -0
- package/dist/core/entities/TidasProcess.d.ts.map +1 -0
- package/dist/core/entities/TidasProcess.js +129 -0
- package/dist/core/entities/TidasProcess.js.map +1 -0
- package/dist/core/entities/TidasSource.d.ts +14 -0
- package/dist/core/entities/TidasSource.d.ts.map +1 -0
- package/dist/core/entities/TidasSource.js +101 -0
- package/dist/core/entities/TidasSource.js.map +1 -0
- package/dist/core/entities/TidasUnitGroup.d.ts +14 -0
- package/dist/core/entities/TidasUnitGroup.d.ts.map +1 -0
- package/dist/core/entities/TidasUnitGroup.js +121 -0
- package/dist/core/entities/TidasUnitGroup.js.map +1 -0
- package/dist/core/factories/index.d.ts +49 -0
- package/dist/core/factories/index.d.ts.map +1 -0
- package/dist/core/factories/index.js +171 -0
- package/dist/core/factories/index.js.map +1 -0
- package/dist/core/index.d.ts +11 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +47 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/zod-factories.d.ts +71 -0
- package/dist/core/zod-factories.d.ts.map +1 -0
- package/dist/core/zod-factories.js +169 -0
- package/dist/core/zod-factories.js.map +1 -0
- package/dist/core/zod-proxy.d.ts +108 -0
- package/dist/core/zod-proxy.d.ts.map +1 -0
- package/dist/core/zod-proxy.js +382 -0
- package/dist/core/zod-proxy.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +64 -0
- package/dist/index.js.map +1 -0
- package/dist/schemas/index.d.ts +48 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +111 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/tidas_contacts.schema.d.ts +2340 -0
- package/dist/schemas/tidas_contacts.schema.d.ts.map +1 -0
- package/dist/schemas/tidas_contacts.schema.js +75 -0
- package/dist/schemas/tidas_contacts.schema.js.map +1 -0
- package/dist/schemas/tidas_contacts_category.schema.d.ts +3 -0
- package/dist/schemas/tidas_contacts_category.schema.d.ts.map +1 -0
- package/dist/schemas/tidas_contacts_category.schema.js +53 -0
- package/dist/schemas/tidas_contacts_category.schema.js.map +1 -0
- package/dist/schemas/tidas_data_types.schema.d.ts +172 -0
- package/dist/schemas/tidas_data_types.schema.d.ts.map +1 -0
- package/dist/schemas/tidas_data_types.schema.js +74 -0
- package/dist/schemas/tidas_data_types.schema.js.map +1 -0
- package/dist/schemas/tidas_flowproperties.schema.d.ts +2505 -0
- package/dist/schemas/tidas_flowproperties.schema.d.ts.map +1 -0
- package/dist/schemas/tidas_flowproperties.schema.js +78 -0
- package/dist/schemas/tidas_flowproperties.schema.js.map +1 -0
- package/dist/schemas/tidas_flowproperties_category.schema.d.ts +3 -0
- package/dist/schemas/tidas_flowproperties_category.schema.d.ts.map +1 -0
- package/dist/schemas/tidas_flowproperties_category.schema.js +28 -0
- package/dist/schemas/tidas_flowproperties_category.schema.js.map +1 -0
- package/dist/schemas/tidas_flows.schema.d.ts +3366 -0
- package/dist/schemas/tidas_flows.schema.d.ts.map +1 -0
- package/dist/schemas/tidas_flows.schema.js +125 -0
- package/dist/schemas/tidas_flows.schema.js.map +1 -0
- package/dist/schemas/tidas_flows_elementary_category.schema.d.ts +3 -0
- package/dist/schemas/tidas_flows_elementary_category.schema.d.ts.map +1 -0
- package/dist/schemas/tidas_flows_elementary_category.schema.js +309 -0
- package/dist/schemas/tidas_flows_elementary_category.schema.js.map +1 -0
- package/dist/schemas/tidas_flows_product_category.schema.d.ts +3 -0
- package/dist/schemas/tidas_flows_product_category.schema.d.ts.map +1 -0
- package/dist/schemas/tidas_flows_product_category.schema.js +28508 -0
- package/dist/schemas/tidas_flows_product_category.schema.js.map +1 -0
- package/dist/schemas/tidas_lciamethods.schema.d.ts +11025 -0
- package/dist/schemas/tidas_lciamethods.schema.d.ts.map +1 -0
- package/dist/schemas/tidas_lciamethods.schema.js +439 -0
- package/dist/schemas/tidas_lciamethods.schema.js.map +1 -0
- package/dist/schemas/tidas_lciamethods_category.schema.d.ts +3 -0
- package/dist/schemas/tidas_lciamethods_category.schema.d.ts.map +1 -0
- package/dist/schemas/tidas_lciamethods_category.schema.js +278 -0
- package/dist/schemas/tidas_lciamethods_category.schema.js.map +1 -0
- package/dist/schemas/tidas_lifecyclemodels.schema.d.ts +9362 -0
- package/dist/schemas/tidas_lifecyclemodels.schema.d.ts.map +1 -0
- package/dist/schemas/tidas_lifecyclemodels.schema.js +384 -0
- package/dist/schemas/tidas_lifecyclemodels.schema.js.map +1 -0
- package/dist/schemas/tidas_locations_category.schema.d.ts +3 -0
- package/dist/schemas/tidas_locations_category.schema.d.ts.map +1 -0
- package/dist/schemas/tidas_locations_category.schema.js +655 -0
- package/dist/schemas/tidas_locations_category.schema.js.map +1 -0
- package/dist/schemas/tidas_processes.schema.d.ts +12861 -0
- package/dist/schemas/tidas_processes.schema.d.ts.map +1 -0
- package/dist/schemas/tidas_processes.schema.js +547 -0
- package/dist/schemas/tidas_processes.schema.js.map +1 -0
- package/dist/schemas/tidas_processes_category.schema.d.ts +3 -0
- package/dist/schemas/tidas_processes_category.schema.d.ts.map +1 -0
- package/dist/schemas/tidas_processes_category.schema.js +4480 -0
- package/dist/schemas/tidas_processes_category.schema.js.map +1 -0
- package/dist/schemas/tidas_sources.schema.d.ts +2007 -0
- package/dist/schemas/tidas_sources.schema.d.ts.map +1 -0
- package/dist/schemas/tidas_sources.schema.js +73 -0
- package/dist/schemas/tidas_sources.schema.js.map +1 -0
- package/dist/schemas/tidas_sources_category.schema.d.ts +3 -0
- package/dist/schemas/tidas_sources_category.schema.d.ts.map +1 -0
- package/dist/schemas/tidas_sources_category.schema.js +43 -0
- package/dist/schemas/tidas_sources_category.schema.js.map +1 -0
- package/dist/schemas/tidas_unitgroups.schema.d.ts +2088 -0
- package/dist/schemas/tidas_unitgroups.schema.d.ts.map +1 -0
- package/dist/schemas/tidas_unitgroups.schema.js +92 -0
- package/dist/schemas/tidas_unitgroups.schema.js.map +1 -0
- package/dist/schemas/tidas_unitgroups_category.schema.d.ts +3 -0
- package/dist/schemas/tidas_unitgroups_category.schema.d.ts.map +1 -0
- package/dist/schemas/tidas_unitgroups_category.schema.js +28 -0
- package/dist/schemas/tidas_unitgroups_category.schema.js.map +1 -0
- package/dist/types/index.d.ts +21 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/tidas_contacts.d.ts +72 -0
- package/dist/types/tidas_contacts.d.ts.map +1 -0
- package/dist/types/tidas_contacts.js +8 -0
- package/dist/types/tidas_contacts.js.map +1 -0
- package/dist/types/tidas_contacts_category.d.ts +43 -0
- package/dist/types/tidas_contacts_category.d.ts.map +1 -0
- package/dist/types/tidas_contacts_category.js +8 -0
- package/dist/types/tidas_contacts_category.js.map +1 -0
- package/dist/types/tidas_data_types.d.ts +145 -0
- package/dist/types/tidas_data_types.d.ts.map +1 -0
- package/dist/types/tidas_data_types.js +8 -0
- package/dist/types/tidas_data_types.js.map +1 -0
- package/dist/types/tidas_flowproperties.d.ts +70 -0
- package/dist/types/tidas_flowproperties.d.ts.map +1 -0
- package/dist/types/tidas_flowproperties.js +8 -0
- package/dist/types/tidas_flowproperties.js.map +1 -0
- package/dist/types/tidas_flowproperties_category.d.ts +23 -0
- package/dist/types/tidas_flowproperties_category.d.ts.map +1 -0
- package/dist/types/tidas_flowproperties_category.js +8 -0
- package/dist/types/tidas_flowproperties_category.js.map +1 -0
- package/dist/types/tidas_flows.d.ts +98 -0
- package/dist/types/tidas_flows.d.ts.map +1 -0
- package/dist/types/tidas_flows.js +8 -0
- package/dist/types/tidas_flows.js.map +1 -0
- package/dist/types/tidas_flows_elementary_category.d.ts +227 -0
- package/dist/types/tidas_flows_elementary_category.d.ts.map +1 -0
- package/dist/types/tidas_flows_elementary_category.js +8 -0
- package/dist/types/tidas_flows_elementary_category.js.map +1 -0
- package/dist/types/tidas_flows_product_category.d.ts +18391 -0
- package/dist/types/tidas_flows_product_category.d.ts.map +1 -0
- package/dist/types/tidas_flows_product_category.js +8 -0
- package/dist/types/tidas_flows_product_category.js.map +1 -0
- package/dist/types/tidas_lciamethods.d.ts +218 -0
- package/dist/types/tidas_lciamethods.d.ts.map +1 -0
- package/dist/types/tidas_lciamethods.js +8 -0
- package/dist/types/tidas_lciamethods.js.map +1 -0
- package/dist/types/tidas_lciamethods_category.d.ts +215 -0
- package/dist/types/tidas_lciamethods_category.d.ts.map +1 -0
- package/dist/types/tidas_lciamethods_category.js +8 -0
- package/dist/types/tidas_lciamethods_category.js.map +1 -0
- package/dist/types/tidas_lifecyclemodels.d.ts +250 -0
- package/dist/types/tidas_lifecyclemodels.d.ts.map +1 -0
- package/dist/types/tidas_lifecyclemodels.js +8 -0
- package/dist/types/tidas_lifecyclemodels.js.map +1 -0
- package/dist/types/tidas_locations_category.d.ts +7 -0
- package/dist/types/tidas_locations_category.d.ts.map +1 -0
- package/dist/types/tidas_locations_category.js +8 -0
- package/dist/types/tidas_locations_category.js.map +1 -0
- package/dist/types/tidas_processes.d.ts +278 -0
- package/dist/types/tidas_processes.d.ts.map +1 -0
- package/dist/types/tidas_processes.js +8 -0
- package/dist/types/tidas_processes.js.map +1 -0
- package/dist/types/tidas_processes_category.d.ts +3071 -0
- package/dist/types/tidas_processes_category.d.ts.map +1 -0
- package/dist/types/tidas_processes_category.js +8 -0
- package/dist/types/tidas_processes_category.js.map +1 -0
- package/dist/types/tidas_sources.d.ts +58 -0
- package/dist/types/tidas_sources.d.ts.map +1 -0
- package/dist/types/tidas_sources.js +8 -0
- package/dist/types/tidas_sources.js.map +1 -0
- package/dist/types/tidas_sources_category.d.ts +35 -0
- package/dist/types/tidas_sources_category.d.ts.map +1 -0
- package/dist/types/tidas_sources_category.js +8 -0
- package/dist/types/tidas_sources_category.js.map +1 -0
- package/dist/types/tidas_unitgroups.d.ts +81 -0
- package/dist/types/tidas_unitgroups.d.ts.map +1 -0
- package/dist/types/tidas_unitgroups.js +8 -0
- package/dist/types/tidas_unitgroups.js.map +1 -0
- package/dist/types/tidas_unitgroups_category.d.ts +23 -0
- package/dist/types/tidas_unitgroups_category.d.ts.map +1 -0
- package/dist/types/tidas_unitgroups_category.js +8 -0
- package/dist/types/tidas_unitgroups_category.js.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +31 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/object-utils.d.ts +29 -0
- package/dist/utils/object-utils.d.ts.map +1 -0
- package/dist/utils/object-utils.js +156 -0
- package/dist/utils/object-utils.js.map +1 -0
- package/package.json +90 -0
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TidasLCIAMethod = void 0;
|
|
4
|
+
const TidasEntity_1 = require("../base/TidasEntity");
|
|
5
|
+
const schemas_1 = require("../../schemas");
|
|
6
|
+
/**
|
|
7
|
+
* TIDAS LCIAMethod entity - pure data container
|
|
8
|
+
* Represents impact assessment methods in LCA with schema validation
|
|
9
|
+
*/
|
|
10
|
+
class TidasLCIAMethod extends TidasEntity_1.TidasEntity {
|
|
11
|
+
constructor(initialData, validationConfig) {
|
|
12
|
+
super(schemas_1.LCIAMethodSchema, initialData, validationConfig);
|
|
13
|
+
}
|
|
14
|
+
// TypeScript accessor for LCIAMethodDataSet - enables intellisense and type checking
|
|
15
|
+
get LCIAMethodDataSet() {
|
|
16
|
+
return this._data.LCIAMethodDataSet;
|
|
17
|
+
}
|
|
18
|
+
set LCIAMethodDataSet(value) {
|
|
19
|
+
this._data.LCIAMethodDataSet = value;
|
|
20
|
+
}
|
|
21
|
+
initializeDefaults() {
|
|
22
|
+
// Set required namespace attributes for TIDAS schema compliance
|
|
23
|
+
this.setNestedValue('LCIAMethodDataSet.@xmlns', 'http://lca.jrc.it/ILCD/LCIAMethod');
|
|
24
|
+
this.setNestedValue('LCIAMethodDataSet.@xmlns:common', 'http://lca.jrc.it/ILCD/Common');
|
|
25
|
+
this.setNestedValue('LCIAMethodDataSet.@xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');
|
|
26
|
+
this.setNestedValue('LCIAMethodDataSet.@version', '1.1');
|
|
27
|
+
this.setNestedValue('LCIAMethodDataSet.@xsi:schemaLocation', 'http://lca.jrc.it/ILCD/LCIAMethod ../../schemas/ILCD_LCIAMethodDataSet.xsd');
|
|
28
|
+
// Ensure required nested structure exists
|
|
29
|
+
this.ensureNestedStructure([
|
|
30
|
+
'LCIAMethodDataSet',
|
|
31
|
+
'LCIAMethodDataSet.LCIAMethodInformation',
|
|
32
|
+
'LCIAMethodDataSet.LCIAMethodInformation.dataSetInformation',
|
|
33
|
+
'LCIAMethodDataSet.LCIAMethodInformation.dataSetInformation.classificationInformation',
|
|
34
|
+
'LCIAMethodDataSet.LCIAMethodInformation.quantitativeReference',
|
|
35
|
+
'LCIAMethodDataSet.modellingAndValidation',
|
|
36
|
+
'LCIAMethodDataSet.modellingAndValidation.complianceDeclarations',
|
|
37
|
+
'LCIAMethodDataSet.administrativeInformation',
|
|
38
|
+
'LCIAMethodDataSet.administrativeInformation.dataEntryBy',
|
|
39
|
+
'LCIAMethodDataSet.administrativeInformation.publicationAndOwnership',
|
|
40
|
+
'LCIAMethodDataSet.characterisationFactors'
|
|
41
|
+
]);
|
|
42
|
+
// Set required fields with default values if they don't exist
|
|
43
|
+
if (!this.getNestedValue('LCIAMethodDataSet.LCIAMethodInformation.dataSetInformation.common:UUID')) {
|
|
44
|
+
this.setNestedValue('LCIAMethodDataSet.LCIAMethodInformation.dataSetInformation.common:UUID', crypto.randomUUID());
|
|
45
|
+
}
|
|
46
|
+
if (!this.getNestedValue('LCIAMethodDataSet.administrativeInformation.dataEntryBy.common:timeStamp')) {
|
|
47
|
+
this.setNestedValue('LCIAMethodDataSet.administrativeInformation.dataEntryBy.common:timeStamp', new Date().toISOString());
|
|
48
|
+
}
|
|
49
|
+
if (!this.getNestedValue('LCIAMethodDataSet.administrativeInformation.publicationAndOwnership.common:dataSetVersion')) {
|
|
50
|
+
this.setNestedValue('LCIAMethodDataSet.administrativeInformation.publicationAndOwnership.common:dataSetVersion', '1.0.0');
|
|
51
|
+
}
|
|
52
|
+
// Set required reference fields with default values
|
|
53
|
+
if (!this.getNestedValue('LCIAMethodDataSet.administrativeInformation.dataEntryBy.common:referenceToDataSetFormat')) {
|
|
54
|
+
this.setNestedValue('LCIAMethodDataSet.administrativeInformation.dataEntryBy.common:referenceToDataSetFormat', {
|
|
55
|
+
'@type': 'source data set',
|
|
56
|
+
'@refObjectId': '00000000-0000-0000-0000-000000000000',
|
|
57
|
+
'@version': '00.00.000',
|
|
58
|
+
'@uri': '',
|
|
59
|
+
'common:shortDescription': [{ '@xml:lang': 'en', '#text': 'ILCD format' }]
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
if (!this.getNestedValue('LCIAMethodDataSet.administrativeInformation.publicationAndOwnership.common:referenceToOwnershipOfDataSet')) {
|
|
63
|
+
this.setNestedValue('LCIAMethodDataSet.administrativeInformation.publicationAndOwnership.common:referenceToOwnershipOfDataSet', {
|
|
64
|
+
'@type': 'contact data set',
|
|
65
|
+
'@refObjectId': this.getNestedValue('LCIAMethodDataSet.LCIAMethodInformation.dataSetInformation.common:UUID'),
|
|
66
|
+
'@version': '00.00.000',
|
|
67
|
+
'@uri': '',
|
|
68
|
+
'common:shortDescription': [{ '@xml:lang': 'en', '#text': 'Own data set' }]
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
// Initialize empty arrays for multi-language text fields
|
|
72
|
+
if (!this.getNestedValue('LCIAMethodDataSet.LCIAMethodInformation.dataSetInformation.common:name')) {
|
|
73
|
+
this.setNestedValue('LCIAMethodDataSet.LCIAMethodInformation.dataSetInformation.common:name', []);
|
|
74
|
+
}
|
|
75
|
+
if (!this.getNestedValue('LCIAMethodDataSet.LCIAMethodInformation.dataSetInformation.common:shortName')) {
|
|
76
|
+
this.setNestedValue('LCIAMethodDataSet.LCIAMethodInformation.dataSetInformation.common:shortName', []);
|
|
77
|
+
}
|
|
78
|
+
if (!this.getNestedValue('LCIAMethodDataSet.LCIAMethodInformation.dataSetInformation.common:synonyms')) {
|
|
79
|
+
this.setNestedValue('LCIAMethodDataSet.LCIAMethodInformation.dataSetInformation.common:synonyms', []);
|
|
80
|
+
}
|
|
81
|
+
if (!this.getNestedValue('LCIAMethodDataSet.LCIAMethodInformation.dataSetInformation.common:generalComment')) {
|
|
82
|
+
this.setNestedValue('LCIAMethodDataSet.LCIAMethodInformation.dataSetInformation.common:generalComment', []);
|
|
83
|
+
}
|
|
84
|
+
// Initialize required classification structure
|
|
85
|
+
if (!this.getNestedValue('LCIAMethodDataSet.LCIAMethodInformation.dataSetInformation.classificationInformation.common:classification')) {
|
|
86
|
+
this.setNestedValue('LCIAMethodDataSet.LCIAMethodInformation.dataSetInformation.classificationInformation.common:classification', {
|
|
87
|
+
'common:class': {
|
|
88
|
+
'@level': '0',
|
|
89
|
+
'@classId': '00000000-0000-0000-0000-000000000000',
|
|
90
|
+
'#text': 'General LCIA method'
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
// Initialize characterisation factors array
|
|
95
|
+
if (!this.getNestedValue('LCIAMethodDataSet.characterisationFactors')) {
|
|
96
|
+
this.setNestedValue('LCIAMethodDataSet.characterisationFactors', []);
|
|
97
|
+
}
|
|
98
|
+
// Set default method type
|
|
99
|
+
if (!this.getNestedValue('LCIAMethodDataSet.LCIAMethodInformation.dataSetInformation.typeOfDataSet')) {
|
|
100
|
+
this.setNestedValue('LCIAMethodDataSet.LCIAMethodInformation.dataSetInformation.typeOfDataSet', 'Mid-point indicator');
|
|
101
|
+
}
|
|
102
|
+
// Set default impact category
|
|
103
|
+
if (!this.getNestedValue('LCIAMethodDataSet.LCIAMethodInformation.dataSetInformation.impactCategory')) {
|
|
104
|
+
this.setNestedValue('LCIAMethodDataSet.LCIAMethodInformation.dataSetInformation.impactCategory', [{ '@xml:lang': 'en', '#text': 'Environmental impact' }]);
|
|
105
|
+
}
|
|
106
|
+
// Set default area of protection
|
|
107
|
+
if (!this.getNestedValue('LCIAMethodDataSet.LCIAMethodInformation.dataSetInformation.areaOfProtection')) {
|
|
108
|
+
this.setNestedValue('LCIAMethodDataSet.LCIAMethodInformation.dataSetInformation.areaOfProtection', [{ '@xml:lang': 'en', '#text': 'Natural environment' }]);
|
|
109
|
+
}
|
|
110
|
+
// Set reference quantity
|
|
111
|
+
if (!this.getNestedValue('LCIAMethodDataSet.LCIAMethodInformation.quantitativeReference.referenceQuantity')) {
|
|
112
|
+
this.setNestedValue('LCIAMethodDataSet.LCIAMethodInformation.quantitativeReference.referenceQuantity', '0');
|
|
113
|
+
}
|
|
114
|
+
// Set default copyright protection
|
|
115
|
+
if (!this.getNestedValue('LCIAMethodDataSet.administrativeInformation.publicationAndOwnership.common:copyright')) {
|
|
116
|
+
this.setNestedValue('LCIAMethodDataSet.administrativeInformation.publicationAndOwnership.common:copyright', false);
|
|
117
|
+
}
|
|
118
|
+
// Set default access restrictions
|
|
119
|
+
if (!this.getNestedValue('LCIAMethodDataSet.administrativeInformation.publicationAndOwnership.common:accessRestrictions')) {
|
|
120
|
+
this.setNestedValue('LCIAMethodDataSet.administrativeInformation.publicationAndOwnership.common:accessRestrictions', []);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
exports.TidasLCIAMethod = TidasLCIAMethod;
|
|
125
|
+
//# sourceMappingURL=TidasLCIAMethod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TidasLCIAMethod.js","sourceRoot":"","sources":["../../../src/core/entities/TidasLCIAMethod.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TidasEntity } from '../base/TidasEntity';
|
|
2
|
+
import { LifeCycleModel } from '../../types';
|
|
3
|
+
import { ValidationConfig } from '../config/ValidationConfig';
|
|
4
|
+
/**
|
|
5
|
+
* TIDAS LifeCycleModel entity - pure data container
|
|
6
|
+
* Represents system models in LCA with schema validation
|
|
7
|
+
*/
|
|
8
|
+
export declare class TidasLifeCycleModel extends TidasEntity<LifeCycleModel> {
|
|
9
|
+
constructor(initialData?: Partial<LifeCycleModel>, validationConfig?: Partial<ValidationConfig>);
|
|
10
|
+
get lifeCycleModelDataSet(): LifeCycleModel['lifeCycleModelDataSet'];
|
|
11
|
+
set lifeCycleModelDataSet(value: LifeCycleModel['lifeCycleModelDataSet']);
|
|
12
|
+
protected initializeDefaults(): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=TidasLifeCycleModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TidasLifeCycleModel.d.ts","sourceRoot":"","sources":["../../../src/core/entities/TidasLifeCycleModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,WAAW,CAAC,cAAc,CAAC;gBAEtD,WAAW,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAK/F,IAAI,qBAAqB,IAAI,cAAc,CAAC,uBAAuB,CAAC,CAEnE;IAED,IAAI,qBAAqB,CAAC,KAAK,EAAE,cAAc,CAAC,uBAAuB,CAAC,EAEvE;IAED,SAAS,CAAC,kBAAkB,IAAI,IAAI;CA8GrC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TidasLifeCycleModel = void 0;
|
|
4
|
+
const TidasEntity_1 = require("../base/TidasEntity");
|
|
5
|
+
const schemas_1 = require("../../schemas");
|
|
6
|
+
/**
|
|
7
|
+
* TIDAS LifeCycleModel entity - pure data container
|
|
8
|
+
* Represents system models in LCA with schema validation
|
|
9
|
+
*/
|
|
10
|
+
class TidasLifeCycleModel extends TidasEntity_1.TidasEntity {
|
|
11
|
+
constructor(initialData, validationConfig) {
|
|
12
|
+
super(schemas_1.LifeCycleModelSchema, initialData, validationConfig);
|
|
13
|
+
}
|
|
14
|
+
// TypeScript accessor for lifeCycleModelDataSet - enables intellisense and type checking
|
|
15
|
+
get lifeCycleModelDataSet() {
|
|
16
|
+
return this._data.lifeCycleModelDataSet;
|
|
17
|
+
}
|
|
18
|
+
set lifeCycleModelDataSet(value) {
|
|
19
|
+
this._data.lifeCycleModelDataSet = value;
|
|
20
|
+
}
|
|
21
|
+
initializeDefaults() {
|
|
22
|
+
// Set required namespace attributes for TIDAS schema compliance
|
|
23
|
+
this.setNestedValue('lifeCycleModelDataSet.@xmlns', 'http://lca.jrc.it/ILCD/LifeCycleModel');
|
|
24
|
+
this.setNestedValue('lifeCycleModelDataSet.@xmlns:common', 'http://lca.jrc.it/ILCD/Common');
|
|
25
|
+
this.setNestedValue('lifeCycleModelDataSet.@xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');
|
|
26
|
+
this.setNestedValue('lifeCycleModelDataSet.@version', '1.1');
|
|
27
|
+
this.setNestedValue('lifeCycleModelDataSet.@xsi:schemaLocation', 'http://lca.jrc.it/ILCD/LifeCycleModel ../../schemas/ILCD_LifeCycleModelDataSet.xsd');
|
|
28
|
+
// Ensure required nested structure exists
|
|
29
|
+
this.ensureNestedStructure([
|
|
30
|
+
'lifeCycleModelDataSet',
|
|
31
|
+
'lifeCycleModelDataSet.lifeCycleModelInformation',
|
|
32
|
+
'lifeCycleModelDataSet.lifeCycleModelInformation.dataSetInformation',
|
|
33
|
+
'lifeCycleModelDataSet.lifeCycleModelInformation.dataSetInformation.classificationInformation',
|
|
34
|
+
'lifeCycleModelDataSet.lifeCycleModelInformation.quantitativeReference',
|
|
35
|
+
'lifeCycleModelDataSet.modellingAndValidation',
|
|
36
|
+
'lifeCycleModelDataSet.modellingAndValidation.complianceDeclarations',
|
|
37
|
+
'lifeCycleModelDataSet.administrativeInformation',
|
|
38
|
+
'lifeCycleModelDataSet.administrativeInformation.dataEntryBy',
|
|
39
|
+
'lifeCycleModelDataSet.administrativeInformation.publicationAndOwnership',
|
|
40
|
+
'lifeCycleModelDataSet.technology'
|
|
41
|
+
]);
|
|
42
|
+
// Set required fields with default values if they don't exist
|
|
43
|
+
if (!this.getNestedValue('lifeCycleModelDataSet.lifeCycleModelInformation.dataSetInformation.common:UUID')) {
|
|
44
|
+
this.setNestedValue('lifeCycleModelDataSet.lifeCycleModelInformation.dataSetInformation.common:UUID', crypto.randomUUID());
|
|
45
|
+
}
|
|
46
|
+
if (!this.getNestedValue('lifeCycleModelDataSet.administrativeInformation.dataEntryBy.common:timeStamp')) {
|
|
47
|
+
this.setNestedValue('lifeCycleModelDataSet.administrativeInformation.dataEntryBy.common:timeStamp', new Date().toISOString());
|
|
48
|
+
}
|
|
49
|
+
if (!this.getNestedValue('lifeCycleModelDataSet.administrativeInformation.publicationAndOwnership.common:dataSetVersion')) {
|
|
50
|
+
this.setNestedValue('lifeCycleModelDataSet.administrativeInformation.publicationAndOwnership.common:dataSetVersion', '1.0.0');
|
|
51
|
+
}
|
|
52
|
+
// Set required reference fields with default values
|
|
53
|
+
if (!this.getNestedValue('lifeCycleModelDataSet.administrativeInformation.dataEntryBy.common:referenceToDataSetFormat')) {
|
|
54
|
+
this.setNestedValue('lifeCycleModelDataSet.administrativeInformation.dataEntryBy.common:referenceToDataSetFormat', {
|
|
55
|
+
'@type': 'source data set',
|
|
56
|
+
'@refObjectId': '00000000-0000-0000-0000-000000000000',
|
|
57
|
+
'@version': '00.00.000',
|
|
58
|
+
'@uri': '',
|
|
59
|
+
'common:shortDescription': [{ '@xml:lang': 'en', '#text': 'ILCD format' }]
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
if (!this.getNestedValue('lifeCycleModelDataSet.administrativeInformation.publicationAndOwnership.common:referenceToOwnershipOfDataSet')) {
|
|
63
|
+
this.setNestedValue('lifeCycleModelDataSet.administrativeInformation.publicationAndOwnership.common:referenceToOwnershipOfDataSet', {
|
|
64
|
+
'@type': 'contact data set',
|
|
65
|
+
'@refObjectId': this.getNestedValue('lifeCycleModelDataSet.lifeCycleModelInformation.dataSetInformation.common:UUID'),
|
|
66
|
+
'@version': '00.00.000',
|
|
67
|
+
'@uri': '',
|
|
68
|
+
'common:shortDescription': [{ '@xml:lang': 'en', '#text': 'Own data set' }]
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
// Initialize empty arrays for multi-language text fields
|
|
72
|
+
if (!this.getNestedValue('lifeCycleModelDataSet.lifeCycleModelInformation.dataSetInformation.common:name')) {
|
|
73
|
+
this.setNestedValue('lifeCycleModelDataSet.lifeCycleModelInformation.dataSetInformation.common:name', []);
|
|
74
|
+
}
|
|
75
|
+
if (!this.getNestedValue('lifeCycleModelDataSet.lifeCycleModelInformation.dataSetInformation.common:shortName')) {
|
|
76
|
+
this.setNestedValue('lifeCycleModelDataSet.lifeCycleModelInformation.dataSetInformation.common:shortName', []);
|
|
77
|
+
}
|
|
78
|
+
if (!this.getNestedValue('lifeCycleModelDataSet.lifeCycleModelInformation.dataSetInformation.common:synonyms')) {
|
|
79
|
+
this.setNestedValue('lifeCycleModelDataSet.lifeCycleModelInformation.dataSetInformation.common:synonyms', []);
|
|
80
|
+
}
|
|
81
|
+
if (!this.getNestedValue('lifeCycleModelDataSet.lifeCycleModelInformation.dataSetInformation.common:generalComment')) {
|
|
82
|
+
this.setNestedValue('lifeCycleModelDataSet.lifeCycleModelInformation.dataSetInformation.common:generalComment', []);
|
|
83
|
+
}
|
|
84
|
+
// Initialize required classification structure
|
|
85
|
+
if (!this.getNestedValue('lifeCycleModelDataSet.lifeCycleModelInformation.dataSetInformation.classificationInformation.common:classification')) {
|
|
86
|
+
this.setNestedValue('lifeCycleModelDataSet.lifeCycleModelInformation.dataSetInformation.classificationInformation.common:classification', {
|
|
87
|
+
'common:class': {
|
|
88
|
+
'@level': '0',
|
|
89
|
+
'@classId': '00000000-0000-0000-0000-000000000000',
|
|
90
|
+
'#text': 'General life cycle model'
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
// Initialize technology array
|
|
95
|
+
if (!this.getNestedValue('lifeCycleModelDataSet.technology')) {
|
|
96
|
+
this.setNestedValue('lifeCycleModelDataSet.technology', []);
|
|
97
|
+
}
|
|
98
|
+
// Set default model type
|
|
99
|
+
if (!this.getNestedValue('lifeCycleModelDataSet.lifeCycleModelInformation.dataSetInformation.typeOfModel')) {
|
|
100
|
+
this.setNestedValue('lifeCycleModelDataSet.lifeCycleModelInformation.dataSetInformation.typeOfModel', 'Product system model');
|
|
101
|
+
}
|
|
102
|
+
// Set default functional unit or other reference
|
|
103
|
+
if (!this.getNestedValue('lifeCycleModelDataSet.lifeCycleModelInformation.quantitativeReference.functionalUnitOrOther')) {
|
|
104
|
+
this.setNestedValue('lifeCycleModelDataSet.lifeCycleModelInformation.quantitativeReference.functionalUnitOrOther', [{ '@xml:lang': 'en', '#text': 'Functional unit' }]);
|
|
105
|
+
}
|
|
106
|
+
// Set default copyright protection
|
|
107
|
+
if (!this.getNestedValue('lifeCycleModelDataSet.administrativeInformation.publicationAndOwnership.common:copyright')) {
|
|
108
|
+
this.setNestedValue('lifeCycleModelDataSet.administrativeInformation.publicationAndOwnership.common:copyright', false);
|
|
109
|
+
}
|
|
110
|
+
// Set default access restrictions
|
|
111
|
+
if (!this.getNestedValue('lifeCycleModelDataSet.administrativeInformation.publicationAndOwnership.common:accessRestrictions')) {
|
|
112
|
+
this.setNestedValue('lifeCycleModelDataSet.administrativeInformation.publicationAndOwnership.common:accessRestrictions', []);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
exports.TidasLifeCycleModel = TidasLifeCycleModel;
|
|
117
|
+
//# sourceMappingURL=TidasLifeCycleModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TidasLifeCycleModel.js","sourceRoot":"","sources":["../../../src/core/entities/TidasLifeCycleModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TidasEntity } from '../base/TidasEntity';
|
|
2
|
+
import { Process } from '../../types';
|
|
3
|
+
import { ValidationConfig } from '../config/ValidationConfig';
|
|
4
|
+
/**
|
|
5
|
+
* TIDAS Process entity - pure data container
|
|
6
|
+
* Represents unit processes/activities in LCA with schema validation
|
|
7
|
+
*/
|
|
8
|
+
export declare class TidasProcess extends TidasEntity<Process> {
|
|
9
|
+
constructor(initialData?: Partial<Process>, validationConfig?: Partial<ValidationConfig>);
|
|
10
|
+
get processDataSet(): Process['processDataSet'];
|
|
11
|
+
set processDataSet(value: Process['processDataSet']);
|
|
12
|
+
protected initializeDefaults(): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=TidasProcess.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TidasProcess.d.ts","sourceRoot":"","sources":["../../../src/core/entities/TidasProcess.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D;;;GAGG;AACH,qBAAa,YAAa,SAAQ,WAAW,CAAC,OAAO,CAAC;gBAExC,WAAW,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAKxF,IAAI,cAAc,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAE9C;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAElD;IAED,SAAS,CAAC,kBAAkB,IAAI,IAAI;CA4HrC"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TidasProcess = void 0;
|
|
4
|
+
const TidasEntity_1 = require("../base/TidasEntity");
|
|
5
|
+
const schemas_1 = require("../../schemas");
|
|
6
|
+
/**
|
|
7
|
+
* TIDAS Process entity - pure data container
|
|
8
|
+
* Represents unit processes/activities in LCA with schema validation
|
|
9
|
+
*/
|
|
10
|
+
class TidasProcess extends TidasEntity_1.TidasEntity {
|
|
11
|
+
constructor(initialData, validationConfig) {
|
|
12
|
+
super(schemas_1.ProcessSchema, initialData, validationConfig);
|
|
13
|
+
}
|
|
14
|
+
// TypeScript accessor for processDataSet - enables intellisense and type checking
|
|
15
|
+
get processDataSet() {
|
|
16
|
+
return this._data.processDataSet;
|
|
17
|
+
}
|
|
18
|
+
set processDataSet(value) {
|
|
19
|
+
this._data.processDataSet = value;
|
|
20
|
+
}
|
|
21
|
+
initializeDefaults() {
|
|
22
|
+
// Set required namespace attributes for TIDAS schema compliance
|
|
23
|
+
this.setNestedValue('processDataSet.@xmlns', 'http://lca.jrc.it/ILCD/Process');
|
|
24
|
+
this.setNestedValue('processDataSet.@xmlns:common', 'http://lca.jrc.it/ILCD/Common');
|
|
25
|
+
this.setNestedValue('processDataSet.@xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');
|
|
26
|
+
this.setNestedValue('processDataSet.@version', '1.1');
|
|
27
|
+
this.setNestedValue('processDataSet.@xsi:schemaLocation', 'http://lca.jrc.it/ILCD/Process ../../schemas/ILCD_ProcessDataSet.xsd');
|
|
28
|
+
// Ensure required nested structure exists
|
|
29
|
+
this.ensureNestedStructure([
|
|
30
|
+
'processDataSet',
|
|
31
|
+
'processDataSet.processInformation',
|
|
32
|
+
'processDataSet.processInformation.dataSetInformation',
|
|
33
|
+
'processDataSet.processInformation.dataSetInformation.classificationInformation',
|
|
34
|
+
'processDataSet.processInformation.quantitativeReference',
|
|
35
|
+
'processDataSet.processInformation.time',
|
|
36
|
+
'processDataSet.processInformation.geography',
|
|
37
|
+
'processDataSet.processInformation.technology',
|
|
38
|
+
'processDataSet.modellingAndValidation',
|
|
39
|
+
'processDataSet.modellingAndValidation.LCIMethodAndAllocation',
|
|
40
|
+
'processDataSet.modellingAndValidation.dataSourcesTreatmentAndRepresentativeness',
|
|
41
|
+
'processDataSet.modellingAndValidation.validation',
|
|
42
|
+
'processDataSet.modellingAndValidation.complianceDeclarations',
|
|
43
|
+
'processDataSet.administrativeInformation',
|
|
44
|
+
'processDataSet.administrativeInformation.dataEntryBy',
|
|
45
|
+
'processDataSet.administrativeInformation.publicationAndOwnership',
|
|
46
|
+
'processDataSet.exchanges'
|
|
47
|
+
]);
|
|
48
|
+
// Set required fields with default values if they don't exist
|
|
49
|
+
if (!this.getNestedValue('processDataSet.processInformation.dataSetInformation.common:UUID')) {
|
|
50
|
+
this.setNestedValue('processDataSet.processInformation.dataSetInformation.common:UUID', crypto.randomUUID());
|
|
51
|
+
}
|
|
52
|
+
if (!this.getNestedValue('processDataSet.administrativeInformation.dataEntryBy.common:timeStamp')) {
|
|
53
|
+
this.setNestedValue('processDataSet.administrativeInformation.dataEntryBy.common:timeStamp', new Date().toISOString());
|
|
54
|
+
}
|
|
55
|
+
if (!this.getNestedValue('processDataSet.administrativeInformation.publicationAndOwnership.common:dataSetVersion')) {
|
|
56
|
+
this.setNestedValue('processDataSet.administrativeInformation.publicationAndOwnership.common:dataSetVersion', '1.0.0');
|
|
57
|
+
}
|
|
58
|
+
// Set required reference fields with default values
|
|
59
|
+
if (!this.getNestedValue('processDataSet.administrativeInformation.dataEntryBy.common:referenceToDataSetFormat')) {
|
|
60
|
+
this.setNestedValue('processDataSet.administrativeInformation.dataEntryBy.common:referenceToDataSetFormat', {
|
|
61
|
+
'@type': 'source data set',
|
|
62
|
+
'@refObjectId': '00000000-0000-0000-0000-000000000000',
|
|
63
|
+
'@version': '00.00.000',
|
|
64
|
+
'@uri': '',
|
|
65
|
+
'common:shortDescription': [{ '@xml:lang': 'en', '#text': 'ILCD format' }]
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
if (!this.getNestedValue('processDataSet.administrativeInformation.publicationAndOwnership.common:referenceToOwnershipOfDataSet')) {
|
|
69
|
+
this.setNestedValue('processDataSet.administrativeInformation.publicationAndOwnership.common:referenceToOwnershipOfDataSet', {
|
|
70
|
+
'@type': 'contact data set',
|
|
71
|
+
'@refObjectId': this.getNestedValue('processDataSet.processInformation.dataSetInformation.common:UUID'),
|
|
72
|
+
'@version': '00.00.000',
|
|
73
|
+
'@uri': '',
|
|
74
|
+
'common:shortDescription': [{ '@xml:lang': 'en', '#text': 'Own data set' }]
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
// Initialize empty arrays for multi-language text fields
|
|
78
|
+
if (!this.getNestedValue('processDataSet.processInformation.dataSetInformation.common:name')) {
|
|
79
|
+
this.setNestedValue('processDataSet.processInformation.dataSetInformation.common:name', []);
|
|
80
|
+
}
|
|
81
|
+
if (!this.getNestedValue('processDataSet.processInformation.dataSetInformation.common:shortName')) {
|
|
82
|
+
this.setNestedValue('processDataSet.processInformation.dataSetInformation.common:shortName', []);
|
|
83
|
+
}
|
|
84
|
+
if (!this.getNestedValue('processDataSet.processInformation.dataSetInformation.common:synonyms')) {
|
|
85
|
+
this.setNestedValue('processDataSet.processInformation.dataSetInformation.common:synonyms', []);
|
|
86
|
+
}
|
|
87
|
+
if (!this.getNestedValue('processDataSet.processInformation.dataSetInformation.common:generalComment')) {
|
|
88
|
+
this.setNestedValue('processDataSet.processInformation.dataSetInformation.common:generalComment', []);
|
|
89
|
+
}
|
|
90
|
+
// Initialize required classification structure
|
|
91
|
+
if (!this.getNestedValue('processDataSet.processInformation.dataSetInformation.classificationInformation.common:classification')) {
|
|
92
|
+
this.setNestedValue('processDataSet.processInformation.dataSetInformation.classificationInformation.common:classification', {
|
|
93
|
+
'common:class': {
|
|
94
|
+
'@level': '0',
|
|
95
|
+
'@classId': '00000000-0000-0000-0000-000000000000',
|
|
96
|
+
'#text': 'General process'
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
// Initialize exchanges array
|
|
101
|
+
if (!this.getNestedValue('processDataSet.exchanges')) {
|
|
102
|
+
this.setNestedValue('processDataSet.exchanges', []);
|
|
103
|
+
}
|
|
104
|
+
// Set default process type
|
|
105
|
+
if (!this.getNestedValue('processDataSet.modellingAndValidation.LCIMethodAndAllocation.typeOfDataSet')) {
|
|
106
|
+
this.setNestedValue('processDataSet.modellingAndValidation.LCIMethodAndAllocation.typeOfDataSet', 'Unit process, single operation');
|
|
107
|
+
}
|
|
108
|
+
// Set default LCI method type
|
|
109
|
+
if (!this.getNestedValue('processDataSet.modellingAndValidation.LCIMethodAndAllocation.LCIMethodPrinciple')) {
|
|
110
|
+
this.setNestedValue('processDataSet.modellingAndValidation.LCIMethodAndAllocation.LCIMethodPrinciple', 'Attributional');
|
|
111
|
+
}
|
|
112
|
+
// Initialize time period
|
|
113
|
+
if (!this.getNestedValue('processDataSet.processInformation.time.common:referenceYear')) {
|
|
114
|
+
this.setNestedValue('processDataSet.processInformation.time.common:referenceYear', new Date().getFullYear());
|
|
115
|
+
}
|
|
116
|
+
// Initialize geography - ensure required location is set
|
|
117
|
+
this.setNestedValue('processDataSet.processInformation.geography.locationOfOperationSupplyOrProduction.@location', 'GLO');
|
|
118
|
+
// Initialize technology
|
|
119
|
+
if (!this.getNestedValue('processDataSet.processInformation.technology.technologyDescriptionAndIncludedProcesses')) {
|
|
120
|
+
this.setNestedValue('processDataSet.processInformation.technology.technologyDescriptionAndIncludedProcesses', []);
|
|
121
|
+
}
|
|
122
|
+
// Set default quantitative reference type
|
|
123
|
+
if (!this.getNestedValue('processDataSet.processInformation.quantitativeReference.@type')) {
|
|
124
|
+
this.setNestedValue('processDataSet.processInformation.quantitativeReference.@type', 'Reference flow(s)');
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
exports.TidasProcess = TidasProcess;
|
|
129
|
+
//# sourceMappingURL=TidasProcess.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TidasProcess.js","sourceRoot":"","sources":["../../../src/core/entities/TidasProcess.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TidasEntity } from '../base/TidasEntity';
|
|
2
|
+
import { Source } from '../../types';
|
|
3
|
+
import { ValidationConfig } from '../config/ValidationConfig';
|
|
4
|
+
/**
|
|
5
|
+
* TIDAS Source entity - pure data container
|
|
6
|
+
* Represents data sources and references in LCA with schema validation
|
|
7
|
+
*/
|
|
8
|
+
export declare class TidasSource extends TidasEntity<Source> {
|
|
9
|
+
constructor(initialData?: Partial<Source>, validationConfig?: Partial<ValidationConfig>);
|
|
10
|
+
get sourceDataSet(): Source['sourceDataSet'];
|
|
11
|
+
set sourceDataSet(value: Source['sourceDataSet']);
|
|
12
|
+
protected initializeDefaults(): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=TidasSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TidasSource.d.ts","sourceRoot":"","sources":["../../../src/core/entities/TidasSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D;;;GAGG;AACH,qBAAa,WAAY,SAAQ,WAAW,CAAC,MAAM,CAAC;gBAEtC,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAKvF,IAAI,aAAa,IAAI,MAAM,CAAC,eAAe,CAAC,CAE3C;IAED,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC,EAE/C;IAED,SAAS,CAAC,kBAAkB,IAAI,IAAI;CA2FrC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TidasSource = void 0;
|
|
4
|
+
const TidasEntity_1 = require("../base/TidasEntity");
|
|
5
|
+
const schemas_1 = require("../../schemas");
|
|
6
|
+
/**
|
|
7
|
+
* TIDAS Source entity - pure data container
|
|
8
|
+
* Represents data sources and references in LCA with schema validation
|
|
9
|
+
*/
|
|
10
|
+
class TidasSource extends TidasEntity_1.TidasEntity {
|
|
11
|
+
constructor(initialData, validationConfig) {
|
|
12
|
+
super(schemas_1.SourceSchema, initialData, validationConfig);
|
|
13
|
+
}
|
|
14
|
+
// TypeScript accessor for sourceDataSet - enables intellisense and type checking
|
|
15
|
+
get sourceDataSet() {
|
|
16
|
+
return this._data.sourceDataSet;
|
|
17
|
+
}
|
|
18
|
+
set sourceDataSet(value) {
|
|
19
|
+
this._data.sourceDataSet = value;
|
|
20
|
+
}
|
|
21
|
+
initializeDefaults() {
|
|
22
|
+
// Set required namespace attributes for TIDAS schema compliance
|
|
23
|
+
this.setNestedValue('sourceDataSet.@xmlns', 'http://lca.jrc.it/ILCD/Source');
|
|
24
|
+
this.setNestedValue('sourceDataSet.@xmlns:common', 'http://lca.jrc.it/ILCD/Common');
|
|
25
|
+
this.setNestedValue('sourceDataSet.@xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');
|
|
26
|
+
this.setNestedValue('sourceDataSet.@version', '1.1');
|
|
27
|
+
this.setNestedValue('sourceDataSet.@xsi:schemaLocation', 'http://lca.jrc.it/ILCD/Source ../../schemas/ILCD_SourceDataSet.xsd');
|
|
28
|
+
// Ensure required nested structure exists
|
|
29
|
+
this.ensureNestedStructure([
|
|
30
|
+
'sourceDataSet',
|
|
31
|
+
'sourceDataSet.sourceInformation',
|
|
32
|
+
'sourceDataSet.sourceInformation.dataSetInformation',
|
|
33
|
+
'sourceDataSet.sourceInformation.dataSetInformation.classificationInformation',
|
|
34
|
+
'sourceDataSet.administrativeInformation',
|
|
35
|
+
'sourceDataSet.administrativeInformation.dataEntryBy',
|
|
36
|
+
'sourceDataSet.administrativeInformation.publicationAndOwnership'
|
|
37
|
+
]);
|
|
38
|
+
// Set required fields with default values if they don't exist
|
|
39
|
+
if (!this.getNestedValue('sourceDataSet.sourceInformation.dataSetInformation.common:UUID')) {
|
|
40
|
+
this.setNestedValue('sourceDataSet.sourceInformation.dataSetInformation.common:UUID', crypto.randomUUID());
|
|
41
|
+
}
|
|
42
|
+
if (!this.getNestedValue('sourceDataSet.administrativeInformation.dataEntryBy.common:timeStamp')) {
|
|
43
|
+
this.setNestedValue('sourceDataSet.administrativeInformation.dataEntryBy.common:timeStamp', new Date().toISOString());
|
|
44
|
+
}
|
|
45
|
+
if (!this.getNestedValue('sourceDataSet.administrativeInformation.publicationAndOwnership.common:dataSetVersion')) {
|
|
46
|
+
this.setNestedValue('sourceDataSet.administrativeInformation.publicationAndOwnership.common:dataSetVersion', '1.0.0');
|
|
47
|
+
}
|
|
48
|
+
// Set required reference fields with default values
|
|
49
|
+
if (!this.getNestedValue('sourceDataSet.administrativeInformation.dataEntryBy.common:referenceToDataSetFormat')) {
|
|
50
|
+
this.setNestedValue('sourceDataSet.administrativeInformation.dataEntryBy.common:referenceToDataSetFormat', {
|
|
51
|
+
'@type': 'source data set',
|
|
52
|
+
'@refObjectId': '00000000-0000-0000-0000-000000000000',
|
|
53
|
+
'@version': '00.00.000',
|
|
54
|
+
'@uri': '',
|
|
55
|
+
'common:shortDescription': [{ '@xml:lang': 'en', '#text': 'ILCD format' }]
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
if (!this.getNestedValue('sourceDataSet.administrativeInformation.publicationAndOwnership.common:referenceToOwnershipOfDataSet')) {
|
|
59
|
+
this.setNestedValue('sourceDataSet.administrativeInformation.publicationAndOwnership.common:referenceToOwnershipOfDataSet', {
|
|
60
|
+
'@type': 'contact data set',
|
|
61
|
+
'@refObjectId': this.getNestedValue('sourceDataSet.sourceInformation.dataSetInformation.common:UUID'),
|
|
62
|
+
'@version': '00.00.000',
|
|
63
|
+
'@uri': '',
|
|
64
|
+
'common:shortDescription': [{ '@xml:lang': 'en', '#text': 'Own data set' }]
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
// Initialize empty arrays for multi-language text fields
|
|
68
|
+
if (!this.getNestedValue('sourceDataSet.sourceInformation.dataSetInformation.common:shortName')) {
|
|
69
|
+
this.setNestedValue('sourceDataSet.sourceInformation.dataSetInformation.common:shortName', []);
|
|
70
|
+
}
|
|
71
|
+
if (!this.getNestedValue('sourceDataSet.sourceInformation.dataSetInformation.sourceCitation')) {
|
|
72
|
+
this.setNestedValue('sourceDataSet.sourceInformation.dataSetInformation.sourceCitation', []);
|
|
73
|
+
}
|
|
74
|
+
if (!this.getNestedValue('sourceDataSet.sourceInformation.dataSetInformation.publicationType')) {
|
|
75
|
+
this.setNestedValue('sourceDataSet.sourceInformation.dataSetInformation.publicationType', 'Other');
|
|
76
|
+
}
|
|
77
|
+
if (!this.getNestedValue('sourceDataSet.sourceInformation.dataSetInformation.sourceDescriptionOrComment')) {
|
|
78
|
+
this.setNestedValue('sourceDataSet.sourceInformation.dataSetInformation.sourceDescriptionOrComment', []);
|
|
79
|
+
}
|
|
80
|
+
// Initialize required classification structure
|
|
81
|
+
if (!this.getNestedValue('sourceDataSet.sourceInformation.dataSetInformation.classificationInformation.common:classification')) {
|
|
82
|
+
this.setNestedValue('sourceDataSet.sourceInformation.dataSetInformation.classificationInformation.common:classification', {
|
|
83
|
+
'common:class': {
|
|
84
|
+
'@level': '0',
|
|
85
|
+
'@classId': '00000000-0000-0000-0000-000000000000',
|
|
86
|
+
'#text': 'General source'
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
// Set default copyright protection
|
|
91
|
+
if (!this.getNestedValue('sourceDataSet.administrativeInformation.publicationAndOwnership.common:copyright')) {
|
|
92
|
+
this.setNestedValue('sourceDataSet.administrativeInformation.publicationAndOwnership.common:copyright', false);
|
|
93
|
+
}
|
|
94
|
+
// Set default access restrictions
|
|
95
|
+
if (!this.getNestedValue('sourceDataSet.administrativeInformation.publicationAndOwnership.common:accessRestrictions')) {
|
|
96
|
+
this.setNestedValue('sourceDataSet.administrativeInformation.publicationAndOwnership.common:accessRestrictions', []);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.TidasSource = TidasSource;
|
|
101
|
+
//# sourceMappingURL=TidasSource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TidasSource.js","sourceRoot":"","sources":["../../../src/core/entities/TidasSource.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TidasEntity } from '../base/TidasEntity';
|
|
2
|
+
import { UnitGroup } from '../../types';
|
|
3
|
+
import { ValidationConfig } from '../config/ValidationConfig';
|
|
4
|
+
/**
|
|
5
|
+
* TIDAS UnitGroup entity - pure data container
|
|
6
|
+
* Represents measurement unit groups in LCA with schema validation
|
|
7
|
+
*/
|
|
8
|
+
export declare class TidasUnitGroup extends TidasEntity<UnitGroup> {
|
|
9
|
+
constructor(initialData?: Partial<UnitGroup>, validationConfig?: Partial<ValidationConfig>);
|
|
10
|
+
get unitGroupDataSet(): UnitGroup['unitGroupDataSet'];
|
|
11
|
+
set unitGroupDataSet(value: UnitGroup['unitGroupDataSet']);
|
|
12
|
+
protected initializeDefaults(): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=TidasUnitGroup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TidasUnitGroup.d.ts","sourceRoot":"","sources":["../../../src/core/entities/TidasUnitGroup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D;;;GAGG;AACH,qBAAa,cAAe,SAAQ,WAAW,CAAC,SAAS,CAAC;gBAE5C,WAAW,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAK1F,IAAI,gBAAgB,IAAI,SAAS,CAAC,kBAAkB,CAAC,CAEpD;IAED,IAAI,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,kBAAkB,CAAC,EAExD;IAED,SAAS,CAAC,kBAAkB,IAAI,IAAI;CAkHrC"}
|