@finos/legend-extension-dsl-persistence 0.0.1

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 (178) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +3 -0
  3. package/lib/DSLPersistence_Extension.d.ts +22 -0
  4. package/lib/DSLPersistence_Extension.d.ts.map +1 -0
  5. package/lib/DSLPersistence_Extension.js +31 -0
  6. package/lib/DSLPersistence_Extension.js.map +1 -0
  7. package/lib/components/studio/DSLPersistence_LegendStudioPlugin.d.ts +27 -0
  8. package/lib/components/studio/DSLPersistence_LegendStudioPlugin.d.ts.map +1 -0
  9. package/lib/components/studio/DSLPersistence_LegendStudioPlugin.js +84 -0
  10. package/lib/components/studio/DSLPersistence_LegendStudioPlugin.js.map +1 -0
  11. package/lib/graph/DSLPersistence_PureGraphPlugin.d.ts +22 -0
  12. package/lib/graph/DSLPersistence_PureGraphPlugin.d.ts.map +1 -0
  13. package/lib/graph/DSLPersistence_PureGraphPlugin.js +27 -0
  14. package/lib/graph/DSLPersistence_PureGraphPlugin.js.map +1 -0
  15. package/lib/graphManager/DSLPersistence_GraphManagerHelper.d.ts +19 -0
  16. package/lib/graphManager/DSLPersistence_GraphManagerHelper.d.ts.map +1 -0
  17. package/lib/graphManager/DSLPersistence_GraphManagerHelper.js +18 -0
  18. package/lib/graphManager/DSLPersistence_GraphManagerHelper.js.map +1 -0
  19. package/lib/graphManager/DSLPersistence_PureGraphManagerPlugin.d.ts +24 -0
  20. package/lib/graphManager/DSLPersistence_PureGraphManagerPlugin.d.ts.map +1 -0
  21. package/lib/graphManager/DSLPersistence_PureGraphManagerPlugin.js +53 -0
  22. package/lib/graphManager/DSLPersistence_PureGraphManagerPlugin.js.map +1 -0
  23. package/lib/graphManager/action/changeDetection/DSLPersistence_ObserverHelper.d.ts +18 -0
  24. package/lib/graphManager/action/changeDetection/DSLPersistence_ObserverHelper.d.ts.map +1 -0
  25. package/lib/graphManager/action/changeDetection/DSLPersistence_ObserverHelper.js +30 -0
  26. package/lib/graphManager/action/changeDetection/DSLPersistence_ObserverHelper.js.map +1 -0
  27. package/lib/index.css +17 -0
  28. package/lib/index.css.map +1 -0
  29. package/lib/index.d.ts +18 -0
  30. package/lib/index.d.ts.map +1 -0
  31. package/lib/index.js +18 -0
  32. package/lib/index.js.map +1 -0
  33. package/lib/models/DSLPersistence_ModelUtils.d.ts +52 -0
  34. package/lib/models/DSLPersistence_ModelUtils.d.ts.map +1 -0
  35. package/lib/models/DSLPersistence_ModelUtils.js +65 -0
  36. package/lib/models/DSLPersistence_ModelUtils.js.map +1 -0
  37. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Auditing.d.ts +27 -0
  38. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Auditing.d.ts.map +1 -0
  39. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Auditing.js +34 -0
  40. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Auditing.js.map +1 -0
  41. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_DeduplicationStrategy.d.ts +34 -0
  42. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_DeduplicationStrategy.d.ts.map +1 -0
  43. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_DeduplicationStrategy.js +50 -0
  44. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_DeduplicationStrategy.js.map +1 -0
  45. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_IngestMode.d.ts +57 -0
  46. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_IngestMode.d.ts.map +1 -0
  47. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_IngestMode.js +98 -0
  48. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_IngestMode.js.map +1 -0
  49. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_MergeStrategy.d.ts +28 -0
  50. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_MergeStrategy.d.ts.map +1 -0
  51. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_MergeStrategy.js +36 -0
  52. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_MergeStrategy.js.map +1 -0
  53. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Milestoning.d.ts +58 -0
  54. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Milestoning.d.ts.map +1 -0
  55. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Milestoning.js +97 -0
  56. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Milestoning.js.map +1 -0
  57. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Notifier.d.ts +32 -0
  58. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Notifier.d.ts.map +1 -0
  59. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Notifier.js +44 -0
  60. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Notifier.js.map +1 -0
  61. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persistence.d.ts +30 -0
  62. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persistence.d.ts.map +1 -0
  63. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persistence.js +39 -0
  64. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persistence.js.map +1 -0
  65. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persister.d.ts +33 -0
  66. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persister.d.ts.map +1 -0
  67. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persister.js +42 -0
  68. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persister.js.map +1 -0
  69. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Sink.d.ts +30 -0
  70. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Sink.d.ts.map +1 -0
  71. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Sink.js +40 -0
  72. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Sink.js.map +1 -0
  73. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_TargetShape.d.ts +46 -0
  74. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_TargetShape.d.ts.map +1 -0
  75. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_TargetShape.js +68 -0
  76. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_TargetShape.js.map +1 -0
  77. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Trigger.d.ts +31 -0
  78. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Trigger.d.ts.map +1 -0
  79. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Trigger.js +42 -0
  80. package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Trigger.js.map +1 -0
  81. package/lib/models/protocols/pure/DSLPersistence_PureProtocolProcessorPlugin.d.ts +26 -0
  82. package/lib/models/protocols/pure/DSLPersistence_PureProtocolProcessorPlugin.d.ts.map +1 -0
  83. package/lib/models/protocols/pure/DSLPersistence_PureProtocolProcessorPlugin.js +90 -0
  84. package/lib/models/protocols/pure/DSLPersistence_PureProtocolProcessorPlugin.js.map +1 -0
  85. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Auditing.d.ts +27 -0
  86. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Auditing.d.ts.map +1 -0
  87. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Auditing.js +34 -0
  88. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Auditing.js.map +1 -0
  89. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_DeduplicationStrategy.d.ts +34 -0
  90. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_DeduplicationStrategy.d.ts.map +1 -0
  91. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_DeduplicationStrategy.js +50 -0
  92. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_DeduplicationStrategy.js.map +1 -0
  93. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_IngestMode.d.ts +57 -0
  94. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_IngestMode.d.ts.map +1 -0
  95. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_IngestMode.js +98 -0
  96. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_IngestMode.js.map +1 -0
  97. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_MergeStrategy.d.ts +28 -0
  98. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_MergeStrategy.d.ts.map +1 -0
  99. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_MergeStrategy.js +36 -0
  100. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_MergeStrategy.js.map +1 -0
  101. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Milestoning.d.ts +58 -0
  102. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Milestoning.d.ts.map +1 -0
  103. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Milestoning.js +97 -0
  104. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Milestoning.js.map +1 -0
  105. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Notifier.d.ts +32 -0
  106. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Notifier.d.ts.map +1 -0
  107. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Notifier.js +44 -0
  108. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Notifier.js.map +1 -0
  109. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persistence.d.ts +30 -0
  110. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persistence.d.ts.map +1 -0
  111. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persistence.js +39 -0
  112. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persistence.js.map +1 -0
  113. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persister.d.ts +33 -0
  114. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persister.d.ts.map +1 -0
  115. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persister.js +42 -0
  116. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persister.js.map +1 -0
  117. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Sink.d.ts +30 -0
  118. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Sink.d.ts.map +1 -0
  119. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Sink.js +40 -0
  120. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Sink.js.map +1 -0
  121. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_TargetShape.d.ts +45 -0
  122. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_TargetShape.d.ts.map +1 -0
  123. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_TargetShape.js +68 -0
  124. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_TargetShape.js.map +1 -0
  125. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Trigger.d.ts +31 -0
  126. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Trigger.d.ts.map +1 -0
  127. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Trigger.js +42 -0
  128. package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Trigger.js.map +1 -0
  129. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_PersistenceTransformer.d.ts +98 -0
  130. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_PersistenceTransformer.d.ts.map +1 -0
  131. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_PersistenceTransformer.js +343 -0
  132. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_PersistenceTransformer.js.map +1 -0
  133. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_PersistenceBuilder.d.ts +101 -0
  134. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_PersistenceBuilder.d.ts.map +1 -0
  135. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_PersistenceBuilder.js +347 -0
  136. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_PersistenceBuilder.js.map +1 -0
  137. package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_DSLPersistence_ProtocolHelper.d.ts +24 -0
  138. package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_DSLPersistence_ProtocolHelper.d.ts.map +1 -0
  139. package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_DSLPersistence_ProtocolHelper.js +565 -0
  140. package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_DSLPersistence_ProtocolHelper.js.map +1 -0
  141. package/lib/package.json +77 -0
  142. package/package.json +77 -0
  143. package/src/DSLPersistence_Extension.ts +36 -0
  144. package/src/components/studio/DSLPersistence_LegendStudioPlugin.tsx +120 -0
  145. package/src/graph/DSLPersistence_PureGraphPlugin.ts +30 -0
  146. package/src/graphManager/DSLPersistence_GraphManagerHelper.ts +25 -0
  147. package/src/graphManager/DSLPersistence_PureGraphManagerPlugin.ts +68 -0
  148. package/src/graphManager/action/changeDetection/DSLPersistence_ObserverHelper.ts +39 -0
  149. package/src/index.ts +18 -0
  150. package/src/models/DSLPersistence_ModelUtils.ts +76 -0
  151. package/src/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Auditing.ts +39 -0
  152. package/src/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_DeduplicationStrategy.ts +70 -0
  153. package/src/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_IngestMode.ts +123 -0
  154. package/src/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_MergeStrategy.ts +44 -0
  155. package/src/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Milestoning.ts +136 -0
  156. package/src/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Notifier.ts +52 -0
  157. package/src/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persistence.ts +52 -0
  158. package/src/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persister.ts +51 -0
  159. package/src/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Sink.ts +51 -0
  160. package/src/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_TargetShape.ts +78 -0
  161. package/src/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Trigger.ts +47 -0
  162. package/src/models/protocols/pure/DSLPersistence_PureProtocolProcessorPlugin.ts +138 -0
  163. package/src/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Auditing.ts +39 -0
  164. package/src/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_DeduplicationStrategy.ts +70 -0
  165. package/src/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_IngestMode.ts +123 -0
  166. package/src/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_MergeStrategy.ts +47 -0
  167. package/src/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Milestoning.ts +136 -0
  168. package/src/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Notifier.ts +52 -0
  169. package/src/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persistence.ts +50 -0
  170. package/src/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persister.ts +51 -0
  171. package/src/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Sink.ts +47 -0
  172. package/src/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_TargetShape.ts +77 -0
  173. package/src/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Trigger.ts +47 -0
  174. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_PersistenceTransformer.ts +604 -0
  175. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_PersistenceBuilder.ts +616 -0
  176. package/src/models/protocols/pure/v1/transformation/pureProtocol/V1_DSLPersistence_ProtocolHelper.ts +971 -0
  177. package/tsconfig.json +85 -0
  178. package/tsconfig.package.json +41 -0
