@cyberismo/data-handler 0.0.15 → 0.0.17

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 (191) 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 +22 -8
  5. package/dist/command-handler.js.map +1 -1
  6. package/dist/command-manager.d.ts +24 -1
  7. package/dist/command-manager.js +31 -7
  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/fetch.d.ts +8 -0
  16. package/dist/commands/fetch.js +101 -23
  17. package/dist/commands/fetch.js.map +1 -1
  18. package/dist/commands/import.d.ts +14 -3
  19. package/dist/commands/import.js +27 -10
  20. package/dist/commands/import.js.map +1 -1
  21. package/dist/commands/move.js +0 -1
  22. package/dist/commands/move.js.map +1 -1
  23. package/dist/commands/remove.d.ts +11 -2
  24. package/dist/commands/remove.js +15 -5
  25. package/dist/commands/remove.js.map +1 -1
  26. package/dist/commands/rename.d.ts +4 -9
  27. package/dist/commands/rename.js +37 -101
  28. package/dist/commands/rename.js.map +1 -1
  29. package/dist/commands/show.d.ts +20 -12
  30. package/dist/commands/show.js +79 -57
  31. package/dist/commands/show.js.map +1 -1
  32. package/dist/commands/transition.d.ts +9 -2
  33. package/dist/commands/transition.js +25 -17
  34. package/dist/commands/transition.js.map +1 -1
  35. package/dist/commands/update.d.ts +16 -12
  36. package/dist/commands/update.js +19 -17
  37. package/dist/commands/update.js.map +1 -1
  38. package/dist/commands/validate.d.ts +17 -9
  39. package/dist/commands/validate.js +94 -35
  40. package/dist/commands/validate.js.map +1 -1
  41. package/dist/containers/card-container.d.ts +7 -5
  42. package/dist/containers/card-container.js +30 -5
  43. package/dist/containers/card-container.js.map +1 -1
  44. package/dist/containers/project/calculation-engine.d.ts +7 -4
  45. package/dist/containers/project/calculation-engine.js +61 -66
  46. package/dist/containers/project/calculation-engine.js.map +1 -1
  47. package/dist/containers/project/project-paths.d.ts +7 -4
  48. package/dist/containers/project/project-paths.js +22 -12
  49. package/dist/containers/project/project-paths.js.map +1 -1
  50. package/dist/containers/project/resource-cache.d.ts +169 -0
  51. package/dist/containers/project/resource-cache.js +509 -0
  52. package/dist/containers/project/resource-cache.js.map +1 -0
  53. package/dist/containers/project/resource-handler.d.ts +129 -0
  54. package/dist/containers/project/resource-handler.js +206 -0
  55. package/dist/containers/project/resource-handler.js.map +1 -0
  56. package/dist/containers/project.d.ts +46 -152
  57. package/dist/containers/project.js +179 -409
  58. package/dist/containers/project.js.map +1 -1
  59. package/dist/containers/template.d.ts +8 -2
  60. package/dist/containers/template.js +24 -19
  61. package/dist/containers/template.js.map +1 -1
  62. package/dist/interfaces/command-options.d.ts +3 -1
  63. package/dist/interfaces/folder-content-interfaces.d.ts +5 -3
  64. package/dist/interfaces/folder-content-interfaces.js +3 -3
  65. package/dist/interfaces/folder-content-interfaces.js.map +1 -1
  66. package/dist/interfaces/project-interfaces.d.ts +7 -9
  67. package/dist/interfaces/project-interfaces.js.map +1 -1
  68. package/dist/interfaces/resource-interfaces.d.ts +14 -1
  69. package/dist/interfaces/resource-interfaces.js.map +1 -1
  70. package/dist/macros/graph/index.js +12 -26
  71. package/dist/macros/graph/index.js.map +1 -1
  72. package/dist/macros/index.d.ts +1 -1
  73. package/dist/macros/index.js +2 -2
  74. package/dist/macros/index.js.map +1 -1
  75. package/dist/macros/report/index.js +3 -6
  76. package/dist/macros/report/index.js.map +1 -1
  77. package/dist/module-manager.d.ts +16 -3
  78. package/dist/module-manager.js +51 -19
  79. package/dist/module-manager.js.map +1 -1
  80. package/dist/project-settings.d.ts +21 -3
  81. package/dist/project-settings.js +91 -14
  82. package/dist/project-settings.js.map +1 -1
  83. package/dist/resources/calculation-resource.d.ts +4 -3
  84. package/dist/resources/calculation-resource.js +11 -5
  85. package/dist/resources/calculation-resource.js.map +1 -1
  86. package/dist/resources/card-type-resource.d.ts +6 -1
  87. package/dist/resources/card-type-resource.js +34 -23
  88. package/dist/resources/card-type-resource.js.map +1 -1
  89. package/dist/resources/create-defaults.d.ts +3 -2
  90. package/dist/resources/create-defaults.js +3 -2
  91. package/dist/resources/create-defaults.js.map +1 -1
  92. package/dist/resources/field-type-resource.d.ts +4 -1
  93. package/dist/resources/field-type-resource.js +22 -23
  94. package/dist/resources/field-type-resource.js.map +1 -1
  95. package/dist/resources/file-resource.d.ts +5 -9
  96. package/dist/resources/file-resource.js +6 -11
  97. package/dist/resources/file-resource.js.map +1 -1
  98. package/dist/resources/folder-resource.d.ts +29 -32
  99. package/dist/resources/folder-resource.js +59 -78
  100. package/dist/resources/folder-resource.js.map +1 -1
  101. package/dist/resources/graph-model-resource.d.ts +4 -1
  102. package/dist/resources/graph-model-resource.js +11 -4
  103. package/dist/resources/graph-model-resource.js.map +1 -1
  104. package/dist/resources/graph-view-resource.d.ts +5 -2
  105. package/dist/resources/graph-view-resource.js +7 -3
  106. package/dist/resources/graph-view-resource.js.map +1 -1
  107. package/dist/resources/link-type-resource.d.ts +5 -2
  108. package/dist/resources/link-type-resource.js +5 -2
  109. package/dist/resources/link-type-resource.js.map +1 -1
  110. package/dist/resources/report-resource.d.ts +6 -7
  111. package/dist/resources/report-resource.js +14 -23
  112. package/dist/resources/report-resource.js.map +1 -1
  113. package/dist/resources/resource-object.d.ts +94 -8
  114. package/dist/resources/resource-object.js +212 -109
  115. package/dist/resources/resource-object.js.map +1 -1
  116. package/dist/resources/template-resource.d.ts +7 -3
  117. package/dist/resources/template-resource.js +10 -3
  118. package/dist/resources/template-resource.js.map +1 -1
  119. package/dist/resources/workflow-resource.d.ts +5 -2
  120. package/dist/resources/workflow-resource.js +18 -22
  121. package/dist/resources/workflow-resource.js.map +1 -1
  122. package/dist/utils/card-utils.d.ts +2 -2
  123. package/dist/utils/card-utils.js +1 -1
  124. package/dist/utils/clingo-fact-builder.d.ts +25 -14
  125. package/dist/utils/clingo-fact-builder.js +27 -5
  126. package/dist/utils/clingo-fact-builder.js.map +1 -1
  127. package/dist/utils/clingo-facts.js +3 -4
  128. package/dist/utils/clingo-facts.js.map +1 -1
  129. package/dist/utils/configuration-logger.d.ts +91 -0
  130. package/dist/utils/configuration-logger.js +151 -0
  131. package/dist/utils/configuration-logger.js.map +1 -0
  132. package/dist/utils/constants.d.ts +1 -1
  133. package/dist/utils/constants.js +5 -3
  134. package/dist/utils/constants.js.map +1 -1
  135. package/dist/utils/resource-utils.d.ts +1 -0
  136. package/dist/utils/resource-utils.js +2 -1
  137. package/dist/utils/resource-utils.js.map +1 -1
  138. package/package.json +9 -9
  139. package/src/card-metadata-updater.ts +6 -2
  140. package/src/command-handler.ts +39 -12
  141. package/src/command-manager.ts +33 -21
  142. package/src/commands/create.ts +43 -78
  143. package/src/commands/export.ts +63 -52
  144. package/src/commands/fetch.ts +143 -34
  145. package/src/commands/import.ts +37 -15
  146. package/src/commands/move.ts +0 -1
  147. package/src/commands/remove.ts +20 -7
  148. package/src/commands/rename.ts +58 -149
  149. package/src/commands/show.ts +123 -80
  150. package/src/commands/transition.ts +26 -28
  151. package/src/commands/update.ts +25 -22
  152. package/src/commands/validate.ts +104 -67
  153. package/src/containers/card-container.ts +37 -5
  154. package/src/containers/project/calculation-engine.ts +61 -93
  155. package/src/containers/project/project-paths.ts +29 -13
  156. package/src/containers/project/resource-cache.ts +651 -0
  157. package/src/containers/project/resource-handler.ts +265 -0
  158. package/src/containers/project.ts +250 -527
  159. package/src/containers/template.ts +28 -23
  160. package/src/interfaces/command-options.ts +3 -1
  161. package/src/interfaces/folder-content-interfaces.ts +7 -6
  162. package/src/interfaces/project-interfaces.ts +12 -11
  163. package/src/interfaces/resource-interfaces.ts +18 -3
  164. package/src/macros/graph/index.ts +26 -47
  165. package/src/macros/index.ts +2 -2
  166. package/src/macros/report/index.ts +3 -9
  167. package/src/module-manager.ts +74 -17
  168. package/src/project-settings.ts +96 -14
  169. package/src/resources/calculation-resource.ts +18 -18
  170. package/src/resources/card-type-resource.ts +50 -50
  171. package/src/resources/create-defaults.ts +3 -2
  172. package/src/resources/field-type-resource.ts +41 -55
  173. package/src/resources/file-resource.ts +10 -36
  174. package/src/resources/folder-resource.ts +69 -120
  175. package/src/resources/graph-model-resource.ts +20 -22
  176. package/src/resources/graph-view-resource.ts +15 -17
  177. package/src/resources/link-type-resource.ts +10 -13
  178. package/src/resources/report-resource.ts +21 -43
  179. package/src/resources/resource-object.ts +263 -149
  180. package/src/resources/template-resource.ts +17 -16
  181. package/src/resources/workflow-resource.ts +25 -44
  182. package/src/utils/card-utils.ts +2 -2
  183. package/src/utils/clingo-fact-builder.ts +28 -16
  184. package/src/utils/clingo-facts.ts +3 -4
  185. package/src/utils/configuration-logger.ts +206 -0
  186. package/src/utils/constants.ts +5 -3
  187. package/src/utils/resource-utils.ts +2 -1
  188. package/dist/containers/project/resource-collector.d.ts +0 -110
  189. package/dist/containers/project/resource-collector.js +0 -344
  190. package/dist/containers/project/resource-collector.js.map +0 -1
  191. package/src/containers/project/resource-collector.ts +0 -404
