@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.
Files changed (227) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +0 -0
  3. package/dist/core/base/TidasEntity.d.ts +97 -0
  4. package/dist/core/base/TidasEntity.d.ts.map +1 -0
  5. package/dist/core/base/TidasEntity.js +241 -0
  6. package/dist/core/base/TidasEntity.js.map +1 -0
  7. package/dist/core/config/GlobalConfig.d.ts +60 -0
  8. package/dist/core/config/GlobalConfig.d.ts.map +1 -0
  9. package/dist/core/config/GlobalConfig.js +110 -0
  10. package/dist/core/config/GlobalConfig.js.map +1 -0
  11. package/dist/core/config/ValidationConfig.d.ts +70 -0
  12. package/dist/core/config/ValidationConfig.d.ts.map +1 -0
  13. package/dist/core/config/ValidationConfig.js +159 -0
  14. package/dist/core/config/ValidationConfig.js.map +1 -0
  15. package/dist/core/entities/TidasContact.d.ts +14 -0
  16. package/dist/core/entities/TidasContact.d.ts.map +1 -0
  17. package/dist/core/entities/TidasContact.js +87 -0
  18. package/dist/core/entities/TidasContact.js.map +1 -0
  19. package/dist/core/entities/TidasFlow.d.ts +14 -0
  20. package/dist/core/entities/TidasFlow.d.ts.map +1 -0
  21. package/dist/core/entities/TidasFlow.js +105 -0
  22. package/dist/core/entities/TidasFlow.js.map +1 -0
  23. package/dist/core/entities/TidasFlowProperty.d.ts +14 -0
  24. package/dist/core/entities/TidasFlowProperty.d.ts.map +1 -0
  25. package/dist/core/entities/TidasFlowProperty.js +111 -0
  26. package/dist/core/entities/TidasFlowProperty.js.map +1 -0
  27. package/dist/core/entities/TidasLCIAMethod.d.ts +14 -0
  28. package/dist/core/entities/TidasLCIAMethod.d.ts.map +1 -0
  29. package/dist/core/entities/TidasLCIAMethod.js +125 -0
  30. package/dist/core/entities/TidasLCIAMethod.js.map +1 -0
  31. package/dist/core/entities/TidasLifeCycleModel.d.ts +14 -0
  32. package/dist/core/entities/TidasLifeCycleModel.d.ts.map +1 -0
  33. package/dist/core/entities/TidasLifeCycleModel.js +117 -0
  34. package/dist/core/entities/TidasLifeCycleModel.js.map +1 -0
  35. package/dist/core/entities/TidasProcess.d.ts +14 -0
  36. package/dist/core/entities/TidasProcess.d.ts.map +1 -0
  37. package/dist/core/entities/TidasProcess.js +129 -0
  38. package/dist/core/entities/TidasProcess.js.map +1 -0
  39. package/dist/core/entities/TidasSource.d.ts +14 -0
  40. package/dist/core/entities/TidasSource.d.ts.map +1 -0
  41. package/dist/core/entities/TidasSource.js +101 -0
  42. package/dist/core/entities/TidasSource.js.map +1 -0
  43. package/dist/core/entities/TidasUnitGroup.d.ts +14 -0
  44. package/dist/core/entities/TidasUnitGroup.d.ts.map +1 -0
  45. package/dist/core/entities/TidasUnitGroup.js +121 -0
  46. package/dist/core/entities/TidasUnitGroup.js.map +1 -0
  47. package/dist/core/factories/index.d.ts +49 -0
  48. package/dist/core/factories/index.d.ts.map +1 -0
  49. package/dist/core/factories/index.js +171 -0
  50. package/dist/core/factories/index.js.map +1 -0
  51. package/dist/core/index.d.ts +11 -0
  52. package/dist/core/index.d.ts.map +1 -0
  53. package/dist/core/index.js +47 -0
  54. package/dist/core/index.js.map +1 -0
  55. package/dist/core/zod-factories.d.ts +71 -0
  56. package/dist/core/zod-factories.d.ts.map +1 -0
  57. package/dist/core/zod-factories.js +169 -0
  58. package/dist/core/zod-factories.js.map +1 -0
  59. package/dist/core/zod-proxy.d.ts +108 -0
  60. package/dist/core/zod-proxy.d.ts.map +1 -0
  61. package/dist/core/zod-proxy.js +382 -0
  62. package/dist/core/zod-proxy.js.map +1 -0
  63. package/dist/index.d.ts +32 -0
  64. package/dist/index.d.ts.map +1 -0
  65. package/dist/index.js +64 -0
  66. package/dist/index.js.map +1 -0
  67. package/dist/schemas/index.d.ts +48 -0
  68. package/dist/schemas/index.d.ts.map +1 -0
  69. package/dist/schemas/index.js +111 -0
  70. package/dist/schemas/index.js.map +1 -0
  71. package/dist/schemas/tidas_contacts.schema.d.ts +2340 -0
  72. package/dist/schemas/tidas_contacts.schema.d.ts.map +1 -0
  73. package/dist/schemas/tidas_contacts.schema.js +75 -0
  74. package/dist/schemas/tidas_contacts.schema.js.map +1 -0
  75. package/dist/schemas/tidas_contacts_category.schema.d.ts +3 -0
  76. package/dist/schemas/tidas_contacts_category.schema.d.ts.map +1 -0
  77. package/dist/schemas/tidas_contacts_category.schema.js +53 -0
  78. package/dist/schemas/tidas_contacts_category.schema.js.map +1 -0
  79. package/dist/schemas/tidas_data_types.schema.d.ts +172 -0
  80. package/dist/schemas/tidas_data_types.schema.d.ts.map +1 -0
  81. package/dist/schemas/tidas_data_types.schema.js +74 -0
  82. package/dist/schemas/tidas_data_types.schema.js.map +1 -0
  83. package/dist/schemas/tidas_flowproperties.schema.d.ts +2505 -0
  84. package/dist/schemas/tidas_flowproperties.schema.d.ts.map +1 -0
  85. package/dist/schemas/tidas_flowproperties.schema.js +78 -0
  86. package/dist/schemas/tidas_flowproperties.schema.js.map +1 -0
  87. package/dist/schemas/tidas_flowproperties_category.schema.d.ts +3 -0
  88. package/dist/schemas/tidas_flowproperties_category.schema.d.ts.map +1 -0
  89. package/dist/schemas/tidas_flowproperties_category.schema.js +28 -0
  90. package/dist/schemas/tidas_flowproperties_category.schema.js.map +1 -0
  91. package/dist/schemas/tidas_flows.schema.d.ts +3366 -0
  92. package/dist/schemas/tidas_flows.schema.d.ts.map +1 -0
  93. package/dist/schemas/tidas_flows.schema.js +125 -0
  94. package/dist/schemas/tidas_flows.schema.js.map +1 -0
  95. package/dist/schemas/tidas_flows_elementary_category.schema.d.ts +3 -0
  96. package/dist/schemas/tidas_flows_elementary_category.schema.d.ts.map +1 -0
  97. package/dist/schemas/tidas_flows_elementary_category.schema.js +309 -0
  98. package/dist/schemas/tidas_flows_elementary_category.schema.js.map +1 -0
  99. package/dist/schemas/tidas_flows_product_category.schema.d.ts +3 -0
  100. package/dist/schemas/tidas_flows_product_category.schema.d.ts.map +1 -0
  101. package/dist/schemas/tidas_flows_product_category.schema.js +28508 -0
  102. package/dist/schemas/tidas_flows_product_category.schema.js.map +1 -0
  103. package/dist/schemas/tidas_lciamethods.schema.d.ts +11025 -0
  104. package/dist/schemas/tidas_lciamethods.schema.d.ts.map +1 -0
  105. package/dist/schemas/tidas_lciamethods.schema.js +439 -0
  106. package/dist/schemas/tidas_lciamethods.schema.js.map +1 -0
  107. package/dist/schemas/tidas_lciamethods_category.schema.d.ts +3 -0
  108. package/dist/schemas/tidas_lciamethods_category.schema.d.ts.map +1 -0
  109. package/dist/schemas/tidas_lciamethods_category.schema.js +278 -0
  110. package/dist/schemas/tidas_lciamethods_category.schema.js.map +1 -0
  111. package/dist/schemas/tidas_lifecyclemodels.schema.d.ts +9362 -0
  112. package/dist/schemas/tidas_lifecyclemodels.schema.d.ts.map +1 -0
  113. package/dist/schemas/tidas_lifecyclemodels.schema.js +384 -0
  114. package/dist/schemas/tidas_lifecyclemodels.schema.js.map +1 -0
  115. package/dist/schemas/tidas_locations_category.schema.d.ts +3 -0
  116. package/dist/schemas/tidas_locations_category.schema.d.ts.map +1 -0
  117. package/dist/schemas/tidas_locations_category.schema.js +655 -0
  118. package/dist/schemas/tidas_locations_category.schema.js.map +1 -0
  119. package/dist/schemas/tidas_processes.schema.d.ts +12861 -0
  120. package/dist/schemas/tidas_processes.schema.d.ts.map +1 -0
  121. package/dist/schemas/tidas_processes.schema.js +547 -0
  122. package/dist/schemas/tidas_processes.schema.js.map +1 -0
  123. package/dist/schemas/tidas_processes_category.schema.d.ts +3 -0
  124. package/dist/schemas/tidas_processes_category.schema.d.ts.map +1 -0
  125. package/dist/schemas/tidas_processes_category.schema.js +4480 -0
  126. package/dist/schemas/tidas_processes_category.schema.js.map +1 -0
  127. package/dist/schemas/tidas_sources.schema.d.ts +2007 -0
  128. package/dist/schemas/tidas_sources.schema.d.ts.map +1 -0
  129. package/dist/schemas/tidas_sources.schema.js +73 -0
  130. package/dist/schemas/tidas_sources.schema.js.map +1 -0
  131. package/dist/schemas/tidas_sources_category.schema.d.ts +3 -0
  132. package/dist/schemas/tidas_sources_category.schema.d.ts.map +1 -0
  133. package/dist/schemas/tidas_sources_category.schema.js +43 -0
  134. package/dist/schemas/tidas_sources_category.schema.js.map +1 -0
  135. package/dist/schemas/tidas_unitgroups.schema.d.ts +2088 -0
  136. package/dist/schemas/tidas_unitgroups.schema.d.ts.map +1 -0
  137. package/dist/schemas/tidas_unitgroups.schema.js +92 -0
  138. package/dist/schemas/tidas_unitgroups.schema.js.map +1 -0
  139. package/dist/schemas/tidas_unitgroups_category.schema.d.ts +3 -0
  140. package/dist/schemas/tidas_unitgroups_category.schema.d.ts.map +1 -0
  141. package/dist/schemas/tidas_unitgroups_category.schema.js +28 -0
  142. package/dist/schemas/tidas_unitgroups_category.schema.js.map +1 -0
  143. package/dist/types/index.d.ts +21 -0
  144. package/dist/types/index.d.ts.map +1 -0
  145. package/dist/types/index.js +6 -0
  146. package/dist/types/index.js.map +1 -0
  147. package/dist/types/tidas_contacts.d.ts +72 -0
  148. package/dist/types/tidas_contacts.d.ts.map +1 -0
  149. package/dist/types/tidas_contacts.js +8 -0
  150. package/dist/types/tidas_contacts.js.map +1 -0
  151. package/dist/types/tidas_contacts_category.d.ts +43 -0
  152. package/dist/types/tidas_contacts_category.d.ts.map +1 -0
  153. package/dist/types/tidas_contacts_category.js +8 -0
  154. package/dist/types/tidas_contacts_category.js.map +1 -0
  155. package/dist/types/tidas_data_types.d.ts +145 -0
  156. package/dist/types/tidas_data_types.d.ts.map +1 -0
  157. package/dist/types/tidas_data_types.js +8 -0
  158. package/dist/types/tidas_data_types.js.map +1 -0
  159. package/dist/types/tidas_flowproperties.d.ts +70 -0
  160. package/dist/types/tidas_flowproperties.d.ts.map +1 -0
  161. package/dist/types/tidas_flowproperties.js +8 -0
  162. package/dist/types/tidas_flowproperties.js.map +1 -0
  163. package/dist/types/tidas_flowproperties_category.d.ts +23 -0
  164. package/dist/types/tidas_flowproperties_category.d.ts.map +1 -0
  165. package/dist/types/tidas_flowproperties_category.js +8 -0
  166. package/dist/types/tidas_flowproperties_category.js.map +1 -0
  167. package/dist/types/tidas_flows.d.ts +98 -0
  168. package/dist/types/tidas_flows.d.ts.map +1 -0
  169. package/dist/types/tidas_flows.js +8 -0
  170. package/dist/types/tidas_flows.js.map +1 -0
  171. package/dist/types/tidas_flows_elementary_category.d.ts +227 -0
  172. package/dist/types/tidas_flows_elementary_category.d.ts.map +1 -0
  173. package/dist/types/tidas_flows_elementary_category.js +8 -0
  174. package/dist/types/tidas_flows_elementary_category.js.map +1 -0
  175. package/dist/types/tidas_flows_product_category.d.ts +18391 -0
  176. package/dist/types/tidas_flows_product_category.d.ts.map +1 -0
  177. package/dist/types/tidas_flows_product_category.js +8 -0
  178. package/dist/types/tidas_flows_product_category.js.map +1 -0
  179. package/dist/types/tidas_lciamethods.d.ts +218 -0
  180. package/dist/types/tidas_lciamethods.d.ts.map +1 -0
  181. package/dist/types/tidas_lciamethods.js +8 -0
  182. package/dist/types/tidas_lciamethods.js.map +1 -0
  183. package/dist/types/tidas_lciamethods_category.d.ts +215 -0
  184. package/dist/types/tidas_lciamethods_category.d.ts.map +1 -0
  185. package/dist/types/tidas_lciamethods_category.js +8 -0
  186. package/dist/types/tidas_lciamethods_category.js.map +1 -0
  187. package/dist/types/tidas_lifecyclemodels.d.ts +250 -0
  188. package/dist/types/tidas_lifecyclemodels.d.ts.map +1 -0
  189. package/dist/types/tidas_lifecyclemodels.js +8 -0
  190. package/dist/types/tidas_lifecyclemodels.js.map +1 -0
  191. package/dist/types/tidas_locations_category.d.ts +7 -0
  192. package/dist/types/tidas_locations_category.d.ts.map +1 -0
  193. package/dist/types/tidas_locations_category.js +8 -0
  194. package/dist/types/tidas_locations_category.js.map +1 -0
  195. package/dist/types/tidas_processes.d.ts +278 -0
  196. package/dist/types/tidas_processes.d.ts.map +1 -0
  197. package/dist/types/tidas_processes.js +8 -0
  198. package/dist/types/tidas_processes.js.map +1 -0
  199. package/dist/types/tidas_processes_category.d.ts +3071 -0
  200. package/dist/types/tidas_processes_category.d.ts.map +1 -0
  201. package/dist/types/tidas_processes_category.js +8 -0
  202. package/dist/types/tidas_processes_category.js.map +1 -0
  203. package/dist/types/tidas_sources.d.ts +58 -0
  204. package/dist/types/tidas_sources.d.ts.map +1 -0
  205. package/dist/types/tidas_sources.js +8 -0
  206. package/dist/types/tidas_sources.js.map +1 -0
  207. package/dist/types/tidas_sources_category.d.ts +35 -0
  208. package/dist/types/tidas_sources_category.d.ts.map +1 -0
  209. package/dist/types/tidas_sources_category.js +8 -0
  210. package/dist/types/tidas_sources_category.js.map +1 -0
  211. package/dist/types/tidas_unitgroups.d.ts +81 -0
  212. package/dist/types/tidas_unitgroups.d.ts.map +1 -0
  213. package/dist/types/tidas_unitgroups.js +8 -0
  214. package/dist/types/tidas_unitgroups.js.map +1 -0
  215. package/dist/types/tidas_unitgroups_category.d.ts +23 -0
  216. package/dist/types/tidas_unitgroups_category.d.ts.map +1 -0
  217. package/dist/types/tidas_unitgroups_category.js +8 -0
  218. package/dist/types/tidas_unitgroups_category.js.map +1 -0
  219. package/dist/utils/index.d.ts +7 -0
  220. package/dist/utils/index.d.ts.map +1 -0
  221. package/dist/utils/index.js +31 -0
  222. package/dist/utils/index.js.map +1 -0
  223. package/dist/utils/object-utils.d.ts +29 -0
  224. package/dist/utils/object-utils.d.ts.map +1 -0
  225. package/dist/utils/object-utils.js +156 -0
  226. package/dist/utils/object-utils.js.map +1 -0
  227. 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":";;;AAAA,qDAAkD;AAClD,2CAA6C;AAI7C;;;GAGG;AACH,MAAa,WAAY,SAAQ,yBAAmB;IAElD,YAAY,WAA6B,EAAE,gBAA4C;QACrF,KAAK,CAAC,sBAAmB,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAC5D,CAAC;IAED,iFAAiF;IACjF,IAAI,aAAa;QACf,OAAQ,IAAI,CAAC,KAAgB,CAAC,aAAa,CAAC;IAC9C,CAAC;IAED,IAAI,aAAa,CAAC,KAA8B;QAC7C,IAAI,CAAC,KAAgB,CAAC,aAAa,GAAG,KAAK,CAAC;IAC/C,CAAC;IAES,kBAAkB;QAC1B,gEAAgE;QAChE,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,+BAA+B,CAAC,CAAC;QAC7E,IAAI,CAAC,cAAc,CAAC,6BAA6B,EAAE,+BAA+B,CAAC,CAAC;QACpF,IAAI,CAAC,cAAc,CAAC,0BAA0B,EAAE,2CAA2C,CAAC,CAAC;QAC7F,IAAI,CAAC,cAAc,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,cAAc,CAAC,mCAAmC,EAAE,oEAAoE,CAAC,CAAC;QAE/H,0CAA0C;QAC1C,IAAI,CAAC,qBAAqB,CAAC;YACzB,eAAe;YACf,iCAAiC;YACjC,oDAAoD;YACpD,8EAA8E;YAC9E,yCAAyC;YACzC,qDAAqD;YACrD,iEAAiE;SAClE,CAAC,CAAC;QAEH,8DAA8D;QAC9D,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,gEAAgE,CAAC,EAAE,CAAC;YAC3F,IAAI,CAAC,cAAc,CAAC,gEAAgE,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7G,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,sEAAsE,CAAC,EAAE,CAAC;YACjG,IAAI,CAAC,cAAc,CAAC,sEAAsE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACxH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,uFAAuF,CAAC,EAAE,CAAC;YAClH,IAAI,CAAC,cAAc,CAAC,uFAAuF,EAAE,OAAO,CAAC,CAAC;QACxH,CAAC;QAED,oDAAoD;QACpD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,qFAAqF,CAAC,EAAE,CAAC;YAChH,IAAI,CAAC,cAAc,CAAC,qFAAqF,EAAE;gBACzG,OAAO,EAAE,iBAAiB;gBAC1B,cAAc,EAAE,sCAAsC;gBACtD,UAAU,EAAE,WAAW;gBACvB,MAAM,EAAE,EAAE;gBACV,yBAAyB,EAAE,CAAC,EAAC,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAC,CAAC;aACzE,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,sGAAsG,CAAC,EAAE,CAAC;YACjI,IAAI,CAAC,cAAc,CAAC,sGAAsG,EAAE;gBAC1H,OAAO,EAAE,kBAAkB;gBAC3B,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,gEAAgE,CAAC;gBACrG,UAAU,EAAE,WAAW;gBACvB,MAAM,EAAE,EAAE;gBACV,yBAAyB,EAAE,CAAC,EAAC,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAC,CAAC;aAC1E,CAAC,CAAC;QACL,CAAC;QAED,yDAAyD;QACzD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,qEAAqE,CAAC,EAAE,CAAC;YAChG,IAAI,CAAC,cAAc,CAAC,qEAAqE,EAAE,EAAE,CAAC,CAAC;QACjG,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,mEAAmE,CAAC,EAAE,CAAC;YAC9F,IAAI,CAAC,cAAc,CAAC,mEAAmE,EAAE,EAAE,CAAC,CAAC;QAC/F,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,oEAAoE,CAAC,EAAE,CAAC;YAC/F,IAAI,CAAC,cAAc,CAAC,oEAAoE,EAAE,OAAO,CAAC,CAAC;QACrG,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,+EAA+E,CAAC,EAAE,CAAC;YAC1G,IAAI,CAAC,cAAc,CAAC,+EAA+E,EAAE,EAAE,CAAC,CAAC;QAC3G,CAAC;QAED,+CAA+C;QAC/C,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,oGAAoG,CAAC,EAAE,CAAC;YAC/H,IAAI,CAAC,cAAc,CAAC,oGAAoG,EAAE;gBACxH,cAAc,EAAE;oBACd,QAAQ,EAAE,GAAG;oBACb,UAAU,EAAE,sCAAsC;oBAClD,OAAO,EAAE,gBAAgB;iBAC1B;aACF,CAAC,CAAC;QACL,CAAC;QAED,mCAAmC;QACnC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,kFAAkF,CAAC,EAAE,CAAC;YAC7G,IAAI,CAAC,cAAc,CAAC,kFAAkF,EAAE,KAAK,CAAC,CAAC;QACjH,CAAC;QAED,kCAAkC;QAClC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,2FAA2F,CAAC,EAAE,CAAC;YACtH,IAAI,CAAC,cAAc,CAAC,2FAA2F,EAAE,EAAE,CAAC,CAAC;QACvH,CAAC;IACH,CAAC;CACF;AA1GD,kCA0GC"}
@@ -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"}