@@ -0,0 +1,77 @@
1
+ {
2
+ "name": "@finos/legend-extension-dsl-persistence",
3
+ "version": "0.0.1",
4
+ "description": "Legend extension for Persistence DSL",
5
+ "keywords": [
6
+ "legend",
7
+ "legend-extension",
8
+ "dsl",
9
+ "dsl-persistence"
10
+ ],
11
+ "homepage": "https://github.com/finos/legend-studio/tree/master/packages/legend-extension-dsl-persistence",
12
+ "bugs": {
13
+ "url": "https://github.com/finos/legend-studio/issues"
14
+ },
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "https://github.com/finos/legend-studio.git",
18
+ "directory": "packages/legend-extension-dsl-persistence"
19
+ },
20
+ "license": "Apache-2.0",
21
+ "sideEffects": false,
22
+ "type": "module",
23
+ "main": "lib/index.js",
24
+ "module": "lib/index.js",
25
+ "types": "lib/index.d.ts",
26
+ "scripts": {
27
+ "build": "yarn clean && yarn build:sass && yarn build:ts",
28
+ "build:sass": "cross-env INIT_CWD=$INIT_CWD node ../../scripts/workflow/buildSass.js",
29
+ "build:ts": "tsc --project ./tsconfig.build.json",
30
+ "clean": "npm-run-all clean:cache clean:lib",
31
+ "clean:cache": "rimraf \"build\"",
32
+ "clean:lib": "rimraf \"lib\"",
33
+ "dev": "npm-run-all --parallel dev:sass dev:ts",
34
+ "dev:sass": "sass style lib --watch --load-path=../../node_modules/@finos/legend-art/scss",
35
+ "dev:ts": "tsc --watch --preserveWatchOutput",
36
+ "lint:js": "cross-env NODE_ENV=production eslint --cache --cache-location ./build/.eslintcache --report-unused-disable-directives --parser-options=project:\"./tsconfig.json\" \"./src/**/*.{js,ts,tsx}\"",
37
+ "publish:prepare": "node ../../scripts/release/preparePublishContent.js",
38
+ "publish:snapshot": "node ../../scripts/release/publishDevSnapshot.js",
39
+ "test": "jest",
40
+ "test:watch": "jest --watch"
41
+ },
42
+ "dependencies": {
43
+ "@finos/legend-art": "workspace:*",
44
+ "@finos/legend-graph": "workspace:*",
45
+ "@finos/legend-model-storage": "workspace:*",
46
+ "@finos/legend-shared": "workspace:*",
47
+ "@finos/legend-studio": "workspace:*",
48
+ "@types/react": "17.0.43",
49
+ "mobx": "6.5.0",
50
+ "monaco-editor": "0.33.0",
51
+ "react": "17.0.2",
52
+ "serializr": "2.0.5"
53
+ },
54
+ "devDependencies": {
55
+ "@finos/legend-dev-utils": "workspace:*",
56
+ "cross-env": "7.0.3",
57
+ "eslint": "8.13.0",
58
+ "jest": "27.5.1",
59
+ "npm-run-all": "4.1.5",
60
+ "rimraf": "3.0.2",
61
+ "sass": "1.50.0",
62
+ "typescript": "4.6.3"
63
+ },
64
+ "peerDependencies": {
65
+ "react": "^17.0.0"
66
+ },
67
+ "publishConfig": {
68
+ "directory": "build/publishContent"
69
+ },
70
+ "extensions": {
71
+ "graphPreset": "@finos/legend-graph-preset-dsl-persistence",
72
+ "pureProtocolProcessorPlugin": "@finos/legend-graph-plugin-dsl-persistence-protocol-processor",
73
+ "pureGraphManagerPlugin": "@finos/legend-graph-plugin-dsl-persistence-pure-graph-manager",
74
+ "pureGraphPlugin": "@finos/legend-graph-plugin-dsl-persistence-pure-graph",
75
+ "studioPlugin": "@finos/legend-studio-plugin-dsl-persistence"
76
+ }
77
+ }
package/package.json ADDED
@@ -0,0 +1,77 @@
1
+ {
2
+ "name": "@finos/legend-extension-dsl-persistence",
3
+ "version": "0.0.1",
4
+ "description": "Legend extension for Persistence DSL",
5
+ "keywords": [
6
+ "legend",
7
+ "legend-extension",
8
+ "dsl",
9
+ "dsl-persistence"
10
+ ],
11
+ "homepage": "https://github.com/finos/legend-studio/tree/master/packages/legend-extension-dsl-persistence",
12
+ "bugs": {
13
+ "url": "https://github.com/finos/legend-studio/issues"
14
+ },
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "https://github.com/finos/legend-studio.git",
18
+ "directory": "packages/legend-extension-dsl-persistence"
19
+ },
20
+ "license": "Apache-2.0",
21
+ "sideEffects": false,
22
+ "type": "module",
23
+ "main": "lib/index.js",
24
+ "module": "lib/index.js",
25
+ "types": "lib/index.d.ts",
26
+ "scripts": {
27
+ "build": "yarn clean && yarn build:sass && yarn build:ts",
28
+ "build:sass": "cross-env INIT_CWD=$INIT_CWD node ../../scripts/workflow/buildSass.js",
29
+ "build:ts": "tsc --project ./tsconfig.build.json",
30
+ "clean": "npm-run-all clean:cache clean:lib",
31
+ "clean:cache": "rimraf \"build\"",
32
+ "clean:lib": "rimraf \"lib\"",
33
+ "dev": "npm-run-all --parallel dev:sass dev:ts",
34
+ "dev:sass": "sass style lib --watch --load-path=../../node_modules/@finos/legend-art/scss",
35
+ "dev:ts": "tsc --watch --preserveWatchOutput",
36
+ "lint:js": "cross-env NODE_ENV=production eslint --cache --cache-location ./build/.eslintcache --report-unused-disable-directives --parser-options=project:\"./tsconfig.json\" \"./src/**/*.{js,ts,tsx}\"",
37
+ "publish:prepare": "node ../../scripts/release/preparePublishContent.js",
38
+ "publish:snapshot": "node ../../scripts/release/publishDevSnapshot.js",
39
+ "test": "jest",
40
+ "test:watch": "jest --watch"
41
+ },
42
+ "dependencies": {
43
+ "@finos/legend-art": "0.3.17",
44
+ "@finos/legend-graph": "4.0.3",
45
+ "@finos/legend-model-storage": "0.0.29",
46
+ "@finos/legend-shared": "1.3.0",
47
+ "@finos/legend-studio": "7.0.1",
48
+ "@types/react": "17.0.43",
49
+ "mobx": "6.5.0",
50
+ "monaco-editor": "0.33.0",
51
+ "react": "17.0.2",
52
+ "serializr": "2.0.5"
53
+ },
54
+ "devDependencies": {
55
+ "@finos/legend-dev-utils": "0.3.20",
56
+ "cross-env": "7.0.3",
57
+ "eslint": "8.13.0",
58
+ "jest": "27.5.1",
59
+ "npm-run-all": "4.1.5",
60
+ "rimraf": "3.0.2",
61
+ "sass": "1.50.0",
62
+ "typescript": "4.6.3"
63
+ },
64
+ "peerDependencies": {
65
+ "react": "^17.0.0"
66
+ },
67
+ "publishConfig": {
68
+ "directory": "build/publishContent"
69
+ },
70
+ "extensions": {
71
+ "graphPreset": "@finos/legend-graph-preset-dsl-persistence",
72
+ "pureProtocolProcessorPlugin": "@finos/legend-graph-plugin-dsl-persistence-protocol-processor",
73
+ "pureGraphManagerPlugin": "@finos/legend-graph-plugin-dsl-persistence-pure-graph-manager",
74
+ "pureGraphPlugin": "@finos/legend-graph-plugin-dsl-persistence-pure-graph",
75
+ "studioPlugin": "@finos/legend-studio-plugin-dsl-persistence"
76
+ }
77
+ }
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import packageJson from '../package.json';
18
+
19
+ import { AbstractPreset } from '@finos/legend-shared';
20
+ import type { GraphPluginManager } from '@finos/legend-graph';
21
+
22
+ import { DSLPersistence_PureGraphPlugin } from './graph/DSLPersistence_PureGraphPlugin';
23
+ import { DSLPersistence_PureGraphManagerPlugin } from './graphManager/DSLPersistence_PureGraphManagerPlugin';
24
+ import { DSLPersistence_PureProtocolProcessorPlugin } from './models/protocols/pure/DSLPersistence_PureProtocolProcessorPlugin';
25
+
26
+ export class DSLPersistence_GraphPreset extends AbstractPreset {
27
+ constructor() {
28
+ super(packageJson.extensions.graphPreset, packageJson.version);
29
+ }
30
+
31
+ install(pluginManager: GraphPluginManager): void {
32
+ new DSLPersistence_PureGraphPlugin().install(pluginManager);
33
+ new DSLPersistence_PureGraphManagerPlugin().install(pluginManager);
34
+ new DSLPersistence_PureProtocolProcessorPlugin().install(pluginManager);
35
+ }
36
+ }
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import packageJson from '../../../package.json';
18
+ import { MeteorIcon } from '@finos/legend-art';
19
+ import type { PackageableElement } from '@finos/legend-graph';
20
+ import {
21
+ type DSL_LegendStudioPlugin_Extension,
22
+ type EditorStore,
23
+ type ElementEditorState,
24
+ type ElementEditorStateCreator,
25
+ type ElementIconGetter,
26
+ type ElementProjectExplorerDnDTypeGetter,
27
+ type ElementTypeGetter,
28
+ type NewElementFromStateCreator,
29
+ type NewElementState,
30
+ LegendStudioPlugin,
31
+ UnsupportedElementEditorState,
32
+ } from '@finos/legend-studio';
33
+ import { Persistence } from '../../models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persistence';
34
+
35
+ const PERSISTENCE_ELEMENT_TYPE = 'PERSISTENCE';
36
+ const PERSISTENCE_ELEMENT_PROJECT_EXPLORER_DND_TYPE =
37
+ 'PROJECT_EXPLORER_PERSISTENCE';
38
+
39
+ export class DSLPersistence_LegendStudioPlugin
40
+ extends LegendStudioPlugin
41
+ implements DSL_LegendStudioPlugin_Extension
42
+ {
43
+ constructor() {
44
+ super(packageJson.extensions.studioPlugin, packageJson.version);
45
+ }
46
+
47
+ getExtraSupportedElementTypes(): string[] {
48
+ return [PERSISTENCE_ELEMENT_TYPE];
49
+ }
50
+
51
+ getExtraElementTypeGetters(): ElementTypeGetter[] {
52
+ return [
53
+ (element: PackageableElement): string | undefined => {
54
+ if (element instanceof Persistence) {
55
+ return PERSISTENCE_ELEMENT_TYPE;
56
+ }
57
+ return undefined;
58
+ },
59
+ ];
60
+ }
61
+
62
+ getExtraElementIconGetters(): ElementIconGetter[] {
63
+ return [
64
+ (type: string): React.ReactNode | undefined => {
65
+ if (type === PERSISTENCE_ELEMENT_TYPE) {
66
+ return (
67
+ <div className="icon icon--persistence">
68
+ <MeteorIcon />
69
+ </div>
70
+ );
71
+ }
72
+ return undefined;
73
+ },
74
+ ];
75
+ }
76
+
77
+ getExtraNewElementFromStateCreators(): NewElementFromStateCreator[] {
78
+ return [
79
+ (
80
+ type: string,
81
+ name: string,
82
+ state: NewElementState,
83
+ ): PackageableElement | undefined => {
84
+ if (type === PERSISTENCE_ELEMENT_TYPE) {
85
+ return new Persistence(name);
86
+ }
87
+ return undefined;
88
+ },
89
+ ];
90
+ }
91
+
92
+ getExtraElementEditorStateCreators(): ElementEditorStateCreator[] {
93
+ return [
94
+ (
95
+ editorStore: EditorStore,
96
+ element: PackageableElement,
97
+ ): ElementEditorState | undefined => {
98
+ if (element instanceof Persistence) {
99
+ return new UnsupportedElementEditorState(editorStore, element);
100
+ }
101
+ return undefined;
102
+ },
103
+ ];
104
+ }
105
+
106
+ getExtraElementProjectExplorerDnDTypeGetters(): ElementProjectExplorerDnDTypeGetter[] {
107
+ return [
108
+ (element: PackageableElement): string | undefined => {
109
+ if (element instanceof Persistence) {
110
+ return PERSISTENCE_ELEMENT_PROJECT_EXPLORER_DND_TYPE;
111
+ }
112
+ return undefined;
113
+ },
114
+ ];
115
+ }
116
+
117
+ getExtraGrammarTextEditorDnDTypes(): string[] {
118
+ return [PERSISTENCE_ELEMENT_PROJECT_EXPLORER_DND_TYPE];
119
+ }
120
+ }
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import packageJson from '../../package.json';
18
+ import { Persistence } from '../models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persistence';
19
+ import type { Clazz } from '@finos/legend-shared';
20
+ import { type PackageableElement, PureGraphPlugin } from '@finos/legend-graph';
21
+
22
+ export class DSLPersistence_PureGraphPlugin extends PureGraphPlugin {
23
+ constructor() {
24
+ super(packageJson.extensions.pureGraphPlugin, packageJson.version);
25
+ }
26
+
27
+ override getExtraPureGraphExtensionClasses(): Clazz<PackageableElement>[] {
28
+ return [Persistence];
29
+ }
30
+ }
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { Persistence } from '../models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persistence';
18
+ import type { PureModel } from '@finos/legend-graph';
19
+
20
+ export const getPersistence = (path: string, graph: PureModel): Persistence =>
21
+ graph.getExtensionElement(
22
+ path,
23
+ Persistence,
24
+ `Can't find persistence '${path}'`,
25
+ );
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import packageJson from '../../package.json';
18
+ import { Persistence } from '../models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persistence';
19
+ import { observe_Persistence } from './action/changeDetection/DSLPersistence_ObserverHelper';
20
+ import {
21
+ PureGraphManagerPlugin,
22
+ type PackageableElement,
23
+ type PureGrammarElementLabeler,
24
+ type ElementObserver,
25
+ type ObserverContext,
26
+ } from '@finos/legend-graph';
27
+
28
+ const PURE_GRAMMAR_PERSISTENCE_PARSER_NAME = 'Persistence';
29
+ const PURE_GRAMMAR_PERSISTENCE_ELEMENT_TYPE_LABEL = 'Persistence';
30
+
31
+ export class DSLPersistence_PureGraphManagerPlugin extends PureGraphManagerPlugin {
32
+ constructor() {
33
+ super(packageJson.extensions.pureGraphManagerPlugin, packageJson.version);
34
+ }
35
+
36
+ override getExtraPureGrammarParserNames(): string[] {
37
+ return [PURE_GRAMMAR_PERSISTENCE_PARSER_NAME];
38
+ }
39
+
40
+ override getExtraPureGrammarKeywords(): string[] {
41
+ return [PURE_GRAMMAR_PERSISTENCE_ELEMENT_TYPE_LABEL];
42
+ }
43
+
44
+ override getExtraPureGrammarElementLabelers(): PureGrammarElementLabeler[] {
45
+ return [
46
+ (element: PackageableElement): string | undefined => {
47
+ if (element instanceof Persistence) {
48
+ return PURE_GRAMMAR_PERSISTENCE_ELEMENT_TYPE_LABEL;
49
+ }
50
+ return undefined;
51
+ },
52
+ ];
53
+ }
54
+
55
+ override getExtraElementObservers(): ElementObserver[] {
56
+ return [
57
+ (
58
+ element: PackageableElement,
59
+ context: ObserverContext,
60
+ ): PackageableElement | undefined => {
61
+ if (element instanceof Persistence) {
62
+ return observe_Persistence(element);
63
+ }
64
+ return undefined;
65
+ },
66
+ ];
67
+ }
68
+ }
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import type { Persistence } from '../../../models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persistence';
18
+ import {
19
+ observe_Abstract_PackageableElement,
20
+ skipObserved,
21
+ } from '@finos/legend-graph';
22
+ import { makeObservable, observable, override } from 'mobx';
23
+
24
+ export const observe_Persistence = skipObserved(
25
+ (metamodel: Persistence): Persistence => {
26
+ observe_Abstract_PackageableElement(metamodel);
27
+
28
+ makeObservable<Persistence, '_elementHashCode'>(metamodel, {
29
+ documentation: observable,
30
+ trigger: observable,
31
+ service: observable,
32
+ persister: observable,
33
+ notifier: observable,
34
+ _elementHashCode: override,
35
+ });
36
+
37
+ return metamodel;
38
+ },
39
+ );
package/src/index.ts ADDED
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ export * from './DSLPersistence_Extension';
18
+ export { DSLPersistence_LegendStudioPlugin } from './components/studio/DSLPersistence_LegendStudioPlugin';
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ export enum PERSISTENCE_HASH_STRUCTURE {
18
+ PERSISTENCE = 'PERSISTENCE',
19
+
20
+ // trigger
21
+ MANUAL_TRIGGER = 'MANUAL_TRIGGER',
22
+ CRON_TRIGGER = 'CRON_TRIGGER',
23
+
24
+ // persister
25
+ STREAMING_PERSISTER = 'STREAMING_PERSISTER',
26
+ BATCH_PERSISTER = 'BATCH_PERSISTER',
27
+
28
+ // notifier
29
+ NOTIFIER = 'NOTIFIER',
30
+ EMAIL_NOTIFYEE = 'EMAIL_NOTIFYEE',
31
+ PAGER_DUTY_NOTIFYEE = 'PAGER_DUTY_NOTIFYEE',
32
+
33
+ // sink
34
+ RELATIONAL_SINK = 'RELATIONAL_SINK',
35
+ OBJECT_STORAGE_SINK = 'OBJECT_STORAGE_SINK',
36
+
37
+ // target shape
38
+ MULTI_FLAT_TARGET = 'MULTI_FLAT_TARGET',
39
+ FLAT_TARGET = 'FLAT_TARGET',
40
+ MULTI_FLAT_TARGET_PART = 'MULTI_FLAT_TARGET_PART',
41
+
42
+ // deduplication strategy
43
+ NO_DEDUPLICATION_STRATEGY = 'NO_DEDUPLICATION_STRATEGY',
44
+ ANY_VERSION_DEDUPLICATION_STRATEGY = 'ANY_VERSION_DEDUPLICATION_STRATEGY',
45
+ MAX_VERSION_DEDUPLICATION_STRATEGY = 'MAX_VERSION_DEDUPLICATION_STRATEGY',
46
+ DUPLICATE_COUNT_DEDUPLICATION_STRATEGY = 'DUPLICATE_COUNT_DEDUPLICATION_STRATEGY',
47
+
48
+ // ingest mode
49
+ NONTEMPORAL_SNAPSHOT = 'NONTEMPORAL_SNAPSHOT',
50
+ UNITEMPORAL_SNAPSHOT = 'UNITEMPORAL_SNAPSHOT',
51
+ BITEMPORAL_SNAPSHOT = 'BITEMPORAL_SNAPSHOT',
52
+ NONTEMPORAL_DELTA = 'NONTEMPORAL_DELTA',
53
+ UNITEMPORAL_DELTA = 'UNITEMPORAL_DELTA',
54
+ BITEMPORAL_DELTA = 'BITEMPORAL_DELTA',
55
+ APPEND_ONLY = 'APPEND_ONLY',
56
+
57
+ // merge strategy
58
+ NO_DELETES_MERGE_STRATEGY = 'NO_DELETES_MERGE_STRATEGY',
59
+ DELETE_INDICATOR_MERGE_STRATEGY = 'DELETE_INDICATOR_MERGE_STRATEGY',
60
+
61
+ // auditing
62
+ NO_AUDITING = 'NO_AUDITING',
63
+ DATE_TIME_AUDITING = 'DATE_TIME_AUDITING',
64
+
65
+ // transactional milestoning
66
+ BATCH_ID_TRANSACTION_MILESTONING = 'BATCH_ID_TRANSACTION_MILESTONING',
67
+ DATE_TIME_TRANSACTION_MILESTONING = 'DATE_TIME_TRANSACTION_MILESTONING',
68
+ BATCH_ID_AND_DATE_TIME_TRANSACTION_MILESTONING = 'BATCH_ID_AND_DATE_TIME_TRANSACTION_MILESTONING',
69
+
70
+ // validity milestoning
71
+ DATE_TIME_VALIDITY_MILESTONING = 'DATE_TIME_VALIDITY_MILESTONING',
72
+
73
+ // validity derivation
74
+ SOURCE_SPECIFIES_FROM_DATE_TIME = 'SOURCE_SPECIFIES_FROM_DATE_TIME',
75
+ SOURCE_SPECIFIES_FROM_AND_THRU_DATE_TIME = 'SOURCE_SPECIFIES_FROM_AND_THRU_DATE_TIME',
76
+ }
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../DSLPersistence_ModelUtils';
18
+ import { type Hashable, hashArray } from '@finos/legend-shared';
19
+
20
+ export abstract class Auditing implements Hashable {
21
+ abstract get hashCode(): string;
22
+ }
23
+
24
+ export class NoAuditing extends Auditing implements Hashable {
25
+ override get hashCode(): string {
26
+ return hashArray([PERSISTENCE_HASH_STRUCTURE.NO_AUDITING]);
27
+ }
28
+ }
29
+
30
+ export class DateTimeAuditing extends Auditing implements Hashable {
31
+ dateTimeField!: string;
32
+
33
+ override get hashCode(): string {
34
+ return hashArray([
35
+ PERSISTENCE_HASH_STRUCTURE.DATE_TIME_AUDITING,
36
+ this.dateTimeField,
37
+ ]);
38
+ }
39
+ }