@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.
Files changed (173) hide show
  1. package/dist/card-metadata-updater.js +7 -1
  2. package/dist/card-metadata-updater.js.map +1 -1
  3. package/dist/command-handler.d.ts +4 -0
  4. package/dist/command-handler.js +19 -3
  5. package/dist/command-handler.js.map +1 -1
  6. package/dist/command-manager.d.ts +24 -1
  7. package/dist/command-manager.js +27 -3
  8. package/dist/command-manager.js.map +1 -1
  9. package/dist/commands/create.d.ts +1 -1
  10. package/dist/commands/create.js +34 -36
  11. package/dist/commands/create.js.map +1 -1
  12. package/dist/commands/export.d.ts +11 -2
  13. package/dist/commands/export.js +54 -41
  14. package/dist/commands/export.js.map +1 -1
  15. package/dist/commands/import.d.ts +9 -1
  16. package/dist/commands/import.js +15 -7
  17. package/dist/commands/import.js.map +1 -1
  18. package/dist/commands/move.js +0 -1
  19. package/dist/commands/move.js.map +1 -1
  20. package/dist/commands/remove.d.ts +8 -1
  21. package/dist/commands/remove.js +8 -4
  22. package/dist/commands/remove.js.map +1 -1
  23. package/dist/commands/rename.d.ts +4 -9
  24. package/dist/commands/rename.js +32 -101
  25. package/dist/commands/rename.js.map +1 -1
  26. package/dist/commands/show.d.ts +16 -10
  27. package/dist/commands/show.js +71 -55
  28. package/dist/commands/show.js.map +1 -1
  29. package/dist/commands/transition.d.ts +9 -2
  30. package/dist/commands/transition.js +25 -17
  31. package/dist/commands/transition.js.map +1 -1
  32. package/dist/commands/update.d.ts +16 -12
  33. package/dist/commands/update.js +19 -17
  34. package/dist/commands/update.js.map +1 -1
  35. package/dist/commands/validate.d.ts +17 -9
  36. package/dist/commands/validate.js +96 -35
  37. package/dist/commands/validate.js.map +1 -1
  38. package/dist/containers/project/calculation-engine.d.ts +7 -4
  39. package/dist/containers/project/calculation-engine.js +61 -66
  40. package/dist/containers/project/calculation-engine.js.map +1 -1
  41. package/dist/containers/project/project-paths.d.ts +5 -4
  42. package/dist/containers/project/project-paths.js +16 -12
  43. package/dist/containers/project/project-paths.js.map +1 -1
  44. package/dist/containers/project/resource-cache.d.ts +169 -0
  45. package/dist/containers/project/resource-cache.js +507 -0
  46. package/dist/containers/project/resource-cache.js.map +1 -0
  47. package/dist/containers/project/resource-handler.d.ts +129 -0
  48. package/dist/containers/project/resource-handler.js +206 -0
  49. package/dist/containers/project/resource-handler.js.map +1 -0
  50. package/dist/containers/project.d.ts +38 -153
  51. package/dist/containers/project.js +129 -405
  52. package/dist/containers/project.js.map +1 -1
  53. package/dist/containers/template.d.ts +8 -2
  54. package/dist/containers/template.js +20 -15
  55. package/dist/containers/template.js.map +1 -1
  56. package/dist/interfaces/folder-content-interfaces.d.ts +5 -3
  57. package/dist/interfaces/folder-content-interfaces.js +3 -3
  58. package/dist/interfaces/folder-content-interfaces.js.map +1 -1
  59. package/dist/interfaces/project-interfaces.d.ts +2 -4
  60. package/dist/interfaces/project-interfaces.js.map +1 -1
  61. package/dist/interfaces/resource-interfaces.d.ts +14 -1
  62. package/dist/interfaces/resource-interfaces.js.map +1 -1
  63. package/dist/macros/graph/index.js +12 -26
  64. package/dist/macros/graph/index.js.map +1 -1
  65. package/dist/macros/index.d.ts +1 -1
  66. package/dist/macros/index.js +2 -2
  67. package/dist/macros/index.js.map +1 -1
  68. package/dist/macros/report/index.js +3 -6
  69. package/dist/macros/report/index.js.map +1 -1
  70. package/dist/module-manager.d.ts +16 -3
  71. package/dist/module-manager.js +51 -19
  72. package/dist/module-manager.js.map +1 -1
  73. package/dist/project-settings.d.ts +16 -3
  74. package/dist/project-settings.js +79 -14
  75. package/dist/project-settings.js.map +1 -1
  76. package/dist/resources/calculation-resource.d.ts +4 -3
  77. package/dist/resources/calculation-resource.js +11 -5
  78. package/dist/resources/calculation-resource.js.map +1 -1
  79. package/dist/resources/card-type-resource.d.ts +6 -1
  80. package/dist/resources/card-type-resource.js +34 -23
  81. package/dist/resources/card-type-resource.js.map +1 -1
  82. package/dist/resources/create-defaults.d.ts +3 -2
  83. package/dist/resources/create-defaults.js +3 -2
  84. package/dist/resources/create-defaults.js.map +1 -1
  85. package/dist/resources/field-type-resource.d.ts +4 -1
  86. package/dist/resources/field-type-resource.js +22 -23
  87. package/dist/resources/field-type-resource.js.map +1 -1
  88. package/dist/resources/file-resource.d.ts +5 -9
  89. package/dist/resources/file-resource.js +6 -11
  90. package/dist/resources/file-resource.js.map +1 -1
  91. package/dist/resources/folder-resource.d.ts +29 -32
  92. package/dist/resources/folder-resource.js +59 -78
  93. package/dist/resources/folder-resource.js.map +1 -1
  94. package/dist/resources/graph-model-resource.d.ts +4 -1
  95. package/dist/resources/graph-model-resource.js +11 -4
  96. package/dist/resources/graph-model-resource.js.map +1 -1
  97. package/dist/resources/graph-view-resource.d.ts +5 -2
  98. package/dist/resources/graph-view-resource.js +7 -3
  99. package/dist/resources/graph-view-resource.js.map +1 -1
  100. package/dist/resources/link-type-resource.d.ts +5 -2
  101. package/dist/resources/link-type-resource.js +5 -2
  102. package/dist/resources/link-type-resource.js.map +1 -1
  103. package/dist/resources/report-resource.d.ts +6 -7
  104. package/dist/resources/report-resource.js +14 -23
  105. package/dist/resources/report-resource.js.map +1 -1
  106. package/dist/resources/resource-object.d.ts +93 -8
  107. package/dist/resources/resource-object.js +162 -110
  108. package/dist/resources/resource-object.js.map +1 -1
  109. package/dist/resources/template-resource.d.ts +7 -3
  110. package/dist/resources/template-resource.js +10 -3
  111. package/dist/resources/template-resource.js.map +1 -1
  112. package/dist/resources/workflow-resource.d.ts +5 -2
  113. package/dist/resources/workflow-resource.js +18 -22
  114. package/dist/resources/workflow-resource.js.map +1 -1
  115. package/dist/utils/card-utils.d.ts +2 -2
  116. package/dist/utils/card-utils.js +1 -1
  117. package/dist/utils/clingo-fact-builder.d.ts +25 -14
  118. package/dist/utils/clingo-fact-builder.js +27 -5
  119. package/dist/utils/clingo-fact-builder.js.map +1 -1
  120. package/dist/utils/clingo-facts.js +3 -4
  121. package/dist/utils/clingo-facts.js.map +1 -1
  122. package/dist/utils/resource-utils.d.ts +1 -0
  123. package/dist/utils/resource-utils.js +2 -1
  124. package/dist/utils/resource-utils.js.map +1 -1
  125. package/package.json +8 -8
  126. package/src/card-metadata-updater.ts +6 -2
  127. package/src/command-handler.ts +24 -5
  128. package/src/command-manager.ts +29 -17
  129. package/src/commands/create.ts +43 -78
  130. package/src/commands/export.ts +63 -52
  131. package/src/commands/import.ts +24 -14
  132. package/src/commands/move.ts +0 -1
  133. package/src/commands/remove.ts +11 -7
  134. package/src/commands/rename.ts +43 -149
  135. package/src/commands/show.ts +113 -78
  136. package/src/commands/transition.ts +26 -28
  137. package/src/commands/update.ts +25 -22
  138. package/src/commands/validate.ts +108 -67
  139. package/src/containers/project/calculation-engine.ts +61 -93
  140. package/src/containers/project/project-paths.ts +21 -13
  141. package/src/containers/project/resource-cache.ts +648 -0
  142. package/src/containers/project/resource-handler.ts +265 -0
  143. package/src/containers/project.ts +178 -522
  144. package/src/containers/template.ts +24 -19
  145. package/src/interfaces/folder-content-interfaces.ts +7 -6
  146. package/src/interfaces/project-interfaces.ts +7 -6
  147. package/src/interfaces/resource-interfaces.ts +18 -3
  148. package/src/macros/graph/index.ts +26 -47
  149. package/src/macros/index.ts +2 -2
  150. package/src/macros/report/index.ts +3 -9
  151. package/src/module-manager.ts +74 -17
  152. package/src/project-settings.ts +83 -14
  153. package/src/resources/calculation-resource.ts +18 -18
  154. package/src/resources/card-type-resource.ts +50 -50
  155. package/src/resources/create-defaults.ts +3 -2
  156. package/src/resources/field-type-resource.ts +41 -55
  157. package/src/resources/file-resource.ts +10 -36
  158. package/src/resources/folder-resource.ts +69 -120
  159. package/src/resources/graph-model-resource.ts +20 -22
  160. package/src/resources/graph-view-resource.ts +15 -17
  161. package/src/resources/link-type-resource.ts +10 -13
  162. package/src/resources/report-resource.ts +21 -43
  163. package/src/resources/resource-object.ts +194 -152
  164. package/src/resources/template-resource.ts +17 -16
  165. package/src/resources/workflow-resource.ts +25 -44
  166. package/src/utils/card-utils.ts +2 -2
  167. package/src/utils/clingo-fact-builder.ts +28 -16
  168. package/src/utils/clingo-facts.ts +3 -4
  169. package/src/utils/resource-utils.ts +2 -1
  170. package/dist/containers/project/resource-collector.d.ts +0 -110
  171. package/dist/containers/project/resource-collector.js +0 -344
  172. package/dist/containers/project/resource-collector.js.map +0 -1
  173. 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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"}