@powerhousedao/codegen 6.0.0-dev.32 → 6.0.0-dev.34

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 (188) hide show
  1. package/dist/src/codegen/__tests__/fixtures/typecheck.js +1 -1
  2. package/dist/src/codegen/__tests__/fixtures/typecheck.js.map +1 -1
  3. package/dist/src/codegen/__tests__/generate-doc-model.test.js +14 -69
  4. package/dist/src/codegen/__tests__/generate-doc-model.test.js.map +1 -1
  5. package/dist/src/codegen/__tests__/generate-drive-editor.test.js +37 -36
  6. package/dist/src/codegen/__tests__/generate-drive-editor.test.js.map +1 -1
  7. package/dist/src/codegen/__tests__/generate-editor.test.js +17 -17
  8. package/dist/src/codegen/__tests__/generate-editor.test.js.map +1 -1
  9. package/dist/src/codegen/__tests__/generate-manifest.test.js +17 -16
  10. package/dist/src/codegen/__tests__/generate-manifest.test.js.map +1 -1
  11. package/dist/src/codegen/__tests__/generate-processor.test.d.ts +2 -0
  12. package/dist/src/codegen/__tests__/generate-processor.test.d.ts.map +1 -0
  13. package/dist/src/codegen/__tests__/generate-processor.test.js +63 -0
  14. package/dist/src/codegen/__tests__/generate-processor.test.js.map +1 -0
  15. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js +23 -23
  16. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js.map +1 -1
  17. package/dist/src/codegen/__tests__/ts-morph-generator.test.js +4 -4
  18. package/dist/src/codegen/__tests__/ts-morph-generator.test.js.map +1 -1
  19. package/dist/src/codegen/__tests__/utils.d.ts +2 -2
  20. package/dist/src/codegen/__tests__/utils.d.ts.map +1 -1
  21. package/dist/src/codegen/__tests__/utils.js +9 -10
  22. package/dist/src/codegen/__tests__/utils.js.map +1 -1
  23. package/dist/src/codegen/generate.d.ts +1 -1
  24. package/dist/src/codegen/generate.d.ts.map +1 -1
  25. package/dist/src/codegen/generate.js +25 -9
  26. package/dist/src/codegen/generate.js.map +1 -1
  27. package/dist/src/codegen/graphql.d.ts.map +1 -1
  28. package/dist/src/codegen/graphql.js +10 -9
  29. package/dist/src/codegen/graphql.js.map +1 -1
  30. package/dist/src/codegen/hygen.js +4 -4
  31. package/dist/src/codegen/hygen.js.map +1 -1
  32. package/dist/src/codegen/utils.d.ts +1 -1
  33. package/dist/src/codegen/utils.d.ts.map +1 -1
  34. package/dist/src/codegen/utils.js +2 -1
  35. package/dist/src/codegen/utils.js.map +1 -1
  36. package/dist/src/create-lib/create-project.js +2 -2
  37. package/dist/src/create-lib/create-project.js.map +1 -1
  38. package/dist/src/file-builders/document-editor.d.ts +1 -1
  39. package/dist/src/file-builders/document-editor.d.ts.map +1 -1
  40. package/dist/src/file-builders/document-editor.js +9 -7
  41. package/dist/src/file-builders/document-editor.js.map +1 -1
  42. package/dist/src/file-builders/document-model/document-model.d.ts.map +1 -1
  43. package/dist/src/file-builders/document-model/document-model.js +59 -62
  44. package/dist/src/file-builders/document-model/document-model.js.map +1 -1
  45. package/dist/src/file-builders/document-model/gen-dir.d.ts +1 -1
  46. package/dist/src/file-builders/document-model/gen-dir.d.ts.map +1 -1
  47. package/dist/src/file-builders/document-model/gen-dir.js +48 -48
  48. package/dist/src/file-builders/document-model/gen-dir.js.map +1 -1
  49. package/dist/src/file-builders/document-model/root-dir.d.ts +1 -1
  50. package/dist/src/file-builders/document-model/root-dir.d.ts.map +1 -1
  51. package/dist/src/file-builders/document-model/root-dir.js +17 -17
  52. package/dist/src/file-builders/document-model/root-dir.js.map +1 -1
  53. package/dist/src/file-builders/document-model/src-dir.d.ts +1 -1
  54. package/dist/src/file-builders/document-model/src-dir.d.ts.map +1 -1
  55. package/dist/src/file-builders/document-model/src-dir.js +12 -12
  56. package/dist/src/file-builders/document-model/src-dir.js.map +1 -1
  57. package/dist/src/file-builders/document-model/tests-dir.d.ts +1 -1
  58. package/dist/src/file-builders/document-model/tests-dir.d.ts.map +1 -1
  59. package/dist/src/file-builders/document-model/tests-dir.js +8 -8
  60. package/dist/src/file-builders/document-model/tests-dir.js.map +1 -1
  61. package/dist/src/file-builders/document-model/upgrades-dir.d.ts +6 -4
  62. package/dist/src/file-builders/document-model/upgrades-dir.d.ts.map +1 -1
  63. package/dist/src/file-builders/document-model/upgrades-dir.js +17 -25
  64. package/dist/src/file-builders/document-model/upgrades-dir.js.map +1 -1
  65. package/dist/src/file-builders/drive-editor.d.ts +1 -1
  66. package/dist/src/file-builders/drive-editor.d.ts.map +1 -1
  67. package/dist/src/file-builders/drive-editor.js +37 -35
  68. package/dist/src/file-builders/drive-editor.js.map +1 -1
  69. package/dist/src/file-builders/editor-common.d.ts.map +1 -1
  70. package/dist/src/file-builders/editor-common.js +0 -1
  71. package/dist/src/file-builders/editor-common.js.map +1 -1
  72. package/dist/src/file-builders/module-files.d.ts +11 -5
  73. package/dist/src/file-builders/module-files.d.ts.map +1 -1
  74. package/dist/src/file-builders/module-files.js +36 -28
  75. package/dist/src/file-builders/module-files.js.map +1 -1
  76. package/dist/src/file-builders/processors/analytics.d.ts +3 -0
  77. package/dist/src/file-builders/processors/analytics.d.ts.map +1 -0
  78. package/dist/src/file-builders/processors/analytics.js +34 -0
  79. package/dist/src/file-builders/processors/analytics.js.map +1 -0
  80. package/dist/src/file-builders/processors/processor.d.ts +7 -0
  81. package/dist/src/file-builders/processors/processor.d.ts.map +1 -0
  82. package/dist/src/file-builders/processors/processor.js +165 -0
  83. package/dist/src/file-builders/processors/processor.js.map +1 -0
  84. package/dist/src/file-builders/processors/relational-db.d.ts +3 -0
  85. package/dist/src/file-builders/processors/relational-db.d.ts.map +1 -0
  86. package/dist/src/file-builders/processors/relational-db.js +53 -0
  87. package/dist/src/file-builders/processors/relational-db.js.map +1 -0
  88. package/dist/src/file-builders/processors/types.d.ts +13 -0
  89. package/dist/src/file-builders/processors/types.d.ts.map +1 -0
  90. package/dist/src/file-builders/processors/types.js +2 -0
  91. package/dist/src/file-builders/processors/types.js.map +1 -0
  92. package/dist/src/file-builders/subgraphs.d.ts +1 -1
  93. package/dist/src/file-builders/subgraphs.d.ts.map +1 -1
  94. package/dist/src/file-builders/subgraphs.js +2 -2
  95. package/dist/src/file-builders/subgraphs.js.map +1 -1
  96. package/dist/src/name-builders/get-variable-names.d.ts +1 -0
  97. package/dist/src/name-builders/get-variable-names.d.ts.map +1 -1
  98. package/dist/src/name-builders/get-variable-names.js +2 -0
  99. package/dist/src/name-builders/get-variable-names.js.map +1 -1
  100. package/dist/src/templates/boilerplate/document-models/upgrade-manifests.d.ts +2 -0
  101. package/dist/src/templates/boilerplate/document-models/upgrade-manifests.d.ts.map +1 -0
  102. package/dist/src/templates/boilerplate/document-models/upgrade-manifests.js +7 -0
  103. package/dist/src/templates/boilerplate/document-models/upgrade-manifests.js.map +1 -0
  104. package/dist/src/templates/boilerplate/index.d.ts.map +1 -1
  105. package/dist/src/templates/boilerplate/index.js +1 -0
  106. package/dist/src/templates/boilerplate/index.js.map +1 -1
  107. package/dist/src/templates/boilerplate/processors/index.d.ts +1 -1
  108. package/dist/src/templates/boilerplate/processors/index.d.ts.map +1 -1
  109. package/dist/src/templates/boilerplate/processors/index.js +1 -1
  110. package/dist/src/templates/boilerplate/processors/index.js.map +1 -1
  111. package/dist/src/templates/document-model/tests/document-model.test.d.ts.map +1 -0
  112. package/dist/src/templates/document-model/tests/document-model.test.js.map +1 -0
  113. package/dist/src/templates/document-model/tests/module.test.d.ts.map +1 -0
  114. package/dist/src/templates/document-model/{src/tests → tests}/module.test.js +1 -1
  115. package/dist/src/templates/document-model/tests/module.test.js.map +1 -0
  116. package/dist/src/templates/document-model/upgrades/upgrade-manifest.d.ts +5 -0
  117. package/dist/src/templates/document-model/upgrades/upgrade-manifest.d.ts.map +1 -0
  118. package/dist/src/templates/document-model/upgrades/upgrade-manifest.js +13 -0
  119. package/dist/src/templates/document-model/upgrades/upgrade-manifest.js.map +1 -0
  120. package/dist/src/templates/index.d.ts +11 -2
  121. package/dist/src/templates/index.d.ts.map +1 -1
  122. package/dist/src/templates/index.js +11 -2
  123. package/dist/src/templates/index.js.map +1 -1
  124. package/dist/src/templates/processors/analytics/factory.d.ts +5 -0
  125. package/dist/src/templates/processors/analytics/factory.d.ts.map +1 -0
  126. package/dist/src/templates/processors/analytics/factory.js +26 -0
  127. package/dist/src/templates/processors/analytics/factory.js.map +1 -0
  128. package/dist/src/templates/processors/analytics/index.d.ts +4 -0
  129. package/dist/src/templates/processors/analytics/index.d.ts.map +1 -0
  130. package/dist/src/templates/processors/analytics/index.js +68 -0
  131. package/dist/src/templates/processors/analytics/index.js.map +1 -0
  132. package/dist/src/templates/processors/factory.d.ts +2 -0
  133. package/dist/src/templates/processors/factory.d.ts.map +1 -0
  134. package/dist/src/templates/processors/factory.js +34 -0
  135. package/dist/src/templates/processors/factory.js.map +1 -0
  136. package/dist/src/templates/processors/index.d.ts +2 -0
  137. package/dist/src/templates/processors/index.d.ts.map +1 -0
  138. package/dist/src/templates/processors/index.js +10 -0
  139. package/dist/src/templates/processors/index.js.map +1 -0
  140. package/dist/src/templates/processors/relational-db/factory.d.ts +6 -0
  141. package/dist/src/templates/processors/relational-db/factory.d.ts.map +1 -0
  142. package/dist/src/templates/processors/relational-db/factory.js +40 -0
  143. package/dist/src/templates/processors/relational-db/factory.js.map +1 -0
  144. package/dist/src/templates/processors/relational-db/index.d.ts +4 -0
  145. package/dist/src/templates/processors/relational-db/index.d.ts.map +1 -0
  146. package/dist/src/templates/processors/relational-db/index.js +55 -0
  147. package/dist/src/templates/processors/relational-db/index.js.map +1 -0
  148. package/dist/src/templates/processors/relational-db/migrations.d.ts +2 -0
  149. package/dist/src/templates/processors/relational-db/migrations.d.ts.map +1 -0
  150. package/dist/src/templates/processors/relational-db/migrations.js +23 -0
  151. package/dist/src/templates/processors/relational-db/migrations.js.map +1 -0
  152. package/dist/src/templates/processors/relational-db/schema.d.ts +2 -0
  153. package/dist/src/templates/processors/relational-db/schema.d.ts.map +1 -0
  154. package/dist/src/templates/processors/relational-db/schema.js +12 -0
  155. package/dist/src/templates/processors/relational-db/schema.js.map +1 -0
  156. package/dist/src/templates/processors/utils.d.ts +2 -0
  157. package/dist/src/templates/processors/utils.d.ts.map +1 -0
  158. package/dist/src/templates/processors/utils.js +6 -0
  159. package/dist/src/templates/processors/utils.js.map +1 -0
  160. package/dist/src/utils/format-with-prettier.d.ts +1 -1
  161. package/dist/src/utils/format-with-prettier.d.ts.map +1 -1
  162. package/dist/src/utils/format-with-prettier.js +3 -9
  163. package/dist/src/utils/format-with-prettier.js.map +1 -1
  164. package/dist/src/utils/index.d.ts +1 -1
  165. package/dist/src/utils/index.d.ts.map +1 -1
  166. package/dist/src/utils/index.js +1 -1
  167. package/dist/src/utils/index.js.map +1 -1
  168. package/dist/src/utils/source-files.d.ts +8 -1
  169. package/dist/src/utils/source-files.d.ts.map +1 -1
  170. package/dist/src/utils/source-files.js +19 -2
  171. package/dist/src/utils/source-files.js.map +1 -1
  172. package/dist/src/utils/syntax-getters.d.ts +2 -1
  173. package/dist/src/utils/syntax-getters.d.ts.map +1 -1
  174. package/dist/src/utils/syntax-getters.js +4 -0
  175. package/dist/src/utils/syntax-getters.js.map +1 -1
  176. package/dist/src/utils/ts-morph-project.d.ts +14 -5
  177. package/dist/src/utils/ts-morph-project.d.ts.map +1 -1
  178. package/dist/src/utils/ts-morph-project.js +12 -12
  179. package/dist/src/utils/ts-morph-project.js.map +1 -1
  180. package/dist/tsconfig.tsbuildinfo +1 -1
  181. package/package.json +9 -8
  182. package/dist/src/templates/document-model/src/tests/document-model.test.d.ts.map +0 -1
  183. package/dist/src/templates/document-model/src/tests/document-model.test.js.map +0 -1
  184. package/dist/src/templates/document-model/src/tests/module.test.d.ts.map +0 -1
  185. package/dist/src/templates/document-model/src/tests/module.test.js.map +0 -1
  186. /package/dist/src/templates/document-model/{src/tests → tests}/document-model.test.d.ts +0 -0
  187. /package/dist/src/templates/document-model/{src/tests → tests}/document-model.test.js +0 -0
  188. /package/dist/src/templates/document-model/{src/tests → tests}/module.test.d.ts +0 -0
