@cyberismo/data-handler 0.0.14 → 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 +8 -4
- package/dist/card-metadata-updater.js.map +1 -1
- package/dist/command-handler.d.ts +4 -0
- package/dist/command-handler.js +29 -19
- package/dist/command-handler.js.map +1 -1
- package/dist/command-manager.d.ts +25 -2
- package/dist/command-manager.js +30 -5
- package/dist/command-manager.js.map +1 -1
- package/dist/commands/create.d.ts +1 -1
- package/dist/commands/create.js +45 -93
- 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.d.ts +11 -2
- package/dist/commands/export.js +58 -58
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/import.d.ts +9 -1
- package/dist/commands/import.js +17 -11
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/move.d.ts +1 -2
- package/dist/commands/move.js +107 -146
- package/dist/commands/move.js.map +1 -1
- package/dist/commands/remove.d.ts +8 -1
- package/dist/commands/remove.js +17 -48
- package/dist/commands/remove.js.map +1 -1
- package/dist/commands/rename.d.ts +4 -9
- package/dist/commands/rename.js +34 -108
- package/dist/commands/rename.js.map +1 -1
- package/dist/commands/show.d.ts +22 -34
- package/dist/commands/show.js +103 -151
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/transition.d.ts +9 -2
- package/dist/commands/transition.js +49 -44
- package/dist/commands/transition.js.map +1 -1
- package/dist/commands/update.d.ts +18 -12
- package/dist/commands/update.js +34 -18
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/validate.d.ts +18 -10
- package/dist/commands/validate.js +101 -47
- 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 +13 -4
- package/dist/containers/project/calculation-engine.js +79 -77
- 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/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 +114 -195
- package/dist/containers/project.js +425 -535
- package/dist/containers/project.js.map +1 -1
- package/dist/containers/template.d.ts +22 -32
- package/dist/containers/template.js +113 -115
- 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 +7 -4
- package/dist/interfaces/folder-content-interfaces.js +3 -3
- 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 +7 -5
- package/dist/interfaces/project-interfaces.js.map +1 -1
- package/dist/interfaces/resource-interfaces.d.ts +25 -22
- 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 +14 -28
- 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/index.d.ts +1 -1
- package/dist/macros/index.js +2 -2
- package/dist/macros/index.js.map +1 -1
- 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 +3 -6
- 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.d.ts +16 -3
- package/dist/module-manager.js +55 -23
- 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 +6 -33
- package/dist/resources/calculation-resource.js +11 -60
- package/dist/resources/calculation-resource.js.map +1 -1
- package/dist/resources/card-type-resource.d.ts +10 -22
- package/dist/resources/card-type-resource.js +46 -66
- 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 +8 -22
- package/dist/resources/field-type-resource.js +35 -60
- package/dist/resources/field-type-resource.js.map +1 -1
- package/dist/resources/file-resource.d.ts +14 -35
- package/dist/resources/file-resource.js +22 -301
- package/dist/resources/file-resource.js.map +1 -1
- package/dist/resources/folder-resource.d.ts +44 -66
- package/dist/resources/folder-resource.js +102 -149
- package/dist/resources/folder-resource.js.map +1 -1
- package/dist/resources/graph-model-resource.d.ts +9 -34
- package/dist/resources/graph-model-resource.js +18 -64
- package/dist/resources/graph-model-resource.js.map +1 -1
- package/dist/resources/graph-view-resource.d.ts +9 -29
- package/dist/resources/graph-view-resource.js +13 -48
- package/dist/resources/graph-view-resource.js.map +1 -1
- package/dist/resources/link-type-resource.d.ts +9 -23
- package/dist/resources/link-type-resource.js +11 -33
- package/dist/resources/link-type-resource.js.map +1 -1
- package/dist/resources/report-resource.d.ts +10 -23
- package/dist/resources/report-resource.js +20 -67
- package/dist/resources/report-resource.js.map +1 -1
- package/dist/resources/resource-object.d.ts +143 -23
- package/dist/resources/resource-object.js +369 -48
- package/dist/resources/resource-object.js.map +1 -1
- package/dist/resources/template-resource.d.ts +10 -17
- package/dist/resources/template-resource.js +19 -27
- package/dist/resources/template-resource.js.map +1 -1
- package/dist/resources/workflow-resource.d.ts +9 -25
- package/dist/resources/workflow-resource.js +25 -55
- 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-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 +14 -7
- 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/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 +11 -11
- package/src/card-metadata-updater.ts +9 -7
- package/src/command-handler.ts +35 -23
- package/src/command-manager.ts +32 -19
- package/src/commands/create.ts +59 -160
- package/src/commands/edit.ts +16 -132
- package/src/commands/export.ts +71 -81
- package/src/commands/import.ts +26 -18
- package/src/commands/move.ts +143 -179
- package/src/commands/remove.ts +20 -59
- package/src/commands/rename.ts +45 -156
- package/src/commands/show.ts +153 -211
- package/src/commands/transition.ts +53 -58
- package/src/commands/update.ts +44 -23
- package/src/commands/validate.ts +108 -82
- package/src/containers/card-container.ts +200 -360
- package/src/containers/project/calculation-engine.ts +81 -105
- package/src/containers/project/card-cache.ts +497 -0
- 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 +551 -693
- package/src/containers/template.ts +129 -142
- package/src/index.ts +1 -0
- package/src/interfaces/folder-content-interfaces.ts +14 -7
- package/src/interfaces/macros.ts +2 -0
- package/src/interfaces/project-interfaces.ts +14 -7
- package/src/interfaces/resource-interfaces.ts +30 -27
- package/src/macros/createCards/index.ts +1 -12
- package/src/macros/createCards/types.ts +46 -0
- package/src/macros/graph/index.ts +27 -52
- 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/index.ts +2 -2
- package/src/macros/percentage/index.ts +1 -7
- package/src/macros/percentage/types.ts +32 -0
- package/src/macros/report/index.ts +4 -13
- 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 +79 -22
- package/src/project-settings.ts +84 -15
- package/src/resources/calculation-resource.ts +21 -91
- package/src/resources/card-type-resource.ts +74 -109
- package/src/resources/create-defaults.ts +3 -2
- package/src/resources/field-type-resource.ts +61 -104
- package/src/resources/file-resource.ts +33 -441
- package/src/resources/folder-resource.ts +130 -207
- package/src/resources/graph-model-resource.ts +36 -95
- package/src/resources/graph-view-resource.ts +28 -70
- package/src/resources/link-type-resource.ts +23 -53
- package/src/resources/report-resource.ts +34 -96
- package/src/resources/resource-object.ts +511 -66
- package/src/resources/template-resource.ts +32 -44
- package/src/resources/workflow-resource.ts +42 -85
- package/src/utils/card-utils.ts +217 -31
- package/src/utils/clingo-fact-builder.ts +28 -16
- package/src/utils/clingo-facts.ts +16 -7
- package/src/utils/clingo-parser.ts +1 -1
- package/src/utils/constants.ts +6 -0
- package/src/utils/csv.ts +1 -1
- package/src/utils/resource-utils.ts +2 -1
- package/dist/containers/project/resource-collector.d.ts +0 -87
- package/dist/containers/project/resource-collector.js +0 -337
- package/dist/containers/project/resource-collector.js.map +0 -1
- package/src/containers/project/resource-collector.ts +0 -396
|
@@ -9,11 +9,11 @@
|
|
|
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 ResourceName } from '../utils/resource-utils.js';
|
|
12
13
|
import type { Card, ResourceFolderType } from '../interfaces/project-interfaces.js';
|
|
13
14
|
import type { Logger } from 'pino';
|
|
14
|
-
import {
|
|
15
|
-
import type {
|
|
16
|
-
import type { ResourceName } from '../utils/resource-utils.js';
|
|
15
|
+
import type { Project } from '../containers/project.js';
|
|
16
|
+
import type { ResourceBaseMetadata, UpdateKey } from '../interfaces/resource-interfaces.js';
|
|
17
17
|
export type UpdateOperations = 'add' | 'change' | 'rank' | 'remove';
|
|
18
18
|
type BaseOperation<T> = {
|
|
19
19
|
name: 'add' | 'change' | 'rank' | 'remove';
|
|
@@ -45,71 +45,153 @@ export type OperationMap<T> = {
|
|
|
45
45
|
remove: RemoveOperation<T>;
|
|
46
46
|
};
|
|
47
47
|
export type OperationFor<T, N extends UpdateOperations> = OperationMap<T>[N];
|
|
48
|
+
export type ShowReturnType<T extends ResourceBaseMetadata, U = never> = Omit<T, 'content'> & {
|
|
49
|
+
[K in 'content' as [U] extends [never] ? never : K]: U;
|
|
50
|
+
};
|
|
48
51
|
/**
|
|
49
52
|
* Abstract class for resources.
|
|
50
53
|
*/
|
|
51
|
-
export declare abstract class AbstractResource {
|
|
54
|
+
export declare abstract class AbstractResource<T extends ResourceBaseMetadata, U = never> {
|
|
52
55
|
protected abstract calculate(): Promise<void>;
|
|
53
|
-
protected abstract create(content?:
|
|
56
|
+
protected abstract create(content?: T): Promise<void>;
|
|
54
57
|
protected abstract delete(): Promise<void>;
|
|
55
58
|
protected abstract read(): Promise<void>;
|
|
56
59
|
protected abstract rename(newName: ResourceName): Promise<void>;
|
|
57
|
-
protected abstract show():
|
|
58
|
-
protected abstract update<Type>(
|
|
60
|
+
protected abstract show(): ShowReturnType<T, U>;
|
|
61
|
+
protected abstract update<Type, K extends string>(updateKey: UpdateKey<K>, operation: Operation<Type>): Promise<void>;
|
|
59
62
|
protected abstract usage(cards?: Card[]): Promise<string[]>;
|
|
60
63
|
protected abstract validate(content?: object): Promise<void>;
|
|
61
64
|
protected abstract write(): Promise<void>;
|
|
62
65
|
protected abstract get getType(): string;
|
|
63
66
|
protected abstract getLogger(loggerName: string): Logger;
|
|
64
67
|
}
|
|
65
|
-
|
|
66
|
-
* Base class for all resources.
|
|
67
|
-
*/
|
|
68
|
-
export declare class ResourceObject extends AbstractResource {
|
|
68
|
+
export declare abstract class ResourceObject<T extends ResourceBaseMetadata, U> extends AbstractResource<T, U> {
|
|
69
69
|
protected project: Project;
|
|
70
70
|
protected resourceName: ResourceName;
|
|
71
|
+
private static validateInstancePromise?;
|
|
72
|
+
protected content: T;
|
|
71
73
|
protected moduleResource: boolean;
|
|
72
74
|
protected contentSchema: JSON;
|
|
73
75
|
protected contentSchemaId: string;
|
|
74
76
|
protected type: ResourceFolderType;
|
|
75
77
|
protected resourceFolder: string;
|
|
76
|
-
|
|
78
|
+
protected logger: Logger;
|
|
79
|
+
/**
|
|
80
|
+
* Path to the resource metadata file (the .json file).
|
|
81
|
+
*/
|
|
82
|
+
fileName: string;
|
|
83
|
+
/**
|
|
84
|
+
* Constructs a ResourceObject instance
|
|
85
|
+
* @param project Project where this resource is
|
|
86
|
+
* @param resourceName Name for the resource
|
|
87
|
+
* @param type Type of resource
|
|
88
|
+
*/
|
|
89
|
+
constructor(project: Project, resourceName: ResourceName, type: ResourceFolderType);
|
|
90
|
+
private exists;
|
|
91
|
+
private static getValidate;
|
|
92
|
+
private reportHandlerBarFiles;
|
|
93
|
+
private resourceType;
|
|
94
|
+
/**
|
|
95
|
+
* Checks if resource exists.
|
|
96
|
+
* This should only throw, if someone creates resources directly; ie. not through the cache
|
|
97
|
+
* @throws if resource does not exist
|
|
98
|
+
*/
|
|
99
|
+
protected assertResourceExists(): void;
|
|
100
|
+
/**
|
|
101
|
+
* Calculate; empty implementation.
|
|
102
|
+
*/
|
|
77
103
|
protected calculate(): Promise<void>;
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
protected
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
protected
|
|
87
|
-
protected validate(_content?: object): Promise<void>;
|
|
88
|
-
protected write(): Promise<void>;
|
|
104
|
+
/**
|
|
105
|
+
* Calculations that use this resource.
|
|
106
|
+
* @throws if accessing calculations files failed
|
|
107
|
+
*/
|
|
108
|
+
protected calculations(): Promise<string[]>;
|
|
109
|
+
/**
|
|
110
|
+
* Cards from project.
|
|
111
|
+
*/
|
|
112
|
+
protected cards(): Card[];
|
|
89
113
|
/**
|
|
90
114
|
* Returns .schema content file.
|
|
91
115
|
* @param schemaId schema id
|
|
92
116
|
* @returns .schema content.
|
|
93
117
|
*/
|
|
94
118
|
protected contentSchemaContent(schemaId: string): JSON;
|
|
119
|
+
/**
|
|
120
|
+
* Creates resource.
|
|
121
|
+
* @param newContent Content for resource.
|
|
122
|
+
* @throws when resource already exists in the project.
|
|
123
|
+
*/
|
|
124
|
+
protected create(newContent?: T): Promise<void>;
|
|
125
|
+
/**
|
|
126
|
+
* Gets a logger instance.
|
|
127
|
+
* @param loggerName
|
|
128
|
+
* @returns logger instance
|
|
129
|
+
*/
|
|
130
|
+
protected getLogger(loggerName: string): Logger;
|
|
131
|
+
/**
|
|
132
|
+
* Returns type of this resource.
|
|
133
|
+
*/
|
|
134
|
+
protected get getType(): string;
|
|
95
135
|
/**
|
|
96
136
|
* Handles operation to an array.
|
|
97
137
|
* @param operation Operation to perform on array.
|
|
98
138
|
* @param arrayName Name of the array, for error messages.
|
|
99
139
|
* @param array Array to be updated.
|
|
100
140
|
* @returns Changed array after the operation.
|
|
141
|
+
* @throws when operation cannot be done.
|
|
101
142
|
*/
|
|
102
143
|
protected handleArray<Type>(operation: Operation<Type>, arrayName: string, array: Type[]): Type[];
|
|
103
144
|
/**
|
|
104
145
|
* Updates scalar value. The only accepted operation is 'change'
|
|
105
146
|
* @param operation Operation to perform on scalar.
|
|
106
147
|
* @returns What the scalar should be changed to.
|
|
148
|
+
* @throws when operation cannot be done
|
|
107
149
|
*/
|
|
108
150
|
protected handleScalar<Type>(operation: Operation<Type>): Type;
|
|
151
|
+
/**
|
|
152
|
+
* Initialize the resource.
|
|
153
|
+
*/
|
|
154
|
+
protected initialize(): void;
|
|
155
|
+
/**
|
|
156
|
+
* Called after inherited class has finished 'update' operation.
|
|
157
|
+
* @param content New content for resource
|
|
158
|
+
* @param updateKey Which property to change
|
|
159
|
+
* @param op What kind of operation is performed to updateKey
|
|
160
|
+
* @throws if validation fails after the update
|
|
161
|
+
*/
|
|
162
|
+
protected postUpdate<Type, K extends string>(content: T, updateKey: UpdateKey<K>, op: Operation<Type>): Promise<void>;
|
|
163
|
+
/**
|
|
164
|
+
* Reads content from file to memory.
|
|
165
|
+
*/
|
|
166
|
+
protected read(): Promise<void>;
|
|
167
|
+
/**
|
|
168
|
+
* Renames resource.
|
|
169
|
+
* @param newName New name for the resource.
|
|
170
|
+
* @throws if trying to rename module resource, or
|
|
171
|
+
* if resource does not exist,
|
|
172
|
+
* if trying to rename so that type changes
|
|
173
|
+
*/
|
|
174
|
+
protected rename(newName: ResourceName): Promise<void>;
|
|
175
|
+
/**
|
|
176
|
+
* Update resource; the base class makes some checks only.
|
|
177
|
+
* @template type Resource type
|
|
178
|
+
* @template K Resource key
|
|
179
|
+
* @throws if resource does not exist, or
|
|
180
|
+
* if trying to update module content, or
|
|
181
|
+
* if key is empty
|
|
182
|
+
*/
|
|
183
|
+
protected update<Type, K extends string>(key: UpdateKey<K>, _op: Operation<Type>): Promise<void>;
|
|
184
|
+
/**
|
|
185
|
+
* Validates resource identifier to prevent filesystem operations with invalid names
|
|
186
|
+
* todo: To Validate?
|
|
187
|
+
*/
|
|
188
|
+
protected validateResourceIdentifier(): void;
|
|
109
189
|
/**
|
|
110
190
|
* Update calculation files.
|
|
111
191
|
* @param from Resource name to update
|
|
112
192
|
* @param to New name for resource
|
|
193
|
+
* @throws if 'from' or 'to' is empty string, or
|
|
194
|
+
* if there was error accessing calculation files.
|
|
113
195
|
*/
|
|
114
196
|
protected updateCalculations(from: string, to: string): Promise<void>;
|
|
115
197
|
/**
|
|
@@ -117,7 +199,45 @@ export declare class ResourceObject extends AbstractResource {
|
|
|
117
199
|
* @param from Resource name to update
|
|
118
200
|
* @param to New name for resource
|
|
119
201
|
* @param handleBarFiles Optional. List of handlebar files. If omitted, affects all handlebar files in the project.
|
|
202
|
+
* @throws if 'from' or 'to' is empty string
|
|
120
203
|
*/
|
|
121
204
|
protected updateHandleBars(from: string, to: string, handleBarFiles?: string[]): Promise<void>;
|
|
205
|
+
/**
|
|
206
|
+
* Check if there are references to the resource in the card content.
|
|
207
|
+
* @note that this needs to be async, since inherited classes need to async operations
|
|
208
|
+
* @param cards cards to check
|
|
209
|
+
* @throws if resource does not exist
|
|
210
|
+
*/
|
|
211
|
+
protected usage(cards?: Card[]): Promise<string[]>;
|
|
212
|
+
/**
|
|
213
|
+
* Checks if resource name is valid.
|
|
214
|
+
* @param newName New name for resource.
|
|
215
|
+
* @returns valid name
|
|
216
|
+
*/
|
|
217
|
+
protected validName(newName: ResourceName): Promise<string>;
|
|
218
|
+
/**
|
|
219
|
+
* Write the content from memory to disk.
|
|
220
|
+
* @throws if trying to write a module resource.
|
|
221
|
+
*/
|
|
222
|
+
protected write(): Promise<void>;
|
|
223
|
+
/**
|
|
224
|
+
* Returns memory resident data as JSON.
|
|
225
|
+
* This is basically same as 'show' but doesn't do any checks; just returns the current content.
|
|
226
|
+
* @returns metadata content or undefined if resource does not exist.
|
|
227
|
+
*/
|
|
228
|
+
get data(): T | undefined;
|
|
229
|
+
/**
|
|
230
|
+
* Deletes the file and removes the resource from project.
|
|
231
|
+
* @throws if resource is a module resource, or
|
|
232
|
+
* if resource does not exist, or
|
|
233
|
+
* if resource is used by other resources.
|
|
234
|
+
*/
|
|
235
|
+
delete(): Promise<void>;
|
|
236
|
+
/**
|
|
237
|
+
* Validates the content of the resource.
|
|
238
|
+
* @param content Content to be validated.
|
|
239
|
+
* @throws if content is invalid.
|
|
240
|
+
*/
|
|
241
|
+
validate(content?: object): Promise<void>;
|
|
122
242
|
}
|
|
123
243
|
export {};
|