@powerhousedao/codegen 5.1.0-dev.3 → 5.1.0-dev.5

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 (234) hide show
  1. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/error.esm.t +3 -3
  2. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js +1 -3
  3. package/dist/src/codegen/__tests__/config.d.ts +1 -0
  4. package/dist/src/codegen/__tests__/config.d.ts.map +1 -1
  5. package/dist/src/codegen/__tests__/config.js +1 -0
  6. package/dist/src/codegen/__tests__/config.js.map +1 -1
  7. package/dist/src/codegen/__tests__/generate-doc-model.test.js +39 -14
  8. package/dist/src/codegen/__tests__/generate-doc-model.test.js.map +1 -1
  9. package/dist/src/codegen/__tests__/generate-drive-editor.test.js +6 -3
  10. package/dist/src/codegen/__tests__/generate-drive-editor.test.js.map +1 -1
  11. package/dist/src/codegen/__tests__/generate-editor.test.js +8 -7
  12. package/dist/src/codegen/__tests__/generate-editor.test.js.map +1 -1
  13. package/dist/src/codegen/generate.d.ts +26 -6
  14. package/dist/src/codegen/generate.d.ts.map +1 -1
  15. package/dist/src/codegen/generate.js +139 -40
  16. package/dist/src/codegen/generate.js.map +1 -1
  17. package/dist/src/codegen/hygen.d.ts +1 -8
  18. package/dist/src/codegen/hygen.d.ts.map +1 -1
  19. package/dist/src/codegen/hygen.js +11 -67
  20. package/dist/src/codegen/hygen.js.map +1 -1
  21. package/dist/src/index.d.ts +0 -1
  22. package/dist/src/index.d.ts.map +1 -1
  23. package/dist/src/index.js +0 -1
  24. package/dist/src/index.js.map +1 -1
  25. package/dist/src/ts-morph-utils/constants.d.ts +18 -0
  26. package/dist/src/ts-morph-utils/constants.d.ts.map +1 -0
  27. package/dist/src/ts-morph-utils/constants.js +18 -0
  28. package/dist/src/ts-morph-utils/constants.js.map +1 -0
  29. package/dist/src/ts-morph-utils/file-builders/document-editor.d.ts +28 -0
  30. package/dist/src/ts-morph-utils/file-builders/document-editor.d.ts.map +1 -0
  31. package/dist/src/ts-morph-utils/file-builders/document-editor.js +305 -0
  32. package/dist/src/ts-morph-utils/file-builders/document-editor.js.map +1 -0
  33. package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.d.ts +3 -0
  34. package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.d.ts.map +1 -0
  35. package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.js +207 -0
  36. package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.js.map +1 -0
  37. package/dist/src/ts-morph-utils/file-builders/document-model/root-dir.d.ts +3 -0
  38. package/dist/src/ts-morph-utils/file-builders/document-model/root-dir.d.ts.map +1 -0
  39. package/dist/src/ts-morph-utils/file-builders/document-model/root-dir.js +58 -0
  40. package/dist/src/ts-morph-utils/file-builders/document-model/root-dir.js.map +1 -0
  41. package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.d.ts +3 -0
  42. package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.d.ts.map +1 -0
  43. package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.js +64 -0
  44. package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.js.map +1 -0
  45. package/dist/src/ts-morph-utils/file-builders/document-model/types.d.ts +12 -0
  46. package/dist/src/ts-morph-utils/file-builders/document-model/types.d.ts.map +1 -0
  47. package/dist/src/ts-morph-utils/file-builders/document-model/types.js +2 -0
  48. package/dist/src/ts-morph-utils/file-builders/document-model/types.js.map +1 -0
  49. package/dist/src/ts-morph-utils/file-builders/document-model.d.ts +8 -0
  50. package/dist/src/ts-morph-utils/file-builders/document-model.d.ts.map +1 -0
  51. package/dist/src/ts-morph-utils/file-builders/document-model.js +68 -0
  52. package/dist/src/ts-morph-utils/file-builders/document-model.js.map +1 -0
  53. package/dist/src/ts-morph-utils/file-builders/drive-editor.d.ts +56 -0
  54. package/dist/src/ts-morph-utils/file-builders/drive-editor.d.ts.map +1 -0
  55. package/dist/src/ts-morph-utils/file-builders/drive-editor.js +341 -0
  56. package/dist/src/ts-morph-utils/file-builders/drive-editor.js.map +1 -0
  57. package/dist/src/ts-morph-utils/file-builders/editor-common.d.ts +3 -0
  58. package/dist/src/ts-morph-utils/file-builders/editor-common.d.ts.map +1 -0
  59. package/dist/src/ts-morph-utils/file-builders/editor-common.js +15 -0
  60. package/dist/src/ts-morph-utils/file-builders/editor-common.js.map +1 -0
  61. package/dist/src/ts-morph-utils/file-builders/index-files.d.ts +17 -0
  62. package/dist/src/ts-morph-utils/file-builders/index-files.d.ts.map +1 -0
  63. package/dist/src/ts-morph-utils/file-builders/index-files.js +21 -0
  64. package/dist/src/ts-morph-utils/file-builders/index-files.js.map +1 -0
  65. package/dist/src/ts-morph-utils/file-builders/module-files.d.ts +25 -0
  66. package/dist/src/ts-morph-utils/file-builders/module-files.d.ts.map +1 -0
  67. package/dist/src/ts-morph-utils/file-builders/module-files.js +92 -0
  68. package/dist/src/ts-morph-utils/file-builders/module-files.js.map +1 -0
  69. package/dist/src/ts-morph-utils/file-builders/subgraphs.d.ts +6 -0
  70. package/dist/src/ts-morph-utils/file-builders/subgraphs.d.ts.map +1 -0
  71. package/dist/src/ts-morph-utils/file-builders/subgraphs.js +53 -0
  72. package/dist/src/ts-morph-utils/file-builders/subgraphs.js.map +1 -0
  73. package/dist/src/ts-morph-utils/file-builders/types.d.ts +13 -0
  74. package/dist/src/ts-morph-utils/file-builders/types.d.ts.map +1 -0
  75. package/dist/src/ts-morph-utils/file-builders/types.js +2 -0
  76. package/dist/src/ts-morph-utils/file-builders/types.js.map +1 -0
  77. package/dist/src/ts-morph-utils/file-utils.d.ts +28 -0
  78. package/dist/src/ts-morph-utils/file-utils.d.ts.map +1 -0
  79. package/dist/src/ts-morph-utils/file-utils.js +102 -0
  80. package/dist/src/ts-morph-utils/file-utils.js.map +1 -0
  81. package/dist/src/ts-morph-utils/name-builders/common-files.d.ts +5 -0
  82. package/dist/src/ts-morph-utils/name-builders/common-files.d.ts.map +1 -0
  83. package/dist/src/ts-morph-utils/name-builders/common-files.js +15 -0
  84. package/dist/src/ts-morph-utils/name-builders/common-files.js.map +1 -0
  85. package/dist/src/ts-morph-utils/name-builders/document-model-files.d.ts +4 -0
  86. package/dist/src/ts-morph-utils/name-builders/document-model-files.d.ts.map +1 -0
  87. package/dist/src/ts-morph-utils/name-builders/document-model-files.js +12 -0
  88. package/dist/src/ts-morph-utils/name-builders/document-model-files.js.map +1 -0
  89. package/dist/src/ts-morph-utils/name-builders/editor-files.d.ts +10 -0
  90. package/dist/src/ts-morph-utils/name-builders/editor-files.d.ts.map +1 -0
  91. package/dist/src/ts-morph-utils/name-builders/editor-files.js +37 -0
  92. package/dist/src/ts-morph-utils/name-builders/editor-files.js.map +1 -0
  93. package/dist/src/ts-morph-utils/name-builders/get-file-paths.d.ts +4 -0
  94. package/dist/src/ts-morph-utils/name-builders/get-file-paths.d.ts.map +1 -0
  95. package/dist/src/ts-morph-utils/name-builders/get-file-paths.js +21 -0
  96. package/dist/src/ts-morph-utils/name-builders/get-file-paths.js.map +1 -0
  97. package/dist/src/ts-morph-utils/name-builders/get-variable-names.d.ts +55 -0
  98. package/dist/src/ts-morph-utils/name-builders/get-variable-names.d.ts.map +1 -0
  99. package/dist/src/ts-morph-utils/name-builders/get-variable-names.js +153 -0
  100. package/dist/src/ts-morph-utils/name-builders/get-variable-names.js.map +1 -0
  101. package/dist/src/ts-morph-utils/name-builders/types.d.ts +14 -0
  102. package/dist/src/ts-morph-utils/name-builders/types.d.ts.map +1 -0
  103. package/dist/src/ts-morph-utils/name-builders/types.js +2 -0
  104. package/dist/src/ts-morph-utils/name-builders/types.js.map +1 -0
  105. package/dist/src/ts-morph-utils/name-builders/variables.d.ts +12 -0
  106. package/dist/src/ts-morph-utils/name-builders/variables.d.ts.map +1 -0
  107. package/dist/src/ts-morph-utils/name-builders/variables.js +35 -0
  108. package/dist/src/ts-morph-utils/name-builders/variables.js.map +1 -0
  109. package/dist/src/ts-morph-utils/syntax-builders.d.ts +72 -0
  110. package/dist/src/ts-morph-utils/syntax-builders.d.ts.map +1 -0
  111. package/dist/src/ts-morph-utils/syntax-builders.js +201 -0
  112. package/dist/src/ts-morph-utils/syntax-builders.js.map +1 -0
  113. package/dist/src/ts-morph-utils/syntax-getters.d.ts +10 -0
  114. package/dist/src/ts-morph-utils/syntax-getters.d.ts.map +1 -0
  115. package/dist/src/ts-morph-utils/syntax-getters.js +39 -0
  116. package/dist/src/ts-morph-utils/syntax-getters.js.map +1 -0
  117. package/dist/src/ts-morph-utils/templates/document-model/actions.d.ts +3 -0
  118. package/dist/src/ts-morph-utils/templates/document-model/actions.d.ts.map +1 -0
  119. package/dist/src/ts-morph-utils/templates/document-model/actions.js +28 -0
  120. package/dist/src/ts-morph-utils/templates/document-model/actions.js.map +1 -0
  121. package/dist/src/ts-morph-utils/templates/document-model/gen/actions.d.ts +3 -0
  122. package/dist/src/ts-morph-utils/templates/document-model/gen/actions.d.ts.map +1 -0
  123. package/dist/src/ts-morph-utils/templates/document-model/gen/actions.js +40 -0
  124. package/dist/src/ts-morph-utils/templates/document-model/gen/actions.js.map +1 -0
  125. package/dist/src/ts-morph-utils/templates/document-model/gen/creators.d.ts +3 -0
  126. package/dist/src/ts-morph-utils/templates/document-model/gen/creators.d.ts.map +1 -0
  127. package/dist/src/ts-morph-utils/templates/document-model/gen/creators.js +16 -0
  128. package/dist/src/ts-morph-utils/templates/document-model/gen/creators.js.map +1 -0
  129. package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.d.ts +3 -0
  130. package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.d.ts.map +1 -0
  131. package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.js +56 -0
  132. package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.js.map +1 -0
  133. package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.d.ts +3 -0
  134. package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.d.ts.map +1 -0
  135. package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.js +5 -0
  136. package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.js.map +1 -0
  137. package/dist/src/ts-morph-utils/templates/document-model/gen/index.d.ts +3 -0
  138. package/dist/src/ts-morph-utils/templates/document-model/gen/index.d.ts.map +1 -0
  139. package/dist/src/ts-morph-utils/templates/document-model/gen/index.js +29 -0
  140. package/dist/src/ts-morph-utils/templates/document-model/gen/index.js.map +1 -0
  141. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/actions.d.ts +8 -0
  142. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/actions.d.ts.map +1 -0
  143. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/actions.js +39 -0
  144. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/actions.js.map +1 -0
  145. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.d.ts +3 -0
  146. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.d.ts.map +1 -0
  147. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.js +94 -0
  148. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.js.map +1 -0
  149. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.d.ts +3 -0
  150. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.d.ts.map +1 -0
  151. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.js +73 -0
  152. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.js.map +1 -0
  153. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.d.ts +3 -0
  154. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.d.ts.map +1 -0
  155. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.js +61 -0
  156. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.js.map +1 -0
  157. package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.d.ts +3 -0
  158. package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.d.ts.map +1 -0
  159. package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.js +93 -0
  160. package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.js.map +1 -0
  161. package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.d.ts +3 -0
  162. package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.d.ts.map +1 -0
  163. package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.js +106 -0
  164. package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.js.map +1 -0
  165. package/dist/src/ts-morph-utils/templates/document-model/gen/schema/index.d.ts +2 -0
  166. package/dist/src/ts-morph-utils/templates/document-model/gen/schema/index.d.ts.map +1 -0
  167. package/dist/src/ts-morph-utils/templates/document-model/gen/schema/index.js +6 -0
  168. package/dist/src/ts-morph-utils/templates/document-model/gen/schema/index.js.map +1 -0
  169. package/dist/src/ts-morph-utils/templates/document-model/gen/types.d.ts +3 -0
  170. package/dist/src/ts-morph-utils/templates/document-model/gen/types.d.ts.map +1 -0
  171. package/dist/src/ts-morph-utils/templates/document-model/gen/types.js +38 -0
  172. package/dist/src/ts-morph-utils/templates/document-model/gen/types.js.map +1 -0
  173. package/dist/src/ts-morph-utils/templates/document-model/gen/utils.d.ts +3 -0
  174. package/dist/src/ts-morph-utils/templates/document-model/gen/utils.d.ts.map +1 -0
  175. package/dist/src/ts-morph-utils/templates/document-model/gen/utils.js +77 -0
  176. package/dist/src/ts-morph-utils/templates/document-model/gen/utils.js.map +1 -0
  177. package/dist/src/ts-morph-utils/templates/document-model/hooks.d.ts +3 -0
  178. package/dist/src/ts-morph-utils/templates/document-model/hooks.d.ts.map +1 -0
  179. package/dist/src/ts-morph-utils/templates/document-model/hooks.js +49 -0
  180. package/dist/src/ts-morph-utils/templates/document-model/hooks.js.map +1 -0
  181. package/dist/src/ts-morph-utils/templates/document-model/index.d.ts +2 -0
  182. package/dist/src/ts-morph-utils/templates/document-model/index.d.ts.map +1 -0
  183. package/dist/src/ts-morph-utils/templates/document-model/index.js +9 -0
  184. package/dist/src/ts-morph-utils/templates/document-model/index.js.map +1 -0
  185. package/dist/src/ts-morph-utils/templates/document-model/module.d.ts +8 -0
  186. package/dist/src/ts-morph-utils/templates/document-model/module.d.ts.map +1 -0
  187. package/dist/src/ts-morph-utils/templates/document-model/module.js +25 -0
  188. package/dist/src/ts-morph-utils/templates/document-model/module.js.map +1 -0
  189. package/dist/src/ts-morph-utils/templates/document-model/src/index.d.ts +2 -0
  190. package/dist/src/ts-morph-utils/templates/document-model/src/index.d.ts.map +1 -0
  191. package/dist/src/ts-morph-utils/templates/document-model/src/index.js +5 -0
  192. package/dist/src/ts-morph-utils/templates/document-model/src/index.js.map +1 -0
  193. package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.d.ts +3 -0
  194. package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.d.ts.map +1 -0
  195. package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.js +121 -0
  196. package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.js.map +1 -0
  197. package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.d.ts +3 -0
  198. package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.d.ts.map +1 -0
  199. package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.js +67 -0
  200. package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.js.map +1 -0
  201. package/dist/src/ts-morph-utils/templates/document-model/src/utils.d.ts +2 -0
  202. package/dist/src/ts-morph-utils/templates/document-model/src/utils.d.ts.map +1 -0
  203. package/dist/src/ts-morph-utils/templates/document-model/src/utils.js +5 -0
  204. package/dist/src/ts-morph-utils/templates/document-model/src/utils.js.map +1 -0
  205. package/dist/src/ts-morph-utils/templates/document-model/utils.d.ts +3 -0
  206. package/dist/src/ts-morph-utils/templates/document-model/utils.d.ts.map +1 -0
  207. package/dist/src/ts-morph-utils/templates/document-model/utils.js +11 -0
  208. package/dist/src/ts-morph-utils/templates/document-model/utils.js.map +1 -0
  209. package/dist/src/ts-morph-utils/templates/drive-editor.d.ts +5 -0
  210. package/dist/src/ts-morph-utils/templates/drive-editor.d.ts.map +1 -0
  211. package/dist/src/ts-morph-utils/templates/drive-editor.js +211 -0
  212. package/dist/src/ts-morph-utils/templates/drive-editor.js.map +1 -0
  213. package/dist/src/ts-morph-utils/templates/unsafe-utils.d.ts +8 -0
  214. package/dist/src/ts-morph-utils/templates/unsafe-utils.d.ts.map +1 -0
  215. package/dist/src/ts-morph-utils/templates/unsafe-utils.js +23 -0
  216. package/dist/src/ts-morph-utils/templates/unsafe-utils.js.map +1 -0
  217. package/dist/src/ts-morph-utils/templates/utils.d.ts +6 -0
  218. package/dist/src/ts-morph-utils/templates/utils.d.ts.map +1 -0
  219. package/dist/src/ts-morph-utils/templates/utils.js +16 -0
  220. package/dist/src/ts-morph-utils/templates/utils.js.map +1 -0
  221. package/dist/src/ts-morph-utils/ts-morph-project.d.ts +3 -0
  222. package/dist/src/ts-morph-utils/ts-morph-project.d.ts.map +1 -0
  223. package/dist/src/ts-morph-utils/ts-morph-project.js +9 -0
  224. package/dist/src/ts-morph-utils/ts-morph-project.js.map +1 -0
  225. package/dist/src/ts-morph-utils/types.d.ts +34 -0
  226. package/dist/src/ts-morph-utils/types.d.ts.map +1 -0
  227. package/dist/src/ts-morph-utils/types.js +2 -0
  228. package/dist/src/ts-morph-utils/types.js.map +1 -0
  229. package/dist/tsconfig.tsbuildinfo +1 -1
  230. package/package.json +11 -8
  231. package/dist/src/ts-morph-utils.d.ts +0 -48
  232. package/dist/src/ts-morph-utils.d.ts.map +0 -1
  233. package/dist/src/ts-morph-utils.js +0 -207
  234. package/dist/src/ts-morph-utils.js.map +0 -1