@@ -0,0 +1,6 @@
1
+ export function getDocumentType(documentTypes) {
2
+ if (!documentTypes.length)
3
+ return "*";
4
+ return documentTypes.map((type) => `"${type}"`).join(", ");
5
+ }
6
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/templates/processors/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAC,aAAuB;IACrD,IAAI,CAAC,aAAa,CAAC,MAAM;QAAE,OAAO,GAAG,CAAC;IACtC,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7D,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { SourceFile } from "ts-morph";
2
2
  /** Formats the text of a ts-morph source file with prettier before writing the text to memory */
3
- export declare function formatSourceFileWithPrettier(sourceFile: SourceFile): void;
3
+ export declare function formatSourceFileWithPrettier(sourceFile: SourceFile): Promise<void>;
4
4
  export declare function runPrettier(): Promise<void>;
5
5
  //# sourceMappingURL=format-with-prettier.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"format-with-prettier.d.ts","sourceRoot":"","sources":["../../../src/utils/format-with-prettier.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,iGAAiG;AACjG,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,UAAU,QAalE;AAED,wBAAsB,WAAW,kBAEhC"}
1
+ {"version":3,"file":"format-with-prettier.d.ts","sourceRoot":"","sources":["../../../src/utils/format-with-prettier.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,iGAAiG;AACjG,wBAAsB,4BAA4B,CAAC,UAAU,EAAE,UAAU,iBAMxE;AAED,wBAAsB,WAAW,kBAEhC"}
@@ -1,18 +1,12 @@
1
1
  import { spawnAsync } from "@powerhousedao/common/clis";
2
2
  import { format } from "prettier";
3
3
  /** Formats the text of a ts-morph source file with prettier before writing the text to memory */
4
- export function formatSourceFileWithPrettier(sourceFile) {
4
+ export async function formatSourceFileWithPrettier(sourceFile) {
5
5
  const sourceText = sourceFile.getFullText();
6
- format(sourceText, {
6
+ const formattedText = await format(sourceText, {
7
7
  parser: "typescript",
8
- })
9
- .then((formattedText) => {
10
- sourceFile.replaceWithText(formattedText);
11
- sourceFile.saveSync();
12
- })
13
- .catch((error) => {
14
- console.error("Error formatting source file:", error);
15
8
  });
9
+ sourceFile.replaceWithText(formattedText);
16
10
  }
17
11
  export async function runPrettier() {
18
12
  await spawnAsync("npx", ["prettier", "--write", "."]);
@@ -1 +1 @@
1
- {"version":3,"file":"format-with-prettier.js","sourceRoot":"","sources":["../../../src/utils/format-with-prettier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,iGAAiG;AACjG,MAAM,UAAU,4BAA4B,CAAC,UAAsB;IACjE,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IAE5C,MAAM,CAAC,UAAU,EAAE;QACjB,MAAM,EAAE,YAAY;KACrB,CAAC;SACC,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE;QACtB,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QAC1C,UAAU,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"format-with-prettier.js","sourceRoot":"","sources":["../../../src/utils/format-with-prettier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,iGAAiG;AACjG,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,UAAsB;IACvE,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IAC5C,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE;QAC7C,MAAM,EAAE,YAAY;KACrB,CAAC,CAAC;IACH,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;AACxD,CAAC"}
@@ -2,11 +2,11 @@ export * from "./cli.js";
2
2
  export * from "./constants.js";
3
3
  export * from "./document-type-metadata.js";
4
4
  export * from "./format-with-prettier.js";
5
- export * from "./mock.js";
6
5
  export * from "./source-files.js";
7
6
  export * from "./syntax-builders.js";
8
7
  export * from "./syntax-getters.js";
9
8
  export * from "./ts-morph-project.js";
10
9
  export * from "./unsafe-utils.js";
11
10
  export * from "./validation.js";
11
+ export * from "./mock.js";
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC"}
@@ -2,11 +2,11 @@ export * from "./cli.js";
2
2
  export * from "./constants.js";
3
3
  export * from "./document-type-metadata.js";
4
4
  export * from "./format-with-prettier.js";
5
- export * from "./mock.js";
6
5
  export * from "./source-files.js";
7
6
  export * from "./syntax-builders.js";
8
7
  export * from "./syntax-getters.js";
9
8
  export * from "./ts-morph-project.js";
10
9
  export * from "./unsafe-utils.js";
11
10
  export * from "./validation.js";
11
+ export * from "./mock.js";
12
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC"}
@@ -6,10 +6,17 @@ export declare function getOrCreateSourceFile(project: Project, filePath: string
6
6
  alreadyExists: boolean;
7
7
  sourceFile: import("ts-morph").SourceFile;
8
8
  };
9
+ /** Gets a Directory by name in a ts-morph Project, or creates a new one
10
+ * if none with that path exists.
11
+ */
12
+ export declare function getOrCreateDirectory(project: Project, dirPath: string): {
13
+ alreadyExists: boolean;
14
+ directory: import("ts-morph").Directory;
15
+ };
9
16
  /** Ensures that the directories at the given paths exist within the
10
17
  * ts-morph Project
11
18
  */
12
- export declare function ensureDirectoriesExist(project: Project, ...pathsToEnsure: string[]): void;
19
+ export declare function ensureDirectoriesExist(project: Project, ...pathsToEnsure: string[]): Promise<void>;
13
20
  export declare function getPreviousVersionSourceFile(args: {
14
21
  project: Project;
15
22
  version: number;
@@ -1 +1 @@
1
- {"version":3,"file":"source-files.d.ts","sourceRoot":"","sources":["../../../src/utils/source-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;;;EAavE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,GAAG,aAAa,EAAE,MAAM,EAAE,QAS3B;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,6CAYA"}
1
+ {"version":3,"file":"source-files.d.ts","sourceRoot":"","sources":["../../../src/utils/source-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;;;EAavE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;;;EAarE;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,OAAO,EAChB,GAAG,aAAa,EAAE,MAAM,EAAE,iBAS3B;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,6CAYA"}
@@ -15,17 +15,34 @@ export function getOrCreateSourceFile(project, filePath) {
15
15
  sourceFile,
16
16
  };
17
17
  }
18
+ /** Gets a Directory by name in a ts-morph Project, or creates a new one
19
+ * if none with that path exists.
20
+ */
21
+ export function getOrCreateDirectory(project, dirPath) {
22
+ const directory = project.getDirectory(dirPath);
23
+ if (!directory) {
24
+ const newDirectory = project.createDirectory(dirPath);
25
+ return {
26
+ alreadyExists: false,
27
+ directory: newDirectory,
28
+ };
29
+ }
30
+ return {
31
+ alreadyExists: true,
32
+ directory,
33
+ };
34
+ }
18
35
  /** Ensures that the directories at the given paths exist within the
19
36
  * ts-morph Project
20
37
  */
21
- export function ensureDirectoriesExist(project, ...pathsToEnsure) {
38
+ export async function ensureDirectoriesExist(project, ...pathsToEnsure) {
22
39
  for (const dirPath of pathsToEnsure) {
23
40
  const dir = project.getDirectory(dirPath);
24
41
  if (!dir) {
25
42
  project.createDirectory(dirPath);
26
- project.saveSync();
27
43
  }
28
44
  }
45
+ await project.save();
29
46
  }
30
47
  export function getPreviousVersionSourceFile(args) {
31
48
  const { project, version, filePath } = args;
@@ -1 +1 @@
1
- {"version":3,"file":"source-files.js","sourceRoot":"","sources":["../../../src/utils/source-files.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB,EAAE,QAAgB;IACtE,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC7D,OAAO;YACL,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE,aAAa;SAC1B,CAAC;IACJ,CAAC;IACD,OAAO;QACL,aAAa,EAAE,IAAI;QACnB,UAAU;KACX,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAgB,EAChB,GAAG,aAAuB;IAE1B,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACjC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAI5C;IACC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC5C,MAAM,eAAe,GAAG,OAAO,GAAG,CAAC,CAAC;IACpC,IAAI,eAAe,GAAG,CAAC;QAAE,OAAO;IAChC,MAAM,uBAAuB,GAAG,QAAQ,CAAC,OAAO,CAC9C,KAAK,OAAO,GAAG,EACf,KAAK,eAAe,GAAG,CACxB,CAAC;IAEF,MAAM,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;IAE3E,OAAO,mBAAmB,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"source-files.js","sourceRoot":"","sources":["../../../src/utils/source-files.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB,EAAE,QAAgB;IACtE,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC7D,OAAO;YACL,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE,aAAa;SAC1B,CAAC;IACJ,CAAC;IACD,OAAO;QACL,aAAa,EAAE,IAAI;QACnB,UAAU;KACX,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,OAAe;IACpE,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACtD,OAAO;YACL,aAAa,EAAE,KAAK;YACpB,SAAS,EAAE,YAAY;SACxB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,aAAa,EAAE,IAAI;QACnB,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAgB,EAChB,GAAG,aAAuB;IAE1B,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAI5C;IACC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC5C,MAAM,eAAe,GAAG,OAAO,GAAG,CAAC,CAAC;IACpC,IAAI,eAAe,GAAG,CAAC;QAAE,OAAO;IAChC,MAAM,uBAAuB,GAAG,QAAQ,CAAC,OAAO,CAC9C,KAAK,OAAO,GAAG,EACf,KAAK,eAAe,GAAG,CACxB,CAAC;IAEF,MAAM,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;IAE3E,OAAO,mBAAmB,CAAC;AAC7B,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ObjectLiteralExpression, VariableStatement } from "ts-morph";
1
+ import type { ObjectLiteralExpression, SourceFile, VariableStatement } from "ts-morph";
2
2
  import { SyntaxKind } from "ts-morph";
3
3
  /** Returns a ts-morph ObjectLiteralExpression from a variable statement
4
4
  * if the type matches
@@ -6,4 +6,5 @@ import { SyntaxKind } from "ts-morph";
6
6
  export declare function getObjectLiteral(statement: VariableStatement | undefined): ObjectLiteralExpression | undefined;
7
7
  /** Returns the value of a property in a ts-morph ObjectLiteralExpression of type T if it exists */
8
8
  export declare function getObjectProperty<T extends SyntaxKind>(object: ObjectLiteralExpression | undefined, propertyName: string, propertyType: T): import("ts-morph").KindToNodeMappings[T] | undefined;
9
+ export declare function getVariableDeclarationByTypeName(sourceFile: SourceFile, typeName: string): import("ts-morph").VariableDeclaration | undefined;
9
10
  //# sourceMappingURL=syntax-getters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"syntax-getters.d.ts","sourceRoot":"","sources":["../../../src/utils/syntax-getters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,GAAG,SAAS,uCAKxE;AAED,mGAAmG;AACnG,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,UAAU,EACpD,MAAM,EAAE,uBAAuB,GAAG,SAAS,EAC3C,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,CAAC,wDAQhB"}
1
+ {"version":3,"file":"syntax-getters.d.ts","sourceRoot":"","sources":["../../../src/utils/syntax-getters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,UAAU,EACV,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,GAAG,SAAS,uCAKxE;AAED,mGAAmG;AACnG,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,UAAU,EACpD,MAAM,EAAE,uBAAuB,GAAG,SAAS,EAC3C,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,CAAC,wDAQhB;AAED,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,sDAMjB"}
@@ -17,4 +17,8 @@ export function getObjectProperty(object, propertyName, propertyType) {
17
17
  .find((child) => child.getKind() === propertyType)
18
18
  ?.asKindOrThrow(propertyType);
19
19
  }
20
+ export function getVariableDeclarationByTypeName(sourceFile, typeName) {
21
+ const declaration = sourceFile.getVariableDeclaration((declaration) => declaration.getType().getText().includes(typeName));
22
+ return declaration;
23
+ }
20
24
  //# sourceMappingURL=syntax-getters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"syntax-getters.js","sourceRoot":"","sources":["../../../src/utils/syntax-getters.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAwC;IACvE,OAAO,SAAS;QACd,EAAE,eAAe,EAAE;SAClB,EAAE,CAAC,CAAC,CAAC;QACN,EAAE,oBAAoB,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;AAC/D,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,iBAAiB,CAC/B,MAA2C,EAC3C,YAAoB,EACpB,YAAe;IAEf,OAAO,MAAM;QACX,EAAE,WAAW,CAAC,YAAY,CAAC;QAC3B,EAAE,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC;QACvC,EAAE,WAAW,EAAE;SACd,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,YAAY,CAAC;QAClD,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"syntax-getters.js","sourceRoot":"","sources":["../../../src/utils/syntax-getters.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAwC;IACvE,OAAO,SAAS;QACd,EAAE,eAAe,EAAE;SAClB,EAAE,CAAC,CAAC,CAAC;QACN,EAAE,oBAAoB,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;AAC/D,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,iBAAiB,CAC/B,MAA2C,EAC3C,YAAoB,EACpB,YAAe;IAEf,OAAO,MAAM;QACX,EAAE,WAAW,CAAC,YAAY,CAAC;QAC3B,EAAE,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC;QACvC,EAAE,WAAW,EAAE;SACd,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,YAAY,CAAC;QAClD,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,UAAsB,EACtB,QAAgB;IAEhB,MAAM,WAAW,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC,WAAW,EAAE,EAAE,CACpE,WAAW,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACnD,CAAC;IACF,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -1,13 +1,22 @@
1
1
  import { IndentationText, Project } from "ts-morph";
2
+ export declare const DEFAULT_PROJECT_OPTIONS: {
3
+ readonly skipAddingFilesFromTsConfig: true;
4
+ readonly skipLoadingLibFiles: true;
5
+ readonly manipulationSettings: {
6
+ readonly useTrailingCommas: true;
7
+ readonly indentationText: IndentationText.TwoSpaces;
8
+ readonly indentMultiLineObjectLiteralBeginningOnBlankLine: true;
9
+ };
10
+ };
2
11
  /** Returns the minimal typescript config for use in ts-morph file generation */
3
12
  export declare function getDefaultProjectOptions(tsConfigFilePath: string): {
4
13
  tsConfigFilePath: string;
5
- skipAddingFilesFromTsConfig: boolean;
6
- skipLoadingLibFiles: boolean;
14
+ skipAddingFilesFromTsConfig: true;
15
+ skipLoadingLibFiles: true;
7
16
  manipulationSettings: {
8
- useTrailingCommas: boolean;
9
- indentationText: IndentationText;
10
- indentMultiLineObjectLiteralBeginningOnBlankLine: boolean;
17
+ readonly useTrailingCommas: true;
18
+ readonly indentationText: IndentationText.TwoSpaces;
19
+ readonly indentMultiLineObjectLiteralBeginningOnBlankLine: true;
11
20
  };
12
21
  };
13
22
  /** Instantiates a ts-morph Project using the default typescript config and nearest tsconfig.json file */
@@ -1 +1 @@
1
- {"version":3,"file":"ts-morph-project.d.ts","sourceRoot":"","sources":["../../../src/utils/ts-morph-project.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEpD,gFAAgF;AAChF,wBAAgB,wBAAwB,CAAC,gBAAgB,EAAE,MAAM;;;;;;;;;EAiBhE;AAED,yGAAyG;AACzG,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,WAIrD"}
1
+ {"version":3,"file":"ts-morph-project.d.ts","sourceRoot":"","sources":["../../../src/utils/ts-morph-project.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEpD,eAAO,MAAM,uBAAuB;;;;;;;;CAW1B,CAAC;AAEX,gFAAgF;AAChF,wBAAgB,wBAAwB,CAAC,gBAAgB,EAAE,MAAM;;;;;;;;;EAKhE;AAED,yGAAyG;AACzG,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,WAIrD"}
@@ -1,19 +1,19 @@
1
1
  import path from "path";
2
2
  import { IndentationText, Project } from "ts-morph";
3
+ export const DEFAULT_PROJECT_OPTIONS = {
4
+ // don't add files from the tsconfig.json file, only use the ones we need
5
+ skipAddingFilesFromTsConfig: true,
6
+ // don't load library files, we only need the files we're adding
7
+ skipLoadingLibFiles: true,
8
+ // use formatting rules which match prettier
9
+ manipulationSettings: {
10
+ useTrailingCommas: true,
11
+ indentationText: IndentationText.TwoSpaces,
12
+ indentMultiLineObjectLiteralBeginningOnBlankLine: true,
13
+ },
14
+ };
3
15
  /** Returns the minimal typescript config for use in ts-morph file generation */
4
16
  export function getDefaultProjectOptions(tsConfigFilePath) {
5
- const DEFAULT_PROJECT_OPTIONS = {
6
- // don't add files from the tsconfig.json file, only use the ones we need
7
- skipAddingFilesFromTsConfig: true,
8
- // don't load library files, we only need the files we're adding
9
- skipLoadingLibFiles: true,
10
- // use formatting rules which match prettier
11
- manipulationSettings: {
12
- useTrailingCommas: true,
13
- indentationText: IndentationText.TwoSpaces,
14
- indentMultiLineObjectLiteralBeginningOnBlankLine: true,
15
- },
16
- };
17
17
  return {
18
18
  ...DEFAULT_PROJECT_OPTIONS,
19
19
  tsConfigFilePath,
@@ -1 +1 @@
1
- {"version":3,"file":"ts-morph-project.js","sourceRoot":"","sources":["../../../src/utils/ts-morph-project.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEpD,gFAAgF;AAChF,MAAM,UAAU,wBAAwB,CAAC,gBAAwB;IAC/D,MAAM,uBAAuB,GAAG;QAC9B,yEAAyE;QACzE,2BAA2B,EAAE,IAAI;QACjC,gEAAgE;QAChE,mBAAmB,EAAE,IAAI;QACzB,4CAA4C;QAC5C,oBAAoB,EAAE;YACpB,iBAAiB,EAAE,IAAI;YACvB,eAAe,EAAE,eAAe,CAAC,SAAS;YAC1C,gDAAgD,EAAE,IAAI;SACvD;KACF,CAAC;IACF,OAAO;QACL,GAAG,uBAAuB;QAC1B,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,mBAAmB,CAAC,UAAkB;IACpD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACxE,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"ts-morph-project.js","sourceRoot":"","sources":["../../../src/utils/ts-morph-project.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEpD,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,yEAAyE;IACzE,2BAA2B,EAAE,IAAI;IACjC,gEAAgE;IAChE,mBAAmB,EAAE,IAAI;IACzB,4CAA4C;IAC5C,oBAAoB,EAAE;QACpB,iBAAiB,EAAE,IAAI;QACvB,eAAe,EAAE,eAAe,CAAC,SAAS;QAC1C,gDAAgD,EAAE,IAAI;KACvD;CACO,CAAC;AAEX,gFAAgF;AAChF,MAAM,UAAU,wBAAwB,CAAC,gBAAwB;IAC/D,OAAO;QACL,GAAG,uBAAuB;QAC1B,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,mBAAmB,CAAC,UAAkB;IACpD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACxE,OAAO,OAAO,CAAC;AACjB,CAAC"}