@cyberismo/data-handler 0.0.14 → 0.0.15
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/card-metadata-updater.js +1 -3
- package/dist/card-metadata-updater.js.map +1 -1
- package/dist/command-handler.js +10 -16
- package/dist/command-handler.js.map +1 -1
- package/dist/command-manager.d.ts +1 -1
- package/dist/command-manager.js +4 -3
- package/dist/command-manager.js.map +1 -1
- package/dist/commands/create.js +13 -59
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/edit.d.ts +1 -15
- package/dist/commands/edit.js +15 -89
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/export.js +4 -17
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/import.js +3 -5
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/move.d.ts +1 -2
- package/dist/commands/move.js +108 -146
- package/dist/commands/move.js.map +1 -1
- package/dist/commands/remove.js +9 -44
- package/dist/commands/remove.js.map +1 -1
- package/dist/commands/rename.js +2 -7
- package/dist/commands/rename.js.map +1 -1
- package/dist/commands/show.d.ts +7 -25
- package/dist/commands/show.js +38 -102
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/transition.js +27 -30
- package/dist/commands/transition.js.map +1 -1
- package/dist/commands/update.d.ts +5 -3
- package/dist/commands/update.js +19 -5
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/validate.d.ts +3 -3
- package/dist/commands/validate.js +19 -26
- package/dist/commands/validate.js.map +1 -1
- package/dist/containers/card-container.d.ts +87 -24
- package/dist/containers/card-container.js +183 -279
- package/dist/containers/card-container.js.map +1 -1
- package/dist/containers/project/calculation-engine.d.ts +6 -0
- package/dist/containers/project/calculation-engine.js +19 -12
- package/dist/containers/project/calculation-engine.js.map +1 -1
- package/dist/containers/project/card-cache.d.ts +146 -0
- package/dist/containers/project/card-cache.js +411 -0
- package/dist/containers/project/card-cache.js.map +1 -0
- package/dist/containers/project/resource-collector.d.ts +24 -1
- package/dist/containers/project/resource-collector.js +8 -1
- package/dist/containers/project/resource-collector.js.map +1 -1
- package/dist/containers/project.d.ts +117 -83
- package/dist/containers/project.js +418 -252
- package/dist/containers/project.js.map +1 -1
- package/dist/containers/template.d.ts +15 -31
- package/dist/containers/template.js +97 -104
- package/dist/containers/template.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/folder-content-interfaces.d.ts +2 -1
- package/dist/interfaces/folder-content-interfaces.js.map +1 -1
- package/dist/interfaces/macros.d.ts +1 -0
- package/dist/interfaces/macros.js +1 -1
- package/dist/interfaces/macros.js.map +1 -1
- package/dist/interfaces/project-interfaces.d.ts +5 -1
- package/dist/interfaces/project-interfaces.js.map +1 -1
- package/dist/interfaces/resource-interfaces.d.ts +11 -21
- package/dist/interfaces/resource-interfaces.js +3 -0
- package/dist/interfaces/resource-interfaces.js.map +1 -1
- package/dist/macros/common.d.ts +10 -10
- package/dist/macros/createCards/index.d.ts +0 -13
- package/dist/macros/createCards/index.js.map +1 -1
- package/dist/macros/createCards/types.d.ts +44 -0
- package/dist/macros/createCards/types.js +15 -0
- package/dist/macros/createCards/types.js.map +1 -0
- package/dist/macros/graph/index.d.ts +2 -6
- package/dist/macros/graph/index.js +2 -2
- package/dist/macros/graph/index.js.map +1 -1
- package/dist/macros/graph/types.d.ts +23 -0
- package/dist/macros/graph/types.js +15 -0
- package/dist/macros/graph/types.js.map +1 -0
- package/dist/macros/image/index.d.ts +8 -16
- package/dist/macros/image/index.js +36 -33
- package/dist/macros/image/index.js.map +1 -1
- package/dist/macros/image/types.d.ts +38 -0
- package/dist/macros/image/types.js +15 -0
- package/dist/macros/image/types.js.map +1 -0
- package/dist/macros/include/index.d.ts +1 -6
- package/dist/macros/include/index.js +4 -7
- package/dist/macros/include/index.js.map +1 -1
- package/dist/macros/include/types.d.ts +31 -0
- package/dist/macros/include/types.js +15 -0
- package/dist/macros/include/types.js.map +1 -0
- package/dist/macros/percentage/index.d.ts +0 -6
- package/dist/macros/percentage/index.js.map +1 -1
- package/dist/macros/percentage/types.d.ts +31 -0
- package/dist/macros/percentage/types.js +15 -0
- package/dist/macros/percentage/types.js.map +1 -0
- package/dist/macros/report/index.d.ts +0 -3
- package/dist/macros/report/index.js.map +1 -1
- package/dist/macros/report/types.d.ts +19 -0
- package/dist/macros/report/types.js +15 -0
- package/dist/macros/report/types.js.map +1 -0
- package/dist/macros/scoreCard/index.d.ts +0 -6
- package/dist/macros/scoreCard/index.js.map +1 -1
- package/dist/macros/scoreCard/types.d.ts +31 -0
- package/dist/macros/scoreCard/types.js +15 -0
- package/dist/macros/scoreCard/types.js.map +1 -0
- package/dist/macros/types.d.ts +25 -0
- package/dist/macros/types.js +2 -0
- package/dist/macros/types.js.map +1 -0
- package/dist/macros/vega/index.d.ts +0 -4
- package/dist/macros/vega/index.js.map +1 -1
- package/dist/macros/vega/types.d.ts +20 -0
- package/dist/macros/vega/types.js +2 -0
- package/dist/macros/vega/types.js.map +1 -0
- package/dist/macros/vegalite/index.d.ts +0 -4
- package/dist/macros/vegalite/index.js.map +1 -1
- package/dist/macros/vegalite/types.d.ts +20 -0
- package/dist/macros/vegalite/types.js +15 -0
- package/dist/macros/vegalite/types.js.map +1 -0
- package/dist/macros/xref/index.d.ts +0 -3
- package/dist/macros/xref/index.js +5 -14
- package/dist/macros/xref/index.js.map +1 -1
- package/dist/macros/xref/types.d.ts +19 -0
- package/dist/macros/xref/types.js +15 -0
- package/dist/macros/xref/types.js.map +1 -0
- package/dist/module-manager.js +4 -4
- package/dist/module-manager.js.map +1 -1
- package/dist/project-settings.js.map +1 -1
- package/dist/resources/calculation-resource.d.ts +4 -32
- package/dist/resources/calculation-resource.js +0 -55
- package/dist/resources/calculation-resource.js.map +1 -1
- package/dist/resources/card-type-resource.d.ts +4 -21
- package/dist/resources/card-type-resource.js +13 -44
- package/dist/resources/card-type-resource.js.map +1 -1
- package/dist/resources/field-type-resource.d.ts +4 -21
- package/dist/resources/field-type-resource.js +14 -38
- package/dist/resources/field-type-resource.js.map +1 -1
- package/dist/resources/file-resource.d.ts +12 -29
- package/dist/resources/file-resource.js +19 -293
- package/dist/resources/file-resource.js.map +1 -1
- package/dist/resources/folder-resource.d.ts +31 -50
- package/dist/resources/folder-resource.js +68 -96
- package/dist/resources/folder-resource.js.map +1 -1
- package/dist/resources/graph-model-resource.d.ts +5 -33
- package/dist/resources/graph-model-resource.js +8 -61
- package/dist/resources/graph-model-resource.js.map +1 -1
- package/dist/resources/graph-view-resource.d.ts +5 -28
- package/dist/resources/graph-view-resource.js +6 -45
- package/dist/resources/graph-view-resource.js.map +1 -1
- package/dist/resources/link-type-resource.d.ts +4 -21
- package/dist/resources/link-type-resource.js +6 -31
- package/dist/resources/link-type-resource.js.map +1 -1
- package/dist/resources/report-resource.d.ts +5 -17
- package/dist/resources/report-resource.js +6 -44
- package/dist/resources/report-resource.js.map +1 -1
- package/dist/resources/resource-object.d.ts +58 -23
- package/dist/resources/resource-object.js +293 -24
- package/dist/resources/resource-object.js.map +1 -1
- package/dist/resources/template-resource.d.ts +4 -15
- package/dist/resources/template-resource.js +10 -25
- package/dist/resources/template-resource.js.map +1 -1
- package/dist/resources/workflow-resource.d.ts +4 -23
- package/dist/resources/workflow-resource.js +12 -38
- package/dist/resources/workflow-resource.js.map +1 -1
- package/dist/utils/card-utils.d.ts +69 -19
- package/dist/utils/card-utils.js +179 -30
- package/dist/utils/card-utils.js.map +1 -1
- package/dist/utils/clingo-facts.js +11 -3
- package/dist/utils/clingo-facts.js.map +1 -1
- package/dist/utils/clingo-parser.js +1 -1
- package/dist/utils/clingo-parser.js.map +1 -1
- package/dist/utils/constants.d.ts +2 -0
- package/dist/utils/constants.js +4 -0
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/csv.js +1 -1
- package/dist/utils/csv.js.map +1 -1
- package/package.json +5 -5
- package/src/card-metadata-updater.ts +3 -5
- package/src/command-handler.ts +11 -18
- package/src/command-manager.ts +4 -3
- package/src/commands/create.ts +17 -83
- package/src/commands/edit.ts +16 -132
- package/src/commands/export.ts +8 -29
- package/src/commands/import.ts +4 -6
- package/src/commands/move.ts +144 -179
- package/src/commands/remove.ts +9 -52
- package/src/commands/rename.ts +2 -7
- package/src/commands/show.ts +50 -143
- package/src/commands/transition.ts +30 -33
- package/src/commands/update.ts +27 -9
- package/src/commands/validate.ts +21 -36
- package/src/containers/card-container.ts +200 -360
- package/src/containers/project/calculation-engine.ts +21 -13
- package/src/containers/project/card-cache.ts +497 -0
- package/src/containers/project/resource-collector.ts +9 -1
- package/src/containers/project.ts +529 -327
- package/src/containers/template.ts +109 -127
- package/src/index.ts +1 -0
- package/src/interfaces/folder-content-interfaces.ts +7 -1
- package/src/interfaces/macros.ts +2 -0
- package/src/interfaces/project-interfaces.ts +7 -1
- package/src/interfaces/resource-interfaces.ts +12 -24
- package/src/macros/createCards/index.ts +1 -12
- package/src/macros/createCards/types.ts +46 -0
- package/src/macros/graph/index.ts +3 -7
- package/src/macros/graph/types.ts +24 -0
- package/src/macros/image/index.ts +50 -61
- package/src/macros/image/types.ts +39 -0
- package/src/macros/include/index.ts +6 -15
- package/src/macros/include/types.ts +32 -0
- package/src/macros/percentage/index.ts +1 -7
- package/src/macros/percentage/types.ts +32 -0
- package/src/macros/report/index.ts +1 -4
- package/src/macros/report/types.ts +20 -0
- package/src/macros/scoreCard/index.ts +1 -7
- package/src/macros/scoreCard/types.ts +32 -0
- package/src/macros/types.ts +48 -0
- package/src/macros/vega/index.ts +1 -4
- package/src/macros/vega/types.ts +21 -0
- package/src/macros/vegalite/index.ts +1 -4
- package/src/macros/vegalite/types.ts +22 -0
- package/src/macros/xref/index.ts +6 -20
- package/src/macros/xref/types.ts +20 -0
- package/src/module-manager.ts +5 -5
- package/src/project-settings.ts +1 -1
- package/src/resources/calculation-resource.ts +6 -76
- package/src/resources/card-type-resource.ts +24 -59
- package/src/resources/field-type-resource.ts +22 -51
- package/src/resources/file-resource.ts +27 -409
- package/src/resources/folder-resource.ts +98 -124
- package/src/resources/graph-model-resource.ts +17 -74
- package/src/resources/graph-view-resource.ts +14 -54
- package/src/resources/link-type-resource.ts +13 -40
- package/src/resources/report-resource.ts +17 -57
- package/src/resources/resource-object.ts +435 -32
- package/src/resources/template-resource.ts +16 -29
- package/src/resources/workflow-resource.ts +26 -50
- package/src/utils/card-utils.ts +217 -31
- package/src/utils/clingo-facts.ts +13 -3
- package/src/utils/clingo-parser.ts +1 -1
- package/src/utils/constants.ts +6 -0
- package/src/utils/csv.ts +1 -1
|
@@ -12,11 +12,11 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import type { Card, Operation, Project, ResourceName } from './file-resource.js';
|
|
14
14
|
import { FileResource } from './file-resource.js';
|
|
15
|
-
import type { DataType, FieldType } from '../interfaces/resource-interfaces.js';
|
|
15
|
+
import type { DataType, FieldType, UpdateKey } from '../interfaces/resource-interfaces.js';
|
|
16
16
|
/**
|
|
17
17
|
* Field type resource class.
|
|
18
18
|
*/
|
|
19
|
-
export declare class FieldTypeResource extends FileResource {
|
|
19
|
+
export declare class FieldTypeResource extends FileResource<FieldType> {
|
|
20
20
|
private fromType;
|
|
21
21
|
private toType;
|
|
22
22
|
constructor(project: Project, name: ResourceName);
|
|
@@ -37,14 +37,6 @@ export declare class FieldTypeResource extends FileResource {
|
|
|
37
37
|
* @throws if called with unknown data type
|
|
38
38
|
*/
|
|
39
39
|
createFieldType(dataType: DataType): Promise<void>;
|
|
40
|
-
/**
|
|
41
|
-
* Returns content data.
|
|
42
|
-
*/
|
|
43
|
-
get data(): FieldType;
|
|
44
|
-
/**
|
|
45
|
-
* Deletes file(s) from disk and clears out the memory resident object.
|
|
46
|
-
*/
|
|
47
|
-
delete(): Promise<void>;
|
|
48
40
|
/**
|
|
49
41
|
* Returns all possible field types.
|
|
50
42
|
* @returns all possible field types.
|
|
@@ -62,21 +54,16 @@ export declare class FieldTypeResource extends FileResource {
|
|
|
62
54
|
* @param newName New name for the resource.
|
|
63
55
|
*/
|
|
64
56
|
rename(newName: ResourceName): Promise<void>;
|
|
65
|
-
/**
|
|
66
|
-
* Shows metadata of the resource.
|
|
67
|
-
* @returns field type metadata.
|
|
68
|
-
*/
|
|
69
|
-
show(): Promise<FieldType>;
|
|
70
57
|
/**
|
|
71
58
|
* Updates field type resource.
|
|
72
|
-
* @param
|
|
59
|
+
* @param updateKey Key to modify
|
|
73
60
|
* @param op Operation to perform on 'key'
|
|
74
61
|
* @throws
|
|
75
62
|
* - when called with unknown data type
|
|
76
63
|
* - when called with data type conversion that cannot be done
|
|
77
64
|
* - when called with unknown property to update
|
|
78
65
|
*/
|
|
79
|
-
update<Type>(
|
|
66
|
+
update<Type, K extends string>(updateKey: UpdateKey<K>, op: Operation<Type>): Promise<void>;
|
|
80
67
|
/**
|
|
81
68
|
* List where link type is used.
|
|
82
69
|
* Always returns card key references first, then any resource references and finally calculation references.
|
|
@@ -85,8 +72,4 @@ export declare class FieldTypeResource extends FileResource {
|
|
|
85
72
|
* @returns array of card keys, resource names and calculation filenames that refer this resource.
|
|
86
73
|
*/
|
|
87
74
|
usage(cards?: Card[]): Promise<string[]>;
|
|
88
|
-
/**
|
|
89
|
-
* Validates the resource. If object is invalid, throws.
|
|
90
|
-
*/
|
|
91
|
-
validate(content?: object): Promise<void>;
|
|
92
75
|
}
|
|
@@ -27,7 +27,6 @@ export class FieldTypeResource extends FileResource {
|
|
|
27
27
|
super(project, name, 'fieldTypes');
|
|
28
28
|
this.contentSchemaId = 'fieldTypeSchema';
|
|
29
29
|
this.contentSchema = super.contentSchemaContent(this.contentSchemaId);
|
|
30
|
-
this.initialize();
|
|
31
30
|
}
|
|
32
31
|
// Cards from given array that include this field type.
|
|
33
32
|
cardsWithFieldType(cards) {
|
|
@@ -89,16 +88,17 @@ export class FieldTypeResource extends FileResource {
|
|
|
89
88
|
function affectedCard(card) {
|
|
90
89
|
if (!card.metadata)
|
|
91
90
|
return false;
|
|
92
|
-
return cardTypesThatUseThisFieldType.some((item) => item === card.metadata
|
|
91
|
+
return cardTypesThatUseThisFieldType.some((item) => item === card.metadata?.cardType);
|
|
93
92
|
}
|
|
94
93
|
// First collect the cardTypes that need to be updated.
|
|
95
94
|
const cardTypes = await this.relevantCardTypes(ResourcesFrom.localOnly);
|
|
96
95
|
cardTypesThatUseThisFieldType.push(...cardTypes);
|
|
97
96
|
// Then collect cards (both project and local template) that use those card types.
|
|
98
|
-
const projectCards =
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
const templateCards =
|
|
97
|
+
const projectCards = this.project
|
|
98
|
+
.cards(this.project.paths.cardRootFolder)
|
|
99
|
+
.filter((card) => affectedCard(card));
|
|
100
|
+
const templateCards = this.project
|
|
101
|
+
.allTemplateCards()
|
|
102
102
|
.filter((card) => !card.path.includes('modules'))
|
|
103
103
|
.filter((card) => affectedCard(card));
|
|
104
104
|
const allCards = [...projectCards, ...templateCards];
|
|
@@ -150,7 +150,7 @@ export class FieldTypeResource extends FileResource {
|
|
|
150
150
|
return;
|
|
151
151
|
const removedValue = op.target.enumValue;
|
|
152
152
|
const cardTypes = await this.relevantCardTypes(ResourcesFrom.localOnly);
|
|
153
|
-
const allCards = await Promise.all(cardTypes.map((cardType) => this.collectCards(
|
|
153
|
+
const allCards = await Promise.all(cardTypes.map((cardType) => this.collectCards(cardType)));
|
|
154
154
|
const cardsToUpdate = allCards
|
|
155
155
|
.flat()
|
|
156
156
|
.filter((card) => card.metadata?.[this.content.name] === removedValue);
|
|
@@ -208,7 +208,7 @@ export class FieldTypeResource extends FileResource {
|
|
|
208
208
|
? data.customFields.find((item) => item.name === oldName)
|
|
209
209
|
: undefined;
|
|
210
210
|
if (found) {
|
|
211
|
-
await object.update('customFields', op);
|
|
211
|
+
await object.update({ key: 'customFields' }, op);
|
|
212
212
|
}
|
|
213
213
|
}
|
|
214
214
|
}
|
|
@@ -226,18 +226,6 @@ export class FieldTypeResource extends FileResource {
|
|
|
226
226
|
const content = DefaultContent.fieldType(resourceNameToString(this.resourceName), useDataType);
|
|
227
227
|
return super.create(content);
|
|
228
228
|
}
|
|
229
|
-
/**
|
|
230
|
-
* Returns content data.
|
|
231
|
-
*/
|
|
232
|
-
get data() {
|
|
233
|
-
return super.data;
|
|
234
|
-
}
|
|
235
|
-
/**
|
|
236
|
-
* Deletes file(s) from disk and clears out the memory resident object.
|
|
237
|
-
*/
|
|
238
|
-
async delete() {
|
|
239
|
-
return super.delete();
|
|
240
|
-
}
|
|
241
229
|
/**
|
|
242
230
|
* Returns all possible field types.
|
|
243
231
|
* @returns all possible field types.
|
|
@@ -306,29 +294,23 @@ export class FieldTypeResource extends FileResource {
|
|
|
306
294
|
await super.rename(newName);
|
|
307
295
|
return this.handleNameChange(existingName);
|
|
308
296
|
}
|
|
309
|
-
/**
|
|
310
|
-
* Shows metadata of the resource.
|
|
311
|
-
* @returns field type metadata.
|
|
312
|
-
*/
|
|
313
|
-
async show() {
|
|
314
|
-
return super.show();
|
|
315
|
-
}
|
|
316
297
|
/**
|
|
317
298
|
* Updates field type resource.
|
|
318
|
-
* @param
|
|
299
|
+
* @param updateKey Key to modify
|
|
319
300
|
* @param op Operation to perform on 'key'
|
|
320
301
|
* @throws
|
|
321
302
|
* - when called with unknown data type
|
|
322
303
|
* - when called with data type conversion that cannot be done
|
|
323
304
|
* - when called with unknown property to update
|
|
324
305
|
*/
|
|
325
|
-
async update(
|
|
306
|
+
async update(updateKey, op) {
|
|
307
|
+
const { key } = updateKey;
|
|
326
308
|
const nameChange = key === 'name';
|
|
327
309
|
const typeChange = key === 'dataType';
|
|
328
310
|
const enumChange = key === 'enumValues';
|
|
329
311
|
const existingName = this.content.name;
|
|
330
312
|
const existingType = this.content.dataType;
|
|
331
|
-
await super.update(
|
|
313
|
+
await super.update(updateKey, op);
|
|
332
314
|
const content = structuredClone(this.content);
|
|
333
315
|
if (key === 'name') {
|
|
334
316
|
content.name = super.handleScalar(op);
|
|
@@ -362,7 +344,7 @@ export class FieldTypeResource extends FileResource {
|
|
|
362
344
|
else {
|
|
363
345
|
throw new Error(`Unknown property '${key}' for FieldType`);
|
|
364
346
|
}
|
|
365
|
-
await super.postUpdate(content,
|
|
347
|
+
await super.postUpdate(content, updateKey, op);
|
|
366
348
|
if (nameChange) {
|
|
367
349
|
// Renaming this field type causes that references to its name must be updated.
|
|
368
350
|
await this.handleNameChange(existingName);
|
|
@@ -383,7 +365,7 @@ export class FieldTypeResource extends FileResource {
|
|
|
383
365
|
* @returns array of card keys, resource names and calculation filenames that refer this resource.
|
|
384
366
|
*/
|
|
385
367
|
async usage(cards) {
|
|
386
|
-
const allCards = cards ??
|
|
368
|
+
const allCards = cards ?? super.cards();
|
|
387
369
|
const [cardContentReferences, relevantLinkTypes, calculations] = await Promise.all([
|
|
388
370
|
super.usage(allCards),
|
|
389
371
|
this.relevantCardTypes(ResourcesFrom.all),
|
|
@@ -398,11 +380,5 @@ export class FieldTypeResource extends FileResource {
|
|
|
398
380
|
...new Set([...cardReferences, ...relevantLinkTypes, ...calculations]),
|
|
399
381
|
];
|
|
400
382
|
}
|
|
401
|
-
/**
|
|
402
|
-
* Validates the resource. If object is invalid, throws.
|
|
403
|
-
*/
|
|
404
|
-
async validate(content) {
|
|
405
|
-
return super.validate(content);
|
|
406
|
-
}
|
|
407
383
|
}
|
|
408
384
|
//# sourceMappingURL=field-type-resource.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-type-resource.js","sourceRoot":"","sources":["../../src/resources/field-type-resource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AAUF,OAAO,EACL,cAAc,EACd,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,SAAS,GACV,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACL,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,GACX,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,cAAc,MAAM,iBAAiB,CAAC;AAElD,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IACjD,yEAAyE;IACzE,sEAAsE;IAC9D,QAAQ,GAAa,SAAS,CAAC;IAC/B,MAAM,GAAa,SAAS,CAAC;IAErC,YAAY,OAAgB,EAAE,IAAkB;QAC9C,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QAEnC,IAAI,CAAC,eAAe,GAAG,iBAAiB,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEtE,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,uDAAuD;IAC/C,kBAAkB,CAAC,KAAa;QACtC,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7D,OAAO,KAAK;aACT,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC,CAAC;aAC/C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,mBAAmB;IACnB,+BAA+B;IAC/B,kDAAkD;IAClD,4EAA4E;IAC5E,iEAAiE;IACjE,yEAAyE;IACzE,mEAAmE;IACnE,uCAAuC;IACvC,uBAAuB;IACvB,sBAAsB;IACtB,sBAAsB;IACtB,uCAAuC;IACvC,qBAAqB;IACrB,6BAA6B;IACrB,cAAc,CAAI,KAAQ;QAChC,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC7D,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC9D,OAAO,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YAClE,OAAO,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC9D,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC5C,IACE,IAAI,CAAC,MAAM,KAAK,WAAW;gBAC3B,SAAS,CAAC,MAAM,GAAG,qBAAqB,EACxC,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,oFAAoF;IAC5E,YAAY,CAAI,KAAQ;QAC9B,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAChC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAE1C,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,wBAAwB,IAAI,CAAC,QAAQ,SAAS,IAAI,CAAC,MAAM,YAAY,KAAK,GAAG,CAC9E,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,qEAAqE;IAC7D,KAAK,CAAC,eAAe;QAC3B,MAAM,6BAA6B,GAAa,EAAE,CAAC;QAEnD,2CAA2C;QAC3C,SAAS,YAAY,CAAC,IAAU;YAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,OAAO,KAAK,CAAC;YACjC,OAAO,6BAA6B,CAAC,IAAI,CACvC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,QAAS,CAAC,QAAQ,CAC3C,CAAC;QACJ,CAAC;QAED,uDAAuD;QACvD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACxE,6BAA6B,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;QAEjD,kFAAkF;QAClF,MAAM,YAAY,GAAG,CACnB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE;YAC1D,QAAQ,EAAE,IAAI;SACf,CAAC,CACH,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;aAC1D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;aAChD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,aAAa,CAAC,CAAC;QAErD,gDAAgD;QAChD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAS,CAAC;YAChC,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC1D,IAAI,CAAC;gBACH,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC7D,sDAAsD;gBACtD,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,IAAI;oBAAE,SAAS;gBAE3C,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CACX,YAAY,IAAI,CAAC,GAAG,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACnF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,4CAA4C;IACpC,eAAe,CAAO,EAAmB,EAAE,MAAc;QAC/D,MAAM,WAAW,GAAI,EAAgC,CAAC,MAAM,CAAC;QAC7D,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAC7B,CAAC,IAAI,EAAE,EAAE,CAAE,IAAuB,CAAC,SAAS,KAAK,WAAW,CAAC,SAAS,CACvE,CAAC;QACF,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,IAAI,WAAW,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CACb,8DAA+D,EAAE,CAAC,MAAyB,CAAC,SAAS,kBAAkB,CACxH,CAAC;QACJ,CAAC;QACD,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACb,8DAA+D,EAAE,CAAC,MAAyB,CAAC,SAAS,kBAAkB,CACxH,CAAC;QACJ,CAAC;QACD,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CACb,8DAA+D,EAAE,CAAC,MAAyB,CAAC,SAAS,kBAAkB,CACxH,CAAC;YACJ,CAAC;YACD,MAAM,QAAQ,GAAI,EAAsC,CAAC,EAAE,CAAC;YAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CACzB,CAAC,IAAI,EAAE,EAAE,CAAE,IAAuB,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS,CACpE,CAAC;YACF,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CACb,8DAA+D,EAAE,CAAC,EAAqB,CAAC,SAAS,kBAAkB,CACpH,CAAC;YACJ,CAAC;QACH,CAAC;QACD,gEAAgE;QAChE,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,wEAAwE;IACxE,qEAAqE;IAC7D,KAAK,CAAC,2BAA2B,CAAO,EAAmB;QACjE,MAAM,QAAQ,GAAG,EAA2B,CAAC;QAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAkC,CAAC;QAC7D,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,MAAM,YAAY,GAAI,EAAE,CAAC,MAAyB,CAAC,SAAS,CAAC;QAC7D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACzB,IAAI,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,QAAQ,CAAC,CAChD,CACF,CAAC;QACF,MAAM,aAAa,GAAG,QAAQ;aAC3B,IAAI,EAAE;aACN,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,YAAY,CAAC,CAAC;QAEzE,MAAM,OAAO,CAAC,GAAG,CACf,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACzB,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAChC,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,OAAO,CAAC,IAAI,EACjB,QAAQ,CAAC,SAAS,CACnB,CACF,CACF,CAAC;IACJ,CAAC;IAED,8BAA8B;IACtB,KAAK,CAAC,gBAAgB,CAAC,YAAoB;QACjD,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACvD,KAAK,CAAC,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;SAC1D,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,sDAAsD;IAC9C,iBAAiB,CAAC,IAAc,EAAE,EAAY;QACpD,+DAA+D;QAC/D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QAEjB,OAAO,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,wEAAwE;IAChE,MAAM,CAAC,gBAAgB,CAAC,KAAa;QAC3C,MAAM,wBAAwB,GAAG,YAAY,CAAC;QAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,kCAAkC;IAC1B,KAAK,CAAC,iBAAiB,CAAC,IAAmB;QACjD,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAErD,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAW,QAAQ,CAAC,IAAI,CAAC,CAAC;YACtE,OAAO,QAAQ,EAAE,YAAY,CAAC,IAAI,CAChC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,CACvC;gBACC,CAAC,CAAC,QAAQ,CAAC,IAAI;gBACf,CAAC,CAAC,EAAE,CAAC;QACT,CAAC,CAAC,CACH,CAAC;QACF,uBAAuB;QACvB,OAAO,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,8BAA8B;IACtB,KAAK,CAAC,eAAe,CAAC,OAAe;QAC3C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACxE,MAAM,EAAE,GAAG;YACT,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;SACK,CAAC;QAC7B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CACjC,IAAI,CAAC,OAAO,EACZ,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC5B,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAgB,CAAC;YACrC,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY;oBAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;oBACzD,CAAC,CAAC,SAAS,CAAC;gBACd,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,eAAe,CAAC,QAAkB;QAC7C,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CACb,eAAe,QAAQ,oCAAoC,iBAAiB,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC3G,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,QAAQ,CAAC;QAC7B,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CACtC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,EACvC,WAAW,CACZ,CAAC;QACF,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAW,IAAI;QACb,OAAO,KAAK,CAAC,IAAiB,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,MAAM;QACjB,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,cAAc;QAC1B,OAAO;YACL,WAAW;YACX,UAAU;YACV,QAAQ;YACR,SAAS;YACT,SAAS;YACT,MAAM;YACN,MAAM;YACN,MAAM;YACN,UAAU;YACV,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,gBAAgB,CAAC,KAAa,EAAE,QAAkB;QAC9D,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE/C,IAAI,CAAC;YACH,QAAQ,QAAQ,EAAE,CAAC;gBACjB,KAAK,MAAM;oBACT,OAAO,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACnD,KAAK,SAAS;oBACZ,OAAO,KAAK,KAAK,MAAM,CAAC;gBAC1B,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9C,CAAC;gBACD,KAAK,UAAU;oBACb,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;gBACvC,KAAK,SAAS;oBACZ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACnC,KAAK,QAAQ;oBACX,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvB,KAAK,QAAQ;oBACX,OAAO,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBACvD,KAAK,MAAM,CAAC;gBACZ,KAAK,WAAW,CAAC;gBACjB,KAAK,UAAU,CAAC;gBAChB;oBACE,OAAO,KAAK,CAAC;YACjB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,4BAA4B,KAAK,eAAe,QAAQ,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACvH,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,MAAM,CAAC,OAAqB;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QACvC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,IAAI;QACf,OAAO,KAAK,CAAC,IAAI,EAAwB,CAAC;IAC5C,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,MAAM,CAAO,GAAW,EAAE,EAAmB;QACxD,MAAM,UAAU,GAAG,GAAG,KAAK,MAAM,CAAC;QAClC,MAAM,UAAU,GAAG,GAAG,KAAK,UAAU,CAAC;QACtC,MAAM,UAAU,GAAG,GAAG,KAAK,YAAY,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QACvC,MAAM,YAAY,GAAI,IAAI,CAAC,OAAqB,CAAC,QAAQ,CAAC;QAE1D,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAE5B,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAc,CAAC;QAC3D,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAW,CAAC;QAClD,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,EAA+B,CAAC;YAC/C,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC5D,MAAM,IAAI,KAAK,CACb,kBAAkB,GAAG,sBAAsB,MAAM,CAAC,EAAE,GAAG,CACxD,CAAC;YACJ,CAAC;YACD,IAAI,YAAY,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,IAAI,GAAG,iBAAiB,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,KAAK,CACb,iCAAiC,OAAO,CAAC,QAAQ,SAAS,MAAM,CAAC,EAAE,GAAG,CACvE,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAa,CAAC;QACxD,CAAC;aAAM,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YACjC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAW,CAAC;QACzD,CAAC;aAAM,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YAChC,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtE,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CACxC,EAA+B,EAC/B,OAAO,CAAC,UAA8B,CAC/B,CAAC;gBACV,EAAE,CAAC,MAAM,GAAG,aAAa,IAAI,EAAE,CAAC,MAAM,CAAC;YACzC,CAAC;YACD,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,WAAW,CACpC,EAAE,EACF,GAAG,EACH,OAAO,CAAC,UAAoB,CACT,CAAC;QACxB,CAAC;aAAM,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YACjC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAW,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,iBAAiB,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAEzC,IAAI,UAAU,EAAE,CAAC;YACf,+EAA+E;YAC/E,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YAC1C,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,UAAU,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC/B,CAAC;aAAM,IAAI,UAAU,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9C,MAAM,IAAI,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,KAAK,CAAC,KAAc;QAC/B,MAAM,QAAQ,GAAG,KAAK,IAAI,CAAC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAEhD,MAAM,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,YAAY,CAAC,GAC5D,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;YACrB,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,GAAG,CAAC;YACzC,KAAK,CAAC,YAAY,EAAE;SACrB,CAAC,CAAC;QAEL,MAAM,cAAc,GAAG;YACrB,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;YACpC,GAAG,qBAAqB;SACzB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAElB,qCAAqC;QACrC,OAAO;YACL,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,cAAc,EAAE,GAAG,iBAAiB,EAAE,GAAG,YAAY,CAAC,CAAC;SACvE,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ,CAAC,OAAgB;QACpC,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"field-type-resource.js","sourceRoot":"","sources":["../../src/resources/field-type-resource.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,43 +10,26 @@
|
|
|
10
10
|
details. You should have received a copy of the GNU Affero General Public
|
|
11
11
|
License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
12
12
|
*/
|
|
13
|
-
import type { Card,
|
|
13
|
+
import type { Card, ResourceFolderType } from '../interfaces/project-interfaces.js';
|
|
14
|
+
import type { ShowReturnType } from './resource-object.js';
|
|
14
15
|
import { type AddOperation, type ChangeOperation, type Operation, type RemoveOperation, ResourceObject } from './resource-object.js';
|
|
15
16
|
import { DefaultContent } from './create-defaults.js';
|
|
16
17
|
import { Project, ResourcesFrom } from '../containers/project.js';
|
|
17
|
-
import type { ResourceBaseMetadata
|
|
18
|
+
import type { ResourceBaseMetadata } from '../interfaces/resource-interfaces.js';
|
|
18
19
|
import { type ResourceName, resourceName, resourceNameToString } from '../utils/resource-utils.js';
|
|
19
20
|
import { sortCards } from '../utils/card-utils.js';
|
|
20
21
|
export { type AddOperation, type Card, type ChangeOperation, DefaultContent, type Operation, Project, RemoveOperation, ResourcesFrom, resourceName, type ResourceName, resourceNameToString, sortCards, };
|
|
21
22
|
/**
|
|
22
23
|
* Base class for file based resources (card types, field types, link types, workflows, ...)
|
|
23
24
|
*/
|
|
24
|
-
export declare class FileResource extends ResourceObject {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
protected content: ResourceBaseMetadata;
|
|
28
|
-
private cache;
|
|
29
|
-
constructor(project: Project, resourceName: ResourceName, type: ResourceFolderType);
|
|
30
|
-
private resourceType;
|
|
31
|
-
private resourceObjectToResource;
|
|
32
|
-
private toCache;
|
|
33
|
-
protected collectCards(cardContent: FetchCardDetails, cardTypeName: string): Promise<Card[]>;
|
|
34
|
-
protected get getType(): string;
|
|
35
|
-
protected get logger(): import("pino").Logger;
|
|
36
|
-
protected initialize(): void;
|
|
37
|
-
protected create(newContent?: ResourceContent): Promise<void>;
|
|
38
|
-
protected calculations(): Promise<string[]>;
|
|
39
|
-
protected cards(): Promise<Card[]>;
|
|
40
|
-
get data(): ResourceBaseMetadata | undefined;
|
|
41
|
-
protected delete(): Promise<void>;
|
|
42
|
-
protected validName(newName: ResourceName): Promise<string>;
|
|
43
|
-
protected postUpdate<Type>(content: ResourceContent, key: string, op: Operation<Type>): Promise<void>;
|
|
44
|
-
protected read(): Promise<void>;
|
|
45
|
-
protected rename(newName: ResourceName): Promise<void>;
|
|
46
|
-
protected show(): Promise<ResourceContent>;
|
|
47
|
-
protected update<Type>(key: string, _op: Operation<Type>): Promise<void>;
|
|
25
|
+
export declare abstract class FileResource<T extends ResourceBaseMetadata> extends ResourceObject<T, never> {
|
|
26
|
+
constructor(project: Project, name: ResourceName, type: ResourceFolderType);
|
|
27
|
+
protected collectCards(cardTypeName: string): Promise<Card[]>;
|
|
48
28
|
protected updatePrefixInResourceName(name: string, prefixes: string[]): string;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Returns the resource metadata content.
|
|
31
|
+
* @returns metadata content
|
|
32
|
+
* @throws if resource does not exist.
|
|
33
|
+
*/
|
|
34
|
+
show(): Promise<ShowReturnType<T>>;
|
|
52
35
|
}
|
|
@@ -10,279 +10,39 @@
|
|
|
10
10
|
details. You should have received a copy of the GNU Affero General Public
|
|
11
11
|
License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
12
12
|
*/
|
|
13
|
-
// node
|
|
14
|
-
import { basename, join, sep } from 'node:path';
|
|
15
|
-
import { mkdir, rename } from 'node:fs/promises';
|
|
16
|
-
import { readFile } from 'node:fs/promises';
|
|
17
13
|
import { ResourceObject, } from './resource-object.js';
|
|
18
14
|
import { DefaultContent } from './create-defaults.js';
|
|
19
|
-
import { deleteFile, pathExists } from '../utils/file-utils.js';
|
|
20
|
-
import { hasCode } from '../utils/error-utils.js';
|
|
21
15
|
import { Project, ResourcesFrom } from '../containers/project.js';
|
|
22
|
-
import {
|
|
23
|
-
import { resourceName, resourceNameToPath, resourceNameToString, } from '../utils/resource-utils.js';
|
|
16
|
+
import { resourceName, resourceNameToString, } from '../utils/resource-utils.js';
|
|
24
17
|
import { sortCards } from '../utils/card-utils.js';
|
|
25
18
|
import { Template } from '../containers/template.js';
|
|
26
|
-
import { Validate } from '../commands/index.js';
|
|
27
19
|
export { DefaultContent, Project, ResourcesFrom, resourceName, resourceNameToString, sortCards, };
|
|
28
20
|
/**
|
|
29
21
|
* Base class for file based resources (card types, field types, link types, workflows, ...)
|
|
30
22
|
*/
|
|
31
23
|
export class FileResource extends ResourceObject {
|
|
32
|
-
type
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
name: '',
|
|
36
|
-
displayName: '',
|
|
37
|
-
};
|
|
38
|
-
cache;
|
|
39
|
-
constructor(project, resourceName, type) {
|
|
40
|
-
super(project, resourceName);
|
|
41
|
-
this.type = type;
|
|
42
|
-
this.cache = this.project.resourceCache;
|
|
43
|
-
}
|
|
44
|
-
// Type of resource.
|
|
45
|
-
resourceType() {
|
|
46
|
-
return this.type;
|
|
47
|
-
}
|
|
48
|
-
// Converts resource name to Resource object.
|
|
49
|
-
resourceObjectToResource(object) {
|
|
50
|
-
return {
|
|
51
|
-
name: object.data ? object.data.name : '',
|
|
52
|
-
path: object.fileName.substring(0, object.fileName.lastIndexOf(sep)),
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
toCache() {
|
|
56
|
-
this.cache.set(resourceNameToString(this.resourceName), this.content);
|
|
24
|
+
constructor(project, name, type) {
|
|
25
|
+
super(project, name, type);
|
|
26
|
+
this.initialize();
|
|
57
27
|
}
|
|
58
28
|
// Collects cards that are using the 'cardTypeName'.
|
|
59
|
-
async collectCards(
|
|
60
|
-
|
|
61
|
-
const cards =
|
|
29
|
+
async collectCards(cardTypeName) {
|
|
30
|
+
function filteredCards(cardSource, cardTypeName) {
|
|
31
|
+
const cards = cardSource;
|
|
62
32
|
return cards.filter((card) => card.metadata?.cardType === cardTypeName);
|
|
63
33
|
}
|
|
64
34
|
// Collect both project cards ...
|
|
65
|
-
const
|
|
35
|
+
const projectCards = filteredCards(this.project.cards(this.project.paths.cardRootFolder), cardTypeName);
|
|
66
36
|
// ... and cards from each template that would be affected.
|
|
67
37
|
const templates = await this.project.templates(ResourcesFrom.localOnly);
|
|
68
|
-
const
|
|
38
|
+
const templateCards = templates.map((template) => {
|
|
69
39
|
const templateObject = new Template(this.project, template);
|
|
70
|
-
return filteredCards(templateObject.cards(
|
|
40
|
+
return filteredCards(templateObject.cards(), cardTypeName);
|
|
71
41
|
});
|
|
72
42
|
// Return all affected cards
|
|
73
|
-
const cards =
|
|
43
|
+
const cards = [projectCards, ...templateCards].reduce((accumulator, value) => accumulator.concat(value), []);
|
|
74
44
|
return cards;
|
|
75
45
|
}
|
|
76
|
-
// Get (resource folder) type name
|
|
77
|
-
get getType() {
|
|
78
|
-
return super.getType;
|
|
79
|
-
}
|
|
80
|
-
// Get logger instance
|
|
81
|
-
get logger() {
|
|
82
|
-
return super.getLogger(this.getType);
|
|
83
|
-
}
|
|
84
|
-
// Initialize the resource.
|
|
85
|
-
initialize() {
|
|
86
|
-
if (this.resourceName.type === '') {
|
|
87
|
-
this.resourceName.type = this.type;
|
|
88
|
-
}
|
|
89
|
-
if (this.resourceName.prefix === '') {
|
|
90
|
-
this.resourceName.prefix = this.project.projectPrefix;
|
|
91
|
-
}
|
|
92
|
-
if (this.type) {
|
|
93
|
-
this.moduleResource =
|
|
94
|
-
this.resourceName.prefix !== this.project.projectPrefix;
|
|
95
|
-
this.resourceFolder = this.moduleResource
|
|
96
|
-
? join(this.project.paths.modulesFolder, this.resourceName.prefix, this.resourceName.type)
|
|
97
|
-
: this.project.paths.resourcePath(this.type);
|
|
98
|
-
this.fileName = resourceNameToPath(this.project, this.resourceName);
|
|
99
|
-
}
|
|
100
|
-
// Read from cache, if entry exists...
|
|
101
|
-
if (this.cache.has(resourceNameToString(this.resourceName))) {
|
|
102
|
-
this.content = this.cache.get(resourceNameToString(this.resourceName));
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
//... otherwise read from disk and add to cache
|
|
106
|
-
try {
|
|
107
|
-
this.content = readJsonFileSync(this.fileName);
|
|
108
|
-
this.toCache();
|
|
109
|
-
}
|
|
110
|
-
catch {
|
|
111
|
-
// do nothing, it is possible that file has not been created yet.
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
// Creates resource.
|
|
115
|
-
async create(newContent) {
|
|
116
|
-
if (pathExists(this.fileName)) {
|
|
117
|
-
throw new Error(`Resource '${this.resourceName.identifier}' already exists in the project`);
|
|
118
|
-
}
|
|
119
|
-
if (this.resourceFolder === '') {
|
|
120
|
-
this.resourceName = resourceName(`${this.project.projectPrefix}/${this.type}/${this.resourceName.identifier}`);
|
|
121
|
-
this.resourceFolder = this.project.paths.resourcePath(this.resourceName.type);
|
|
122
|
-
}
|
|
123
|
-
const validName = await Validate.getInstance().validResourceName(this.resourceType(), resourceNameToString(this.resourceName), await this.project.projectPrefixes());
|
|
124
|
-
let validContent = {};
|
|
125
|
-
if (newContent) {
|
|
126
|
-
validContent = newContent;
|
|
127
|
-
validContent.name = validName;
|
|
128
|
-
}
|
|
129
|
-
else {
|
|
130
|
-
validContent.description = '';
|
|
131
|
-
validContent.displayName = '';
|
|
132
|
-
}
|
|
133
|
-
this.content = validContent;
|
|
134
|
-
await this.write();
|
|
135
|
-
// Notify project & collector
|
|
136
|
-
this.project.addResource(this.resourceObjectToResource(this), this.content);
|
|
137
|
-
}
|
|
138
|
-
// Calculations that use this resource.
|
|
139
|
-
async calculations() {
|
|
140
|
-
const references = [];
|
|
141
|
-
const resourceName = resourceNameToString(this.resourceName);
|
|
142
|
-
for (const calculation of await this.project.calculations(ResourcesFrom.all)) {
|
|
143
|
-
const fileNameWithExtension = calculation.name.endsWith('.lp')
|
|
144
|
-
? calculation.name
|
|
145
|
-
: calculation.name + '.lp';
|
|
146
|
-
const filename = join(calculation.path, basename(fileNameWithExtension));
|
|
147
|
-
try {
|
|
148
|
-
const content = await readFile(filename, 'utf-8');
|
|
149
|
-
if (content.includes(resourceName)) {
|
|
150
|
-
references.push(calculation.name);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
catch (error) {
|
|
154
|
-
// Skip files that don't exist (they may have been renamed or deleted)
|
|
155
|
-
if (hasCode(error) && error.code === 'ENOENT') {
|
|
156
|
-
this.logger.warn(`Skipping non-existent file: ${filename}`);
|
|
157
|
-
continue;
|
|
158
|
-
}
|
|
159
|
-
throw new Error(`Failed to process file ${filename}: ${error.message}`);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
return references;
|
|
163
|
-
}
|
|
164
|
-
// Cards from project.
|
|
165
|
-
async cards() {
|
|
166
|
-
return [
|
|
167
|
-
...(await this.project.cards(undefined, {
|
|
168
|
-
content: true,
|
|
169
|
-
metadata: true,
|
|
170
|
-
})),
|
|
171
|
-
...(await this.project.allTemplateCards({
|
|
172
|
-
content: true,
|
|
173
|
-
metadata: true,
|
|
174
|
-
})),
|
|
175
|
-
];
|
|
176
|
-
}
|
|
177
|
-
// Returns memory resident data as JSON.
|
|
178
|
-
// This is basically same as 'show' but doesn't do any checks; just returns the current content.
|
|
179
|
-
get data() {
|
|
180
|
-
return this.content.name !== '' ? this.content : undefined;
|
|
181
|
-
}
|
|
182
|
-
// Deletes resource.
|
|
183
|
-
async delete() {
|
|
184
|
-
if (this.moduleResource) {
|
|
185
|
-
throw new Error(`Cannot delete module resources`);
|
|
186
|
-
}
|
|
187
|
-
if (!this.fileName.endsWith('.json')) {
|
|
188
|
-
this.fileName += '.json';
|
|
189
|
-
}
|
|
190
|
-
if (!pathExists(this.fileName)) {
|
|
191
|
-
throw new Error(`Resource '${this.resourceName.identifier}' does not exist in the project`);
|
|
192
|
-
}
|
|
193
|
-
const usedIn = await this.usage();
|
|
194
|
-
if (usedIn.length > 0) {
|
|
195
|
-
throw new Error(`Cannot delete resource ${resourceNameToString(this.resourceName)}. It is used by: ${usedIn.join(', ')}`);
|
|
196
|
-
}
|
|
197
|
-
await deleteFile(this.fileName);
|
|
198
|
-
this.project.removeResource(this.resourceObjectToResource(this));
|
|
199
|
-
this.fileName = '';
|
|
200
|
-
}
|
|
201
|
-
async validName(newName) {
|
|
202
|
-
const validName = await Validate.getInstance().validResourceName(this.resourceType(), resourceNameToString(newName), await this.project.projectPrefixes());
|
|
203
|
-
return validName;
|
|
204
|
-
}
|
|
205
|
-
// Called after inherited class has finished 'update' operation.
|
|
206
|
-
async postUpdate(content, key, op) {
|
|
207
|
-
function toValue(op) {
|
|
208
|
-
if (op.name === 'rank')
|
|
209
|
-
return op.newIndex;
|
|
210
|
-
if (op.name === 'add')
|
|
211
|
-
return JSON.stringify(op.target);
|
|
212
|
-
if (op.name === 'remove')
|
|
213
|
-
return JSON.stringify(op.target);
|
|
214
|
-
if (op.name === 'change')
|
|
215
|
-
return JSON.stringify(op.to);
|
|
216
|
-
}
|
|
217
|
-
// Check that new name is valid.
|
|
218
|
-
if (op.name === 'change' && key === 'name') {
|
|
219
|
-
const newName = resourceName(op.to);
|
|
220
|
-
content.name = await this.validName(newName);
|
|
221
|
-
}
|
|
222
|
-
// Once changes have been made; validate the content.
|
|
223
|
-
try {
|
|
224
|
-
await this.validate(content);
|
|
225
|
-
}
|
|
226
|
-
catch (error) {
|
|
227
|
-
if (error instanceof Error) {
|
|
228
|
-
const errorValue = typeof op === 'object' ? toValue(op) : op;
|
|
229
|
-
throw new Error(`Cannot ${op.name} '${key}' --> '${errorValue}: ${error.message}'`);
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
this.content = content;
|
|
233
|
-
await this.write();
|
|
234
|
-
}
|
|
235
|
-
// Reads content from file to memory.
|
|
236
|
-
async read() {
|
|
237
|
-
this.content = await readJsonFile(this.fileName);
|
|
238
|
-
}
|
|
239
|
-
// Renames resource.
|
|
240
|
-
async rename(newName) {
|
|
241
|
-
this.cache.delete(resourceNameToString(this.resourceName));
|
|
242
|
-
if (this.moduleResource) {
|
|
243
|
-
throw new Error(`Cannot rename module resources`);
|
|
244
|
-
}
|
|
245
|
-
if (!pathExists(this.fileName)) {
|
|
246
|
-
throw new Error(`Resource '${this.resourceName.identifier}' does not exist`);
|
|
247
|
-
}
|
|
248
|
-
if (newName.prefix !== this.project.projectPrefix) {
|
|
249
|
-
throw new Error('Can only rename project resources');
|
|
250
|
-
}
|
|
251
|
-
if (newName.type !== this.resourceName.type) {
|
|
252
|
-
throw new Error('Cannot change resource type');
|
|
253
|
-
}
|
|
254
|
-
await Validate.getInstance().validResourceName(this.resourceType(), resourceNameToString(newName), await this.project.projectPrefixes());
|
|
255
|
-
const newFilename = join(this.project.paths.resourcePath(newName.type), newName.identifier + '.json');
|
|
256
|
-
await rename(this.fileName, newFilename);
|
|
257
|
-
this.fileName = newFilename;
|
|
258
|
-
this.content.name = resourceNameToString(newName);
|
|
259
|
-
this.resourceName = newName;
|
|
260
|
-
this.toCache();
|
|
261
|
-
}
|
|
262
|
-
// Show resource data as JSON.
|
|
263
|
-
async show() {
|
|
264
|
-
if (!pathExists(this.fileName)) {
|
|
265
|
-
const resourceType = `${this.type[0].toUpperCase()}${this.type.slice(1, this.type.length - 1)}`;
|
|
266
|
-
const name = resourceNameToString(this.resourceName);
|
|
267
|
-
throw new Error(`${resourceType} '${name}' does not exist in the project`);
|
|
268
|
-
}
|
|
269
|
-
return this.content;
|
|
270
|
-
}
|
|
271
|
-
// Update resource; the base class makes some checks only.
|
|
272
|
-
async update(key,
|
|
273
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
274
|
-
_op) {
|
|
275
|
-
if (!this.data) {
|
|
276
|
-
const name = resourceNameToString(this.resourceName);
|
|
277
|
-
throw new Error(`Resource '${name}' does not exist in the project`);
|
|
278
|
-
}
|
|
279
|
-
if (this.moduleResource) {
|
|
280
|
-
throw new Error(`Cannot update module resources`);
|
|
281
|
-
}
|
|
282
|
-
if (key === '' || key === undefined) {
|
|
283
|
-
throw new Error(`Cannot update empty key`);
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
46
|
// Updates resource key to a new prefix
|
|
287
47
|
updatePrefixInResourceName(name, prefixes) {
|
|
288
48
|
const { identifier, prefix, type } = resourceName(name);
|
|
@@ -293,48 +53,14 @@ export class FileResource extends ResourceObject {
|
|
|
293
53
|
? `${this.project.configuration.cardKeyPrefix}/${type}/${identifier}`
|
|
294
54
|
: name;
|
|
295
55
|
}
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
content: true,
|
|
305
|
-
metadata: true,
|
|
306
|
-
});
|
|
307
|
-
return cardArray
|
|
308
|
-
.filter((card) => card.content?.includes(resourceNameToString(this.resourceName)))
|
|
309
|
-
.map((card) => card.key);
|
|
310
|
-
}
|
|
311
|
-
// Write the content from memory to disk.
|
|
312
|
-
async write() {
|
|
313
|
-
if (this.moduleResource) {
|
|
314
|
-
throw new Error(`Cannot change module resources`);
|
|
315
|
-
}
|
|
316
|
-
// Create folder for resources and add correct .schema file.
|
|
317
|
-
await mkdir(this.resourceFolder, { recursive: true });
|
|
318
|
-
await writeJsonFile(join(this.resourceFolder, '.schema'), this.contentSchema, {
|
|
319
|
-
flag: 'wx',
|
|
320
|
-
});
|
|
321
|
-
// Check if "name" has changed. Changing "name" means renaming the file.
|
|
322
|
-
const nameInContent = resourceName(this.content.name).identifier + '.json';
|
|
323
|
-
const currentFileName = basename(this.fileName);
|
|
324
|
-
if (nameInContent !== currentFileName) {
|
|
325
|
-
const newFileName = join(this.resourceFolder, nameInContent);
|
|
326
|
-
await rename(this.fileName, newFileName);
|
|
327
|
-
this.fileName = newFileName;
|
|
328
|
-
}
|
|
329
|
-
await writeJsonFile(this.fileName, this.content);
|
|
330
|
-
this.toCache();
|
|
331
|
-
}
|
|
332
|
-
// Validate that current memory-based 'content' is valid.
|
|
333
|
-
async validate(content) {
|
|
334
|
-
const invalidJson = Validate.getInstance().validateJson(content ? content : this.content, this.contentSchemaId);
|
|
335
|
-
if (invalidJson.length) {
|
|
336
|
-
throw new Error(`Invalid content JSON: ${invalidJson}`);
|
|
337
|
-
}
|
|
56
|
+
/**
|
|
57
|
+
* Returns the resource metadata content.
|
|
58
|
+
* @returns metadata content
|
|
59
|
+
* @throws if resource does not exist.
|
|
60
|
+
*/
|
|
61
|
+
async show() {
|
|
62
|
+
this.assertResourceExists();
|
|
63
|
+
return this.content;
|
|
338
64
|
}
|
|
339
65
|
}
|
|
340
66
|
//# sourceMappingURL=file-resource.js.map
|