@cyberismo/data-handler 0.0.13 → 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.
Files changed (262) hide show
  1. package/dist/card-metadata-updater.js +1 -3
  2. package/dist/card-metadata-updater.js.map +1 -1
  3. package/dist/command-handler.js +13 -17
  4. package/dist/command-handler.js.map +1 -1
  5. package/dist/command-manager.d.ts +1 -1
  6. package/dist/command-manager.js +4 -3
  7. package/dist/command-manager.js.map +1 -1
  8. package/dist/commands/create.d.ts +3 -3
  9. package/dist/commands/create.js +20 -81
  10. package/dist/commands/create.js.map +1 -1
  11. package/dist/commands/edit.d.ts +12 -25
  12. package/dist/commands/edit.js +25 -74
  13. package/dist/commands/edit.js.map +1 -1
  14. package/dist/commands/export.js +4 -17
  15. package/dist/commands/export.js.map +1 -1
  16. package/dist/commands/fetch.js +2 -1
  17. package/dist/commands/fetch.js.map +1 -1
  18. package/dist/commands/import.js +3 -5
  19. package/dist/commands/import.js.map +1 -1
  20. package/dist/commands/move.d.ts +1 -2
  21. package/dist/commands/move.js +108 -146
  22. package/dist/commands/move.js.map +1 -1
  23. package/dist/commands/remove.js +15 -49
  24. package/dist/commands/remove.js.map +1 -1
  25. package/dist/commands/rename.d.ts +1 -0
  26. package/dist/commands/rename.js +13 -7
  27. package/dist/commands/rename.js.map +1 -1
  28. package/dist/commands/show.d.ts +7 -25
  29. package/dist/commands/show.js +39 -113
  30. package/dist/commands/show.js.map +1 -1
  31. package/dist/commands/transition.js +27 -30
  32. package/dist/commands/transition.js.map +1 -1
  33. package/dist/commands/update.d.ts +5 -3
  34. package/dist/commands/update.js +19 -5
  35. package/dist/commands/update.js.map +1 -1
  36. package/dist/commands/validate.d.ts +3 -3
  37. package/dist/commands/validate.js +20 -27
  38. package/dist/commands/validate.js.map +1 -1
  39. package/dist/containers/card-container.d.ts +87 -24
  40. package/dist/containers/card-container.js +183 -279
  41. package/dist/containers/card-container.js.map +1 -1
  42. package/dist/containers/project/calculation-engine.d.ts +6 -0
  43. package/dist/containers/project/calculation-engine.js +36 -29
  44. package/dist/containers/project/calculation-engine.js.map +1 -1
  45. package/dist/containers/project/card-cache.d.ts +146 -0
  46. package/dist/containers/project/card-cache.js +411 -0
  47. package/dist/containers/project/card-cache.js.map +1 -0
  48. package/dist/containers/project/resource-collector.d.ts +24 -1
  49. package/dist/containers/project/resource-collector.js +8 -1
  50. package/dist/containers/project/resource-collector.js.map +1 -1
  51. package/dist/containers/project.d.ts +119 -84
  52. package/dist/containers/project.js +423 -253
  53. package/dist/containers/project.js.map +1 -1
  54. package/dist/containers/template.d.ts +15 -31
  55. package/dist/containers/template.js +97 -104
  56. package/dist/containers/template.js.map +1 -1
  57. package/dist/index.d.ts +1 -0
  58. package/dist/index.js +1 -0
  59. package/dist/index.js.map +1 -1
  60. package/dist/interfaces/folder-content-interfaces.d.ts +12 -5
  61. package/dist/interfaces/folder-content-interfaces.js +5 -3
  62. package/dist/interfaces/folder-content-interfaces.js.map +1 -1
  63. package/dist/interfaces/macros.d.ts +1 -0
  64. package/dist/interfaces/macros.js +1 -1
  65. package/dist/interfaces/macros.js.map +1 -1
  66. package/dist/interfaces/project-interfaces.d.ts +16 -10
  67. package/dist/interfaces/project-interfaces.js +10 -8
  68. package/dist/interfaces/project-interfaces.js.map +1 -1
  69. package/dist/interfaces/resource-interfaces.d.ts +21 -22
  70. package/dist/interfaces/resource-interfaces.js +3 -0
  71. package/dist/interfaces/resource-interfaces.js.map +1 -1
  72. package/dist/macros/common.d.ts +10 -10
  73. package/dist/macros/createCards/index.d.ts +0 -13
  74. package/dist/macros/createCards/index.js.map +1 -1
  75. package/dist/macros/createCards/types.d.ts +44 -0
  76. package/dist/macros/createCards/types.js +15 -0
  77. package/dist/macros/createCards/types.js.map +1 -0
  78. package/dist/macros/graph/index.d.ts +2 -6
  79. package/dist/macros/graph/index.js +2 -2
  80. package/dist/macros/graph/index.js.map +1 -1
  81. package/dist/macros/graph/types.d.ts +23 -0
  82. package/dist/macros/graph/types.js +15 -0
  83. package/dist/macros/graph/types.js.map +1 -0
  84. package/dist/macros/image/index.d.ts +8 -16
  85. package/dist/macros/image/index.js +36 -33
  86. package/dist/macros/image/index.js.map +1 -1
  87. package/dist/macros/image/types.d.ts +38 -0
  88. package/dist/macros/image/types.js +15 -0
  89. package/dist/macros/image/types.js.map +1 -0
  90. package/dist/macros/include/index.d.ts +1 -6
  91. package/dist/macros/include/index.js +4 -7
  92. package/dist/macros/include/index.js.map +1 -1
  93. package/dist/macros/include/types.d.ts +31 -0
  94. package/dist/macros/include/types.js +15 -0
  95. package/dist/macros/include/types.js.map +1 -0
  96. package/dist/macros/percentage/index.d.ts +0 -6
  97. package/dist/macros/percentage/index.js.map +1 -1
  98. package/dist/macros/percentage/types.d.ts +31 -0
  99. package/dist/macros/percentage/types.js +15 -0
  100. package/dist/macros/percentage/types.js.map +1 -0
  101. package/dist/macros/report/index.d.ts +0 -3
  102. package/dist/macros/report/index.js.map +1 -1
  103. package/dist/macros/report/types.d.ts +19 -0
  104. package/dist/macros/report/types.js +15 -0
  105. package/dist/macros/report/types.js.map +1 -0
  106. package/dist/macros/scoreCard/index.d.ts +0 -6
  107. package/dist/macros/scoreCard/index.js.map +1 -1
  108. package/dist/macros/scoreCard/types.d.ts +31 -0
  109. package/dist/macros/scoreCard/types.js +15 -0
  110. package/dist/macros/scoreCard/types.js.map +1 -0
  111. package/dist/macros/types.d.ts +25 -0
  112. package/dist/macros/types.js +2 -0
  113. package/dist/macros/types.js.map +1 -0
  114. package/dist/macros/vega/index.d.ts +0 -4
  115. package/dist/macros/vega/index.js.map +1 -1
  116. package/dist/macros/vega/types.d.ts +20 -0
  117. package/dist/macros/vega/types.js +2 -0
  118. package/dist/macros/vega/types.js.map +1 -0
  119. package/dist/macros/vegalite/index.d.ts +0 -4
  120. package/dist/macros/vegalite/index.js.map +1 -1
  121. package/dist/macros/vegalite/types.d.ts +20 -0
  122. package/dist/macros/vegalite/types.js +15 -0
  123. package/dist/macros/vegalite/types.js.map +1 -0
  124. package/dist/macros/xref/index.d.ts +0 -3
  125. package/dist/macros/xref/index.js +5 -14
  126. package/dist/macros/xref/index.js.map +1 -1
  127. package/dist/macros/xref/types.d.ts +19 -0
  128. package/dist/macros/xref/types.js +15 -0
  129. package/dist/macros/xref/types.js.map +1 -0
  130. package/dist/module-manager.js +4 -4
  131. package/dist/module-manager.js.map +1 -1
  132. package/dist/project-settings.js.map +1 -1
  133. package/dist/resources/calculation-resource.d.ts +43 -0
  134. package/dist/resources/calculation-resource.js +75 -0
  135. package/dist/resources/calculation-resource.js.map +1 -0
  136. package/dist/resources/card-type-resource.d.ts +4 -21
  137. package/dist/resources/card-type-resource.js +13 -44
  138. package/dist/resources/card-type-resource.js.map +1 -1
  139. package/dist/resources/create-defaults.d.ts +13 -6
  140. package/dist/resources/create-defaults.js +19 -5
  141. package/dist/resources/create-defaults.js.map +1 -1
  142. package/dist/resources/field-type-resource.d.ts +4 -21
  143. package/dist/resources/field-type-resource.js +14 -38
  144. package/dist/resources/field-type-resource.js.map +1 -1
  145. package/dist/resources/file-resource.d.ts +12 -29
  146. package/dist/resources/file-resource.js +19 -287
  147. package/dist/resources/file-resource.js.map +1 -1
  148. package/dist/resources/folder-resource.d.ts +32 -51
  149. package/dist/resources/folder-resource.js +68 -96
  150. package/dist/resources/folder-resource.js.map +1 -1
  151. package/dist/resources/graph-model-resource.d.ts +5 -33
  152. package/dist/resources/graph-model-resource.js +8 -61
  153. package/dist/resources/graph-model-resource.js.map +1 -1
  154. package/dist/resources/graph-view-resource.d.ts +5 -28
  155. package/dist/resources/graph-view-resource.js +6 -45
  156. package/dist/resources/graph-view-resource.js.map +1 -1
  157. package/dist/resources/link-type-resource.d.ts +4 -21
  158. package/dist/resources/link-type-resource.js +6 -31
  159. package/dist/resources/link-type-resource.js.map +1 -1
  160. package/dist/resources/report-resource.d.ts +5 -17
  161. package/dist/resources/report-resource.js +6 -44
  162. package/dist/resources/report-resource.js.map +1 -1
  163. package/dist/resources/resource-object.d.ts +58 -23
  164. package/dist/resources/resource-object.js +307 -26
  165. package/dist/resources/resource-object.js.map +1 -1
  166. package/dist/resources/template-resource.d.ts +4 -15
  167. package/dist/resources/template-resource.js +10 -25
  168. package/dist/resources/template-resource.js.map +1 -1
  169. package/dist/resources/workflow-resource.d.ts +4 -23
  170. package/dist/resources/workflow-resource.js +12 -38
  171. package/dist/resources/workflow-resource.js.map +1 -1
  172. package/dist/utils/card-utils.d.ts +69 -19
  173. package/dist/utils/card-utils.js +179 -30
  174. package/dist/utils/card-utils.js.map +1 -1
  175. package/dist/utils/clingo-facts.js +11 -3
  176. package/dist/utils/clingo-facts.js.map +1 -1
  177. package/dist/utils/clingo-parser.js +1 -1
  178. package/dist/utils/clingo-parser.js.map +1 -1
  179. package/dist/utils/constants.d.ts +2 -0
  180. package/dist/utils/constants.js +5 -0
  181. package/dist/utils/constants.js.map +1 -1
  182. package/dist/utils/csv.js +1 -1
  183. package/dist/utils/csv.js.map +1 -1
  184. package/dist/utils/error-utils.d.ts +34 -0
  185. package/dist/utils/error-utils.js +56 -0
  186. package/dist/utils/error-utils.js.map +1 -0
  187. package/dist/utils/log-utils.d.ts +0 -27
  188. package/dist/utils/log-utils.js +0 -58
  189. package/dist/utils/log-utils.js.map +1 -1
  190. package/dist/utils/user-preferences.js +6 -3
  191. package/dist/utils/user-preferences.js.map +1 -1
  192. package/package.json +5 -5
  193. package/src/card-metadata-updater.ts +3 -5
  194. package/src/command-handler.ts +14 -19
  195. package/src/command-manager.ts +4 -3
  196. package/src/commands/create.ts +28 -112
  197. package/src/commands/edit.ts +27 -118
  198. package/src/commands/export.ts +8 -29
  199. package/src/commands/fetch.ts +2 -1
  200. package/src/commands/import.ts +4 -6
  201. package/src/commands/move.ts +144 -179
  202. package/src/commands/remove.ts +12 -54
  203. package/src/commands/rename.ts +22 -7
  204. package/src/commands/show.ts +51 -156
  205. package/src/commands/transition.ts +30 -33
  206. package/src/commands/update.ts +27 -9
  207. package/src/commands/validate.ts +22 -37
  208. package/src/containers/card-container.ts +200 -360
  209. package/src/containers/project/calculation-engine.ts +43 -33
  210. package/src/containers/project/card-cache.ts +497 -0
  211. package/src/containers/project/resource-collector.ts +9 -1
  212. package/src/containers/project.ts +533 -328
  213. package/src/containers/template.ts +109 -127
  214. package/src/index.ts +1 -0
  215. package/src/interfaces/folder-content-interfaces.ts +23 -5
  216. package/src/interfaces/macros.ts +2 -0
  217. package/src/interfaces/project-interfaces.ts +19 -10
  218. package/src/interfaces/resource-interfaces.ts +22 -24
  219. package/src/macros/createCards/index.ts +1 -12
  220. package/src/macros/createCards/types.ts +46 -0
  221. package/src/macros/graph/index.ts +3 -7
  222. package/src/macros/graph/types.ts +24 -0
  223. package/src/macros/image/index.ts +50 -61
  224. package/src/macros/image/types.ts +39 -0
  225. package/src/macros/include/index.ts +6 -15
  226. package/src/macros/include/types.ts +32 -0
  227. package/src/macros/percentage/index.ts +1 -7
  228. package/src/macros/percentage/types.ts +32 -0
  229. package/src/macros/report/index.ts +1 -4
  230. package/src/macros/report/types.ts +20 -0
  231. package/src/macros/scoreCard/index.ts +1 -7
  232. package/src/macros/scoreCard/types.ts +32 -0
  233. package/src/macros/types.ts +48 -0
  234. package/src/macros/vega/index.ts +1 -4
  235. package/src/macros/vega/types.ts +21 -0
  236. package/src/macros/vegalite/index.ts +1 -4
  237. package/src/macros/vegalite/types.ts +22 -0
  238. package/src/macros/xref/index.ts +6 -20
  239. package/src/macros/xref/types.ts +20 -0
  240. package/src/module-manager.ts +5 -5
  241. package/src/project-settings.ts +1 -1
  242. package/src/resources/calculation-resource.ts +101 -0
  243. package/src/resources/card-type-resource.ts +24 -59
  244. package/src/resources/create-defaults.ts +21 -5
  245. package/src/resources/field-type-resource.ts +22 -51
  246. package/src/resources/file-resource.ts +27 -403
  247. package/src/resources/folder-resource.ts +99 -125
  248. package/src/resources/graph-model-resource.ts +17 -74
  249. package/src/resources/graph-view-resource.ts +14 -54
  250. package/src/resources/link-type-resource.ts +13 -40
  251. package/src/resources/report-resource.ts +17 -57
  252. package/src/resources/resource-object.ts +454 -39
  253. package/src/resources/template-resource.ts +16 -29
  254. package/src/resources/workflow-resource.ts +26 -50
  255. package/src/utils/card-utils.ts +217 -31
  256. package/src/utils/clingo-facts.ts +13 -3
  257. package/src/utils/clingo-parser.ts +1 -1
  258. package/src/utils/constants.ts +7 -0
  259. package/src/utils/csv.ts +1 -1
  260. package/src/utils/error-utils.ts +62 -0
  261. package/src/utils/log-utils.ts +0 -68
  262. package/src/utils/user-preferences.ts +7 -3