@@ -10,13 +10,9 @@
10
10
  details. You should have received a copy of the GNU Affero General Public
11
11
  License along with this program. If not, see <https://www.gnu.org/licenses/>.
12
12
  */
13
- import { ResourceObject, } from './resource-object.js';
14
- import { DefaultContent } from './create-defaults.js';
15
- import { Project, ResourcesFrom } from '../containers/project.js';
16
- import { resourceName, resourceNameToString, } from '../utils/resource-utils.js';
17
- import { sortCards } from '../utils/card-utils.js';
18
- import { Template } from '../containers/template.js';
19
- export { DefaultContent, Project, ResourcesFrom, resourceName, resourceNameToString, sortCards, };
13
+ import { resourceName } from '../utils/resource-utils.js';
14
+ import { ResourceObject } from './resource-object.js';
15
+ import { ResourcesFrom } from '../containers/project.js';
20
16
  /**
21
17
  * Base class for file based resources (card types, field types, link types, workflows, ...)
22
18
  */
@@ -34,9 +30,9 @@ export class FileResource extends ResourceObject {
34
30
  // Collect both project cards ...
35
31
  const projectCards = filteredCards(this.project.cards(this.project.paths.cardRootFolder), cardTypeName);
36
32
  // ... and cards from each template that would be affected.
37
- const templates = await this.project.templates(ResourcesFrom.localOnly);
33
+ const templates = this.project.resources.templates(ResourcesFrom.localOnly);
38
34
  const templateCards = templates.map((template) => {
39
- const templateObject = new Template(this.project, template);
35
+ const templateObject = template.templateObject();
40
36
  return filteredCards(templateObject.cards(), cardTypeName);
41
37
  });
42
38
  // Return all affected cards
@@ -56,9 +52,8 @@ export class FileResource extends ResourceObject {
56
52
  /**
57
53
  * Returns the resource metadata content.
58
54
  * @returns metadata content
59
- * @throws if resource does not exist.
60
55
  */
61
- async show() {
56
+ show() {
62
57
  this.assertResourceExists();
63
58
  return this.content;
64
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"file-resource.js","sourceRoot":"","sources":["../../src/resources/file-resource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AAOF,OAAO,EAKL,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAEL,YAAY,EACZ,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAIL,cAAc,EAEd,OAAO,EAEP,aAAa,EACb,YAAY,EAEZ,oBAAoB,EACpB,SAAS,GACV,CAAC;AAEF;;GAEG;AACH,MAAM,OAAgB,YAEpB,SAAQ,cAAwB;IAChC,YAAY,OAAgB,EAAE,IAAkB,EAAE,IAAwB;QACxE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IACD,oDAAoD;IAC1C,KAAK,CAAC,YAAY,CAAC,YAAoB;QAC/C,SAAS,aAAa,CAAC,UAAkB,EAAE,YAAoB;YAC7D,MAAM,KAAK,GAAG,UAAU,CAAC;YACzB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,KAAK,YAAY,CAAC,CAAC;QAC1E,CAAC;QAED,iCAAiC;QACjC,MAAM,YAAY,GAAG,aAAa,CAChC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,EACrD,YAAY,CACb,CAAC;QACF,2DAA2D;QAC3D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC/C,MAAM,cAAc,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC5D,OAAO,aAAa,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,YAAY,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QACH,4BAA4B;QAC5B,MAAM,KAAK,GAAG,CAAC,YAAY,EAAE,GAAG,aAAa,CAAC,CAAC,MAAM,CACnD,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EACjD,EAAE,CACH,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,uCAAuC;IAC7B,0BAA0B,CAAC,IAAY,EAAE,QAAkB;QACnE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC/B,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,IAAI,UAAU,EAAE;YACrE,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,IAAI;QACf,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
1
+ {"version":3,"file":"file-resource.js","sourceRoot":"","sources":["../../src/resources/file-resource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AAEF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAWzD;;GAEG;AACH,MAAM,OAAgB,YAEpB,SAAQ,cAAwB;IAChC,YAAY,OAAgB,EAAE,IAAkB,EAAE,IAAwB;QACxE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IACD,oDAAoD;IAC1C,KAAK,CAAC,YAAY,CAAC,YAAoB;QAC/C,SAAS,aAAa,CAAC,UAAkB,EAAE,YAAoB;YAC7D,MAAM,KAAK,GAAG,UAAU,CAAC;YACzB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,KAAK,YAAY,CAAC,CAAC;QAC1E,CAAC;QAED,iCAAiC;QACjC,MAAM,YAAY,GAAG,aAAa,CAChC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,EACrD,YAAY,CACb,CAAC;QACF,2DAA2D;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC5E,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC/C,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;YACjD,OAAO,aAAa,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,YAAY,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QACH,4BAA4B;QAC5B,MAAM,KAAK,GAAG,CAAC,YAAY,EAAE,GAAG,aAAa,CAAC,CAAC,MAAM,CACnD,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EACjD,EAAE,CACH,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,uCAAuC;IAC7B,0BAA0B,CAAC,IAAY,EAAE,QAAkB;QACnE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC/B,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,IAAI,UAAU,EAAE;YACrE,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED;;;OAGG;IACI,IAAI;QACT,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
@@ -11,23 +11,29 @@
11
11
  You should have received a copy of the GNU Affero General Public
12
12
  License along with this program. If not, see <https://www.gnu.org/licenses/>.
13
13
  */
14
- import type { Card, Operation, ResourceName } from './file-resource.js';
15
- import type { ResourceBaseMetadata } from '../interfaces/resource-interfaces.js';
16
- import { type UpdateKey } from '../interfaces/resource-interfaces.js';
17
- import type { ResourceFolderType } from '../interfaces/project-interfaces.js';
18
- import { DefaultContent, FileResource, Project, resourceNameToString, sortCards } from './file-resource.js';
14
+ import { ResourceObject } from './resource-object.js';
15
+ import type { UpdateKey } from '../interfaces/resource-interfaces.js';
19
16
  import type { FolderResourceContent } from '../interfaces/folder-content-interfaces.js';
17
+ import type { Operation } from './resource-object.js';
18
+ import type { Project } from '../containers/project.js';
19
+ import type { ResourceFolderType } from '../interfaces/project-interfaces.js';
20
+ import type { ResourceBaseMetadata } from '../interfaces/resource-interfaces.js';
21
+ import type { ResourceName } from '../utils/resource-utils.js';
20
22
  import type { ShowReturnType } from './resource-object.js';
21
- import { ResourceObject } from './resource-object.js';
22
- export { type Card, DefaultContent, FileResource, type Operation, Project, ResourceName, resourceNameToString, sortCards, };
23
23
  /**
24
- * Folder type resource class. These are resources that have their own folders for content.
24
+ * Folder type resource class.
25
+ * These are resources that have their own folders for content.
25
26
  */
26
27
  export declare abstract class FolderResource<T extends ResourceBaseMetadata, U extends FolderResourceContent> extends ResourceObject<T, U> {
27
28
  protected internalFolder: string;
28
- private contentFilesCache;
29
+ private resourceContent;
30
+ /**
31
+ * Constructs a FolderResource object.
32
+ * @param project Project in which this resource exists.
33
+ * @param name Name for the resource.
34
+ * @param type Type for this resource.
35
+ */
29
36
  constructor(project: Project, name: ResourceName, type: ResourceFolderType);
30
- private clearContentCache;
31
37
  /**
32
38
  * Creates a new folder type object. Base class writes the object to disk automatically.
33
39
  * @param newContent Content for the type.
@@ -43,28 +49,19 @@ export declare abstract class FolderResource<T extends ResourceBaseMetadata, U e
43
49
  */
44
50
  protected abstract onNameChange?(previousName: string): Promise<void>;
45
51
  /**
46
- * Renames resource metadata file and renames memory resident object 'name'.
47
- * @param newName New name for the resource.
48
- */
49
- protected rename(newName: ResourceName): Promise<void>;
50
- /**
51
- * Shows the content of a file in the resource.
52
- * @param fileName Name of the file to show.
53
- * @param json Content is JSON file.
54
- * @returns the content of the file.
52
+ * Set content files. Should not be called by others than resource cache.
55
53
  */
56
- protected showFile(fileName: string, json?: boolean): Promise<string>;
54
+ setContentFiles(contentFiles: Map<string, string>): void;
57
55
  /**
58
- * Shows all file names in the resource.
59
- * @returns all file names in the resource.
56
+ * Load all content files from the internal folder and set them.
60
57
  */
61
- protected showFileNames(): Promise<string[]>;
58
+ protected loadContentFiles(): Promise<void>;
62
59
  /**
63
60
  * Updates a file in the resource.
64
61
  * @param fileName The name of the file to update.
65
62
  * @param changedContent The new content for the file.
66
63
  */
67
- protected updateFile(fileName: string, changedContent: string): Promise<void>;
64
+ updateFile(fileName: string, changedContent: string): Promise<void>;
68
65
  /**
69
66
  * Writes resource content to disk.
70
67
  */
@@ -73,12 +70,18 @@ export declare abstract class FolderResource<T extends ResourceBaseMetadata, U e
73
70
  * Gets content of all files to properties.
74
71
  * @returns object with property names as keys and file contents as values.
75
72
  */
76
- contentData(): Promise<U>;
73
+ contentData(): U;
77
74
  /**
78
75
  * Deletes file and content folder from disk and clears out the memory resident object.
79
- * @throws if resource is a module resource or does not exist or is used by other resources.
80
76
  */
81
77
  delete(): Promise<void>;
78
+ /**
79
+ * Shows metadata of the resource and content of the resource.
80
+ * @template T Resource type
81
+ * @template U Resource content
82
+ * @returns resource type's metadata and content.
83
+ */
84
+ show(): ShowReturnType<T, U>;
82
85
  /**
83
86
  * Updates resource.
84
87
  * @param updateKey Key to modify
@@ -86,10 +89,4 @@ export declare abstract class FolderResource<T extends ResourceBaseMetadata, U e
86
89
  * @throws if key is unknown.
87
90
  */
88
91
  update<Type, K extends string>(updateKey: UpdateKey<K>, op: Operation<Type>): Promise<void>;
89
- /**
90
- * Shows metadata of the resource and content of the resource.
91
- * @returns resource type's metadata and content.
92
- * @throws if resource does not exist.
93
- */
94
- show(): Promise<ShowReturnType<T, U>>;
95
92
  }
@@ -13,34 +13,37 @@
13
13
  */
14
14
  import { basename, dirname, join, normalize } from 'node:path';
15
15
  import { mkdir, readdir, readFile, rename, rm } from 'node:fs/promises';
16
- import { isContentKey, } from '../interfaces/resource-interfaces.js';
17
- import { DefaultContent, FileResource, Project, resourceName, resourceNameToString, sortCards, } from './file-resource.js';
18
- import { filename, propertyName, } from '../interfaces/folder-content-interfaces.js';
19
- import { formatJson, readJsonFile } from '../utils/json.js';
16
+ import { isContentKey } from '../interfaces/resource-interfaces.js';
17
+ import { filename, contentPropertyName, } from '../interfaces/folder-content-interfaces.js';
18
+ import { formatJson } from '../utils/json.js';
20
19
  import { VALID_FOLDER_RESOURCE_FILES } from '../utils/constants.js';
21
20
  import { writeFileSafe } from '../utils/file-utils.js';
22
21
  import { ResourceObject } from './resource-object.js';
23
- export { DefaultContent, FileResource, Project, resourceNameToString, sortCards, };
22
+ import { resourceName } from '../utils/resource-utils.js';
24
23
  /**
25
- * Folder type resource class. These are resources that have their own folders for content.
24
+ * Folder type resource class.
25
+ * These are resources that have their own folders for content.
26
26
  */
27
27
  export class FolderResource extends ResourceObject {
28
28
  internalFolder = '';
29
- // Cache for content files to avoid repeated filesystem operations. Content is stored as string.
30
- contentFilesCache = new Map();
29
+ resourceContent = {};
30
+ /**
31
+ * Constructs a FolderResource object.
32
+ * @param project Project in which this resource exists.
33
+ * @param name Name for the resource.
34
+ * @param type Type for this resource.
35
+ */
31
36
  constructor(project, name, type) {
32
37
  super(project, name, type);
33
38
  this.initialize();
34
39
  }
35
- // Clears the content files cache.
36
- clearContentCache() {
37
- this.contentFilesCache.clear();
38
- }
39
40
  /**
40
41
  * Creates a new folder type object. Base class writes the object to disk automatically.
41
42
  * @param newContent Content for the type.
42
43
  */
43
44
  async create(newContent) {
45
+ // Validate resource identifier before creating on disk
46
+ this.validateResourceIdentifier();
44
47
  await super.create(newContent);
45
48
  await mkdir(this.internalFolder, { recursive: true });
46
49
  }
@@ -52,51 +55,33 @@ export class FolderResource extends ResourceObject {
52
55
  this.internalFolder = join(this.resourceFolder, this.resourceName.identifier);
53
56
  }
54
57
  /**
55
- * Renames resource metadata file and renames memory resident object 'name'.
56
- * @param newName New name for the resource.
58
+ * Set content files. Should not be called by others than resource cache.
57
59
  */
58
- async rename(newName) {
59
- return super.rename(newName);
60
- }
61
- /**
62
- * Shows the content of a file in the resource.
63
- * @param fileName Name of the file to show.
64
- * @param json Content is JSON file.
65
- * @returns the content of the file.
66
- */
67
- async showFile(fileName, json = false) {
68
- // Always first check cache...
69
- if (this.contentFilesCache.has(fileName)) {
70
- const cached = this.contentFilesCache.get(fileName);
71
- return json ? JSON.parse(cached) : cached;
60
+ setContentFiles(contentFiles) {
61
+ const content = {};
62
+ for (const [fileName, fileContent] of contentFiles.entries()) {
63
+ const key = contentPropertyName(fileName);
64
+ if (key) {
65
+ const isJson = key === 'schema';
66
+ content[key] = isJson ? JSON.parse(fileContent) : fileContent;
67
+ }
72
68
  }
73
- // ...cache miss, read from filesystem
74
- const filePath = join(this.internalFolder, fileName);
75
- const content = json
76
- ? await readJsonFile(filePath)
77
- : await readFile(filePath, 'utf8');
78
- // Update cache
79
- const contentStr = typeof content === 'string' ? content : formatJson(content);
80
- this.contentFilesCache.set(fileName, contentStr);
81
- return json ? content : contentStr;
69
+ this.resourceContent = content;
82
70
  }
83
71
  /**
84
- * Shows all file names in the resource.
85
- * @returns all file names in the resource.
72
+ * Load all content files from the internal folder and set them.
86
73
  */
87
- async showFileNames() {
88
- // Always first check cache...
89
- if (this.contentFilesCache.size > 0) {
90
- return Array.from(this.contentFilesCache.keys());
91
- }
92
- // ...cache miss, read from filesystem and populate cache
93
- const files = await readdir(this.internalFolder);
94
- const validFiles = files.filter((file) => VALID_FOLDER_RESOURCE_FILES.includes(file));
95
- // Update cache by reading all files. Each method call updates specific cache item.
96
- for (const fileName of validFiles) {
97
- await this.showFile(fileName);
74
+ async loadContentFiles() {
75
+ const contentFiles = new Map();
76
+ const files = await readdir(this.internalFolder, { withFileTypes: true });
77
+ for (const file of files) {
78
+ if (file.isFile() && VALID_FOLDER_RESOURCE_FILES.includes(file.name)) {
79
+ const filePath = join(this.internalFolder, file.name);
80
+ const content = await readFile(filePath, 'utf-8');
81
+ contentFiles.set(file.name, content);
82
+ }
98
83
  }
99
- return validFiles;
84
+ this.setContentFiles(contentFiles);
100
85
  }
101
86
  /**
102
87
  * Updates a file in the resource.
@@ -120,8 +105,14 @@ export class FolderResource extends ResourceObject {
120
105
  throw new Error(`File '${fileName}' is not allowed to be updated`);
121
106
  }
122
107
  await writeFileSafe(filePath, changedContent, { flag: 'w' });
123
- // Update cache with new content
124
- this.contentFilesCache.set(fileName, changedContent);
108
+ // Update this resource's content
109
+ const key = contentPropertyName(fileName);
110
+ if (key) {
111
+ const isJson = key === 'schema';
112
+ this.resourceContent[key] = isJson
113
+ ? JSON.parse(changedContent)
114
+ : changedContent;
115
+ }
125
116
  }
126
117
  /**
127
118
  * Writes resource content to disk.
@@ -141,28 +132,30 @@ export class FolderResource extends ResourceObject {
141
132
  * Gets content of all files to properties.
142
133
  * @returns object with property names as keys and file contents as values.
143
134
  */
144
- async contentData() {
145
- const fileNames = await this.showFileNames();
146
- const content = {};
147
- for (const fileName of fileNames) {
148
- const name = propertyName(fileName);
149
- if (name) {
150
- const JSONFile = name === 'schema';
151
- content[name] = await this.showFile(fileName, JSONFile);
152
- }
153
- }
135
+ contentData() {
154
136
  // TODO: Instead of casting, validate that content matches U
155
137
  // This requires a runtime schema for U to be defined(via an abstract variable)
156
- return content;
138
+ return this.resourceContent;
157
139
  }
158
140
  /**
159
141
  * Deletes file and content folder from disk and clears out the memory resident object.
160
- * @throws if resource is a module resource or does not exist or is used by other resources.
161
142
  */
162
143
  async delete() {
163
144
  await super.delete();
164
145
  await rm(this.internalFolder, { recursive: true, force: true });
165
- this.clearContentCache();
146
+ }
147
+ /**
148
+ * Shows metadata of the resource and content of the resource.
149
+ * @template T Resource type
150
+ * @template U Resource content
151
+ * @returns resource type's metadata and content.
152
+ */
153
+ show() {
154
+ this.assertResourceExists();
155
+ return {
156
+ ...this.content,
157
+ content: this.contentData(),
158
+ };
166
159
  }
167
160
  /**
168
161
  * Updates resource.
@@ -202,17 +195,5 @@ export class FolderResource extends ResourceObject {
202
195
  await this.onNameChange?.(existingName);
203
196
  }
204
197
  }
205
- /**
206
- * Shows metadata of the resource and content of the resource.
207
- * @returns resource type's metadata and content.
208
- * @throws if resource does not exist.
209
- */
210
- async show() {
211
- this.assertResourceExists();
212
- return {
213
- ...this.content,
214
- content: await this.contentData(),
215
- };
216
- }
217
198
  }
218
199
  //# sourceMappingURL=folder-resource.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"folder-resource.js","sourceRoot":"","sources":["../../src/resources/folder-resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"folder-resource.js","sourceRoot":"","sources":["../../src/resources/folder-resource.ts"],"names":[],"mappings":"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"}
@@ -11,10 +11,13 @@
11
11
  You should have received a copy of the GNU Affero General Public
12
12
  License along with this program. If not, see <https://www.gnu.org/licenses/>.
13
13
  */
14
- import type { Card, Operation, Project, ResourceName } from './folder-resource.js';
15
14
  import { FolderResource } from './folder-resource.js';
15
+ import type { Card } from '../interfaces/project-interfaces.js';
16
16
  import type { GraphModelMetadata, UpdateKey } from '../interfaces/resource-interfaces.js';
17
17
  import type { GraphModelContent } from '../interfaces/folder-content-interfaces.js';
18
+ import type { Operation } from './resource-object.js';
19
+ import type { Project } from '../containers/project.js';
20
+ import type { ResourceName } from '../utils/resource-utils.js';
18
21
  /**
19
22
  * Graph model resource class.
20
23
  */
@@ -12,8 +12,12 @@
12
12
  License along with this program. If not, see <https://www.gnu.org/licenses/>.
13
13
  */
14
14
  import { join } from 'node:path';
15
- import { DefaultContent, FolderResource, resourceNameToString, sortCards, } from './folder-resource.js';
15
+ import { DefaultContent } from './create-defaults.js';
16
+ import { FolderResource } from './folder-resource.js';
17
+ import { resourceNameToString } from '../utils/resource-utils.js';
18
+ import { sortCards } from '../utils/card-utils.js';
16
19
  import { writeFileSafe } from '../utils/file-utils.js';
20
+ import { CONTENT_FILES } from '../interfaces/folder-content-interfaces.js';
17
21
  /**
18
22
  * Graph model resource class.
19
23
  */
@@ -30,7 +34,7 @@ export class GraphModelResource extends FolderResource {
30
34
  async onNameChange(existingName) {
31
35
  await Promise.all([
32
36
  super.updateHandleBars(existingName, this.content.name, [
33
- join(this.internalFolder, 'model.lp'),
37
+ join(this.internalFolder, CONTENT_FILES.model),
34
38
  ]),
35
39
  super.updateCalculations(existingName, this.content.name),
36
40
  ]);
@@ -51,10 +55,13 @@ export class GraphModelResource extends FolderResource {
51
55
  }
52
56
  await super.create(newContent);
53
57
  // Create the internal folder in 'create', instead of 'write'.
54
- const calculationsFile = join(this.internalFolder, 'model.lp');
55
- await writeFileSafe(calculationsFile, `% add your calculations here for '${this.resourceName.identifier}'`, {
58
+ const modelContent = `% add your calculations here for '${this.resourceName.identifier}'`;
59
+ const modelFile = CONTENT_FILES.model;
60
+ const calculationsFile = join(this.internalFolder, modelFile);
61
+ await writeFileSafe(calculationsFile, modelContent, {
56
62
  flag: 'wx',
57
63
  });
64
+ await this.loadContentFiles();
58
65
  }
59
66
  /**
60
67
  * Renames the object and the file.
@@ -1 +1 @@
1
- {"version":3,"file":"graph-model-resource.js","sourceRoot":"","sources":["../../src/resources/graph-model-resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-model-resource.js","sourceRoot":"","sources":["../../src/resources/graph-model-resource.ts"],"names":[],"mappings":"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"}
@@ -11,10 +11,13 @@
11
11
  You should have received a copy of the GNU Affero General Public
12
12
  License along with this program. If not, see <https://www.gnu.org/licenses/>.
13
13
  */
14
- import type { Card, Operation, Project, ResourceName } from './folder-resource.js';
15
14
  import { FolderResource } from './folder-resource.js';
16
- import type { GraphViewMetadata, UpdateKey } from '../interfaces/resource-interfaces.js';
15
+ import type { Card } from '../interfaces/project-interfaces.js';
17
16
  import type { GraphViewContent } from '../interfaces/folder-content-interfaces.js';
17
+ import type { GraphViewMetadata, UpdateKey } from '../interfaces/resource-interfaces.js';
18
+ import type { Operation } from './resource-object.js';
19
+ import type { Project } from '../containers/project.js';
20
+ import type { ResourceName } from '../utils/resource-utils.js';
18
21
  /**
19
22
  * Graph view resource class.
20
23
  */
@@ -11,11 +11,14 @@
11
11
  You should have received a copy of the GNU Affero General Public
12
12
  License along with this program. If not, see <https://www.gnu.org/licenses/>.
13
13
  */
14
- import { readdir } from 'node:fs/promises';
15
14
  import { extname, join } from 'node:path';
16
- import { DefaultContent, FolderResource, resourceNameToString, sortCards, } from './folder-resource.js';
17
- import { getStaticDirectoryPath } from '@cyberismo/assets';
15
+ import { readdir } from 'node:fs/promises';
18
16
  import { copyDir } from '../utils/file-utils.js';
17
+ import { DefaultContent } from './create-defaults.js';
18
+ import { FolderResource } from './folder-resource.js';
19
+ import { getStaticDirectoryPath } from '@cyberismo/assets';
20
+ import { resourceNameToString } from '../utils/resource-utils.js';
21
+ import { sortCards } from '../utils/card-utils.js';
19
22
  /**
20
23
  * Graph view resource class.
21
24
  */
@@ -52,6 +55,7 @@ export class GraphViewResource extends FolderResource {
52
55
  }
53
56
  await super.create(newContent);
54
57
  await copyDir(join(await getStaticDirectoryPath(), 'defaultGraphView'), this.internalFolder);
58
+ await this.loadContentFiles();
55
59
  }
56
60
  /**
57
61
  * Returns handlebar filename that this graph view has.
@@ -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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"}
@@ -9,9 +9,12 @@
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 { Card, Operation, Project, ResourceName } from './file-resource.js';
13
- import { FileResource } from './folder-resource.js';
12
+ import { FileResource } from './file-resource.js';
13
+ import type { Card } from '../interfaces/project-interfaces.js';
14
14
  import type { LinkType, UpdateKey } from '../interfaces/resource-interfaces.js';
15
+ import type { Operation } from './resource-object.js';
16
+ import type { Project } from '../containers/project.js';
17
+ import type { ResourceName } from '../utils/resource-utils.js';
15
18
  /**
16
19
  * Link Type resource class.
17
20
  */
@@ -9,7 +9,10 @@
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 { DefaultContent, FileResource, resourceNameToString, sortCards, } from './folder-resource.js';
12
+ import { DefaultContent } from './create-defaults.js';
13
+ import { FileResource } from './file-resource.js';
14
+ import { resourceNameToString } from '../utils/resource-utils.js';
15
+ import { sortCards } from '../utils/card-utils.js';
13
16
  /**
14
17
  * Link Type resource class.
15
18
  */
@@ -22,7 +25,7 @@ export class LinkTypeResource extends FileResource {
22
25
  // When resource name changes.
23
26
  async handleNameChange(existingName) {
24
27
  const current = this.content;
25
- const prefixes = await this.project.projectPrefixes();
28
+ const prefixes = this.project.projectPrefixes();
26
29
  if (current.sourceCardTypes) {
27
30
  current.sourceCardTypes = current.sourceCardTypes.map((item) => this.updatePrefixInResourceName(item, prefixes));
28
31
  }
@@ -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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"}
@@ -12,17 +12,18 @@
12
12
  License along with this program. If not, see <https://www.gnu.org/licenses/>.
13
13
  */
14
14
  import { FolderResource } from './folder-resource.js';
15
- import type { Card, Operation, Project, ResourceName } from './folder-resource.js';
16
- import { type ReportMetadata, type UpdateKey } from '../interfaces/resource-interfaces.js';
15
+ import type { Card } from '../interfaces/project-interfaces.js';
16
+ import type { Operation } from './resource-object.js';
17
+ import type { Project } from '../containers/project.js';
17
18
  import type { ReportContent } from '../interfaces/folder-content-interfaces.js';
19
+ import type { ReportMetadata, UpdateKey } from '../interfaces/resource-interfaces.js';
20
+ import type { ResourceName } from '../utils/resource-utils.js';
18
21
  /**
19
22
  * Report resource class.
20
23
  */
21
24
  export declare class ReportResource extends FolderResource<ReportMetadata, ReportContent> {
22
- private reportSchema;
23
25
  constructor(project: Project, name: ResourceName);
24
- private defaultReportLocation;
25
- private readSchemaFile;
26
+ private getDefaultReportLocation;
26
27
  /**
27
28
  * Handle name changes for reports
28
29
  * @param existingName The previous name before the change
@@ -30,8 +31,6 @@ export declare class ReportResource extends FolderResource<ReportMetadata, Repor
30
31
  protected onNameChange(existingName: string): Promise<void>;
31
32
  /**
32
33
  * Sets new metadata into the report object.
33
- * @param newContent metadata content for the report.
34
- * @throws if 'newContent' is not valid.
35
34
  */
36
35
  createReport(): Promise<void>;
37
36
  /**