@cyberismo/data-handler 0.0.8 → 0.0.10

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 (258) hide show
  1. package/dist/command-handler.d.ts +11 -2
  2. package/dist/command-handler.js +61 -18
  3. package/dist/command-handler.js.map +1 -1
  4. package/dist/command-manager.js +8 -8
  5. package/dist/command-manager.js.map +1 -1
  6. package/dist/commands/calculate.d.ts +7 -44
  7. package/dist/commands/calculate.js +8 -389
  8. package/dist/commands/calculate.js.map +1 -1
  9. package/dist/commands/create.d.ts +6 -3
  10. package/dist/commands/create.js +27 -5
  11. package/dist/commands/create.js.map +1 -1
  12. package/dist/commands/edit.d.ts +15 -3
  13. package/dist/commands/edit.js +52 -9
  14. package/dist/commands/edit.js.map +1 -1
  15. package/dist/commands/export.d.ts +11 -9
  16. package/dist/commands/export.js +80 -28
  17. package/dist/commands/export.js.map +1 -1
  18. package/dist/commands/import.d.ts +7 -0
  19. package/dist/commands/import.js +13 -0
  20. package/dist/commands/import.js.map +1 -1
  21. package/dist/commands/move.d.ts +11 -12
  22. package/dist/commands/move.js +12 -13
  23. package/dist/commands/move.js.map +1 -1
  24. package/dist/commands/remove.d.ts +1 -3
  25. package/dist/commands/remove.js +4 -6
  26. package/dist/commands/remove.js.map +1 -1
  27. package/dist/commands/rename.d.ts +1 -3
  28. package/dist/commands/rename.js +3 -6
  29. package/dist/commands/rename.js.map +1 -1
  30. package/dist/commands/show.d.ts +37 -5
  31. package/dist/commands/show.js +89 -8
  32. package/dist/commands/show.js.map +1 -1
  33. package/dist/commands/transition.d.ts +1 -3
  34. package/dist/commands/transition.js +3 -5
  35. package/dist/commands/transition.js.map +1 -1
  36. package/dist/commands/update.d.ts +5 -1
  37. package/dist/commands/update.js +7 -1
  38. package/dist/commands/update.js.map +1 -1
  39. package/dist/commands/validate.d.ts +7 -0
  40. package/dist/commands/validate.js +31 -4
  41. package/dist/commands/validate.js.map +1 -1
  42. package/dist/containers/card-container.d.ts +6 -0
  43. package/dist/containers/card-container.js +61 -0
  44. package/dist/containers/card-container.js.map +1 -1
  45. package/dist/containers/project/calculation-engine.d.ts +90 -0
  46. package/dist/containers/project/calculation-engine.js +402 -0
  47. package/dist/containers/project/calculation-engine.js.map +1 -0
  48. package/dist/containers/project/resource-collector.js +9 -13
  49. package/dist/containers/project/resource-collector.js.map +1 -1
  50. package/dist/containers/project.d.ts +18 -1
  51. package/dist/containers/project.js +28 -55
  52. package/dist/containers/project.js.map +1 -1
  53. package/dist/containers/template.d.ts +5 -0
  54. package/dist/containers/template.js +9 -0
  55. package/dist/containers/template.js.map +1 -1
  56. package/dist/index.d.ts +5 -2
  57. package/dist/index.js +5 -1
  58. package/dist/index.js.map +1 -1
  59. package/dist/interfaces/macros.d.ts +4 -2
  60. package/dist/interfaces/project-interfaces.d.ts +21 -0
  61. package/dist/interfaces/project-interfaces.js +4 -0
  62. package/dist/interfaces/project-interfaces.js.map +1 -1
  63. package/dist/interfaces/resource-interfaces.d.ts +4 -2
  64. package/dist/interfaces/resource-interfaces.js.map +1 -1
  65. package/dist/macros/base-macro.d.ts +2 -1
  66. package/dist/macros/base-macro.js +14 -2
  67. package/dist/macros/base-macro.js.map +1 -1
  68. package/dist/macros/common.d.ts +16 -9
  69. package/dist/macros/common.js +22 -9
  70. package/dist/macros/common.js.map +1 -1
  71. package/dist/macros/createCards/index.d.ts +2 -2
  72. package/dist/macros/createCards/index.js +4 -0
  73. package/dist/macros/createCards/index.js.map +1 -1
  74. package/dist/macros/graph/index.d.ts +1 -3
  75. package/dist/macros/graph/index.js +1 -6
  76. package/dist/macros/graph/index.js.map +1 -1
  77. package/dist/macros/image/index.d.ts +39 -0
  78. package/dist/macros/image/index.js +82 -0
  79. package/dist/macros/image/index.js.map +1 -0
  80. package/dist/macros/image/metadata.d.ts +18 -0
  81. package/dist/macros/image/metadata.js +22 -0
  82. package/dist/macros/image/metadata.js.map +1 -0
  83. package/dist/macros/include/index.d.ts +31 -0
  84. package/dist/macros/include/index.js +94 -0
  85. package/dist/macros/include/index.js.map +1 -0
  86. package/dist/macros/include/metadata.d.ts +15 -0
  87. package/dist/macros/include/metadata.js +19 -0
  88. package/dist/macros/include/metadata.js.map +1 -0
  89. package/dist/macros/index.d.ts +33 -31
  90. package/dist/macros/index.js +142 -71
  91. package/dist/macros/index.js.map +1 -1
  92. package/dist/macros/percentage/index.d.ts +28 -0
  93. package/dist/macros/percentage/index.js +33 -0
  94. package/dist/macros/percentage/index.js.map +1 -0
  95. package/dist/macros/percentage/metadata.d.ts +15 -0
  96. package/dist/macros/percentage/metadata.js +19 -0
  97. package/dist/macros/percentage/metadata.js.map +1 -0
  98. package/dist/macros/report/index.d.ts +2 -6
  99. package/dist/macros/report/index.js +3 -7
  100. package/dist/macros/report/index.js.map +1 -1
  101. package/dist/macros/scoreCard/index.d.ts +14 -15
  102. package/dist/macros/scoreCard/index.js +14 -18
  103. package/dist/macros/scoreCard/index.js.map +1 -1
  104. package/dist/macros/vega/index.d.ts +28 -0
  105. package/dist/macros/vega/index.js +27 -0
  106. package/dist/macros/vega/index.js.map +1 -0
  107. package/dist/macros/vega/metadata.d.ts +15 -0
  108. package/dist/macros/vega/metadata.js +7 -0
  109. package/dist/macros/vega/metadata.js.map +1 -0
  110. package/dist/macros/vegalite/index.d.ts +26 -0
  111. package/dist/macros/vegalite/index.js +24 -0
  112. package/dist/macros/vegalite/index.js.map +1 -0
  113. package/dist/macros/vegalite/metadata.d.ts +15 -0
  114. package/dist/macros/vegalite/metadata.js +7 -0
  115. package/dist/macros/vegalite/metadata.js.map +1 -0
  116. package/dist/macros/xref/index.d.ts +26 -0
  117. package/dist/macros/xref/index.js +53 -0
  118. package/dist/macros/xref/index.js.map +1 -0
  119. package/dist/macros/xref/metadata.d.ts +15 -0
  120. package/dist/macros/xref/metadata.js +19 -0
  121. package/dist/macros/xref/metadata.js.map +1 -0
  122. package/dist/module-manager.d.ts +1 -0
  123. package/dist/module-manager.js +14 -4
  124. package/dist/module-manager.js.map +1 -1
  125. package/dist/permissions/action-guard.d.ts +2 -2
  126. package/dist/permissions/action-guard.js +1 -1
  127. package/dist/permissions/action-guard.js.map +1 -1
  128. package/dist/resources/card-type-resource.d.ts +2 -0
  129. package/dist/resources/card-type-resource.js +63 -0
  130. package/dist/resources/card-type-resource.js.map +1 -1
  131. package/dist/resources/file-resource.d.ts +2 -0
  132. package/dist/resources/file-resource.js +12 -4
  133. package/dist/resources/file-resource.js.map +1 -1
  134. package/dist/resources/folder-resource.d.ts +19 -0
  135. package/dist/resources/folder-resource.js +51 -2
  136. package/dist/resources/folder-resource.js.map +1 -1
  137. package/dist/resources/graph-model-resource.js +1 -1
  138. package/dist/resources/graph-model-resource.js.map +1 -1
  139. package/dist/resources/graph-view-resource.js +1 -1
  140. package/dist/resources/graph-view-resource.js.map +1 -1
  141. package/dist/resources/report-resource.js +1 -1
  142. package/dist/resources/report-resource.js.map +1 -1
  143. package/dist/resources/resource-object.d.ts +8 -0
  144. package/dist/resources/resource-object.js +10 -1
  145. package/dist/resources/resource-object.js.map +1 -1
  146. package/dist/resources/template-resource.js +1 -1
  147. package/dist/resources/template-resource.js.map +1 -1
  148. package/dist/resources/workflow-resource.d.ts +2 -0
  149. package/dist/resources/workflow-resource.js +53 -9
  150. package/dist/resources/workflow-resource.js.map +1 -1
  151. package/dist/svg/index.d.ts +15 -0
  152. package/dist/svg/index.js +16 -0
  153. package/dist/svg/index.js.map +1 -0
  154. package/dist/svg/lib.d.ts +9 -0
  155. package/dist/svg/lib.js +26 -0
  156. package/dist/svg/lib.js.map +1 -0
  157. package/dist/svg/percentage.d.ts +25 -0
  158. package/dist/svg/percentage.js +90 -0
  159. package/dist/svg/percentage.js.map +1 -0
  160. package/dist/svg/scoreCard.d.ts +19 -0
  161. package/dist/svg/scoreCard.js +55 -0
  162. package/dist/svg/scoreCard.js.map +1 -0
  163. package/dist/types/queries.d.ts +8 -7
  164. package/dist/types/queries.js.map +1 -1
  165. package/dist/utils/card-utils.d.ts +6 -0
  166. package/dist/utils/card-utils.js +12 -0
  167. package/dist/utils/card-utils.js.map +1 -1
  168. package/dist/utils/clingo-facts.d.ts +2 -1
  169. package/dist/utils/clingo-facts.js +19 -2
  170. package/dist/utils/clingo-facts.js.map +1 -1
  171. package/dist/utils/clingo-parser.d.ts +1 -0
  172. package/dist/utils/clingo-parser.js +22 -100
  173. package/dist/utils/clingo-parser.js.map +1 -1
  174. package/dist/utils/constants.d.ts +7 -0
  175. package/dist/utils/constants.js +14 -0
  176. package/dist/utils/constants.js.map +1 -1
  177. package/dist/utils/csv.js.map +1 -1
  178. package/dist/utils/report.d.ts +17 -3
  179. package/dist/utils/report.js +38 -2
  180. package/dist/utils/report.js.map +1 -1
  181. package/dist/utils/resource-utils.d.ts +2 -1
  182. package/dist/utils/resource-utils.js +12 -3
  183. package/dist/utils/resource-utils.js.map +1 -1
  184. package/dist/utils/user-preferences.d.ts +1 -11
  185. package/dist/utils/user-preferences.js +30 -13
  186. package/dist/utils/user-preferences.js.map +1 -1
  187. package/dist/utils/validate.d.ts +2 -3
  188. package/dist/utils/validate.js +2 -2
  189. package/dist/utils/validate.js.map +1 -1
  190. package/package.json +8 -6
  191. package/src/command-handler.ts +96 -17
  192. package/src/command-manager.ts +8 -8
  193. package/src/commands/calculate.ts +11 -525
  194. package/src/commands/create.ts +35 -6
  195. package/src/commands/edit.ts +94 -11
  196. package/src/commands/export.ts +104 -31
  197. package/src/commands/import.ts +16 -0
  198. package/src/commands/move.ts +12 -15
  199. package/src/commands/remove.ts +4 -8
  200. package/src/commands/rename.ts +3 -12
  201. package/src/commands/show.ts +126 -9
  202. package/src/commands/transition.ts +3 -7
  203. package/src/commands/update.ts +6 -0
  204. package/src/commands/validate.ts +41 -13
  205. package/src/containers/card-container.ts +74 -0
  206. package/src/containers/project/calculation-engine.ts +535 -0
  207. package/src/containers/project/resource-collector.ts +13 -15
  208. package/src/containers/project.ts +30 -66
  209. package/src/containers/template.ts +16 -0
  210. package/src/index.ts +13 -2
  211. package/src/interfaces/macros.ts +4 -1
  212. package/src/interfaces/project-interfaces.ts +27 -0
  213. package/src/interfaces/resource-interfaces.ts +5 -2
  214. package/src/macros/base-macro.ts +19 -4
  215. package/src/macros/common.ts +22 -9
  216. package/src/macros/createCards/index.ts +6 -2
  217. package/src/macros/graph/index.ts +6 -10
  218. package/src/macros/image/index.ts +128 -0
  219. package/src/macros/image/metadata.ts +25 -0
  220. package/src/macros/include/index.ts +143 -0
  221. package/src/macros/include/metadata.ts +22 -0
  222. package/src/macros/index.ts +150 -98
  223. package/src/macros/percentage/index.ts +50 -0
  224. package/src/macros/percentage/metadata.ts +22 -0
  225. package/src/macros/report/index.ts +4 -12
  226. package/src/macros/scoreCard/index.ts +21 -25
  227. package/src/macros/vega/index.ts +55 -0
  228. package/src/macros/vega/metadata.ts +21 -0
  229. package/src/macros/vegalite/index.ts +46 -0
  230. package/src/macros/vegalite/metadata.ts +21 -0
  231. package/src/macros/xref/index.ts +73 -0
  232. package/src/macros/xref/metadata.ts +22 -0
  233. package/src/module-manager.ts +15 -5
  234. package/src/permissions/action-guard.ts +3 -3
  235. package/src/resources/card-type-resource.ts +100 -0
  236. package/src/resources/file-resource.ts +16 -4
  237. package/src/resources/folder-resource.ts +59 -2
  238. package/src/resources/graph-model-resource.ts +1 -1
  239. package/src/resources/graph-view-resource.ts +1 -1
  240. package/src/resources/report-resource.ts +1 -1
  241. package/src/resources/resource-object.ts +19 -1
  242. package/src/resources/template-resource.ts +1 -1
  243. package/src/resources/workflow-resource.ts +68 -13
  244. package/src/svg/index.ts +15 -0
  245. package/src/svg/lib.ts +31 -0
  246. package/src/svg/percentage.ts +97 -0
  247. package/src/svg/scoreCard.ts +88 -0
  248. package/src/types/queries.ts +8 -7
  249. package/src/types/string-pixel-width.d.ts +23 -0
  250. package/src/utils/card-utils.ts +13 -0
  251. package/src/utils/clingo-facts.ts +65 -3
  252. package/src/utils/clingo-parser.ts +31 -144
  253. package/src/utils/constants.ts +16 -0
  254. package/src/utils/csv.ts +1 -1
  255. package/src/utils/report.ts +45 -4
  256. package/src/utils/resource-utils.ts +12 -2
  257. package/src/utils/user-preferences.ts +32 -14
  258. package/src/utils/validate.ts +3 -3
