@cyberismo/data-handler 0.0.15 → 0.0.16
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 +7 -1
- package/dist/card-metadata-updater.js.map +1 -1
- package/dist/command-handler.d.ts +4 -0
- package/dist/command-handler.js +19 -3
- package/dist/command-handler.js.map +1 -1
- package/dist/command-manager.d.ts +24 -1
- package/dist/command-manager.js +27 -3
- package/dist/command-manager.js.map +1 -1
- package/dist/commands/create.d.ts +1 -1
- package/dist/commands/create.js +34 -36
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/export.d.ts +11 -2
- package/dist/commands/export.js +54 -41
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/import.d.ts +9 -1
- package/dist/commands/import.js +15 -7
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/move.js +0 -1
- package/dist/commands/move.js.map +1 -1
- package/dist/commands/remove.d.ts +8 -1
- package/dist/commands/remove.js +8 -4
- package/dist/commands/remove.js.map +1 -1
- package/dist/commands/rename.d.ts +4 -9
- package/dist/commands/rename.js +32 -101
- package/dist/commands/rename.js.map +1 -1
- package/dist/commands/show.d.ts +16 -10
- package/dist/commands/show.js +71 -55
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/transition.d.ts +9 -2
- package/dist/commands/transition.js +25 -17
- package/dist/commands/transition.js.map +1 -1
- package/dist/commands/update.d.ts +16 -12
- package/dist/commands/update.js +19 -17
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/validate.d.ts +17 -9
- package/dist/commands/validate.js +96 -35
- package/dist/commands/validate.js.map +1 -1
- package/dist/containers/project/calculation-engine.d.ts +7 -4
- package/dist/containers/project/calculation-engine.js +61 -66
- package/dist/containers/project/calculation-engine.js.map +1 -1
- package/dist/containers/project/project-paths.d.ts +5 -4
- package/dist/containers/project/project-paths.js +16 -12
- package/dist/containers/project/project-paths.js.map +1 -1
- package/dist/containers/project/resource-cache.d.ts +169 -0
- package/dist/containers/project/resource-cache.js +507 -0
- package/dist/containers/project/resource-cache.js.map +1 -0
- package/dist/containers/project/resource-handler.d.ts +129 -0
- package/dist/containers/project/resource-handler.js +206 -0
- package/dist/containers/project/resource-handler.js.map +1 -0
- package/dist/containers/project.d.ts +38 -153
- package/dist/containers/project.js +129 -405
- package/dist/containers/project.js.map +1 -1
- package/dist/containers/template.d.ts +8 -2
- package/dist/containers/template.js +20 -15
- package/dist/containers/template.js.map +1 -1
- package/dist/interfaces/folder-content-interfaces.d.ts +5 -3
- package/dist/interfaces/folder-content-interfaces.js +3 -3
- package/dist/interfaces/folder-content-interfaces.js.map +1 -1
- package/dist/interfaces/project-interfaces.d.ts +2 -4
- package/dist/interfaces/project-interfaces.js.map +1 -1
- package/dist/interfaces/resource-interfaces.d.ts +14 -1
- package/dist/interfaces/resource-interfaces.js.map +1 -1
- package/dist/macros/graph/index.js +12 -26
- package/dist/macros/graph/index.js.map +1 -1
- package/dist/macros/index.d.ts +1 -1
- package/dist/macros/index.js +2 -2
- package/dist/macros/index.js.map +1 -1
- package/dist/macros/report/index.js +3 -6
- package/dist/macros/report/index.js.map +1 -1
- package/dist/module-manager.d.ts +16 -3
- package/dist/module-manager.js +51 -19
- package/dist/module-manager.js.map +1 -1
- package/dist/project-settings.d.ts +16 -3
- package/dist/project-settings.js +79 -14
- package/dist/project-settings.js.map +1 -1
- package/dist/resources/calculation-resource.d.ts +4 -3
- package/dist/resources/calculation-resource.js +11 -5
- package/dist/resources/calculation-resource.js.map +1 -1
- package/dist/resources/card-type-resource.d.ts +6 -1
- package/dist/resources/card-type-resource.js +34 -23
- package/dist/resources/card-type-resource.js.map +1 -1
- package/dist/resources/create-defaults.d.ts +3 -2
- package/dist/resources/create-defaults.js +3 -2
- package/dist/resources/create-defaults.js.map +1 -1
- package/dist/resources/field-type-resource.d.ts +4 -1
- package/dist/resources/field-type-resource.js +22 -23
- package/dist/resources/field-type-resource.js.map +1 -1
- package/dist/resources/file-resource.d.ts +5 -9
- package/dist/resources/file-resource.js +6 -11
- package/dist/resources/file-resource.js.map +1 -1
- package/dist/resources/folder-resource.d.ts +29 -32
- package/dist/resources/folder-resource.js +59 -78
- package/dist/resources/folder-resource.js.map +1 -1
- package/dist/resources/graph-model-resource.d.ts +4 -1
- package/dist/resources/graph-model-resource.js +11 -4
- package/dist/resources/graph-model-resource.js.map +1 -1
- package/dist/resources/graph-view-resource.d.ts +5 -2
- package/dist/resources/graph-view-resource.js +7 -3
- package/dist/resources/graph-view-resource.js.map +1 -1
- package/dist/resources/link-type-resource.d.ts +5 -2
- package/dist/resources/link-type-resource.js +5 -2
- package/dist/resources/link-type-resource.js.map +1 -1
- package/dist/resources/report-resource.d.ts +6 -7
- package/dist/resources/report-resource.js +14 -23
- package/dist/resources/report-resource.js.map +1 -1
- package/dist/resources/resource-object.d.ts +93 -8
- package/dist/resources/resource-object.js +162 -110
- package/dist/resources/resource-object.js.map +1 -1
- package/dist/resources/template-resource.d.ts +7 -3
- package/dist/resources/template-resource.js +10 -3
- package/dist/resources/template-resource.js.map +1 -1
- package/dist/resources/workflow-resource.d.ts +5 -2
- package/dist/resources/workflow-resource.js +18 -22
- package/dist/resources/workflow-resource.js.map +1 -1
- package/dist/utils/card-utils.d.ts +2 -2
- package/dist/utils/card-utils.js +1 -1
- package/dist/utils/clingo-fact-builder.d.ts +25 -14
- package/dist/utils/clingo-fact-builder.js +27 -5
- package/dist/utils/clingo-fact-builder.js.map +1 -1
- package/dist/utils/clingo-facts.js +3 -4
- package/dist/utils/clingo-facts.js.map +1 -1
- package/dist/utils/resource-utils.d.ts +1 -0
- package/dist/utils/resource-utils.js +2 -1
- package/dist/utils/resource-utils.js.map +1 -1
- package/package.json +8 -8
- package/src/card-metadata-updater.ts +6 -2
- package/src/command-handler.ts +24 -5
- package/src/command-manager.ts +29 -17
- package/src/commands/create.ts +43 -78
- package/src/commands/export.ts +63 -52
- package/src/commands/import.ts +24 -14
- package/src/commands/move.ts +0 -1
- package/src/commands/remove.ts +11 -7
- package/src/commands/rename.ts +43 -149
- package/src/commands/show.ts +113 -78
- package/src/commands/transition.ts +26 -28
- package/src/commands/update.ts +25 -22
- package/src/commands/validate.ts +108 -67
- package/src/containers/project/calculation-engine.ts +61 -93
- package/src/containers/project/project-paths.ts +21 -13
- package/src/containers/project/resource-cache.ts +648 -0
- package/src/containers/project/resource-handler.ts +265 -0
- package/src/containers/project.ts +178 -522
- package/src/containers/template.ts +24 -19
- package/src/interfaces/folder-content-interfaces.ts +7 -6
- package/src/interfaces/project-interfaces.ts +7 -6
- package/src/interfaces/resource-interfaces.ts +18 -3
- package/src/macros/graph/index.ts +26 -47
- package/src/macros/index.ts +2 -2
- package/src/macros/report/index.ts +3 -9
- package/src/module-manager.ts +74 -17
- package/src/project-settings.ts +83 -14
- package/src/resources/calculation-resource.ts +18 -18
- package/src/resources/card-type-resource.ts +50 -50
- package/src/resources/create-defaults.ts +3 -2
- package/src/resources/field-type-resource.ts +41 -55
- package/src/resources/file-resource.ts +10 -36
- package/src/resources/folder-resource.ts +69 -120
- package/src/resources/graph-model-resource.ts +20 -22
- package/src/resources/graph-view-resource.ts +15 -17
- package/src/resources/link-type-resource.ts +10 -13
- package/src/resources/report-resource.ts +21 -43
- package/src/resources/resource-object.ts +194 -152
- package/src/resources/template-resource.ts +17 -16
- package/src/resources/workflow-resource.ts +25 -44
- package/src/utils/card-utils.ts +2 -2
- package/src/utils/clingo-fact-builder.ts +28 -16
- package/src/utils/clingo-facts.ts +3 -4
- package/src/utils/resource-utils.ts +2 -1
- package/dist/containers/project/resource-collector.d.ts +0 -110
- package/dist/containers/project/resource-collector.js +0 -344
- package/dist/containers/project/resource-collector.js.map +0 -1
- package/src/containers/project/resource-collector.ts +0 -404
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-cache.js","sourceRoot":"","sources":["../../../src/containers/project/resource-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Cyberismo
|
|
3
|
+
Copyright © Cyberismo Ltd and contributors 2025
|
|
4
|
+
|
|
5
|
+
This program is free software: you can redistribute it and/or modify it under
|
|
6
|
+
the terms of the GNU Affero General Public License version 3 as published by
|
|
7
|
+
the Free Software Foundation. This program is distributed in the hope that it
|
|
8
|
+
will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
|
9
|
+
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
10
|
+
See the GNU Affero General Public License for more details.
|
|
11
|
+
You should have received a copy of the GNU Affero General Public
|
|
12
|
+
License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
13
|
+
*/
|
|
14
|
+
import { ResourcesFrom, type ResourceMap } from './resource-cache.js';
|
|
15
|
+
import type { Project } from '../project.js';
|
|
16
|
+
import type { ResourceFolderType } from '../../interfaces/project-interfaces.js';
|
|
17
|
+
import type { ResourceName } from '../../utils/resource-utils.js';
|
|
18
|
+
export declare const singularToPluralResourceType: Record<string, keyof ResourceMap>;
|
|
19
|
+
/**
|
|
20
|
+
* ResourceHandler manages resource access for a project.
|
|
21
|
+
* It owns the ResourceCache and provides APIs for accessing resources.
|
|
22
|
+
*/
|
|
23
|
+
export declare class ResourceHandler {
|
|
24
|
+
private cache;
|
|
25
|
+
/**
|
|
26
|
+
* Creates instance of ResourceHandler.
|
|
27
|
+
* @param project Project to use in cache
|
|
28
|
+
*/
|
|
29
|
+
constructor(project: Project);
|
|
30
|
+
/**
|
|
31
|
+
* Add a resource to the cache.
|
|
32
|
+
* @param name Name of the resource to add
|
|
33
|
+
* @param instance Resource instance
|
|
34
|
+
*/
|
|
35
|
+
add(name: string | ResourceName, instance: unknown): void;
|
|
36
|
+
byType<T extends keyof ResourceMap>(name: string, type: T): ResourceMap[T];
|
|
37
|
+
/**
|
|
38
|
+
* Overload to the above: Accept resource name
|
|
39
|
+
* @param resourceName Name of resource as a resource name (prefix/type/identifier)
|
|
40
|
+
* @template T Resource type
|
|
41
|
+
* @returns resource with inferred actual type.
|
|
42
|
+
*/
|
|
43
|
+
byType<T extends keyof ResourceMap>(resourceName: ResourceName): ResourceMap[T];
|
|
44
|
+
/**
|
|
45
|
+
* Get resource by ResourceName object.
|
|
46
|
+
* @param name Resource name
|
|
47
|
+
* @template T Resource type
|
|
48
|
+
* @returns Typed resource that matches the name
|
|
49
|
+
*/
|
|
50
|
+
byName<T extends keyof ResourceMap>(name: ResourceName): ResourceMap[T];
|
|
51
|
+
/**
|
|
52
|
+
* Refresh local resources in the cache.
|
|
53
|
+
*/
|
|
54
|
+
changed(): void;
|
|
55
|
+
/**
|
|
56
|
+
* Refresh module resources in the cache.
|
|
57
|
+
* @param moduleName Name of the module. If given, will only update this module's resources.
|
|
58
|
+
*/
|
|
59
|
+
changedModules(moduleName?: string): void;
|
|
60
|
+
/**
|
|
61
|
+
* Check if a resource exists.
|
|
62
|
+
* @param name Resource name to check
|
|
63
|
+
* @returns true if resource exists, false otherwise
|
|
64
|
+
*/
|
|
65
|
+
exists(name: string | ResourceName): boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Get module names.
|
|
68
|
+
* @returns Array of module names
|
|
69
|
+
*/
|
|
70
|
+
moduleNames(): string[];
|
|
71
|
+
/**
|
|
72
|
+
* Get certain types of resources from a specific module.
|
|
73
|
+
* @param type Type of resource to fetch
|
|
74
|
+
* @param moduleName Name of the module
|
|
75
|
+
* @returns Resource names from a specific module
|
|
76
|
+
*/
|
|
77
|
+
moduleResourceNames(type: ResourceFolderType, moduleName: string): string[];
|
|
78
|
+
/**
|
|
79
|
+
* Remove a resource from cache.
|
|
80
|
+
* @param name Resource to remove
|
|
81
|
+
*/
|
|
82
|
+
remove(name: string | ResourceName): void;
|
|
83
|
+
/**
|
|
84
|
+
* Removes all resources from a specific module.
|
|
85
|
+
* @param moduleName Name of the module
|
|
86
|
+
*/
|
|
87
|
+
removeModule(moduleName: string): void;
|
|
88
|
+
/**
|
|
89
|
+
* Change resource name in cache, but keep instance information.
|
|
90
|
+
* @param oldName Old name of the resource
|
|
91
|
+
* @param newName New name of the resource
|
|
92
|
+
*/
|
|
93
|
+
rename(oldName: string, newName: string): void;
|
|
94
|
+
/**
|
|
95
|
+
* Get resources of a specific type.
|
|
96
|
+
* @param type Type of resources to get
|
|
97
|
+
* @param from Where to return resources from (all, local, imported modules)
|
|
98
|
+
* @template T Resource type
|
|
99
|
+
* @returns Array of resources
|
|
100
|
+
*/
|
|
101
|
+
resourceTypes<T extends keyof ResourceMap>(type: T, from?: ResourcesFrom): Array<ResourceMap[T]>;
|
|
102
|
+
calculations(from?: ResourcesFrom): import("../../resources/calculation-resource.js").CalculationResource[];
|
|
103
|
+
cardTypes(from?: ResourcesFrom): import("../../resources/card-type-resource.js").CardTypeResource[];
|
|
104
|
+
fieldTypes(from?: ResourcesFrom): import("../../resources/field-type-resource.js").FieldTypeResource[];
|
|
105
|
+
graphViews(from?: ResourcesFrom): import("../../resources/graph-view-resource.js").GraphViewResource[];
|
|
106
|
+
graphModels(from?: ResourcesFrom): import("../../resources/graph-model-resource.js").GraphModelResource[];
|
|
107
|
+
linkTypes(from?: ResourcesFrom): import("../../resources/link-type-resource.js").LinkTypeResource[];
|
|
108
|
+
reports(from?: ResourcesFrom): import("../../resources/report-resource.js").ReportResource[];
|
|
109
|
+
templates(from?: ResourcesFrom): import("../../resources/template-resource.js").TemplateResource[];
|
|
110
|
+
workflows(from?: ResourcesFrom): import("../../resources/workflow-resource.js").WorkflowResource[];
|
|
111
|
+
/**
|
|
112
|
+
* Extract resource type from a resource name string.
|
|
113
|
+
* @param name Resource name
|
|
114
|
+
* @returns Resource type
|
|
115
|
+
* @throws when resource type is invalid
|
|
116
|
+
*/
|
|
117
|
+
extractType(name: string): keyof ResourceMap;
|
|
118
|
+
/**
|
|
119
|
+
* Handle file system changes.
|
|
120
|
+
* @param fileName A changed file in the file system
|
|
121
|
+
*/
|
|
122
|
+
handleFileSystemChange(fileName: string): void;
|
|
123
|
+
/**
|
|
124
|
+
* Get plural resource type name from singular type name.
|
|
125
|
+
* @param singular Resource type as singular name
|
|
126
|
+
* @returns Resource type as plural name
|
|
127
|
+
*/
|
|
128
|
+
resourceTypeFromSingularType(singular: string): keyof ResourceMap;
|
|
129
|
+
}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Cyberismo
|
|
3
|
+
Copyright © Cyberismo Ltd and contributors 2025
|
|
4
|
+
|
|
5
|
+
This program is free software: you can redistribute it and/or modify it under
|
|
6
|
+
the terms of the GNU Affero General Public License version 3 as published by
|
|
7
|
+
the Free Software Foundation. This program is distributed in the hope that it
|
|
8
|
+
will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
|
9
|
+
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
10
|
+
See the GNU Affero General Public License for more details.
|
|
11
|
+
You should have received a copy of the GNU Affero General Public
|
|
12
|
+
License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
13
|
+
*/
|
|
14
|
+
import { ResourceCache, ResourcesFrom, } from './resource-cache.js';
|
|
15
|
+
import { resourceName } from '../../utils/resource-utils.js';
|
|
16
|
+
// Convert singular forms to plural. Uses real type, so cannot be general.
|
|
17
|
+
export const singularToPluralResourceType = {
|
|
18
|
+
template: 'templates',
|
|
19
|
+
workflow: 'workflows',
|
|
20
|
+
report: 'reports',
|
|
21
|
+
calculation: 'calculations',
|
|
22
|
+
cardType: 'cardTypes',
|
|
23
|
+
fieldType: 'fieldTypes',
|
|
24
|
+
graphModel: 'graphModels',
|
|
25
|
+
graphView: 'graphViews',
|
|
26
|
+
linkType: 'linkTypes',
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* ResourceHandler manages resource access for a project.
|
|
30
|
+
* It owns the ResourceCache and provides APIs for accessing resources.
|
|
31
|
+
*/
|
|
32
|
+
export class ResourceHandler {
|
|
33
|
+
cache;
|
|
34
|
+
/**
|
|
35
|
+
* Creates instance of ResourceHandler.
|
|
36
|
+
* @param project Project to use in cache
|
|
37
|
+
*/
|
|
38
|
+
constructor(project) {
|
|
39
|
+
this.cache = ResourceCache.create(project);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Add a resource to the cache.
|
|
43
|
+
* @param name Name of the resource to add
|
|
44
|
+
* @param instance Resource instance
|
|
45
|
+
*/
|
|
46
|
+
add(name, instance) {
|
|
47
|
+
this.cache.addResource(name, instance);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Returns type of resource.
|
|
51
|
+
* @param nameOrResourceName Name of resource
|
|
52
|
+
* @param type Name of resource as string matching Resource map element.
|
|
53
|
+
* @template T Resource type as part of ResourceMap
|
|
54
|
+
* @returns resource with inferred actual type.
|
|
55
|
+
*/
|
|
56
|
+
byType(nameOrResourceName, type) {
|
|
57
|
+
if (typeof nameOrResourceName === 'string') {
|
|
58
|
+
if (!type) {
|
|
59
|
+
throw new Error('Type parameter required when using string name');
|
|
60
|
+
}
|
|
61
|
+
return this.cache.resourceByType(nameOrResourceName, type);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
return this.cache.resourceByName(nameOrResourceName);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Get resource by ResourceName object.
|
|
69
|
+
* @param name Resource name
|
|
70
|
+
* @template T Resource type
|
|
71
|
+
* @returns Typed resource that matches the name
|
|
72
|
+
*/
|
|
73
|
+
byName(name) {
|
|
74
|
+
return this.cache.resourceByName(name);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Refresh local resources in the cache.
|
|
78
|
+
*/
|
|
79
|
+
changed() {
|
|
80
|
+
this.cache.changed();
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Refresh module resources in the cache.
|
|
84
|
+
* @param moduleName Name of the module. If given, will only update this module's resources.
|
|
85
|
+
*/
|
|
86
|
+
changedModules(moduleName) {
|
|
87
|
+
this.cache.changedModules(moduleName);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Check if a resource exists.
|
|
91
|
+
* @param name Resource name to check
|
|
92
|
+
* @returns true if resource exists, false otherwise
|
|
93
|
+
*/
|
|
94
|
+
exists(name) {
|
|
95
|
+
return this.cache.has(name);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Get module names.
|
|
99
|
+
* @returns Array of module names
|
|
100
|
+
*/
|
|
101
|
+
moduleNames() {
|
|
102
|
+
return this.cache.moduleNames();
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Get certain types of resources from a specific module.
|
|
106
|
+
* @param type Type of resource to fetch
|
|
107
|
+
* @param moduleName Name of the module
|
|
108
|
+
* @returns Resource names from a specific module
|
|
109
|
+
*/
|
|
110
|
+
moduleResourceNames(type, moduleName) {
|
|
111
|
+
return this.cache.moduleResourceNames(type, moduleName);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Remove a resource from cache.
|
|
115
|
+
* @param name Resource to remove
|
|
116
|
+
*/
|
|
117
|
+
remove(name) {
|
|
118
|
+
this.cache.removeResource(name);
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Removes all resources from a specific module.
|
|
122
|
+
* @param moduleName Name of the module
|
|
123
|
+
*/
|
|
124
|
+
removeModule(moduleName) {
|
|
125
|
+
this.cache.removeModule(moduleName);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Change resource name in cache, but keep instance information.
|
|
129
|
+
* @param oldName Old name of the resource
|
|
130
|
+
* @param newName New name of the resource
|
|
131
|
+
*/
|
|
132
|
+
rename(oldName, newName) {
|
|
133
|
+
this.cache.changeResourceName(oldName, newName);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Get resources of a specific type.
|
|
137
|
+
* @param type Type of resources to get
|
|
138
|
+
* @param from Where to return resources from (all, local, imported modules)
|
|
139
|
+
* @template T Resource type
|
|
140
|
+
* @returns Array of resources
|
|
141
|
+
*/
|
|
142
|
+
resourceTypes(type, from = ResourcesFrom.all) {
|
|
143
|
+
return this.cache.resources(type, from);
|
|
144
|
+
}
|
|
145
|
+
// The following are just helpers to get specific resource types
|
|
146
|
+
calculations(from = ResourcesFrom.all) {
|
|
147
|
+
return this.cache.resources('calculations', from);
|
|
148
|
+
}
|
|
149
|
+
cardTypes(from = ResourcesFrom.all) {
|
|
150
|
+
return this.cache.resources('cardTypes', from);
|
|
151
|
+
}
|
|
152
|
+
fieldTypes(from = ResourcesFrom.all) {
|
|
153
|
+
return this.cache.resources('fieldTypes', from);
|
|
154
|
+
}
|
|
155
|
+
graphViews(from = ResourcesFrom.all) {
|
|
156
|
+
return this.cache.resources('graphViews', from);
|
|
157
|
+
}
|
|
158
|
+
graphModels(from = ResourcesFrom.all) {
|
|
159
|
+
return this.cache.resources('graphModels', from);
|
|
160
|
+
}
|
|
161
|
+
linkTypes(from = ResourcesFrom.all) {
|
|
162
|
+
return this.cache.resources('linkTypes', from);
|
|
163
|
+
}
|
|
164
|
+
reports(from = ResourcesFrom.all) {
|
|
165
|
+
return this.cache.resources('reports', from);
|
|
166
|
+
}
|
|
167
|
+
templates(from = ResourcesFrom.all) {
|
|
168
|
+
return this.cache.resources('templates', from);
|
|
169
|
+
}
|
|
170
|
+
workflows(from = ResourcesFrom.all) {
|
|
171
|
+
return this.cache.resources('workflows', from);
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Extract resource type from a resource name string.
|
|
175
|
+
* @param name Resource name
|
|
176
|
+
* @returns Resource type
|
|
177
|
+
* @throws when resource type is invalid
|
|
178
|
+
*/
|
|
179
|
+
extractType(name) {
|
|
180
|
+
const type = resourceName(name).type;
|
|
181
|
+
if (!type) {
|
|
182
|
+
throw new Error(`Invalid resource type: ${type}`);
|
|
183
|
+
}
|
|
184
|
+
return type;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Handle file system changes.
|
|
188
|
+
* @param fileName A changed file in the file system
|
|
189
|
+
*/
|
|
190
|
+
handleFileSystemChange(fileName) {
|
|
191
|
+
this.cache.handleFileSystemChange(fileName);
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Get plural resource type name from singular type name.
|
|
195
|
+
* @param singular Resource type as singular name
|
|
196
|
+
* @returns Resource type as plural name
|
|
197
|
+
*/
|
|
198
|
+
resourceTypeFromSingularType(singular) {
|
|
199
|
+
const plural = singularToPluralResourceType[singular];
|
|
200
|
+
if (!plural) {
|
|
201
|
+
throw new Error(`Unknown singular resource type: ${singular}`);
|
|
202
|
+
}
|
|
203
|
+
return plural;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
//# sourceMappingURL=resource-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-handler.js","sourceRoot":"","sources":["../../../src/containers/project/resource-handler.ts"],"names":[],"mappings":"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"}
|