declastruct 1.0.0

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 (168) hide show
  1. package/LICENSE +21 -0
  2. package/dist/__test_assets__/getExampleContext.d.ts +33 -0
  3. package/dist/__test_assets__/getExampleContext.js +87 -0
  4. package/dist/__test_assets__/getExampleContext.js.map +1 -0
  5. package/dist/contract/commands/command.apply.d.ts +6 -0
  6. package/dist/contract/commands/command.apply.js +20 -0
  7. package/dist/contract/commands/command.apply.js.map +1 -0
  8. package/dist/contract/commands/command.plan.d.ts +6 -0
  9. package/dist/contract/commands/command.plan.js +20 -0
  10. package/dist/contract/commands/command.plan.js.map +1 -0
  11. package/dist/contract/commands/utils/resolveCommandInputs.d.ts +17 -0
  12. package/dist/contract/commands/utils/resolveCommandInputs.js +23 -0
  13. package/dist/contract/commands/utils/resolveCommandInputs.js.map +1 -0
  14. package/dist/contract/sdk/index.d.ts +3 -0
  15. package/dist/contract/sdk/index.js +20 -0
  16. package/dist/contract/sdk/index.js.map +1 -0
  17. package/dist/contract/sdk/refs.d.ts +2 -0
  18. package/dist/contract/sdk/refs.js +19 -0
  19. package/dist/contract/sdk/refs.js.map +1 -0
  20. package/dist/contract/sdk/sync/apply.d.ts +22 -0
  21. package/dist/contract/sdk/sync/apply.js +29 -0
  22. package/dist/contract/sdk/sync/apply.js.map +1 -0
  23. package/dist/contract/sdk/sync/plan.d.ts +22 -0
  24. package/dist/contract/sdk/sync/plan.js +30 -0
  25. package/dist/contract/sdk/sync/plan.js.map +1 -0
  26. package/dist/domain/DeclaredResource.d.ts +2 -0
  27. package/dist/domain/DeclaredResource.js +3 -0
  28. package/dist/domain/DeclaredResource.js.map +1 -0
  29. package/dist/domain/DeclaredResourceReference.d.ts +66 -0
  30. package/dist/domain/DeclaredResourceReference.js +42 -0
  31. package/dist/domain/DeclaredResourceReference.js.map +1 -0
  32. package/dist/domain/DeclastructChangeProposal.d.ts +61 -0
  33. package/dist/domain/DeclastructChangeProposal.js +37 -0
  34. package/dist/domain/DeclastructChangeProposal.js.map +1 -0
  35. package/dist/domain/DeclastructContext.d.ts +24 -0
  36. package/dist/domain/DeclastructContext.js +3 -0
  37. package/dist/domain/DeclastructContext.js.map +1 -0
  38. package/dist/domain/DeclastructProvider.d.ts +58 -0
  39. package/dist/domain/DeclastructProvider.js +3 -0
  40. package/dist/domain/DeclastructProvider.js.map +1 -0
  41. package/dist/domain/DeclastructProviderContext.d.ts +30 -0
  42. package/dist/domain/DeclastructProviderContext.js +3 -0
  43. package/dist/domain/DeclastructProviderContext.js.map +1 -0
  44. package/dist/domain/DeclastructProviderResourceRemoteStateInterface.d.ts +156 -0
  45. package/dist/domain/DeclastructProviderResourceRemoteStateInterface.js +3 -0
  46. package/dist/domain/DeclastructProviderResourceRemoteStateInterface.js.map +1 -0
  47. package/dist/index.d.ts +1 -0
  48. package/dist/index.js +18 -0
  49. package/dist/index.js.map +1 -0
  50. package/dist/logic/actions/execute/canUpdateResource.d.ts +5 -0
  51. package/dist/logic/actions/execute/canUpdateResource.js +12 -0
  52. package/dist/logic/actions/execute/canUpdateResource.js.map +1 -0
  53. package/dist/logic/actions/execute/executeProposal.d.ts +5 -0
  54. package/dist/logic/actions/execute/executeProposal.js +52 -0
  55. package/dist/logic/actions/execute/executeProposal.js.map +1 -0
  56. package/dist/logic/actions/propose/getColoredActionToken.d.ts +4 -0
  57. package/dist/logic/actions/propose/getColoredActionToken.js +22 -0
  58. package/dist/logic/actions/propose/getColoredActionToken.js.map +1 -0
  59. package/dist/logic/actions/propose/getColoredProposalTitle.d.ts +4 -0
  60. package/dist/logic/actions/propose/getColoredProposalTitle.js +34 -0
  61. package/dist/logic/actions/propose/getColoredProposalTitle.js.map +1 -0
  62. package/dist/logic/actions/propose/proposeChangeForResource.d.ts +7 -0
  63. package/dist/logic/actions/propose/proposeChangeForResource.js +65 -0
  64. package/dist/logic/actions/propose/proposeChangeForResource.js.map +1 -0
  65. package/dist/logic/actions/propose/proposeChangeForResource.test.d.ts +1 -0
  66. package/dist/logic/actions/propose/proposeChangeForResource.test.js +48 -0
  67. package/dist/logic/actions/propose/proposeChangeForResource.test.js.map +1 -0
  68. package/dist/logic/commands/command.apply.d.ts +8 -0
  69. package/dist/logic/commands/command.apply.js +77 -0
  70. package/dist/logic/commands/command.apply.js.map +1 -0
  71. package/dist/logic/commands/command.plan.d.ts +13 -0
  72. package/dist/logic/commands/command.plan.js +155 -0
  73. package/dist/logic/commands/command.plan.js.map +1 -0
  74. package/dist/logic/commands/execute.d.ts +15 -0
  75. package/dist/logic/commands/execute.js +63 -0
  76. package/dist/logic/commands/execute.js.map +1 -0
  77. package/dist/logic/tools/compare/castReferenceToGrokableString.d.ts +16 -0
  78. package/dist/logic/tools/compare/castReferenceToGrokableString.js +66 -0
  79. package/dist/logic/tools/compare/castReferenceToGrokableString.js.map +1 -0
  80. package/dist/logic/tools/compare/castReferenceToGrokableString.test.d.ts +1 -0
  81. package/dist/logic/tools/compare/castReferenceToGrokableString.test.js +111 -0
  82. package/dist/logic/tools/compare/castReferenceToGrokableString.test.js.map +1 -0
  83. package/dist/logic/tools/compare/detectDifferenceBetweenDesiredAndRemoteStateOfResource.d.ts +11 -0
  84. package/dist/logic/tools/compare/detectDifferenceBetweenDesiredAndRemoteStateOfResource.js +61 -0
  85. package/dist/logic/tools/compare/detectDifferenceBetweenDesiredAndRemoteStateOfResource.js.map +1 -0
  86. package/dist/logic/tools/compare/detectDifferenceBetweenDesiredAndRemoteStateOfResource.test.d.ts +1 -0
  87. package/dist/logic/tools/compare/detectDifferenceBetweenDesiredAndRemoteStateOfResource.test.js +31 -0
  88. package/dist/logic/tools/compare/detectDifferenceBetweenDesiredAndRemoteStateOfResource.test.js.map +1 -0
  89. package/dist/logic/tools/compare/resolveReferenceToCommonComparableForm.d.ts +21 -0
  90. package/dist/logic/tools/compare/resolveReferenceToCommonComparableForm.js +53 -0
  91. package/dist/logic/tools/compare/resolveReferenceToCommonComparableForm.js.map +1 -0
  92. package/dist/logic/tools/compare/resolveReferenceToCommonComparableForm.test.d.ts +1 -0
  93. package/dist/logic/tools/compare/resolveReferenceToCommonComparableForm.test.js +31 -0
  94. package/dist/logic/tools/compare/resolveReferenceToCommonComparableForm.test.js.map +1 -0
  95. package/dist/logic/tools/compare/resolveReferencesToCommonComparableForm.d.ts +10 -0
  96. package/dist/logic/tools/compare/resolveReferencesToCommonComparableForm.js +41 -0
  97. package/dist/logic/tools/compare/resolveReferencesToCommonComparableForm.js.map +1 -0
  98. package/dist/logic/tools/compare/resolveReferencesToCommonComparableForm.test.d.ts +1 -0
  99. package/dist/logic/tools/compare/resolveReferencesToCommonComparableForm.test.js +174 -0
  100. package/dist/logic/tools/compare/resolveReferencesToCommonComparableForm.test.js.map +1 -0
  101. package/dist/logic/tools/context/createDeclastructContext.d.ts +10 -0
  102. package/dist/logic/tools/context/createDeclastructContext.js +12 -0
  103. package/dist/logic/tools/context/createDeclastructContext.js.map +1 -0
  104. package/dist/logic/tools/context/destroyDeclastructContext.d.ts +4 -0
  105. package/dist/logic/tools/context/destroyDeclastructContext.js +10 -0
  106. package/dist/logic/tools/context/destroyDeclastructContext.js.map +1 -0
  107. package/dist/logic/tools/provider/castProviderContextToGlobalContext.d.ts +4 -0
  108. package/dist/logic/tools/provider/castProviderContextToGlobalContext.js +10 -0
  109. package/dist/logic/tools/provider/castProviderContextToGlobalContext.js.map +1 -0
  110. package/dist/logic/tools/provider/getProviderContextFromGlobalContextForResourceClass.d.ts +13 -0
  111. package/dist/logic/tools/provider/getProviderContextFromGlobalContextForResourceClass.js +29 -0
  112. package/dist/logic/tools/provider/getProviderContextFromGlobalContextForResourceClass.js.map +1 -0
  113. package/dist/logic/tools/provider/getProviderResourceRemoteStateInterfaceExecutionDependenciesForResource.d.ts +13 -0
  114. package/dist/logic/tools/provider/getProviderResourceRemoteStateInterfaceExecutionDependenciesForResource.js +24 -0
  115. package/dist/logic/tools/provider/getProviderResourceRemoteStateInterfaceExecutionDependenciesForResource.js.map +1 -0
  116. package/dist/logic/tools/provider/getProviderResourceRemoteStateInterfaceFromContextForResourceClass.d.ts +10 -0
  117. package/dist/logic/tools/provider/getProviderResourceRemoteStateInterfaceFromContextForResourceClass.js +21 -0
  118. package/dist/logic/tools/provider/getProviderResourceRemoteStateInterfaceFromContextForResourceClass.js.map +1 -0
  119. package/dist/logic/tools/reference/buildPrimaryKeyTo.d.ts +5 -0
  120. package/dist/logic/tools/reference/buildPrimaryKeyTo.js +40 -0
  121. package/dist/logic/tools/reference/buildPrimaryKeyTo.js.map +1 -0
  122. package/dist/logic/tools/reference/buildReferenceTo.d.ts +28 -0
  123. package/dist/logic/tools/reference/buildReferenceTo.js +92 -0
  124. package/dist/logic/tools/reference/buildReferenceTo.js.map +1 -0
  125. package/dist/logic/tools/reference/buildReferenceTo.test.d.ts +1 -0
  126. package/dist/logic/tools/reference/buildReferenceTo.test.js +119 -0
  127. package/dist/logic/tools/reference/buildReferenceTo.test.js.map +1 -0
  128. package/dist/logic/tools/reference/buildUniqueKeyTo.d.ts +5 -0
  129. package/dist/logic/tools/reference/buildUniqueKeyTo.js +40 -0
  130. package/dist/logic/tools/reference/buildUniqueKeyTo.js.map +1 -0
  131. package/dist/logic/tools/reference/defineReferenceClassOf.d.ts +5 -0
  132. package/dist/logic/tools/reference/defineReferenceClassOf.js +25 -0
  133. package/dist/logic/tools/reference/defineReferenceClassOf.js.map +1 -0
  134. package/dist/logic/tools/reference/defineReferenceKeyConstituentsOf.d.ts +13 -0
  135. package/dist/logic/tools/reference/defineReferenceKeyConstituentsOf.js +36 -0
  136. package/dist/logic/tools/reference/defineReferenceKeyConstituentsOf.js.map +1 -0
  137. package/dist/logic/tools/reference/getByReference.d.ts +15 -0
  138. package/dist/logic/tools/reference/getByReference.js +55 -0
  139. package/dist/logic/tools/reference/getByReference.js.map +1 -0
  140. package/dist/logic/tools/reference/getByReference.test.d.ts +1 -0
  141. package/dist/logic/tools/reference/getByReference.test.js +92 -0
  142. package/dist/logic/tools/reference/getByReference.test.js.map +1 -0
  143. package/dist/logic/tools/reference/getByReferencedPrimaryKey.d.ts +6 -0
  144. package/dist/logic/tools/reference/getByReferencedPrimaryKey.js +17 -0
  145. package/dist/logic/tools/reference/getByReferencedPrimaryKey.js.map +1 -0
  146. package/dist/logic/tools/reference/getByReferencedUniqueKey.d.ts +7 -0
  147. package/dist/logic/tools/reference/getByReferencedUniqueKey.js +42 -0
  148. package/dist/logic/tools/reference/getByReferencedUniqueKey.js.map +1 -0
  149. package/dist/logic/tools/reference/getPrimaryKeyByReference.d.ts +15 -0
  150. package/dist/logic/tools/reference/getPrimaryKeyByReference.js +36 -0
  151. package/dist/logic/tools/reference/getPrimaryKeyByReference.js.map +1 -0
  152. package/dist/logic/tools/reference/getReferenceTo.d.ts +18 -0
  153. package/dist/logic/tools/reference/getReferenceTo.js +55 -0
  154. package/dist/logic/tools/reference/getReferenceTo.js.map +1 -0
  155. package/dist/logic/tools/reference/getReferenceTo.test.d.ts +1 -0
  156. package/dist/logic/tools/reference/getReferenceTo.test.js +95 -0
  157. package/dist/logic/tools/reference/getReferenceTo.test.js.map +1 -0
  158. package/dist/logic/tools/reference/getUniqueKeyByReference.d.ts +15 -0
  159. package/dist/logic/tools/reference/getUniqueKeyByReference.js +36 -0
  160. package/dist/logic/tools/reference/getUniqueKeyByReference.js.map +1 -0
  161. package/dist/logic/tools/reference/isPrimaryKeyReference.d.ts +6 -0
  162. package/dist/logic/tools/reference/isPrimaryKeyReference.js +7 -0
  163. package/dist/logic/tools/reference/isPrimaryKeyReference.js.map +1 -0
  164. package/dist/logic/tools/reference/isUniqueKeyReference.d.ts +6 -0
  165. package/dist/logic/tools/reference/isUniqueKeyReference.js +7 -0
  166. package/dist/logic/tools/reference/isUniqueKeyReference.js.map +1 -0
  167. package/package.json +100 -0
  168. package/readme.md +56 -0