@@ -1 +1 @@
1
- {"version":3,"file":"graph-view-resource.js","sourceRoot":"","sources":["../../src/resources/graph-view-resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-view-resource.js","sourceRoot":"","sources":["../../src/resources/graph-view-resource.ts"],"names":[],"mappings":"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"}
@@ -11,11 +11,11 @@
11
11
  */
12
12
  import type { Card, Operation, Project, ResourceName } from './file-resource.js';
13
13
  import { FileResource } from './folder-resource.js';
14
- import type { LinkType } from '../interfaces/resource-interfaces.js';
14
+ import type { LinkType, UpdateKey } from '../interfaces/resource-interfaces.js';
15
15
  /**
16
16
  * Link Type resource class.
17
17
  */
18
- export declare class LinkTypeResource extends FileResource {
18
+ export declare class LinkTypeResource extends FileResource<LinkType> {
19
19
  constructor(project: Project, name: ResourceName);
20
20
  private handleNameChange;
21
21
  /**
@@ -23,30 +23,17 @@ export declare class LinkTypeResource extends FileResource {
23
23
  * @param newContent Content for the link type.
24
24
  */
25
25
  create(newContent?: LinkType): Promise<void>;
26
- /**
27
- * Returns content data.
28
- */
29
- get data(): LinkType;
30
- /**
31
- * Deletes file(s) from disk and clears out the memory resident object.
32
- */
33
- delete(): Promise<void>;
34
26
  /**
35
27
  * Renames resource metadata file and renames memory resident object 'name'.
36
28
  * @param newName New name for the resource.
37
29
  */
38
30
  rename(newName: ResourceName): Promise<void>;
39
- /**
40
- * Shows metadata of the resource.
41
- * @returns link type metadata.
42
- */
43
- show(): Promise<LinkType>;
44
31
  /**
45
32
  * Updates link type resource.
46
- * @param key Key to modify
33
+ * @param updateKey Key to modify
47
34
  * @param op Operation to perform on 'key'
48
35
  */
49
- update<Type>(key: string, op: Operation<Type>): Promise<void>;
36
+ update<Type, K extends string>(updateKey: UpdateKey<K>, op: Operation<Type>): Promise<void>;
50
37
  /**
51
38
  * List where link type is used.
52
39
  * Always returns card key references first, then calculation references.
@@ -55,8 +42,4 @@ export declare class LinkTypeResource extends FileResource {
55
42
  * @returns array of card keys calculation filenames that refer this resource.
56
43
  */
57
44
  usage(cards?: Card[]): Promise<string[]>;
58
- /**
59
- * Validates the resource. If object is invalid, throws.
60
- */
61
- validate(content?: object): Promise<void>;
62
45
  }
@@ -18,7 +18,6 @@ export class LinkTypeResource extends FileResource {
18
18
  super(project, name, 'linkTypes');
19
19
  this.contentSchemaId = 'linkTypeSchema';
20
20
  this.contentSchema = super.contentSchemaContent(this.contentSchemaId);
21
- this.initialize();
22
21
  }
23
22
  // When resource name changes.
24
23
  async handleNameChange(existingName) {
@@ -50,18 +49,6 @@ export class LinkTypeResource extends FileResource {
50
49
  }
51
50
  return super.create(newContent);
52
51
  }
53
- /**
54
- * Returns content data.
55
- */
56
- get data() {
57
- return super.data;
58
- }
59
- /**
60
- * Deletes file(s) from disk and clears out the memory resident object.
61
- */
62
- async delete() {
63
- return super.delete();
64
- }
65
52
  /**
66
53
  * Renames resource metadata file and renames memory resident object 'name'.
67
54
  * @param newName New name for the resource.
@@ -71,22 +58,16 @@ export class LinkTypeResource extends FileResource {
71
58
  await super.rename(newName);
72
59
  return this.handleNameChange(existingName);
73
60
  }
74
- /**
75
- * Shows metadata of the resource.
76
- * @returns link type metadata.
77
- */
78
- async show() {
79
- return super.show();
80
- }
81
61
  /**
82
62
  * Updates link type resource.
83
- * @param key Key to modify
63
+ * @param updateKey Key to modify
84
64
  * @param op Operation to perform on 'key'
85
65
  */
86
- async update(key, op) {
66
+ async update(updateKey, op) {
67
+ const { key } = updateKey;
87
68
  const nameChange = key === 'name';
88
69
  const existingName = this.content.name;
89
- await super.update(key, op);
70
+ await super.update(updateKey, op);
90
71
  const content = structuredClone(this.content);
91
72
  if (key === 'name') {
92
73
  content.name = super.handleScalar(op);
@@ -109,7 +90,7 @@ export class LinkTypeResource extends FileResource {
109
90
  else {
110
91
  throw new Error(`Unknown property '${key}' for FieldType`);
111
92
  }
112
- await super.postUpdate(content, key, op);
93
+ await super.postUpdate(content, updateKey, op);
113
94
  // Renaming this card type causes that references to its name must be updated.
114
95
  if (nameChange) {
115
96
  await this.handleNameChange(existingName);
@@ -124,7 +105,7 @@ export class LinkTypeResource extends FileResource {
124
105
  */
125
106
  async usage(cards) {
126
107
  const resourceName = resourceNameToString(this.resourceName);
127
- const allCards = cards || (await super.cards());
108
+ const allCards = cards || super.cards();
128
109
  const cardsThatUseLinkType = allCards
129
110
  .filter((card) => card.metadata?.links.find((item) => item.linkType === resourceName))
130
111
  .filter(Boolean)
@@ -140,11 +121,5 @@ export class LinkTypeResource extends FileResource {
140
121
  // Using Set to avoid duplicate cards
141
122
  return [...new Set([...cardReferences, ...calculations])];
142
123
  }
143
- /**
144
- * Validates the resource. If object is invalid, throws.
145
- */
146
- async validate(content) {
147
- return super.validate(content);
148
- }
149
124
  }
150
125
  //# sourceMappingURL=link-type-resource.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"link-type-resource.js","sourceRoot":"","sources":["../../src/resources/link-type-resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"link-type-resource.js","sourceRoot":"","sources":["../../src/resources/link-type-resource.ts"],"names":[],"mappings":"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"}
@@ -13,11 +13,12 @@
13
13
  */
14
14
  import { FolderResource } from './folder-resource.js';
15
15
  import type { Card, Operation, Project, ResourceName } from './folder-resource.js';
16
- import type { Report, ReportMetadata, ReportUpdateKey } from '../interfaces/resource-interfaces.js';
16
+ import { type ReportMetadata, type UpdateKey } from '../interfaces/resource-interfaces.js';
17
+ import type { ReportContent } from '../interfaces/folder-content-interfaces.js';
17
18
  /**
18
19
  * Report resource class.
19
20
  */
20
- export declare class ReportResource extends FolderResource {
21
+ export declare class ReportResource extends FolderResource<ReportMetadata, ReportContent> {
21
22
  private reportSchema;
22
23
  constructor(project: Project, name: ResourceName);
23
24
  private defaultReportLocation;
@@ -33,14 +34,6 @@ export declare class ReportResource extends FolderResource {
33
34
  * @throws if 'newContent' is not valid.
34
35
  */
35
36
  createReport(): Promise<void>;
36
- /**
37
- * Returns resource content.
38
- */
39
- get data(): ReportMetadata;
40
- /**
41
- * Deletes file and folder that this resource is based on.
42
- */
43
- delete(): Promise<void>;
44
37
  /**
45
38
  * Returns list of handlebar filenames that this report has.
46
39
  * @returns list of handlebar filenames that this report has.
@@ -51,17 +44,12 @@ export declare class ReportResource extends FolderResource {
51
44
  * @param newName New name for the resource.
52
45
  */
53
46
  rename(newName: ResourceName): Promise<void>;
54
- /**
55
- * Shows metadata of the resource.
56
- * @returns report metadata.
57
- */
58
- show(): Promise<Report>;
59
47
  /**
60
48
  * Updates report resource.
61
- * @param key Key to modify
49
+ * @param updateKey Key to modify
62
50
  * @param op Operation to perform on 'key'
63
51
  */
64
- update<Type>(key: ReportUpdateKey, op: Operation<Type>): Promise<void>;
52
+ update<Type, K extends string>(updateKey: UpdateKey<K>, op: Operation<Type>): Promise<void>;
65
53
  /**
66
54
  * List where this resource is used.
67
55
  * Always returns card key references first, then calculation references.
@@ -17,7 +17,6 @@ import { extname, join } from 'node:path';
17
17
  import { copyDir } from '../utils/file-utils.js';
18
18
  import { DefaultContent, FolderResource, resourceNameToString, sortCards, } from './folder-resource.js';
19
19
  import { getStaticDirectoryPath } from '@cyberismo/assets';
20
- import { filename } from '../interfaces/folder-content-interfaces.js';
21
20
  import { Validate } from '../commands/validate.js';
22
21
  const REPORT_SCHEMA_FILE = 'parameterSchema.json';
23
22
  const PARAMETER_SCHEMA_ID = 'jsonSchema';
@@ -31,7 +30,6 @@ export class ReportResource extends FolderResource {
31
30
  super(project, name, 'reports');
32
31
  this.contentSchemaId = 'reportSchema';
33
32
  this.contentSchema = super.contentSchemaContent(this.contentSchemaId);
34
- this.initialize();
35
33
  const schemaPath = join(this.internalFolder, REPORT_SCHEMA_FILE);
36
34
  this.reportSchema = this.readSchemaFile(schemaPath);
37
35
  }
@@ -71,18 +69,6 @@ export class ReportResource extends FolderResource {
71
69
  // Copy report default structure to destination.
72
70
  await copyDir(this.defaultReportLocation, this.internalFolder);
73
71
  }
74
- /**
75
- * Returns resource content.
76
- */
77
- get data() {
78
- return super.data;
79
- }
80
- /**
81
- * Deletes file and folder that this resource is based on.
82
- */
83
- async delete() {
84
- return super.delete();
85
- }
86
72
  /**
87
73
  * Returns list of handlebar filenames that this report has.
88
74
  * @returns list of handlebar filenames that this report has.
@@ -104,43 +90,19 @@ export class ReportResource extends FolderResource {
104
90
  await super.rename(newName);
105
91
  return this.onNameChange(existingName);
106
92
  }
107
- /**
108
- * Shows metadata of the resource.
109
- * @returns report metadata.
110
- */
111
- async show() {
112
- const baseData = (await super.show());
113
- const fileContents = await super.contentData();
114
- const content = {
115
- contentTemplate: fileContents.contentTemplate,
116
- queryTemplate: fileContents.queryTemplate,
117
- schema: fileContents.schema ? fileContents.schema : undefined,
118
- };
119
- return {
120
- ...baseData,
121
- content: content,
122
- };
123
- }
124
93
  /**
125
94
  * Updates report resource.
126
- * @param key Key to modify
95
+ * @param updateKey Key to modify
127
96
  * @param op Operation to perform on 'key'
128
97
  */
129
- async update(key, op) {
130
- if (typeof key === 'object' &&
131
- key.key === 'content' &&
132
- key.subKey === 'schema') {
133
- const fileContent = JSON.stringify(super.handleScalar(op), null, 2);
134
- await this.updateFile(filename(key.subKey), fileContent);
135
- return;
136
- }
137
- if (key === 'category') {
98
+ async update(updateKey, op) {
99
+ if (updateKey.key === 'category') {
138
100
  const content = structuredClone(this.content);
139
101
  content.category = super.handleScalar(op);
140
- await super.postUpdate(content, key, op);
102
+ await super.postUpdate(content, updateKey, op);
141
103
  return;
142
104
  }
143
- await super.update(key, op);
105
+ await super.update(updateKey, op);
144
106
  }
145
107
  /**
146
108
  * List where this resource is used.
@@ -150,7 +112,7 @@ export class ReportResource extends FolderResource {
150
112
  * @returns array of card keys and calculation filenames that refer this resource.
151
113
  */
152
114
  async usage(cards) {
153
- const allCards = cards ?? (await super.cards());
115
+ const allCards = cards ?? super.cards();
154
116
  const [relevantCards, calculations] = await Promise.all([
155
117
  super.usage(allCards),
156
118
  super.calculations(),
@@ -1 +1 @@
1
- {"version":3,"file":"report-resource.js","sourceRoot":"","sources":["../../src/resources/report-resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report-resource.js","sourceRoot":"","sources":["../../src/resources/report-resource.ts"],"names":[],"mappings":"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"}
@@ -11,9 +11,9 @@
11
11
  */
12
12
  import type { Card, ResourceFolderType } from '../interfaces/project-interfaces.js';
13
13
  import type { Logger } from 'pino';
14
- import { type Project } from '../containers/project.js';
15
- import type { ResourceContent } from '../interfaces/resource-interfaces.js';
16
- import type { ResourceName } from '../utils/resource-utils.js';
14
+ import type { Project } from '../containers/project.js';
15
+ import type { ResourceBaseMetadata, UpdateKey } from '../interfaces/resource-interfaces.js';
16
+ import { type ResourceName } from '../utils/resource-utils.js';
17
17
  export type UpdateOperations = 'add' | 'change' | 'rank' | 'remove';
18
18
  type BaseOperation<T> = {
19
19
  name: 'add' | 'change' | 'rank' | 'remove';
@@ -45,53 +45,64 @@ 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?: ResourceContent): Promise<void>;
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(): Promise<ResourceContent>;
58
- protected abstract update<Type>(key: string, operation: Operation<Type>): Promise<void>;
60
+ protected abstract show(): Promise<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 cache;
72
+ private static validateInstancePromise?;
73
+ protected content: T;
71
74
  protected moduleResource: boolean;
72
75
  protected contentSchema: JSON;
73
76
  protected contentSchemaId: string;
74
77
  protected type: ResourceFolderType;
75
78
  protected resourceFolder: string;
76
- constructor(project: Project, resourceName: ResourceName);
79
+ protected logger: Logger;
80
+ /**
81
+ * Path to the resource metadata file (the .json file).
82
+ */
83
+ fileName: string;
84
+ constructor(project: Project, resourceName: ResourceName, type: ResourceFolderType);
85
+ private static getValidate;
86
+ private resourceObjectToResource;
87
+ private resourceType;
88
+ private toCache;
89
+ /**
90
+ * Checks if resource exists
91
+ * @throws if resource does not exist
92
+ */
93
+ protected assertResourceExists(): void;
77
94
  protected calculate(): Promise<void>;
78
- protected create(_content?: ResourceContent): Promise<void>;
79
- protected delete(): Promise<void>;
80
- protected read(): Promise<void>;
81
- protected rename(_name: ResourceName): Promise<void>;
82
- protected show(): Promise<ResourceContent>;
83
- protected get getType(): string;
84
- protected getLogger(loggerName: string): Logger;
85
- protected update<Type>(_key: string, _op: Operation<Type>): Promise<void>;
86
- protected usage(_cards?: Card[]): Promise<string[]>;
87
- protected validate(_content?: object): Promise<void>;
88
- protected write(): Promise<void>;
95
+ protected calculations(): Promise<string[]>;
96
+ protected cards(): Card[];
89
97
  /**
90
98
  * Returns .schema content file.
91
99
  * @param schemaId schema id
92
100
  * @returns .schema content.
93
101
  */
94
102
  protected contentSchemaContent(schemaId: string): JSON;
103
+ protected create(newContent?: T): Promise<void>;
104
+ protected getLogger(loggerName: string): Logger;
105
+ protected get getType(): string;
95
106
  /**
96
107
  * Handles operation to an array.
97
108
  * @param operation Operation to perform on array.
@@ -106,6 +117,11 @@ export declare class ResourceObject extends AbstractResource {
106
117
  * @returns What the scalar should be changed to.
107
118
  */
108
119
  protected handleScalar<Type>(operation: Operation<Type>): Type;
120
+ protected initialize(): void;
121
+ protected postUpdate<Type, K extends string>(content: T, updateKey: UpdateKey<K>, op: Operation<Type>): Promise<void>;
122
+ protected update<Type, K extends string>(key: UpdateKey<K>, _op: Operation<Type>): Promise<void>;
123
+ protected read(): Promise<void>;
124
+ protected rename(newName: ResourceName): Promise<void>;
109
125
  /**
110
126
  * Update calculation files.
111
127
  * @param from Resource name to update
@@ -119,5 +135,24 @@ export declare class ResourceObject extends AbstractResource {
119
135
  * @param handleBarFiles Optional. List of handlebar files. If omitted, affects all handlebar files in the project.
120
136
  */
121
137
  protected updateHandleBars(from: string, to: string, handleBarFiles?: string[]): Promise<void>;
138
+ protected usage(cards?: Card[]): Promise<string[]>;
139
+ protected validName(newName: ResourceName): Promise<string>;
140
+ protected write(): Promise<void>;
141
+ /**
142
+ * Returns memory resident data as JSON.
143
+ * This is basically same as 'show' but doesn't do any checks; just returns the current content.
144
+ * @returns metadata content or undefined if resource does not exist.
145
+ */
146
+ get data(): T | undefined;
147
+ /**
148
+ * Deletes the file and removes the resource from project.
149
+ * @throws if resource is a module resource or does not exist or is used by other resources.
150
+ */
151
+ delete(): Promise<void>;
152
+ /**
153
+ * Validates the content of the resource.
154
+ * @param content Content to be validated.
155
+ */
156
+ validate(content?: object): Promise<void>;
122
157
  }
123
158
  export {};