@@ -25,19 +25,9 @@ class ClingoParser {
25
25
  'queryError',
26
26
  'result',
27
27
  'childResult',
28
+ 'childObject',
28
29
  'field',
29
- 'enumField',
30
- 'listField',
31
- 'label',
32
- 'link',
33
- 'transitionDenied',
34
- 'movingCardDenied',
35
- 'deletingCardDenied',
36
- 'editingFieldDenied',
37
- 'editingContentDenied',
38
- 'notification',
39
- 'policyCheckFailure',
40
- 'policyCheckSuccess',
30
+ 'childResultCollection',
41
31
  'order',
42
32
  ];
43
33
  result = {
@@ -47,6 +37,7 @@ class ClingoParser {
47
37
  // The queue now stores the parameters instead of functions
48
38
  resultQueue = [];
49
39
  childResultQueue = [];
40
+ childObjectQueue = [];
50
41
  tempResults = {};
51
42
  orderQueue = [];
52
43
  collections = new Set();
@@ -57,6 +48,7 @@ class ClingoParser {
57
48
  };
58
49
  this.resultQueue = [];
59
50
  this.childResultQueue = [];
51
+ this.childObjectQueue = [];
60
52
  this.tempResults = {};
61
53
  this.orderQueue = [];
62
54
  this.collections = new Set();
@@ -78,29 +70,14 @@ class ClingoParser {
78
70
  this.childResultQueue.push({ parentKey, childKey, collection });
79
71
  this.collections.add(collection);
80
72
  },
81
- enumField: async (key, fieldName, fieldValue, index, displayValue) => {
82
- const res = this.getOrInitResult(key);
83
- const decoded = decodeClingoValue(fieldValue);
84
- const parsedIndex = parseInt(index, 10);
85
- res[fieldName] = {
86
- value: decoded,
87
- index: parsedIndex,
88
- displayValue,
89
- };
90
- },
91
- // NOTE: Must be tested in INTDEV-623
92
- listField: async (key, fieldName, fieldValue, index, displayValue) => {
93
- const res = this.getOrInitResult(key);
94
- const decoded = decodeClingoValue(fieldValue);
95
- if (!res[fieldName] || !Array.isArray(res[fieldName])) {
96
- res[fieldName] = [];
73
+ childResultCollection: (parentKey, collection) => {
74
+ const parent = this.getOrInitResult(parentKey);
75
+ if (!parent[collection] || !Array.isArray(parent[collection])) {
76
+ parent[collection] = [];
97
77
  }
98
- const parsedIndex = parseInt(index, 10);
99
- res[fieldName].push({
100
- value: decoded,
101
- index: parsedIndex,
102
- displayValue,
103
- });
78
+ },
79
+ childObject: (parentKey, name, collection) => {
80
+ this.childObjectQueue.push({ parentKey, name, collection });
104
81
  },
105
82
  field: async (key, fieldName, fieldValue, dataType) => {
106
83
  const res = this.getOrInitResult(key);
@@ -122,63 +99,14 @@ class ClingoParser {
122
99
  case 'boolean':
123
100
  res[fieldName] = fieldValue === 'true';
124
101
  break;
102
+ case 'stringList':
103
+ if (!res[fieldName] || !Array.isArray(res[fieldName])) {
104
+ res[fieldName] = [];
105
+ }
106
+ res[fieldName].push(decoded);
107
+ break;
125
108
  }
126
109
  },
127
- label: (key, label) => {
128
- const res = this.getOrInitResult(key);
129
- res.labels.push(label);
130
- },
131
- link: (key, // key is the card itself
132
- cardKey, // cardKey is otherCard this is being linked to
133
- title, linkType, displayName, direction, linkSource, linkDescription) => {
134
- const res = this.getOrInitResult(key);
135
- res.links.push({
136
- key: cardKey,
137
- linkType,
138
- displayName,
139
- linkDescription,
140
- direction,
141
- linkSource,
142
- title,
143
- });
144
- },
145
- transitionDenied: (key, transitionName, errorMessage) => {
146
- const res = this.getOrInitResult(key);
147
- res.deniedOperations.transition.push({ transitionName, errorMessage });
148
- },
149
- movingCardDenied: (key, errorMessage) => {
150
- const res = this.getOrInitResult(key);
151
- res.deniedOperations.move.push({ errorMessage });
152
- },
153
- deletingCardDenied: (key, errorMessage) => {
154
- const res = this.getOrInitResult(key);
155
- res.deniedOperations.delete.push({ errorMessage });
156
- },
157
- editingFieldDenied: (key, fieldName, errorMessage) => {
158
- const res = this.getOrInitResult(key);
159
- res.deniedOperations.editField.push({ fieldName, errorMessage });
160
- },
161
- editingContentDenied: (key, errorMessage) => {
162
- const res = this.getOrInitResult(key);
163
- res.deniedOperations.editContent.push({ errorMessage });
164
- },
165
- notification: (key, category, title, message) => {
166
- const res = this.getOrInitResult(key);
167
- res.notifications.push({ key, category, title, message });
168
- },
169
- policyCheckFailure: (key, category, title, errorMessage, fieldName) => {
170
- const res = this.getOrInitResult(key);
171
- res.policyChecks.failures.push({
172
- category,
173
- title,
174
- errorMessage,
175
- fieldName,
176
- });
177
- },
178
- policyCheckSuccess: (key, category, title) => {
179
- const res = this.getOrInitResult(key);
180
- res.policyChecks.successes.push({ category, title });
181
- },
182
110
  order: (level, collection, fieldIndex, field, direction) => {
183
111
  const parsedLevel = parseInt(level, 10);
184
112
  const parsedFieldIndex = parseInt(fieldIndex, 10);
@@ -195,17 +123,6 @@ class ClingoParser {
195
123
  if (!this.tempResults[key]) {
196
124
  this.tempResults[key] = {
197
125
  key,
198
- labels: [],
199
- links: [],
200
- notifications: [],
201
- policyChecks: { successes: [], failures: [] },
202
- deniedOperations: {
203
- transition: [],
204
- move: [],
205
- delete: [],
206
- editField: [],
207
- editContent: [],
208
- },
209
126
  };
210
127
  }
211
128
  return this.tempResults[key];
@@ -289,6 +206,11 @@ class ClingoParser {
289
206
  }
290
207
  parent[collection].push(child);
291
208
  });
209
+ this.childObjectQueue.forEach(({ parentKey, name, collection }) => {
210
+ const parent = this.getOrInitResult(parentKey);
211
+ const child = this.getOrInitResult(name);
212
+ parent[collection] = child;
213
+ });
292
214
  this.sortByLevel(this.result.results);
293
215
  }
294
216
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"clingo-parser.js","sourceRoot":"","sources":["../../src/utils/clingo-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AASF;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;QAC9C,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,YAAY;IACR,QAAQ,GAAG;QACjB,YAAY;QACZ,QAAQ;QACR,aAAa;QACb,OAAO;QACP,WAAW;QACX,WAAW;QACX,OAAO;QACP,MAAM;QACN,kBAAkB;QAClB,kBAAkB;QAClB,oBAAoB;QACpB,oBAAoB;QACpB,sBAAsB;QACtB,cAAc;QACd,oBAAoB;QACpB,oBAAoB;QACpB,OAAO;KACR,CAAC;IAEM,MAAM,GAA4B;QACxC,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,IAAI;KACZ,CAAC;IAEF,2DAA2D;IACnD,WAAW,GAAsB,EAAE,CAAC;IACpC,gBAAgB,GAIlB,EAAE,CAAC;IACD,WAAW,GAAkC,EAAE,CAAC;IAChD,UAAU,GAMZ,EAAE,CAAC;IACD,WAAW,GAAgB,IAAI,GAAG,EAAE,CAAC;IACrC,KAAK;QACX,IAAI,CAAC,MAAM,GAAG;YACZ,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,sEAAsE;IAC9D,eAAe,GAA6B;QAClD,UAAU,EAAE,CAAC,OAAe,EAAE,GAAG,MAAgB,EAAE,EAAE;YACnD,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACtF,CAAC;QACD,MAAM,EAAE,CAAC,GAAW,EAAE,EAAE;YACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,WAAW,EAAE,CAAC,SAAiB,EAAE,QAAgB,EAAE,UAAkB,EAAE,EAAE;YACvE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;QACD,SAAS,EAAE,KAAK,EACd,GAAW,EACX,SAAiB,EACjB,UAAkB,EAClB,KAAa,EACb,YAAoB,EACpB,EAAE;YACF,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,OAAO,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAC9C,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACxC,GAAG,CAAC,SAAS,CAAC,GAAG;gBACf,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,WAAW;gBAClB,YAAY;aACb,CAAC;QACJ,CAAC;QACD,qCAAqC;QACrC,SAAS,EAAE,KAAK,EACd,GAAW,EACX,SAAiB,EACjB,UAAkB,EAClB,KAAa,EACb,YAAoB,EACpB,EAAE;YACF,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,OAAO,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBACtD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YACtB,CAAC;YACD,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACvC,GAAG,CAAC,SAAS,CAAe,CAAC,IAAI,CAAC;gBACjC,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,WAAW;gBAClB,YAAY;aACb,CAAC,CAAC;QACL,CAAC;QACD,KAAK,EAAE,KAAK,EACV,GAAW,EACX,SAAiB,EACjB,UAAkB,EAClB,QAAkB,EAClB,EAAE;YACF,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,OAAO,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAC9C,QAAQ,QAAQ,EAAE,CAAC;gBACjB,KAAK,WAAW,CAAC;gBACjB,KAAK,UAAU,CAAC;gBAChB,KAAK,QAAQ,CAAC;gBACd,KAAK,MAAM,CAAC;gBACZ,KAAK,UAAU;oBACb,GAAG,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;oBACzB,MAAM;gBACR,KAAK,QAAQ;oBACX,GAAG,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;oBACrC,MAAM;gBACR,KAAK,SAAS;oBACZ,GAAG,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBACvC,MAAM;gBACR,KAAK,SAAS;oBACZ,GAAG,CAAC,SAAS,CAAC,GAAG,UAAU,KAAK,MAAM,CAAC;oBACvC,MAAM;YACV,CAAC;QACH,CAAC;QACD,KAAK,EAAE,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE;YACpC,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACtC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,EAAE,CACJ,GAAW,EAAE,yBAAyB;QACtC,OAAe,EAAE,+CAA+C;QAChE,KAAa,EACb,QAAgB,EAChB,WAAmB,EACnB,SAAwB,EACxB,UAAiC,EACjC,eAAwB,EACxB,EAAE;YACF,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACtC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBACb,GAAG,EAAE,OAAO;gBACZ,QAAQ;gBACR,WAAW;gBACX,eAAe;gBACf,SAAS;gBACT,UAAU;gBACV,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QACD,gBAAgB,EAAE,CAChB,GAAW,EACX,cAAsB,EACtB,YAAoB,EACpB,EAAE;YACF,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACtC,GAAG,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,gBAAgB,EAAE,CAAC,GAAW,EAAE,YAAoB,EAAE,EAAE;YACtD,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACtC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,kBAAkB,EAAE,CAAC,GAAW,EAAE,YAAoB,EAAE,EAAE;YACxD,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACtC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,kBAAkB,EAAE,CAClB,GAAW,EACX,SAAiB,EACjB,YAAoB,EACpB,EAAE;YACF,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACtC,GAAG,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,oBAAoB,EAAE,CAAC,GAAW,EAAE,YAAoB,EAAE,EAAE;YAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACtC,GAAG,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,YAAY,EAAE,CACZ,GAAW,EACX,QAAgB,EAChB,KAAa,EACb,OAAe,EACf,EAAE;YACF,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACtC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,kBAAkB,EAAE,CAClB,GAAW,EACX,QAAgB,EAChB,KAAa,EACb,YAAoB,EACpB,SAAkB,EAClB,EAAE;YACF,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACtC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC7B,QAAQ;gBACR,KAAK;gBACL,YAAY;gBACZ,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QACD,kBAAkB,EAAE,CAAC,GAAW,EAAE,QAAgB,EAAE,KAAa,EAAE,EAAE;YACnE,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACtC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,KAAK,EAAE,CACL,KAAa,EACb,UAAkB,EAClB,UAAkB,EAClB,KAAa,EACb,SAAyB,EACzB,EAAE;YACF,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACxC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAClD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBACnB,KAAK,EAAE,WAAW;gBAClB,UAAU;gBACV,UAAU,EAAE,gBAAgB;gBAC5B,KAAK;gBACL,SAAS;aACV,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IAEM,eAAe,CAAC,GAAW;QACjC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG;gBACtB,GAAG;gBACH,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,EAAE;gBACT,aAAa,EAAE,EAAE;gBACjB,YAAY,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;gBAC7C,gBAAgB,EAAE;oBAChB,UAAU,EAAE,EAAE;oBACd,IAAI,EAAE,EAAE;oBACR,MAAM,EAAE,EAAE;oBACV,SAAS,EAAE,EAAE;oBACb,WAAW,EAAE,EAAE;iBAChB;aACF,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IACO,WAAW,CACjB,OAAqB,EACrB,QAAgB,CAAC,EACjB,iBAA0B;QAE1B,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU;aAChC,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,KAAK,KAAK,KAAK;YACrB,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CACtE;aACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;QAE/C,8DAA8D;QAC9D,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACpB,KAAK,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,WAAW,EAAE,CAAC;oBAC/C,MAAM,SAAS,GAAG,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAE/C,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;oBACrD,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;oBAEtD,IAAI,UAAU,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;wBAC9C,SAAS,CAAC,uCAAuC;oBACnD,CAAC;yBAAM,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;wBAC9B,OAAO,SAAS,CAAC,CAAC,2BAA2B;oBAC/C,CAAC;yBAAM,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;wBAC/B,OAAO,CAAC,SAAS,CAAC,CAAC,4BAA4B;oBACjD,CAAC;oBAED,qBAAqB;oBACrB,IAAI,UAAU,GAAG,WAAW;wBAAE,OAAO,SAAS,CAAC;oBAC/C,IAAI,UAAU,GAAG,WAAW;wBAAE,OAAO,CAAC,SAAS,CAAC;oBAChD,2BAA2B;gBAC7B,CAAC;gBACD,sBAAsB;gBACtB,OAAO,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;QACL,CAAC;QAED,+CAA+C;QAC/C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,KAAK,MAAM,eAAe,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC/C,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;oBAChC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,KAAc;QACvC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IACE,OAAO,KAAK,KAAK,QAAQ;YACzB,OAAO,IAAI,KAAK;YAChB,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAC/B,CAAC;YACD,OAAO,KAAK,CAAC,KAAK,CAAC;QACrB,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IACE,IAAI,IAAI,IAAI;oBACZ,OAAO,IAAI,KAAK,QAAQ;oBACxB,OAAO,IAAI,IAAI;oBACf,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAC9B,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,qBAAqB;QAC3B,iDAAiD;QACjD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,kFAAkF;QACnH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;YACpE,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAE7C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;gBAC9D,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;YAC1B,CAAC;YAEA,MAAM,CAAC,UAAU,CAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,UAAU,CAAC,KAAa;QACnC,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,OAAO,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAEvD,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM;YACR,CAAC;YAED,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC;YAC3C,QAAQ,GAAG,QAAQ,CAAC;YAEpB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACpD,IAAI,MAAM,EAAE,CAAC;gBACX,qDAAqD;gBACrD,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBACpD,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,uDAAuD;YACxF,CAAC;QACH,CAAC;QAED,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,yBAAyB;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACK,WAAW,CACjB,KAAa,EACb,KAAa;QAEb,oDAAoD;QACpD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAEjE,qDAAqD;QACrD,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;QACxB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEhC,IAAI,KAAK,EAAE,CAAC;YACV,OAAO;gBACL,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,4CAA4C;gBAC/D,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,kCAAkC;gBAC3D,QAAQ,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,qDAAqD;aAC/F,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACK,cAAc,CACpB,KAAa,EACb,QAAgB;QAEhB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,WAAW,GAAG,KAAK,CAAC;QAExB,8CAA8C;QAC9C,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAE1B,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEtB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBACrC,UAAU,IAAI,GAAG,CAAC;oBAClB,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,WAAW,IAAI,iBAAiB,KAAK,CAAC,EAAE,CAAC;oBAC5C,4DAA4D;oBAC5D,UAAU,GAAG,EAAE,CAAC;gBAClB,CAAC;gBACD,WAAW,GAAG,CAAC,WAAW,CAAC,CAAC,+BAA+B;gBAC3D,SAAS;YACX,CAAC;YAED,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjC,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;oBAC1B,UAAU,IAAI,IAAI,CAAC;oBACnB,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtB,UAAU,GAAG,EAAE,CAAC;gBAChB,iBAAiB,GAAG,CAAC,CAAC;gBACtB,SAAS;YACX,CAAC;YACD,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjC,IAAI,iBAAiB,KAAK,CAAC,EAAE,CAAC;oBAC5B,UAAU,GAAG,EAAE,CAAC;gBAClB,CAAC;gBACD,iBAAiB,EAAE,CAAC;YACtB,CAAC;YAED,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjC,IAAI,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;oBAC9B,UAAU,IAAI,IAAI,CAAC;oBACnB,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtB,OAAO;oBACL,IAAI;oBACJ,WAAW,EAAE,CAAC,GAAG,CAAC;iBACnB,CAAC;YACJ,CAAC;YAED,UAAU,IAAI,IAAI,CAAC;QACrB,CAAC;QAED,OAAO,IAAI,CAAC,CAAC,2BAA2B;IAC1C,CAAC;CACF;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"clingo-parser.js","sourceRoot":"","sources":["../../src/utils/clingo-parser.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,13 @@
12
12
  */
13
13
  import type { PredefinedCardMetadata } from '../interfaces/project-interfaces.js';
14
14
  export declare const INT32_MAX = 2147483647;
15
+ export declare const MAX_LEVEL_OFFSET = 5;
16
+ /**
17
+ * These are file names that are valid for folder resources.
18
+ * Note that the folders might still contain other files, such as .schema files,
19
+ * but this is used for whitelisting the files that are allowed to be edited.
20
+ */
21
+ export declare const VALID_FOLDER_RESOURCE_FILES: string[];
15
22
  /**
16
23
  * These are field names that are non-custom fields that present in metadata
17
24
  */
@@ -11,6 +11,20 @@
11
11
  License along with this program. If not, see <https://www.gnu.org/licenses/>.
12
12
  */
13
13
  export const INT32_MAX = 2147483647; // 2^31-1
14
+ // Maximum level offset for includeMacro
15
+ export const MAX_LEVEL_OFFSET = 5;
16
+ /**
17
+ * These are file names that are valid for folder resources.
18
+ * Note that the folders might still contain other files, such as .schema files,
19
+ * but this is used for whitelisting the files that are allowed to be edited.
20
+ */
21
+ export const VALID_FOLDER_RESOURCE_FILES = [
22
+ 'index.adoc.hbs',
23
+ 'query.lp.hbs',
24
+ 'parameterSchema.json',
25
+ 'view.lp.hbs',
26
+ 'model.lp',
27
+ ];
14
28
  /**
15
29
  * These are field names that are non-custom fields that present in metadata
16
30
  */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AAIF,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,SAAS;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM;IACN,UAAU;IACV,OAAO;IACP,eAAe;IACf,aAAa;IACb,kBAAkB;IAClB,iBAAiB;CACyB,CAAC;AAE7C;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAa;IAEb,OAAQ,iBAA8B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AAIF,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,SAAS;AAE9C,wCAAwC;AACxC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,gBAAgB;IAChB,cAAc;IACd,sBAAsB;IACtB,aAAa;IACb,UAAU;CACX,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM;IACN,UAAU;IACV,OAAO;IACP,eAAe;IACf,aAAa;IACb,kBAAkB;IAClB,iBAAiB;CACyB,CAAC;AAE7C;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAa;IAEb,OAAQ,iBAA8B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/utils/csv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAGvC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY;IAC5C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;QACnC,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE;QAC7B,GAAG,EAAE,IAAI;KACV,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC;IAEnC,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QACvB,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM;QACxC,OAAO,CAAC,MAAM,KAAK,CAAC,EACpB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;YAC3C,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YACzB,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/utils/csv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAGvC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY;IAC5C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;QACnC,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE;QAC7B,GAAG,EAAE,IAAI;KACV,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC;IAEnC,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QACvB,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM;QACxC,OAAO,CAAC,MAAM,KAAK,CAAC,EACpB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,GAA2B,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;YACnE,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YACzB,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,19 +1,33 @@
1
- import type { Calculate } from '../commands/index.js';
1
+ import type { CalculationEngine } from '../containers/project/calculation-engine.js';
2
+ import type { Context } from '../interfaces/project-interfaces.js';
2
3
  /**
3
4
  * Formats a value from a logic program for use to graphviz
4
5
  * @param value - The value to format
5
6
  * @returns The formatted value
6
7
  */
7
8
  export declare function formatAttributeValue(value?: string): string;
9
+ /**
10
+ * Checks if a field is a custom field
11
+ * @param field - The field to check
12
+ * @returns True if the field is a custom field, false otherwise
13
+ */
14
+ export declare function isCustomField(field: string): boolean;
15
+ /**
16
+ * Formats a value for display in a report
17
+ * @param value - The value to format
18
+ * @returns The formatted value
19
+ */
20
+ export declare function formatValue(value: unknown): string;
8
21
  /**
9
22
  * Parameters for the core generation function
10
23
  */
11
24
  interface GenerateReportContentParams {
12
- calculate: Calculate;
25
+ calculate: CalculationEngine;
13
26
  contentTemplate: string;
14
27
  queryTemplate: string;
15
- options: Record<string, string>;
28
+ options: Record<string, string | undefined | boolean>;
16
29
  graph?: boolean;
30
+ context: Context;
17
31
  }
18
32
  /**
19
33
  * Generates report content based on a report definition, project context, and options,
@@ -11,6 +11,7 @@
11
11
  */
12
12
  import Handlebars from 'handlebars';
13
13
  import { registerEmptyMacros } from '../macros/index.js';
14
+ import { resourceName } from './resource-utils.js';
14
15
  /**
15
16
  * Formats a value from a logic program for use to graphviz
16
17
  * @param value - The value to format
@@ -27,6 +28,39 @@ export function formatAttributeValue(value) {
27
28
  // value is a normal string and needs to be wrapped in quotes
28
29
  return `"${value}"`;
29
30
  }
31
+ /**
32
+ * Checks if a field is a custom field
33
+ * @param field - The field to check
34
+ * @returns True if the field is a custom field, false otherwise
35
+ */
36
+ export function isCustomField(field) {
37
+ try {
38
+ const { type } = resourceName(field, true);
39
+ return type === 'fieldTypes';
40
+ }
41
+ catch {
42
+ return false;
43
+ }
44
+ }
45
+ /**
46
+ * Formats a value for display in a report
47
+ * @param value - The value to format
48
+ * @returns The formatted value
49
+ */
50
+ export function formatValue(value) {
51
+ if (typeof value === 'object') {
52
+ if (Array.isArray(value)) {
53
+ return value.map((v) => formatValue(v)).join(', ');
54
+ }
55
+ if (value != null &&
56
+ 'displayValue' in value &&
57
+ typeof value.displayValue === 'string') {
58
+ return value.displayValue;
59
+ }
60
+ return JSON.stringify(value, null, 2);
61
+ }
62
+ return value?.toString() ?? '';
63
+ }
30
64
  /**
31
65
  * Generates report content based on a report definition, project context, and options,
32
66
  * by utilizing the ReportRunner class.
@@ -37,13 +71,13 @@ export function formatAttributeValue(value) {
37
71
  */
38
72
  export async function generateReportContent(params) {
39
73
  const { calculate, contentTemplate, queryTemplate, graph, options, // Destructure options
40
- } = params;
74
+ context, } = params;
41
75
  const handlebars = Handlebars.create();
42
76
  // Compile and execute the query template
43
77
  const template = handlebars.compile(queryTemplate, {
44
78
  strict: true,
45
79
  });
46
- const result = await calculate.runLogicProgram(template(options));
80
+ const result = await calculate.runLogicProgram(template(options), context);
47
81
  if (result.error) {
48
82
  throw new Error(result.error);
49
83
  }
@@ -52,6 +86,8 @@ export async function generateReportContent(params) {
52
86
  if (graph) {
53
87
  handlebars.registerHelper('formatAttributeValue', formatAttributeValue);
54
88
  }
89
+ handlebars.registerHelper('isCustomField', isCustomField);
90
+ handlebars.registerHelper('formatValue', formatValue);
55
91
  return handlebars.compile(contentTemplate)({
56
92
  ...options,
57
93
  ...result,
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/utils/report.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AACF,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,+BAA+B;IAC/B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACrE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,6DAA6D;IAC7D,OAAO,IAAI,KAAK,GAAG,CAAC;AACtB,CAAC;AAaD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAmC;IAEnC,MAAM,EACJ,SAAS,EACT,eAAe,EACf,aAAa,EACb,KAAK,EACL,OAAO,EAAE,sBAAsB;MAChC,GAAG,MAAM,CAAC;IAEX,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;IAEvC,yCAAyC;IACzC,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE;QACjD,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAElE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,gEAAgE;IAChE,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAEhC,IAAI,KAAK,EAAE,CAAC;QACV,UAAU,CAAC,cAAc,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACzC,GAAG,OAAO;QACV,GAAG,MAAM;KACV,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/utils/report.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ export interface ResourceName {
12
12
  type: string;
13
13
  identifier: string;
14
14
  }
15
+ export declare function isResourceFolderType(type: string): boolean;
15
16
  export declare function isResourceName(name: string): boolean;
16
17
  /**
17
18
  * Returns resource name parts (project prefix, type in plural, name of the resource).
@@ -28,7 +29,7 @@ export declare function resourceName(resourceName: string, strict?: boolean): Re
28
29
  * @param resourceName Name of the resource (e.g. <prefix>/<type>/<name>)
29
30
  * @returns path to resource metadata file
30
31
  */
31
- export declare function resourceNameToPath(project: Project, resourceName: ResourceName): string;
32
+ export declare function resourceNameToPath(project: Project, resourceName: ResourceName, extension?: string): string;
32
33
  /**
33
34
  * Resource metadata file path to resource name (e.g. <prefix>/<type>/<name>)
34
35
  * @param project Project where resource is in
@@ -15,6 +15,15 @@ const TYPE_INDEX = 1;
15
15
  const IDENTIFIER_INDEX = 2;
16
16
  // Valid resource name has three parts
17
17
  const RESOURCE_NAME_PARTS = 3;
18
+ const RESOURCE_FOLDER_TYPES = [
19
+ 'graphModels',
20
+ 'graphViews',
21
+ 'reports',
22
+ 'templates',
23
+ ];
24
+ export function isResourceFolderType(type) {
25
+ return RESOURCE_FOLDER_TYPES.includes(type);
26
+ }
18
27
  // Checks if name is valid (3 parts, separated by '/').
19
28
  export function isResourceName(name) {
20
29
  const partsCount = name.split('/').length;
@@ -61,12 +70,12 @@ export function resourceName(resourceName, strict = false) {
61
70
  * @param resourceName Name of the resource (e.g. <prefix>/<type>/<name>)
62
71
  * @returns path to resource metadata file
63
72
  */
64
- export function resourceNameToPath(project, resourceName) {
73
+ export function resourceNameToPath(project, resourceName, extension = '.json') {
65
74
  if (project.projectPrefix === resourceName.prefix) {
66
- return join(project.paths.resourcesFolder, resourceName.type, resourceName.identifier + '.json');
75
+ return join(project.paths.resourcesFolder, resourceName.type, resourceName.identifier + extension);
67
76
  }
68
77
  else if (resourceName.prefix !== '') {
69
- return join(project.paths.modulesFolder, resourceName.prefix, resourceName.type, resourceName.identifier + '.json');
78
+ return join(project.paths.modulesFolder, resourceName.prefix, resourceName.type, resourceName.identifier + extension);
70
79
  }
71
80
  throw new Error('resourceName does not contain prefix');
72
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resource-utils.js","sourceRoot":"","sources":["../../src/utils/resource-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-utils.js","sourceRoot":"","sources":["../../src/utils/resource-utils.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,3 @@
1
- /**
2
- Cyberismo
3
- Copyright © Cyberismo Ltd and contributors 2024
4
-
5
- This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License version 3 as published by the Free Software Foundation.
6
-
7
- This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
8
-
9
- You should have received a copy of the GNU Affero General Public
10
- License along with this program. If not, see <https://www.gnu.org/licenses/>.
11
- */
12
1
  export interface UserPreferencesObject {
13
2
  editCommand: {
14
3
  [platform: string]: {
@@ -60,5 +49,6 @@ export declare class UserPreferences {
60
49
  };
61
50
  };
62
51
  constructor(prefsFilePath: string);
52
+ private get logger();
63
53
  getPreferences(): UserPreferencesObject;
64
54
  }
@@ -9,9 +9,10 @@
9
9
  You should have received a copy of the GNU Affero General Public
10
10
  License along with this program. If not, see <https://www.gnu.org/licenses/>.
11
11
  */
12
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
12
+ import { dirname } from 'node:path';
13
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
13
14
  import { formatJson } from './json.js';
14
- import { dirname } from 'path';
15
+ import { getChildLogger } from '../utils/log-utils.js';
15
16
  /**
16
17
  * The class checks if the preferences file exists when instantiated, and if not, creates it with a default JSON object.
17
18
  * The getPreferences() method simply reads and parses the file to return the preferences object.
@@ -78,21 +79,37 @@ export class UserPreferences {
78
79
  };
79
80
  constructor(prefsFilePath) {
80
81
  this.prefsFilePath = prefsFilePath;
81
- if (!existsSync(this.prefsFilePath)) {
82
- // Create the preferences directory based on prefsFilePath dirname
83
- const prefsDir = dirname(this.prefsFilePath);
84
- try {
85
- if (!existsSync(prefsDir)) {
86
- mkdirSync(prefsDir, { recursive: true });
87
- }
88
- // File does not exist, create it with default content
89
- writeFileSync(this.prefsFilePath, formatJson(UserPreferences.defaults));
82
+ // Create the preferences directory based on prefsFilePath dirname
83
+ const prefsDir = dirname(this.prefsFilePath);
84
+ try {
85
+ // Ensure directory exists first
86
+ if (!existsSync(prefsDir)) {
87
+ mkdirSync(prefsDir, { recursive: true });
90
88
  }
91
- catch (error) {
92
- throw new Error(`Error creating preferences file '${this.prefsFilePath}': ${error}`);
89
+ // Try to create file exclusively using 'wx' flag
90
+ // This will fail atomically if file already exists
91
+ writeFileSync(this.prefsFilePath, formatJson(UserPreferences.defaults), {
92
+ flag: 'wx',
93
+ });
94
+ }
95
+ catch (error) {
96
+ if (error instanceof Error) {
97
+ const err = error;
98
+ // If file already exists (EEXIST), that's fine - we'll use the existing file
99
+ if (err?.code !== 'EEXIST') {
100
+ throw new Error(`Error creating preferences file '${this.prefsFilePath}': ${error}`);
101
+ }
102
+ else {
103
+ this.logger.warn('Preferences file already exists');
104
+ }
93
105
  }
94
106
  }
95
107
  }
108
+ get logger() {
109
+ return getChildLogger({
110
+ module: 'userPreferences',
111
+ });
112
+ }
96
113
  getPreferences() {
97
114
  // Read and parse the preferences file
98
115
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"user-preferences.js","sourceRoot":"","sources":["../../src/utils/user-preferences.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAgB/B;;;GAGG;AACH,MAAM,OAAO,eAAe;IA8DN;IA7DpB,oDAAoD;IACpD,uBAAuB;IACvB,MAAM,CAAC,QAAQ,GAAG;QAChB,WAAW,EAAE;YACX,MAAM,EAAE;gBACN,OAAO,EAAE,MAAM;gBACf,IAAI,EAAE,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;aAClD;YACD,KAAK,EAAE;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;aAClD;YACD,KAAK,EAAE;gBACL,OAAO,EAAE,aAAa;gBACtB,IAAI,EAAE,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;aAClD;SACF;QACD,iBAAiB,EAAE;YACjB,MAAM,EAAE;gBACN;oBACE,QAAQ,EAAE,WAAW;oBACrB,OAAO,EAAE,sCAAsC;iBAChD;gBACD;oBACE,QAAQ,EAAE,eAAe;oBACzB,OAAO,EAAE,sCAAsC;iBAChD;gBACD;oBACE,QAAQ,EAAE,iBAAiB;oBAC3B,OAAO,EAAE,sCAAsC;iBAChD;aACF;YACD,KAAK,EAAE;gBACL;oBACE,QAAQ,EAAE,WAAW;oBACrB,OAAO,EAAE,2BAA2B;iBACrC;gBACD;oBACE,QAAQ,EAAE,eAAe;oBACzB,OAAO,EAAE,2BAA2B;iBACrC;aACF;YACD,KAAK,EAAE;gBACL;oBACE,QAAQ,EAAE,YAAY;oBACtB,OAAO,EAAE,gCAAgC;iBAC1C;gBACD;oBACE,QAAQ,EAAE,WAAW;oBACrB,OAAO,EACL,gEAAgE;iBACnE;gBACD;oBACE,QAAQ,EAAE,eAAe;oBACzB,OAAO,EACL,gEAAgE;iBACnE;aACF;SACF;KACF,CAAC;IAEF,YAAoB,aAAqB;QAArB,kBAAa,GAAb,aAAa,CAAQ;QACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACpC,kEAAkE;YAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAE7C,IAAI,CAAC;gBACH,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC1B,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3C,CAAC;gBACD,sDAAsD;gBACtD,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CACb,oCAAoC,IAAI,CAAC,aAAa,MAAM,KAAK,EAAE,CACpE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAEM,cAAc;QACnB,sCAAsC;QACtC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,mCAAmC,IAAI,CAAC,aAAa,MAAM,KAAK,EAAE,CACnE,CAAC;QACJ,CAAC;IACH,CAAC"}
1
+ {"version":3,"file":"user-preferences.js","sourceRoot":"","sources":["../../src/utils/user-preferences.ts"],"names":[],"mappings":"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"}
@@ -9,12 +9,12 @@
9
9
  You should have received a copy of the GNU Affero General Public
10
10
  License along with this program. If not, see <https://www.gnu.org/licenses/>.
11
11
  */
12
- import { type Schema, Validator } from 'jsonschema';
12
+ import { type Schema } from 'jsonschema';
13
13
  /**
14
14
  * Validates a JSON object against a schema
15
15
  * @param object The object to validate
16
16
  * @param schemaId The id of the schema to validate against
17
- * @param validator An optional validator to use. If validator is not provided or does not contain any schemas, project schemas will be used
17
+ * @param schema The schema to validate against. If schema is not provided, the schema with the given id will be used
18
18
  * @returns The object casted to the type T if it is valid
19
19
  * @throws DHValidationError if the object is not valid
20
20
  * @throws SchemaNotFound if the schema with the given id is not found
@@ -22,5 +22,4 @@ import { type Schema, Validator } from 'jsonschema';
22
22
  export declare function validateJson<T>(object: unknown, options: {
23
23
  schemaId?: string;
24
24
  schema?: Schema;
25
- validator?: Validator;
26
25
  }): T;
@@ -12,18 +12,18 @@
12
12
  import { Validator } from 'jsonschema';
13
13
  import { DHValidationError, SchemaNotFound } from '../exceptions/index.js';
14
14
  import { schemas } from '@cyberismo/assets';
15
+ let validator = null;
15
16
  /**
16
17
  * Validates a JSON object against a schema
17
18
  * @param object The object to validate
18
19
  * @param schemaId The id of the schema to validate against
19
- * @param validator An optional validator to use. If validator is not provided or does not contain any schemas, project schemas will be used
20
+ * @param schema The schema to validate against. If schema is not provided, the schema with the given id will be used
20
21
  * @returns The object casted to the type T if it is valid
21
22
  * @throws DHValidationError if the object is not valid
22
23
  * @throws SchemaNotFound if the schema with the given id is not found
23
24
  */
24
25
  export function validateJson(object, options) {
25
26
  const { schemaId, schema } = options;
26
- let validator = options.validator;
27
27
  if (!schema && !schemaId) {
28
28
  throw new Error('Must either specify schema or schemaId');
29
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/utils/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AACF,OAAO,EAAe,SAAS,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAe,EACf,OAIC;IAED,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACrC,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAElC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,oFAAoF;YACpF,SAAS,CAAC,SAAS,CAAC,MAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,IAAI,UAA8B,CAAC;IAEnC,IAAI,MAAM,EAAE,CAAC;QACX,UAAU,GAAG,MAAM,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAChD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAC1B,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,cAAc,CAAC,kBAAkB,QAAQ,YAAY,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,iBAAiB,CAAC,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAClE,CAAC;IACD,kEAAkE;IAClE,OAAO,MAAW,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/utils/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AACF,OAAO,EAAe,SAAS,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,IAAI,SAAS,GAAqB,IAAI,CAAC;AAEvC;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAe,EACf,OAGC;IAED,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAErC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,oFAAoF;YACpF,SAAS,CAAC,SAAS,CAAC,MAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,IAAI,UAA8B,CAAC;IAEnC,IAAI,MAAM,EAAE,CAAC;QACX,UAAU,GAAG,MAAM,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAChD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAC1B,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,cAAc,CAAC,kBAAkB,QAAQ,YAAY,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,iBAAiB,CAAC,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAClE,CAAC;IACD,kEAAkE;IAClE,OAAO,MAAW,CAAC;AACrB,CAAC"}