@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.
- package/dist/command-handler.d.ts +11 -2
- package/dist/command-handler.js +61 -18
- package/dist/command-handler.js.map +1 -1
- package/dist/command-manager.js +8 -8
- package/dist/command-manager.js.map +1 -1
- package/dist/commands/calculate.d.ts +7 -44
- package/dist/commands/calculate.js +8 -389
- package/dist/commands/calculate.js.map +1 -1
- package/dist/commands/create.d.ts +6 -3
- package/dist/commands/create.js +27 -5
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/edit.d.ts +15 -3
- package/dist/commands/edit.js +52 -9
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/export.d.ts +11 -9
- package/dist/commands/export.js +80 -28
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/import.d.ts +7 -0
- package/dist/commands/import.js +13 -0
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/move.d.ts +11 -12
- package/dist/commands/move.js +12 -13
- package/dist/commands/move.js.map +1 -1
- package/dist/commands/remove.d.ts +1 -3
- package/dist/commands/remove.js +4 -6
- package/dist/commands/remove.js.map +1 -1
- package/dist/commands/rename.d.ts +1 -3
- package/dist/commands/rename.js +3 -6
- package/dist/commands/rename.js.map +1 -1
- package/dist/commands/show.d.ts +37 -5
- package/dist/commands/show.js +89 -8
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/transition.d.ts +1 -3
- package/dist/commands/transition.js +3 -5
- package/dist/commands/transition.js.map +1 -1
- package/dist/commands/update.d.ts +5 -1
- package/dist/commands/update.js +7 -1
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/validate.d.ts +7 -0
- package/dist/commands/validate.js +31 -4
- package/dist/commands/validate.js.map +1 -1
- package/dist/containers/card-container.d.ts +6 -0
- package/dist/containers/card-container.js +61 -0
- package/dist/containers/card-container.js.map +1 -1
- package/dist/containers/project/calculation-engine.d.ts +90 -0
- package/dist/containers/project/calculation-engine.js +402 -0
- package/dist/containers/project/calculation-engine.js.map +1 -0
- package/dist/containers/project/resource-collector.js +9 -13
- package/dist/containers/project/resource-collector.js.map +1 -1
- package/dist/containers/project.d.ts +18 -1
- package/dist/containers/project.js +28 -55
- package/dist/containers/project.js.map +1 -1
- package/dist/containers/template.d.ts +5 -0
- package/dist/containers/template.js +9 -0
- package/dist/containers/template.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/interfaces/macros.d.ts +4 -2
- package/dist/interfaces/project-interfaces.d.ts +21 -0
- package/dist/interfaces/project-interfaces.js +4 -0
- package/dist/interfaces/project-interfaces.js.map +1 -1
- package/dist/interfaces/resource-interfaces.d.ts +4 -2
- package/dist/interfaces/resource-interfaces.js.map +1 -1
- package/dist/macros/base-macro.d.ts +2 -1
- package/dist/macros/base-macro.js +14 -2
- package/dist/macros/base-macro.js.map +1 -1
- package/dist/macros/common.d.ts +16 -9
- package/dist/macros/common.js +22 -9
- package/dist/macros/common.js.map +1 -1
- package/dist/macros/createCards/index.d.ts +2 -2
- package/dist/macros/createCards/index.js +4 -0
- package/dist/macros/createCards/index.js.map +1 -1
- package/dist/macros/graph/index.d.ts +1 -3
- package/dist/macros/graph/index.js +1 -6
- package/dist/macros/graph/index.js.map +1 -1
- package/dist/macros/image/index.d.ts +39 -0
- package/dist/macros/image/index.js +82 -0
- package/dist/macros/image/index.js.map +1 -0
- package/dist/macros/image/metadata.d.ts +18 -0
- package/dist/macros/image/metadata.js +22 -0
- package/dist/macros/image/metadata.js.map +1 -0
- package/dist/macros/include/index.d.ts +31 -0
- package/dist/macros/include/index.js +94 -0
- package/dist/macros/include/index.js.map +1 -0
- package/dist/macros/include/metadata.d.ts +15 -0
- package/dist/macros/include/metadata.js +19 -0
- package/dist/macros/include/metadata.js.map +1 -0
- package/dist/macros/index.d.ts +33 -31
- package/dist/macros/index.js +142 -71
- package/dist/macros/index.js.map +1 -1
- package/dist/macros/percentage/index.d.ts +28 -0
- package/dist/macros/percentage/index.js +33 -0
- package/dist/macros/percentage/index.js.map +1 -0
- package/dist/macros/percentage/metadata.d.ts +15 -0
- package/dist/macros/percentage/metadata.js +19 -0
- package/dist/macros/percentage/metadata.js.map +1 -0
- package/dist/macros/report/index.d.ts +2 -6
- package/dist/macros/report/index.js +3 -7
- package/dist/macros/report/index.js.map +1 -1
- package/dist/macros/scoreCard/index.d.ts +14 -15
- package/dist/macros/scoreCard/index.js +14 -18
- package/dist/macros/scoreCard/index.js.map +1 -1
- package/dist/macros/vega/index.d.ts +28 -0
- package/dist/macros/vega/index.js +27 -0
- package/dist/macros/vega/index.js.map +1 -0
- package/dist/macros/vega/metadata.d.ts +15 -0
- package/dist/macros/vega/metadata.js +7 -0
- package/dist/macros/vega/metadata.js.map +1 -0
- package/dist/macros/vegalite/index.d.ts +26 -0
- package/dist/macros/vegalite/index.js +24 -0
- package/dist/macros/vegalite/index.js.map +1 -0
- package/dist/macros/vegalite/metadata.d.ts +15 -0
- package/dist/macros/vegalite/metadata.js +7 -0
- package/dist/macros/vegalite/metadata.js.map +1 -0
- package/dist/macros/xref/index.d.ts +26 -0
- package/dist/macros/xref/index.js +53 -0
- package/dist/macros/xref/index.js.map +1 -0
- package/dist/macros/xref/metadata.d.ts +15 -0
- package/dist/macros/xref/metadata.js +19 -0
- package/dist/macros/xref/metadata.js.map +1 -0
- package/dist/module-manager.d.ts +1 -0
- package/dist/module-manager.js +14 -4
- package/dist/module-manager.js.map +1 -1
- package/dist/permissions/action-guard.d.ts +2 -2
- package/dist/permissions/action-guard.js +1 -1
- package/dist/permissions/action-guard.js.map +1 -1
- package/dist/resources/card-type-resource.d.ts +2 -0
- package/dist/resources/card-type-resource.js +63 -0
- package/dist/resources/card-type-resource.js.map +1 -1
- package/dist/resources/file-resource.d.ts +2 -0
- package/dist/resources/file-resource.js +12 -4
- package/dist/resources/file-resource.js.map +1 -1
- package/dist/resources/folder-resource.d.ts +19 -0
- package/dist/resources/folder-resource.js +51 -2
- package/dist/resources/folder-resource.js.map +1 -1
- package/dist/resources/graph-model-resource.js +1 -1
- package/dist/resources/graph-model-resource.js.map +1 -1
- package/dist/resources/graph-view-resource.js +1 -1
- package/dist/resources/graph-view-resource.js.map +1 -1
- package/dist/resources/report-resource.js +1 -1
- package/dist/resources/report-resource.js.map +1 -1
- package/dist/resources/resource-object.d.ts +8 -0
- package/dist/resources/resource-object.js +10 -1
- package/dist/resources/resource-object.js.map +1 -1
- package/dist/resources/template-resource.js +1 -1
- package/dist/resources/template-resource.js.map +1 -1
- package/dist/resources/workflow-resource.d.ts +2 -0
- package/dist/resources/workflow-resource.js +53 -9
- package/dist/resources/workflow-resource.js.map +1 -1
- package/dist/svg/index.d.ts +15 -0
- package/dist/svg/index.js +16 -0
- package/dist/svg/index.js.map +1 -0
- package/dist/svg/lib.d.ts +9 -0
- package/dist/svg/lib.js +26 -0
- package/dist/svg/lib.js.map +1 -0
- package/dist/svg/percentage.d.ts +25 -0
- package/dist/svg/percentage.js +90 -0
- package/dist/svg/percentage.js.map +1 -0
- package/dist/svg/scoreCard.d.ts +19 -0
- package/dist/svg/scoreCard.js +55 -0
- package/dist/svg/scoreCard.js.map +1 -0
- package/dist/types/queries.d.ts +8 -7
- package/dist/types/queries.js.map +1 -1
- package/dist/utils/card-utils.d.ts +6 -0
- package/dist/utils/card-utils.js +12 -0
- package/dist/utils/card-utils.js.map +1 -1
- package/dist/utils/clingo-facts.d.ts +2 -1
- package/dist/utils/clingo-facts.js +19 -2
- package/dist/utils/clingo-facts.js.map +1 -1
- package/dist/utils/clingo-parser.d.ts +1 -0
- package/dist/utils/clingo-parser.js +22 -100
- package/dist/utils/clingo-parser.js.map +1 -1
- package/dist/utils/constants.d.ts +7 -0
- package/dist/utils/constants.js +14 -0
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/csv.js.map +1 -1
- package/dist/utils/report.d.ts +17 -3
- package/dist/utils/report.js +38 -2
- package/dist/utils/report.js.map +1 -1
- package/dist/utils/resource-utils.d.ts +2 -1
- package/dist/utils/resource-utils.js +12 -3
- package/dist/utils/resource-utils.js.map +1 -1
- package/dist/utils/user-preferences.d.ts +1 -11
- package/dist/utils/user-preferences.js +30 -13
- package/dist/utils/user-preferences.js.map +1 -1
- package/dist/utils/validate.d.ts +2 -3
- package/dist/utils/validate.js +2 -2
- package/dist/utils/validate.js.map +1 -1
- package/package.json +8 -6
- package/src/command-handler.ts +96 -17
- package/src/command-manager.ts +8 -8
- package/src/commands/calculate.ts +11 -525
- package/src/commands/create.ts +35 -6
- package/src/commands/edit.ts +94 -11
- package/src/commands/export.ts +104 -31
- package/src/commands/import.ts +16 -0
- package/src/commands/move.ts +12 -15
- package/src/commands/remove.ts +4 -8
- package/src/commands/rename.ts +3 -12
- package/src/commands/show.ts +126 -9
- package/src/commands/transition.ts +3 -7
- package/src/commands/update.ts +6 -0
- package/src/commands/validate.ts +41 -13
- package/src/containers/card-container.ts +74 -0
- package/src/containers/project/calculation-engine.ts +535 -0
- package/src/containers/project/resource-collector.ts +13 -15
- package/src/containers/project.ts +30 -66
- package/src/containers/template.ts +16 -0
- package/src/index.ts +13 -2
- package/src/interfaces/macros.ts +4 -1
- package/src/interfaces/project-interfaces.ts +27 -0
- package/src/interfaces/resource-interfaces.ts +5 -2
- package/src/macros/base-macro.ts +19 -4
- package/src/macros/common.ts +22 -9
- package/src/macros/createCards/index.ts +6 -2
- package/src/macros/graph/index.ts +6 -10
- package/src/macros/image/index.ts +128 -0
- package/src/macros/image/metadata.ts +25 -0
- package/src/macros/include/index.ts +143 -0
- package/src/macros/include/metadata.ts +22 -0
- package/src/macros/index.ts +150 -98
- package/src/macros/percentage/index.ts +50 -0
- package/src/macros/percentage/metadata.ts +22 -0
- package/src/macros/report/index.ts +4 -12
- package/src/macros/scoreCard/index.ts +21 -25
- package/src/macros/vega/index.ts +55 -0
- package/src/macros/vega/metadata.ts +21 -0
- package/src/macros/vegalite/index.ts +46 -0
- package/src/macros/vegalite/metadata.ts +21 -0
- package/src/macros/xref/index.ts +73 -0
- package/src/macros/xref/metadata.ts +22 -0
- package/src/module-manager.ts +15 -5
- package/src/permissions/action-guard.ts +3 -3
- package/src/resources/card-type-resource.ts +100 -0
- package/src/resources/file-resource.ts +16 -4
- package/src/resources/folder-resource.ts +59 -2
- package/src/resources/graph-model-resource.ts +1 -1
- package/src/resources/graph-view-resource.ts +1 -1
- package/src/resources/report-resource.ts +1 -1
- package/src/resources/resource-object.ts +19 -1
- package/src/resources/template-resource.ts +1 -1
- package/src/resources/workflow-resource.ts +68 -13
- package/src/svg/index.ts +15 -0
- package/src/svg/lib.ts +31 -0
- package/src/svg/percentage.ts +97 -0
- package/src/svg/scoreCard.ts +88 -0
- package/src/types/queries.ts +8 -7
- package/src/types/string-pixel-width.d.ts +23 -0
- package/src/utils/card-utils.ts +13 -0
- package/src/utils/clingo-facts.ts +65 -3
- package/src/utils/clingo-parser.ts +31 -144
- package/src/utils/constants.ts +16 -0
- package/src/utils/csv.ts +1 -1
- package/src/utils/report.ts +45 -4
- package/src/utils/resource-utils.ts +12 -2
- package/src/utils/user-preferences.ts +32 -14
- 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
|
-
'
|
|
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
|
-
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
|
|
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
|
-
|
|
99
|
-
|
|
100
|
-
|
|
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":"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"}
|
|
1
|
+
{"version":3,"file":"clingo-parser.js","sourceRoot":"","sources":["../../src/utils/clingo-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAKF;;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;AAID,MAAM,YAAY;IACR,QAAQ,GAAG;QACjB,YAAY;QACZ,QAAQ;QACR,aAAa;QACb,aAAa;QACb,OAAO;QACP,uBAAuB;QACvB,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,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,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,qBAAqB,EAAE,CAAC,SAAiB,EAAE,UAAkB,EAAE,EAAE;YAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAC/C,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;QACH,CAAC;QACD,WAAW,EAAE,CAAC,SAAiB,EAAE,IAAY,EAAE,UAAkB,EAAE,EAAE;YACnE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,KAAK,EAAE,KAAK,EACV,GAAW,EACX,SAAiB,EACjB,UAAkB,EAClB,QAAuB,EACvB,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;gBACR,KAAK,YAAY;oBACf,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;wBACtD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;oBACtB,CAAC;oBACA,GAAG,CAAC,SAAS,CAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC5C,MAAM;YACV,CAAC;QACH,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;aACJ,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,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;YAChE,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;QAC7B,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"}
|
|
@@ -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
|
*/
|
package/dist/utils/constants.js
CHANGED
|
@@ -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"}
|
package/dist/utils/csv.js.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/utils/report.d.ts
CHANGED
|
@@ -1,19 +1,33 @@
|
|
|
1
|
-
import type {
|
|
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:
|
|
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,
|
package/dist/utils/report.js
CHANGED
|
@@ -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
|
-
|
|
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,
|
package/dist/utils/report.js.map
CHANGED
|
@@ -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;
|
|
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,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;;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;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3C,OAAO,IAAI,KAAK,YAAY,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AACD;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC;QACD,IACE,KAAK,IAAI,IAAI;YACb,cAAc,IAAI,KAAK;YACvB,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,EACtC,CAAC;YACD,OAAO,KAAK,CAAC,YAAY,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACjC,CAAC;AAcD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAmC;IAEnC,MAAM,EACJ,SAAS,EACT,eAAe,EACf,aAAa,EACb,KAAK,EACL,OAAO,EAAE,sBAAsB;IAC/B,OAAO,GACR,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,EAAE,OAAO,CAAC,CAAC;IAE3E,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;IACD,UAAU,CAAC,cAAc,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IAC1D,UAAU,CAAC,cAAc,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAEtD,OAAO,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACzC,GAAG,OAAO;QACV,GAAG,MAAM;KACV,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -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 +
|
|
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 +
|
|
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":"AAAA;;;;;;;EAOE;AAEF,OAAO;AACP,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAG7C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAYjD,iCAAiC;AACjC,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,sCAAsC;AACtC,MAAM,mBAAmB,GAAG,CAAC,CAAC;
|
|
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 {
|
|
12
|
+
import { dirname } from 'node:path';
|
|
13
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
13
14
|
import { formatJson } from './json.js';
|
|
14
|
-
import {
|
|
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
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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
|
-
|
|
92
|
-
|
|
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;
|
|
1
|
+
{"version":3,"file":"user-preferences.js","sourceRoot":"","sources":["../../src/utils/user-preferences.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/validate.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
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;
|
package/dist/utils/validate.js
CHANGED
|
@@ -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
|
|
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,
|
|
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"}
|