package/readme.md ADDED
@@ -0,0 +1,56 @@
1
+ # declastruct
2
+
3
+ ![test](https://github.com/ehmpathy/declastruct/workflows/test/badge.svg)
4
+ ![publish](https://github.com/ehmpathy/declastruct/workflows/publish/badge.svg)
5
+
6
+ Add declarative control to any resource constructs. Declare, plan, and apply within an observable pit-of-success.
7
+
8
+ Declare the structures you want. Plan to see the changes required. Apply to make it so 🪄
9
+
10
+ # benefits
11
+
12
+ - no dedicated state required
13
+ - looks at the source of truth directly
14
+ - leverages unique keys of resources to understand remote state automatically and eliminate the middleman
15
+
16
+ - no new language syntax required
17
+ - no awkward new-language limitations
18
+ - reuse your existing domain language to manage your resources
19
+
20
+ # features
21
+
22
+ - flexible resource references
23
+ - eliminate primary-key constraint; enable declaration of resources via unique-key references
24
+ - eliminate single-key constraint; enable usage of whichever key is accessible
25
+
26
+ - declarative resource structures
27
+ - manage resource states declaratively
28
+
29
+ - declarative persistence structures
30
+ - standard shape for any operation for interaction with resources
31
+ - plug and play handlers of resources (interface w/ many remote state stores for the same resource via prebuilt providers)
32
+
33
+ - declarative instructions
34
+ - declare desired state
35
+ - plan changes required to get to desired state
36
+ - apply changes to get to desired state
37
+
38
+
39
+ # install
40
+
41
+ ```sh
42
+ npm install -s declastruct
43
+ ```
44
+
45
+ # use
46
+
47
+ ### `declare`
48
+
49
+ ### `plan`
50
+
51
+ ### `apply`
52
+
53
+
54
+ # todo
55
+
56
+ swap to domain-objects.Refs