@@ -0,0 +1,55 @@
1
+ import { type DocumentModelGlobalState, type ModuleSpecification, type OperationErrorSpecification } from "document-model";
2
+ import type { DocumentModelDocumentTypeMetadata, EditorVariableNames } from "../types.js";
3
+ import type { ActionFromOperation } from "./types.js";
4
+ export declare function getEditorVariableNames({ documentModelDocumentTypeName, }: DocumentModelDocumentTypeMetadata): EditorVariableNames;
5
+ type GetDocumentModelVariableNamesArgs = {
6
+ packageName: string;
7
+ projectDir: string;
8
+ documentModelState: DocumentModelGlobalState;
9
+ };
10
+ export declare function getDocumentModelVariableNames({ packageName, projectDir, documentModelState, }: GetDocumentModelVariableNamesArgs): {
11
+ documentModelState: DocumentModelGlobalState;
12
+ documentTypeId: string;
13
+ paramCaseDocumentType: string;
14
+ pascalCaseDocumentType: string;
15
+ camelCaseDocumentType: string;
16
+ documentTypeVariableName: string;
17
+ stateName: string;
18
+ globalStateName: string;
19
+ localStateName: string;
20
+ phStateName: string;
21
+ phDocumentTypeName: string;
22
+ actionTypeName: string;
23
+ actionsTypeName: string;
24
+ actionsName: string;
25
+ documentModelDir: string;
26
+ documentModelsDirPath: string;
27
+ documentModelDirPath: string;
28
+ srcDirPath: string;
29
+ genDirPath: string;
30
+ testsDirPath: string;
31
+ schemaDirPath: string;
32
+ moduleDirPaths: string[];
33
+ stateSchemaName: string;
34
+ phDocumentSchemaName: string;
35
+ isPhStateOfTypeFunctionName: string;
36
+ assertIsPhStateOfTypeFunctionName: string;
37
+ isPhDocumentOfTypeFunctionName: string;
38
+ assertIsPhDocumentOfTypeFunctionName: string;
39
+ useByIdHookName: string;
40
+ useSelectedHookName: string;
41
+ useInSelectedDriveHookName: string;
42
+ useInSelectedFolderHookName: string;
43
+ fileExtension: string;
44
+ initialGlobalState: string;
45
+ initialLocalState: string;
46
+ hasLocalSchema: boolean;
47
+ modules: ModuleSpecification[];
48
+ };
49
+ export declare function getDocumentModelOperationsModuleVariableNames(module: ModuleSpecification): {
50
+ actions: ActionFromOperation[];
51
+ errors: OperationErrorSpecification[];
52
+ module: ModuleSpecification;
53
+ };
54
+ export {};
55
+ //# sourceMappingURL=get-variable-names.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-variable-names.d.ts","sourceRoot":"","sources":["../../../../src/ts-morph-utils/name-builders/get-variable-names.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAEjC,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EACV,iCAAiC,EACjC,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAetD,wBAAgB,sBAAsB,CAAC,EACrC,6BAA6B,GAC9B,EAAE,iCAAiC,GAAG,mBAAmB,CAkCzD;AAED,KAAK,iCAAiC,GAAG;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,wBAAwB,CAAC;CAC9C,CAAC;AACF,wBAAgB,6BAA6B,CAAC,EAC5C,WAAW,EACX,UAAU,EACV,kBAAkB,GACnB,EAAE,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuFnC;AAED,wBAAgB,6CAA6C,CAC3D,MAAM,EAAE,mBAAmB;;;;EAK5B"}
@@ -0,0 +1,153 @@
1
+ import { camelCase, paramCase, pascalCase } from "change-case";
2
+ import {} from "document-model";
3
+ import path from "node:path";
4
+ import { getInitialStates } from "../templates/unsafe-utils.js";
5
+ import { buildDispatchFunctionName, buildDocumentNameVariableName, buildDocumentVariableName, buildEditDocumentNameComponentName, buildIsEditingVariableName, buildOnCancelEditHandlerName, buildOnClickHandlerName, buildOnSubmitSetNameFunctionName, buildSetIsEditingFunctionName, buildSetNameActionName, buildUseSelectedDocumentHookName, } from "./variables.js";
6
+ export function getEditorVariableNames({ documentModelDocumentTypeName, }) {
7
+ return {
8
+ documentVariableName: buildDocumentVariableName(documentModelDocumentTypeName),
9
+ editDocumentNameComponentName: buildEditDocumentNameComponentName(documentModelDocumentTypeName),
10
+ useSelectedDocumentHookName: buildUseSelectedDocumentHookName(documentModelDocumentTypeName),
11
+ documentNameVariableName: buildDocumentNameVariableName(documentModelDocumentTypeName),
12
+ dispatchFunctionName: buildDispatchFunctionName(documentModelDocumentTypeName),
13
+ onClickEditHandlerName: buildOnClickHandlerName(documentModelDocumentTypeName),
14
+ onCancelEditHandlerName: buildOnCancelEditHandlerName(documentModelDocumentTypeName),
15
+ setNameActionName: buildSetNameActionName(documentModelDocumentTypeName),
16
+ isEditingVariableName: buildIsEditingVariableName(documentModelDocumentTypeName),
17
+ setIsEditingFunctionName: buildSetIsEditingFunctionName(documentModelDocumentTypeName),
18
+ onSubmitSetNameFunctionName: buildOnSubmitSetNameFunctionName(documentModelDocumentTypeName),
19
+ };
20
+ }
21
+ export function getDocumentModelVariableNames({ packageName, projectDir, documentModelState, }) {
22
+ const documentType = documentModelState.name;
23
+ const documentTypeId = documentModelState.id;
24
+ const latestSpec = documentModelState.specifications[documentModelState.specifications.length - 1];
25
+ const paramCaseDocumentType = paramCase(documentType);
26
+ const pascalCaseDocumentType = pascalCase(documentType);
27
+ const camelCaseDocumentType = camelCase(documentType);
28
+ const documentTypeVariableName = `${camelCaseDocumentType}DocumentType`;
29
+ const stateName = `${pascalCaseDocumentType}State`;
30
+ const globalStateName = `${pascalCaseDocumentType}GlobalState`;
31
+ const localStateName = `${pascalCaseDocumentType}LocalState`;
32
+ const phStateName = `${pascalCaseDocumentType}PHState`;
33
+ const phDocumentTypeName = `${pascalCaseDocumentType}Document`;
34
+ const actionTypeName = `${pascalCaseDocumentType}Action`;
35
+ const actionsTypeName = `${actionTypeName}s`;
36
+ const actionsName = camelCase(actionsTypeName);
37
+ const documentModelDir = `${packageName}/document-models/${paramCaseDocumentType}`;
38
+ const documentModelsDirPath = path.join(projectDir, "document-models");
39
+ const documentModelDirPath = path.join(documentModelsDirPath, paramCaseDocumentType);
40
+ const srcDirPath = path.join(documentModelDirPath, "src");
41
+ const testsDirPath = path.join(srcDirPath, "tests");
42
+ const genDirPath = path.join(documentModelDirPath, "gen");
43
+ const schemaDirPath = path.join(genDirPath, "schema");
44
+ const stateSchemaName = `${stateName}Schema`;
45
+ const phDocumentSchemaName = `${phDocumentTypeName}Schema`;
46
+ const isPhStateOfTypeFunctionName = `is${stateName}`;
47
+ const assertIsPhStateOfTypeFunctionName = `assertIs${stateName}`;
48
+ const isPhDocumentOfTypeFunctionName = `is${phDocumentTypeName}`;
49
+ const assertIsPhDocumentOfTypeFunctionName = `assertIs${phDocumentTypeName}`;
50
+ const useByIdHookName = `use${phDocumentTypeName}ById`;
51
+ const useSelectedHookName = `useSelected${phDocumentTypeName}`;
52
+ const useInSelectedDriveHookName = `use${phDocumentTypeName}sInSelectedDrive`;
53
+ const useInSelectedFolderHookName = `use${phDocumentTypeName}sInSelectedFolder`;
54
+ const fileExtension = documentModelState.extension;
55
+ const { initialGlobalState, initialLocalState } = getInitialStates(latestSpec.state);
56
+ const hasLocalSchema = latestSpec.state.local.schema !== "";
57
+ const modules = latestSpec.modules;
58
+ const moduleDirPaths = modules.map((module) => path.join(genDirPath, paramCase(module.name)));
59
+ return {
60
+ documentModelState,
61
+ documentTypeId,
62
+ paramCaseDocumentType,
63
+ pascalCaseDocumentType,
64
+ camelCaseDocumentType,
65
+ documentTypeVariableName,
66
+ stateName,
67
+ globalStateName,
68
+ localStateName,
69
+ phStateName,
70
+ phDocumentTypeName,
71
+ actionTypeName,
72
+ actionsTypeName,
73
+ actionsName,
74
+ documentModelDir,
75
+ documentModelsDirPath,
76
+ documentModelDirPath,
77
+ srcDirPath,
78
+ genDirPath,
79
+ testsDirPath,
80
+ schemaDirPath,
81
+ moduleDirPaths,
82
+ stateSchemaName,
83
+ phDocumentSchemaName,
84
+ isPhStateOfTypeFunctionName,
85
+ assertIsPhStateOfTypeFunctionName,
86
+ isPhDocumentOfTypeFunctionName,
87
+ assertIsPhDocumentOfTypeFunctionName,
88
+ useByIdHookName,
89
+ useSelectedHookName,
90
+ useInSelectedDriveHookName,
91
+ useInSelectedFolderHookName,
92
+ fileExtension,
93
+ initialGlobalState,
94
+ initialLocalState,
95
+ hasLocalSchema,
96
+ modules,
97
+ };
98
+ }
99
+ export function getDocumentModelOperationsModuleVariableNames(module) {
100
+ const actions = getActionsFromModule(module);
101
+ const errors = getErrorsFromActions(actions);
102
+ return { actions, errors, module };
103
+ }
104
+ function getActionFromOperation(operation) {
105
+ const { name, schema, scope = "global", errors } = operation;
106
+ if (!name) {
107
+ throw new Error("Operation name is required");
108
+ }
109
+ const hasInput = schema !== null;
110
+ const hasAttachment = hasInput && schema.includes(": Attachment");
111
+ const state = scope === "global" ? "" : scope;
112
+ return {
113
+ name,
114
+ hasInput,
115
+ hasAttachment,
116
+ scope,
117
+ state,
118
+ errors,
119
+ };
120
+ }
121
+ function makeNormalizedError(error) {
122
+ if (!error.name) {
123
+ throw new Error("Error name is required");
124
+ }
125
+ const code = error.code || pascalCase(error.name);
126
+ return {
127
+ ...error,
128
+ code,
129
+ };
130
+ }
131
+ function getErrorsFromAction(action) {
132
+ const errors = action.errors;
133
+ const errorCodeSet = new Set();
134
+ const normalizedErrors = [];
135
+ for (const error of errors) {
136
+ const normalizedError = makeNormalizedError(error);
137
+ if (!errorCodeSet.has(normalizedError.code)) {
138
+ errorCodeSet.add(normalizedError.code);
139
+ normalizedErrors.push(normalizedError);
140
+ }
141
+ else {
142
+ console.warn(`Warning: Duplicate error code "${error.code}" with different fields found`);
143
+ }
144
+ }
145
+ return normalizedErrors;
146
+ }
147
+ function getErrorsFromActions(actions) {
148
+ return actions.flatMap(getErrorsFromAction);
149
+ }
150
+ function getActionsFromModule(module) {
151
+ return module.operations.map(getActionFromOperation);
152
+ }
153
+ //# sourceMappingURL=get-variable-names.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-variable-names.js","sourceRoot":"","sources":["../../../../src/ts-morph-utils/name-builders/get-variable-names.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { OperationErrorSpecification } from "document-model";
2
+ import type { getDocumentModelOperationsModuleVariableNames, getDocumentModelVariableNames } from "./get-variable-names.js";
3
+ export type DocumentModelVariableNames = ReturnType<typeof getDocumentModelVariableNames>;
4
+ export type DocumentModelOperationsModuleVariableNames = ReturnType<typeof getDocumentModelOperationsModuleVariableNames>;
5
+ export type AllDocumentModelVariableNames = DocumentModelVariableNames & DocumentModelOperationsModuleVariableNames;
6
+ export type ActionFromOperation = {
7
+ name: string;
8
+ hasInput: boolean;
9
+ hasAttachment: boolean;
10
+ scope: string;
11
+ state: string;
12
+ errors: OperationErrorSpecification[];
13
+ };
14
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/ts-morph-utils/name-builders/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,KAAK,EACV,6CAA6C,EAC7C,6BAA6B,EAC9B,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,0BAA0B,GAAG,UAAU,CACjD,OAAO,6BAA6B,CACrC,CAAC;AAEF,MAAM,MAAM,0CAA0C,GAAG,UAAU,CACjE,OAAO,6CAA6C,CACrD,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,0BAA0B,GACpE,0CAA0C,CAAC;AAE7C,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,2BAA2B,EAAE,CAAC;CACvC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/ts-morph-utils/name-builders/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ export declare function buildDocumentVariableName(documentTypeName: string): string;
2
+ export declare function buildEditDocumentNameComponentName(documentTypeName: string): string;
3
+ export declare function buildDocumentNameVariableName(documentTypeName: string): string;
4
+ export declare function buildUseSelectedDocumentHookName(documentTypeName: string): string;
5
+ export declare function buildDispatchFunctionName(documentTypeName: string): string;
6
+ export declare function buildOnClickHandlerName(documentTypeName: string): string;
7
+ export declare function buildOnCancelEditHandlerName(documentTypeName: string): string;
8
+ export declare function buildSetNameActionName(documentTypeName: string): string;
9
+ export declare function buildIsEditingVariableName(documentTypeName: string): string;
10
+ export declare function buildSetIsEditingFunctionName(documentTypeName: string): string;
11
+ export declare function buildOnSubmitSetNameFunctionName(documentTypeName: string): string;
12
+ //# sourceMappingURL=variables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../../../src/ts-morph-utils/name-builders/variables.ts"],"names":[],"mappings":"AAEA,wBAAgB,yBAAyB,CAAC,gBAAgB,EAAE,MAAM,UAEjE;AAED,wBAAgB,kCAAkC,CAAC,gBAAgB,EAAE,MAAM,UAE1E;AAED,wBAAgB,6BAA6B,CAAC,gBAAgB,EAAE,MAAM,UAErE;AAED,wBAAgB,gCAAgC,CAAC,gBAAgB,EAAE,MAAM,UAExE;AAED,wBAAgB,yBAAyB,CAAC,gBAAgB,EAAE,MAAM,UAEjE;AAED,wBAAgB,uBAAuB,CAAC,gBAAgB,EAAE,MAAM,UAE/D;AAED,wBAAgB,4BAA4B,CAAC,gBAAgB,EAAE,MAAM,UAEpE;AAED,wBAAgB,sBAAsB,CAAC,gBAAgB,EAAE,MAAM,UAE9D;AAED,wBAAgB,0BAA0B,CAAC,gBAAgB,EAAE,MAAM,UAElE;AAED,wBAAgB,6BAA6B,CAAC,gBAAgB,EAAE,MAAM,UAErE;AAED,wBAAgB,gCAAgC,CAAC,gBAAgB,EAAE,MAAM,UAExE"}
@@ -0,0 +1,35 @@
1
+ import { camelCase } from "change-case";
2
+ export function buildDocumentVariableName(documentTypeName) {
3
+ return camelCase(documentTypeName);
4
+ }
5
+ export function buildEditDocumentNameComponentName(documentTypeName) {
6
+ return `EditName`;
7
+ }
8
+ export function buildDocumentNameVariableName(documentTypeName) {
9
+ return `${documentTypeName}Name`;
10
+ }
11
+ export function buildUseSelectedDocumentHookName(documentTypeName) {
12
+ return `useSelected${documentTypeName}`;
13
+ }
14
+ export function buildDispatchFunctionName(documentTypeName) {
15
+ return "dispatch";
16
+ }
17
+ export function buildOnClickHandlerName(documentTypeName) {
18
+ return `onClickEdit${documentTypeName}Name`;
19
+ }
20
+ export function buildOnCancelEditHandlerName(documentTypeName) {
21
+ return `onClickCancelEdit${documentTypeName}Name`;
22
+ }
23
+ export function buildSetNameActionName(documentTypeName) {
24
+ return "setName";
25
+ }
26
+ export function buildIsEditingVariableName(documentTypeName) {
27
+ return "isEditing";
28
+ }
29
+ export function buildSetIsEditingFunctionName(documentTypeName) {
30
+ return "setIsEditing";
31
+ }
32
+ export function buildOnSubmitSetNameFunctionName(documentTypeName) {
33
+ return `onSubmitSet${documentTypeName}Name`;
34
+ }
35
+ //# sourceMappingURL=variables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../../src/ts-morph-utils/name-builders/variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,UAAU,yBAAyB,CAAC,gBAAwB;IAChE,OAAO,SAAS,CAAC,gBAAgB,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,gBAAwB;IACzE,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,gBAAwB;IACpE,OAAO,GAAG,gBAAgB,MAAM,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,gBAAwB;IACvE,OAAO,cAAc,gBAAgB,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,gBAAwB;IAChE,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,gBAAwB;IAC9D,OAAO,cAAc,gBAAgB,MAAM,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,gBAAwB;IACnE,OAAO,oBAAoB,gBAAgB,MAAM,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,gBAAwB;IAC7D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,gBAAwB;IACjE,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,gBAAwB;IACpE,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,gBAAwB;IACvE,OAAO,cAAc,gBAAgB,MAAM,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,72 @@
1
+ import { ts } from "ts-morph";
2
+ export declare function buildFalse(): ts.FalseLiteral;
3
+ export declare function buildTrue(): ts.TrueLiteral;
4
+ export declare function buildBoolean(value: boolean): ts.FalseLiteral | ts.TrueLiteral;
5
+ export declare function buildNull(): ts.NullLiteral;
6
+ export declare function buildUndefined(): ts.Identifier;
7
+ export declare function buildNumericLiteral(value: number): ts.NumericLiteral;
8
+ export declare function buildReturn(returnValue: string | ts.Expression): ts.ReturnStatement;
9
+ export declare function buildJsxText(value: string): ts.JsxText;
10
+ export declare function buildJsxStringValueAttribute(name: string, value: string): ts.JsxAttribute;
11
+ export declare function buildJsxBooleanAttribute(name: string, value: boolean): ts.JsxAttribute;
12
+ export declare function buildJsxAttribute(name: string, value: string): ts.JsxAttribute;
13
+ export declare function buildJsxSpreadAttribute(name: string): ts.JsxSpreadAttribute;
14
+ export declare function buildClassNameAttribute(value: string): ts.JsxAttribute;
15
+ export declare function buildJsxElement(identifierText: string, children?: readonly ts.JsxChild[], attributes?: readonly ts.JsxAttributeLike[], typeArguments?: readonly ts.TypeNode[]): ts.JsxElement;
16
+ export declare function buildSelfClosingJsxElement(identifierText: string, attributes?: readonly ts.JsxAttributeLike[], typeArguments?: readonly ts.TypeNode[]): ts.JsxSelfClosingElement;
17
+ type BuildConstAssignmentArgs = {
18
+ name: string | ts.BindingName;
19
+ assignmentExpression: ts.Expression;
20
+ modifiers?: ts.Modifier[];
21
+ type?: ts.TypeNode;
22
+ exclamationToken?: ts.ExclamationToken;
23
+ castAsType?: string;
24
+ };
25
+ export declare function buildConstAssignment({ name, assignmentExpression, modifiers, type, exclamationToken, castAsType, }: BuildConstAssignmentArgs): ts.VariableStatement;
26
+ export declare function buildIfStatement(condition: ts.Expression, thenStatement: ts.Statement, elseStatement?: ts.Statement): ts.IfStatement;
27
+ export declare function buildReturnIfVariableIsTruthy(variableName: string | ts.Identifier, returnExpression?: ts.Expression): ts.IfStatement;
28
+ export declare function buildReturnIfVariableIsFalsy(variableName: string | ts.Identifier, returnExpression?: ts.Expression): ts.IfStatement;
29
+ type BuildFunctionCallArgs = {
30
+ functionName: string | ts.Expression;
31
+ argumentsArray?: ts.Expression[] | string[];
32
+ typeParameters?: ts.TypeNode[];
33
+ };
34
+ export declare function buildFunctionCall({ functionName, argumentsArray, typeParameters, }: BuildFunctionCallArgs): ts.ExpressionStatement;
35
+ export declare function buildArrayAssignment(elements: string[]): ts.ArrayBindingPattern;
36
+ export declare function buildArrayLiteralWithStringElements(elements: string[]): ts.ArrayLiteralExpression;
37
+ type BuildDestructuredArrayHookCallArgs = {
38
+ hookName: string;
39
+ destructuredElements: string[];
40
+ hookArguments?: ts.Expression[];
41
+ };
42
+ export declare function buildDestructuredArrayHookCallAssignment({ hookName, hookArguments, destructuredElements, }: BuildDestructuredArrayHookCallArgs): ts.VariableStatement;
43
+ export declare function buildObjectPropertyAccess(objectName: string, propertyName: string): ts.PropertyAccessExpression;
44
+ export declare function buildType(typeName: string, typeArguments?: string[]): ts.TypeReferenceNode;
45
+ type BuildParameterArgs = {
46
+ name: string;
47
+ typeName?: string;
48
+ initializer?: ts.Expression;
49
+ isOptional?: boolean;
50
+ };
51
+ export declare function buildParameters(parameters: BuildParameterArgs[] | undefined): ts.ParameterDeclaration[];
52
+ type BuildArrowFunctionArgs = {
53
+ bodyStatements: ts.Statement[];
54
+ parameters?: BuildParameterArgs[];
55
+ type?: ts.TypeNode;
56
+ typeParameters?: ts.TypeParameterDeclaration[];
57
+ modifiers?: ts.Modifier[];
58
+ };
59
+ export declare function buildArrowFunction({ bodyStatements, modifiers, typeParameters, parameters, type, }: BuildArrowFunctionArgs): ts.ArrowFunction;
60
+ type BuildMethodInvocationArgs = {
61
+ objectName: string;
62
+ methodName: string;
63
+ argumentsArray?: ts.Expression[] | string[];
64
+ };
65
+ export declare function buildMethodInvocation({ objectName, methodName, argumentsArray, }: BuildMethodInvocationArgs): ts.ExpressionStatement;
66
+ export declare function buildTypeCast(expression: ts.Expression, typeName: string, typeArguments?: string[]): ts.ExpressionStatement;
67
+ export declare function buildStringLiteral(value: string): ts.StringLiteral;
68
+ export declare function buildJsxExpression(value: string | ts.Expression): ts.JsxExpression;
69
+ export declare function buildPropertyAssignment(name: string, value: unknown): ts.PropertyAssignment;
70
+ export declare function buildObjectLiteral(inputObject: object): ts.ObjectLiteralExpression;
71
+ export {};
72
+ //# sourceMappingURL=syntax-builders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syntax-builders.d.ts","sourceRoot":"","sources":["../../../src/ts-morph-utils/syntax-builders.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,201 @@
1
+ import { SyntaxKind, ts } from "ts-morph";
2
+ export function buildFalse() {
3
+ return ts.factory.createFalse();
4
+ }
5
+ export function buildTrue() {
6
+ return ts.factory.createTrue();
7
+ }
8
+ export function buildBoolean(value) {
9
+ return value ? buildTrue() : buildFalse();
10
+ }
11
+ export function buildNull() {
12
+ return ts.factory.createNull();
13
+ }
14
+ export function buildUndefined() {
15
+ return ts.factory.createIdentifier("undefined");
16
+ }
17
+ export function buildNumericLiteral(value) {
18
+ return ts.factory.createNumericLiteral(value);
19
+ }
20
+ export function buildReturn(returnValue) {
21
+ const expression = typeof returnValue === "string"
22
+ ? ts.factory.createIdentifier(returnValue)
23
+ : returnValue;
24
+ return ts.factory.createReturnStatement(expression);
25
+ }
26
+ export function buildJsxText(value) {
27
+ return ts.factory.createJsxText(value);
28
+ }
29
+ export function buildJsxStringValueAttribute(name, value) {
30
+ const attribute = ts.factory.createJsxAttribute(ts.factory.createIdentifier(name), ts.factory.createStringLiteral(value));
31
+ return attribute;
32
+ }
33
+ export function buildJsxBooleanAttribute(name, value) {
34
+ const valueExpression = value ? buildTrue() : buildFalse();
35
+ const attribute = ts.factory.createJsxAttribute(ts.factory.createIdentifier(name), ts.factory.createJsxExpression(undefined, valueExpression));
36
+ return attribute;
37
+ }
38
+ export function buildJsxAttribute(name, value) {
39
+ const attribute = ts.factory.createJsxAttribute(ts.factory.createIdentifier(name), ts.factory.createJsxExpression(undefined, ts.factory.createIdentifier(value)));
40
+ return attribute;
41
+ }
42
+ export function buildJsxSpreadAttribute(name) {
43
+ const attribute = ts.factory.createJsxSpreadAttribute(ts.factory.createIdentifier(name));
44
+ return attribute;
45
+ }
46
+ export function buildClassNameAttribute(value) {
47
+ const classAttr = ts.factory.createJsxAttribute(ts.factory.createIdentifier("className"), ts.factory.createStringLiteral(value));
48
+ return classAttr;
49
+ }
50
+ export function buildJsxElement(identifierText, children = [], attributes = [], typeArguments) {
51
+ const identifier = ts.factory.createIdentifier(identifierText);
52
+ const openingElement = ts.factory.createJsxOpeningElement(identifier, typeArguments, ts.factory.createJsxAttributes(attributes));
53
+ const closingElement = ts.factory.createJsxClosingElement(identifier);
54
+ const element = ts.factory.createJsxElement(openingElement, children, closingElement);
55
+ return element;
56
+ }
57
+ export function buildSelfClosingJsxElement(identifierText, attributes = [], typeArguments) {
58
+ const identifier = ts.factory.createIdentifier(identifierText);
59
+ const element = ts.factory.createJsxSelfClosingElement(identifier, typeArguments, ts.factory.createJsxAttributes(attributes));
60
+ return element;
61
+ }
62
+ export function buildConstAssignment({ name, assignmentExpression, modifiers, type, exclamationToken, castAsType, }) {
63
+ const expression = castAsType
64
+ ? buildTypeCast(assignmentExpression, castAsType).expression
65
+ : assignmentExpression;
66
+ const variableStatement = ts.factory.createVariableStatement(modifiers, ts.factory.createVariableDeclarationList([
67
+ ts.factory.createVariableDeclaration(name, exclamationToken, type, expression),
68
+ ], ts.NodeFlags.Const));
69
+ return variableStatement;
70
+ }
71
+ export function buildIfStatement(condition, thenStatement, elseStatement) {
72
+ return ts.factory.createIfStatement(condition, thenStatement, elseStatement);
73
+ }
74
+ export function buildReturnIfVariableIsTruthy(variableName, returnExpression) {
75
+ const identifier = typeof variableName === "string"
76
+ ? ts.factory.createIdentifier(variableName)
77
+ : variableName;
78
+ const returnStatement = returnExpression
79
+ ? ts.factory.createReturnStatement(returnExpression)
80
+ : ts.factory.createReturnStatement();
81
+ return buildIfStatement(identifier, returnStatement);
82
+ }
83
+ export function buildReturnIfVariableIsFalsy(variableName, returnExpression) {
84
+ const identifier = typeof variableName === "string"
85
+ ? ts.factory.createIdentifier(variableName)
86
+ : variableName;
87
+ const returnStatement = returnExpression
88
+ ? ts.factory.createReturnStatement(returnExpression)
89
+ : ts.factory.createReturnStatement();
90
+ return buildIfStatement(ts.factory.createLogicalNot(identifier), returnStatement);
91
+ }
92
+ export function buildFunctionCall({ functionName, argumentsArray, typeParameters, }) {
93
+ const callExpression = ts.factory.createCallExpression(typeof functionName === "string"
94
+ ? ts.factory.createIdentifier(functionName)
95
+ : functionName, typeParameters, argumentsArray?.map((argument) => typeof argument === "string"
96
+ ? ts.factory.createIdentifier(argument)
97
+ : argument));
98
+ return ts.factory.createExpressionStatement(callExpression);
99
+ }
100
+ export function buildArrayAssignment(elements) {
101
+ return ts.factory.createArrayBindingPattern(elements.map((element) => ts.factory.createBindingElement(undefined, undefined, element)));
102
+ }
103
+ export function buildArrayLiteralWithStringElements(elements) {
104
+ return ts.factory.createArrayLiteralExpression(elements.map((element) => ts.factory.createStringLiteral(element)));
105
+ }
106
+ export function buildDestructuredArrayHookCallAssignment({ hookName, hookArguments, destructuredElements, }) {
107
+ const hookCall = buildFunctionCall({
108
+ functionName: hookName,
109
+ argumentsArray: hookArguments,
110
+ });
111
+ const arrayAssignment = buildArrayAssignment(destructuredElements);
112
+ const hookCallAssignment = buildConstAssignment({
113
+ name: arrayAssignment,
114
+ assignmentExpression: hookCall.expression,
115
+ });
116
+ return hookCallAssignment;
117
+ }
118
+ export function buildObjectPropertyAccess(objectName, propertyName) {
119
+ const objectIdentifier = ts.factory.createIdentifier(objectName);
120
+ return ts.factory.createPropertyAccessExpression(objectIdentifier, propertyName);
121
+ }
122
+ export function buildType(typeName, typeArguments) {
123
+ const typeNameIdentifier = ts.factory.createIdentifier(typeName);
124
+ const typeArgumentIdentifiers = typeArguments?.map((typeArgument) => ts.factory.createTypeReferenceNode(typeArgument));
125
+ return ts.factory.createTypeReferenceNode(typeNameIdentifier, typeArgumentIdentifiers);
126
+ }
127
+ export function buildParameters(parameters) {
128
+ if (!parameters)
129
+ return [];
130
+ return parameters.map((parameter) => ts.factory.createParameterDeclaration(undefined, undefined, parameter.name, parameter.isOptional
131
+ ? ts.factory.createToken(SyntaxKind.QuestionToken)
132
+ : undefined, parameter.typeName
133
+ ? ts.factory.createTypeReferenceNode(parameter.typeName)
134
+ : undefined, parameter.initializer));
135
+ }
136
+ export function buildArrowFunction({ bodyStatements, modifiers, typeParameters, parameters, type, }) {
137
+ const bodyBlock = ts.factory.createBlock(bodyStatements, true);
138
+ const parameterDeclarations = buildParameters(parameters);
139
+ return ts.factory.createArrowFunction(modifiers, typeParameters, parameterDeclarations, type, undefined, bodyBlock);
140
+ }
141
+ export function buildMethodInvocation({ objectName, methodName, argumentsArray = [], }) {
142
+ const methodInvocation = buildObjectPropertyAccess(objectName, methodName);
143
+ return buildFunctionCall({
144
+ functionName: methodInvocation,
145
+ argumentsArray,
146
+ });
147
+ }
148
+ export function buildTypeCast(expression, typeName, typeArguments) {
149
+ const castType = buildType(typeName, typeArguments);
150
+ const castExpression = ts.factory.createAsExpression(expression, castType);
151
+ return ts.factory.createExpressionStatement(castExpression);
152
+ }
153
+ export function buildStringLiteral(value) {
154
+ return ts.factory.createStringLiteral(value);
155
+ }
156
+ export function buildJsxExpression(value) {
157
+ const expression = typeof value === "string" ? ts.factory.createIdentifier(value) : value;
158
+ return ts.factory.createJsxExpression(undefined, expression);
159
+ }
160
+ function buildArrayLiteral(elements) {
161
+ return ts.factory.createArrayLiteralExpression(elements, true);
162
+ }
163
+ function valueToExpression(value) {
164
+ if (value === null)
165
+ return buildNull();
166
+ if (value === undefined)
167
+ return buildUndefined();
168
+ if (typeof value === "boolean")
169
+ return buildBoolean(value);
170
+ if (typeof value === "string")
171
+ return buildStringLiteral(value);
172
+ if (typeof value === "number")
173
+ return buildNumericLiteral(value);
174
+ if (Array.isArray(value)) {
175
+ const elements = value.map((item) => valueToExpression(item));
176
+ return buildArrayLiteral(elements);
177
+ }
178
+ if (typeof value === "object") {
179
+ return ts.factory.createObjectLiteralExpression(Object.entries(value).map(([key, v]) => {
180
+ const name = ts.factory.createIdentifier(key);
181
+ return ts.factory.createPropertyAssignment(name, valueToExpression(v));
182
+ }), true);
183
+ }
184
+ throw new Error("Invalid value passed: ", value);
185
+ }
186
+ export function buildPropertyAssignment(name, value) {
187
+ const nameIdentifier = ts.factory.createIdentifier(name);
188
+ const valueExpression = valueToExpression(value);
189
+ const propertyAssignment = ts.factory.createPropertyAssignment(nameIdentifier, valueExpression);
190
+ return propertyAssignment;
191
+ }
192
+ export function buildObjectLiteral(inputObject) {
193
+ const propertyAssignments = [];
194
+ for (const [key, value] of Object.entries(inputObject)) {
195
+ const propertyAssignment = buildPropertyAssignment(key, value);
196
+ propertyAssignments.push(propertyAssignment);
197
+ }
198
+ const objectLiteral = ts.factory.createObjectLiteralExpression(propertyAssignments, true);
199
+ return objectLiteral;
200
+ }
201
+ //# sourceMappingURL=syntax-builders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syntax-builders.js","sourceRoot":"","sources":["../../../src/ts-morph-utils/syntax-builders.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { ArrayLiteralExpression, ObjectLiteralExpression, SourceFile, StringLiteral, VariableStatement } from "ts-morph";
2
+ import { SyntaxKind } from "ts-morph";
3
+ export declare function getVariableDeclarationByTypeName(sourceFile: SourceFile, typeName: string): import("ts-morph").VariableDeclaration | undefined;
4
+ export declare function getAllVariableDeclarationsByTypeName(sourceFiles: SourceFile[], typeName: string): import("ts-morph").VariableDeclaration[];
5
+ export declare function getTypeDeclarationByTypeName(sourceFile: SourceFile | undefined, typeName: string): import("ts-morph").TypeAliasDeclaration | undefined;
6
+ export declare function getStringLiteralValue(stringLiteral: StringLiteral | undefined): string | undefined;
7
+ export declare function getObjectProperty<T extends SyntaxKind>(object: ObjectLiteralExpression | undefined, propertyName: string, propertyType: T): import("ts-morph").KindToNodeMappings[T] | undefined;
8
+ export declare function getArrayLiteralExpressionElementsText(arrayLiteralExpression: ArrayLiteralExpression | undefined): string[] | undefined;
9
+ export declare function getObjectLiteral(statement: VariableStatement | undefined): ObjectLiteralExpression | undefined;
10
+ //# sourceMappingURL=syntax-getters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syntax-getters.d.ts","sourceRoot":"","sources":["../../../src/ts-morph-utils/syntax-getters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACvB,UAAU,EACV,aAAa,EACb,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,sDAMjB;AAED,wBAAgB,oCAAoC,CAClD,WAAW,EAAE,UAAU,EAAE,EACzB,QAAQ,EAAE,MAAM,4CAQjB;AAED,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,UAAU,GAAG,SAAS,EAClC,QAAQ,EAAE,MAAM,uDAOjB;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,aAAa,GAAG,SAAS,sBAGzC;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,UAAU,EACpD,MAAM,EAAE,uBAAuB,GAAG,SAAS,EAC3C,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,CAAC,wDAQhB;AAED,wBAAgB,qCAAqC,CACnD,sBAAsB,EAAE,sBAAsB,GAAG,SAAS,wBAM3D;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,GAAG,SAAS,uCAKxE"}