@galadrim/galadmin 0.1.38 → 0.1.40

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 (486) hide show
  1. package/dist/tsconfig.tsbuildinfo +1 -1
  2. package/package.json +1 -1
  3. package/src/front/build/asset-manifest.json +3 -3
  4. package/src/front/build/index.html +1 -1
  5. package/src/front/build/static/js/{main.4ce5340d.chunk.js → main.8a63b422.chunk.js} +2 -2
  6. package/src/front/build/static/js/main.8a63b422.chunk.js.map +1 -0
  7. package/src/front/node_modules/.cache/.eslintcache +1 -1
  8. package/src/front/node_modules/.cache/babel-loader/0046fa6def7297665aceff65675276fb.json +1 -0
  9. package/src/front/node_modules/.cache/babel-loader/6b6404ad16b4fb247c0dfe43c03f4a02.json +1 -0
  10. package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/ef/81/2c9ecc926af52757cb3670536bc07219d1ccfba4d898a451352553fa6634b48d69ec580dd7c756e5fbcdc72e870664ef6bd7dc1af98e94d9eb182ba93be9 +1 -0
  11. package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/{c2/e5/5451dd89bb0fd48f988bf27c7ee614c66eb91f7085c5b5c8cb33048d0c32 → 31/fe/6640db1983b9834e63d1a760fa17521e8cf616b567ef7114a0676aa6971a} +1 -1
  12. package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/6c/19/fe86ba5d7c4062f185480ad22dd3b9fae9b30149827224339f9a633a9a94 +1 -1
  13. package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/87/08/421190bfe6e50816e059da6c33526c9943732ef856ebd2752d0cbfb4a852 +1 -1
  14. package/src/front/node_modules/.package-lock.json +72 -72
  15. package/src/front/node_modules/@babel/code-frame/lib/index.js +5 -4
  16. package/src/front/node_modules/@babel/code-frame/lib/index.js.map +1 -1
  17. package/src/front/node_modules/@babel/code-frame/package.json +3 -2
  18. package/src/front/node_modules/@babel/core/lib/config/cache-contexts.js.map +1 -1
  19. package/src/front/node_modules/@babel/core/lib/config/caching.js +2 -2
  20. package/src/front/node_modules/@babel/core/lib/config/caching.js.map +1 -1
  21. package/src/front/node_modules/@babel/core/lib/config/config-chain.js +13 -13
  22. package/src/front/node_modules/@babel/core/lib/config/config-chain.js.map +1 -1
  23. package/src/front/node_modules/@babel/core/lib/config/config-descriptors.js +6 -6
  24. package/src/front/node_modules/@babel/core/lib/config/config-descriptors.js.map +1 -1
  25. package/src/front/node_modules/@babel/core/lib/config/files/configuration.js +44 -41
  26. package/src/front/node_modules/@babel/core/lib/config/files/configuration.js.map +1 -1
  27. package/src/front/node_modules/@babel/core/lib/config/files/import-meta-resolve.js +1 -1
  28. package/src/front/node_modules/@babel/core/lib/config/files/import-meta-resolve.js.map +1 -1
  29. package/src/front/node_modules/@babel/core/lib/config/files/index-browser.js.map +1 -1
  30. package/src/front/node_modules/@babel/core/lib/config/files/index.js +3 -3
  31. package/src/front/node_modules/@babel/core/lib/config/files/index.js.map +1 -1
  32. package/src/front/node_modules/@babel/core/lib/config/files/module-types.js +27 -8
  33. package/src/front/node_modules/@babel/core/lib/config/files/module-types.js.map +1 -1
  34. package/src/front/node_modules/@babel/core/lib/config/files/package.js +2 -2
  35. package/src/front/node_modules/@babel/core/lib/config/files/package.js.map +1 -1
  36. package/src/front/node_modules/@babel/core/lib/config/files/plugins.js +3 -3
  37. package/src/front/node_modules/@babel/core/lib/config/files/plugins.js.map +1 -1
  38. package/src/front/node_modules/@babel/core/lib/config/files/types.js.map +1 -1
  39. package/src/front/node_modules/@babel/core/lib/config/files/utils.js +2 -2
  40. package/src/front/node_modules/@babel/core/lib/config/files/utils.js.map +1 -1
  41. package/src/front/node_modules/@babel/core/lib/config/full.js +13 -13
  42. package/src/front/node_modules/@babel/core/lib/config/full.js.map +1 -1
  43. package/src/front/node_modules/@babel/core/lib/config/helpers/config-api.js +6 -6
  44. package/src/front/node_modules/@babel/core/lib/config/helpers/config-api.js.map +1 -1
  45. package/src/front/node_modules/@babel/core/lib/config/index.js +60 -40
  46. package/src/front/node_modules/@babel/core/lib/config/index.js.map +1 -1
  47. package/src/front/node_modules/@babel/core/lib/config/item.js +1 -1
  48. package/src/front/node_modules/@babel/core/lib/config/item.js.map +1 -1
  49. package/src/front/node_modules/@babel/core/lib/config/partial.js +15 -23
  50. package/src/front/node_modules/@babel/core/lib/config/partial.js.map +1 -1
  51. package/src/front/node_modules/@babel/core/lib/config/plugin.js +1 -1
  52. package/src/front/node_modules/@babel/core/lib/config/plugin.js.map +1 -1
  53. package/src/front/node_modules/@babel/core/lib/config/printer.js.map +1 -1
  54. package/src/front/node_modules/@babel/core/lib/config/resolve-targets-browser.js.map +1 -1
  55. package/src/front/node_modules/@babel/core/lib/config/resolve-targets.js.map +1 -1
  56. package/src/front/node_modules/@babel/core/lib/config/util.js.map +1 -1
  57. package/src/front/node_modules/@babel/core/lib/config/validation/option-assertions.js +1 -1
  58. package/src/front/node_modules/@babel/core/lib/config/validation/option-assertions.js.map +1 -1
  59. package/src/front/node_modules/@babel/core/lib/config/validation/options.js +3 -3
  60. package/src/front/node_modules/@babel/core/lib/config/validation/options.js.map +1 -1
  61. package/src/front/node_modules/@babel/core/lib/config/validation/plugins.js +1 -1
  62. package/src/front/node_modules/@babel/core/lib/config/validation/plugins.js.map +1 -1
  63. package/src/front/node_modules/@babel/core/lib/errors/config-error.js +1 -1
  64. package/src/front/node_modules/@babel/core/lib/errors/config-error.js.map +1 -1
  65. package/src/front/node_modules/@babel/core/lib/gensync-utils/functional.js +1 -1
  66. package/src/front/node_modules/@babel/core/lib/gensync-utils/functional.js.map +1 -1
  67. package/src/front/node_modules/@babel/core/lib/index.js +23 -23
  68. package/src/front/node_modules/@babel/core/lib/index.js.map +1 -1
  69. package/src/front/node_modules/@babel/core/lib/parse.js +6 -6
  70. package/src/front/node_modules/@babel/core/lib/parse.js.map +1 -1
  71. package/src/front/node_modules/@babel/core/lib/parser/index.js +1 -1
  72. package/src/front/node_modules/@babel/core/lib/parser/index.js.map +1 -1
  73. package/src/front/node_modules/@babel/core/lib/tools/build-external-helpers.js +1 -1
  74. package/src/front/node_modules/@babel/core/lib/tools/build-external-helpers.js.map +1 -1
  75. package/src/front/node_modules/@babel/core/lib/transform-ast.js +5 -5
  76. package/src/front/node_modules/@babel/core/lib/transform-ast.js.map +1 -1
  77. package/src/front/node_modules/@babel/core/lib/transform-file.js +5 -5
  78. package/src/front/node_modules/@babel/core/lib/transform-file.js.map +1 -1
  79. package/src/front/node_modules/@babel/core/lib/transform.js +5 -5
  80. package/src/front/node_modules/@babel/core/lib/transform.js.map +1 -1
  81. package/src/front/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js +1 -1
  82. package/src/front/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js.map +1 -1
  83. package/src/front/node_modules/@babel/core/lib/transformation/file/file.js.map +1 -1
  84. package/src/front/node_modules/@babel/core/lib/transformation/file/generate.js +1 -1
  85. package/src/front/node_modules/@babel/core/lib/transformation/file/generate.js.map +1 -1
  86. package/src/front/node_modules/@babel/core/lib/transformation/index.js +6 -6
  87. package/src/front/node_modules/@babel/core/lib/transformation/index.js.map +1 -1
  88. package/src/front/node_modules/@babel/core/lib/transformation/normalize-file.js +4 -4
  89. package/src/front/node_modules/@babel/core/lib/transformation/normalize-file.js.map +1 -1
  90. package/src/front/node_modules/@babel/core/lib/transformation/normalize-opts.js.map +1 -1
  91. package/src/front/node_modules/@babel/core/lib/transformation/plugin-pass.js.map +1 -1
  92. package/src/front/node_modules/@babel/core/lib/vendor/import-meta-resolve.js.map +1 -1
  93. package/src/front/node_modules/@babel/core/package.json +15 -15
  94. package/src/front/node_modules/@babel/core/src/config/files/index-browser.ts +2 -2
  95. package/src/front/node_modules/@babel/core/src/config/files/index.ts +4 -4
  96. package/src/front/node_modules/@babel/core/src/config/resolve-targets-browser.ts +1 -1
  97. package/src/front/node_modules/@babel/core/src/config/resolve-targets.ts +1 -1
  98. package/src/front/node_modules/@babel/core/src/transform-file.ts +5 -5
  99. package/src/front/node_modules/@babel/generator/lib/buffer.js.map +1 -1
  100. package/src/front/node_modules/@babel/generator/lib/generators/base.js.map +1 -1
  101. package/src/front/node_modules/@babel/generator/lib/generators/classes.js.map +1 -1
  102. package/src/front/node_modules/@babel/generator/lib/generators/expressions.js +1 -1
  103. package/src/front/node_modules/@babel/generator/lib/generators/expressions.js.map +1 -1
  104. package/src/front/node_modules/@babel/generator/lib/generators/flow.js +2 -2
  105. package/src/front/node_modules/@babel/generator/lib/generators/flow.js.map +1 -1
  106. package/src/front/node_modules/@babel/generator/lib/generators/index.js +11 -11
  107. package/src/front/node_modules/@babel/generator/lib/generators/index.js.map +1 -1
  108. package/src/front/node_modules/@babel/generator/lib/generators/jsx.js.map +1 -1
  109. package/src/front/node_modules/@babel/generator/lib/generators/methods.js.map +1 -1
  110. package/src/front/node_modules/@babel/generator/lib/generators/modules.js.map +1 -1
  111. package/src/front/node_modules/@babel/generator/lib/generators/statements.js.map +1 -1
  112. package/src/front/node_modules/@babel/generator/lib/generators/template-literals.js.map +1 -1
  113. package/src/front/node_modules/@babel/generator/lib/generators/types.js.map +1 -1
  114. package/src/front/node_modules/@babel/generator/lib/generators/typescript.js.map +1 -1
  115. package/src/front/node_modules/@babel/generator/lib/index.js +2 -2
  116. package/src/front/node_modules/@babel/generator/lib/index.js.map +1 -1
  117. package/src/front/node_modules/@babel/generator/lib/node/index.js +2 -2
  118. package/src/front/node_modules/@babel/generator/lib/node/index.js.map +1 -1
  119. package/src/front/node_modules/@babel/generator/lib/node/whitespace.js.map +1 -1
  120. package/src/front/node_modules/@babel/generator/lib/printer.js +3 -3
  121. package/src/front/node_modules/@babel/generator/lib/printer.js.map +1 -1
  122. package/src/front/node_modules/@babel/generator/package.json +4 -4
  123. package/src/front/node_modules/@babel/helper-compilation-targets/lib/debug.js +2 -2
  124. package/src/front/node_modules/@babel/helper-compilation-targets/lib/debug.js.map +1 -1
  125. package/src/front/node_modules/@babel/helper-compilation-targets/lib/filter-items.js +1 -1
  126. package/src/front/node_modules/@babel/helper-compilation-targets/lib/filter-items.js.map +1 -1
  127. package/src/front/node_modules/@babel/helper-compilation-targets/lib/index.js +6 -6
  128. package/src/front/node_modules/@babel/helper-compilation-targets/lib/index.js.map +1 -1
  129. package/src/front/node_modules/@babel/helper-compilation-targets/lib/pretty.js +1 -1
  130. package/src/front/node_modules/@babel/helper-compilation-targets/lib/pretty.js.map +1 -1
  131. package/src/front/node_modules/@babel/helper-compilation-targets/lib/utils.js +1 -1
  132. package/src/front/node_modules/@babel/helper-compilation-targets/lib/utils.js.map +1 -1
  133. package/src/front/node_modules/@babel/helper-compilation-targets/package.json +2 -2
  134. package/src/front/node_modules/@babel/helper-module-imports/README.md +1 -1
  135. package/src/front/node_modules/@babel/helper-module-imports/lib/import-injector.js +2 -2
  136. package/src/front/node_modules/@babel/helper-module-imports/lib/import-injector.js.map +1 -1
  137. package/src/front/node_modules/@babel/helper-module-imports/lib/index.js +2 -2
  138. package/src/front/node_modules/@babel/helper-module-imports/lib/index.js.map +1 -1
  139. package/src/front/node_modules/@babel/helper-module-imports/package.json +4 -4
  140. package/src/front/node_modules/@babel/helper-module-transforms/lib/index.js +5 -5
  141. package/src/front/node_modules/@babel/helper-module-transforms/lib/index.js.map +1 -1
  142. package/src/front/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js.map +1 -1
  143. package/src/front/node_modules/@babel/helper-module-transforms/package.json +5 -5
  144. package/src/front/node_modules/@babel/helper-validator-identifier/README.md +1 -1
  145. package/src/front/node_modules/@babel/helper-validator-identifier/lib/index.js +2 -2
  146. package/src/front/node_modules/@babel/helper-validator-identifier/lib/index.js.map +1 -1
  147. package/src/front/node_modules/@babel/helper-validator-identifier/package.json +1 -1
  148. package/src/front/node_modules/@babel/helper-validator-identifier/scripts/generate-identifier-regex.js +8 -6
  149. package/src/front/node_modules/@babel/helper-validator-option/README.md +1 -1
  150. package/src/front/node_modules/@babel/helper-validator-option/lib/index.js +2 -2
  151. package/src/front/node_modules/@babel/helper-validator-option/lib/index.js.map +1 -1
  152. package/src/front/node_modules/@babel/helper-validator-option/lib/validator.js +1 -1
  153. package/src/front/node_modules/@babel/helper-validator-option/lib/validator.js.map +1 -1
  154. package/src/front/node_modules/@babel/helper-validator-option/package.json +1 -1
  155. package/src/front/node_modules/@babel/helpers/lib/helpers-generated.js +21 -21
  156. package/src/front/node_modules/@babel/helpers/lib/helpers-generated.js.map +1 -1
  157. package/src/front/node_modules/@babel/helpers/lib/helpers.js +1 -1
  158. package/src/front/node_modules/@babel/helpers/lib/helpers.js.map +1 -1
  159. package/src/front/node_modules/@babel/helpers/lib/index.js +1 -1
  160. package/src/front/node_modules/@babel/helpers/lib/index.js.map +1 -1
  161. package/src/front/node_modules/@babel/helpers/package.json +7 -7
  162. package/src/front/node_modules/@babel/helpers/scripts/generate-helpers.js +1 -1
  163. package/src/front/node_modules/@babel/highlight/lib/index.js +6 -5
  164. package/src/front/node_modules/@babel/highlight/lib/index.js.map +1 -1
  165. package/src/front/node_modules/@babel/highlight/package.json +1 -1
  166. package/src/front/node_modules/@babel/parser/lib/index.js +52 -57
  167. package/src/front/node_modules/@babel/parser/lib/index.js.map +1 -1
  168. package/src/front/node_modules/@babel/parser/package.json +4 -4
  169. package/src/front/node_modules/@babel/template/README.md +1 -1
  170. package/src/front/node_modules/@babel/template/lib/builder.js +3 -3
  171. package/src/front/node_modules/@babel/template/lib/builder.js.map +1 -1
  172. package/src/front/node_modules/@babel/template/lib/index.js +2 -2
  173. package/src/front/node_modules/@babel/template/lib/index.js.map +1 -1
  174. package/src/front/node_modules/@babel/template/lib/literal.js +3 -3
  175. package/src/front/node_modules/@babel/template/lib/literal.js.map +1 -1
  176. package/src/front/node_modules/@babel/template/lib/parse.js.map +1 -1
  177. package/src/front/node_modules/@babel/template/lib/populate.js.map +1 -1
  178. package/src/front/node_modules/@babel/template/lib/string.js +3 -3
  179. package/src/front/node_modules/@babel/template/lib/string.js.map +1 -1
  180. package/src/front/node_modules/@babel/template/package.json +4 -4
  181. package/src/front/node_modules/@babel/traverse/lib/cache.js.map +1 -1
  182. package/src/front/node_modules/@babel/traverse/lib/context.js +2 -2
  183. package/src/front/node_modules/@babel/traverse/lib/context.js.map +1 -1
  184. package/src/front/node_modules/@babel/traverse/lib/hub.js.map +1 -1
  185. package/src/front/node_modules/@babel/traverse/lib/index.js +8 -8
  186. package/src/front/node_modules/@babel/traverse/lib/index.js.map +1 -1
  187. package/src/front/node_modules/@babel/traverse/lib/path/ancestry.js.map +1 -1
  188. package/src/front/node_modules/@babel/traverse/lib/path/comments.js.map +1 -1
  189. package/src/front/node_modules/@babel/traverse/lib/path/context.js +2 -2
  190. package/src/front/node_modules/@babel/traverse/lib/path/context.js.map +1 -1
  191. package/src/front/node_modules/@babel/traverse/lib/path/conversion.js +1 -1
  192. package/src/front/node_modules/@babel/traverse/lib/path/conversion.js.map +1 -1
  193. package/src/front/node_modules/@babel/traverse/lib/path/evaluation.js.map +1 -1
  194. package/src/front/node_modules/@babel/traverse/lib/path/family.js +1 -1
  195. package/src/front/node_modules/@babel/traverse/lib/path/family.js.map +1 -1
  196. package/src/front/node_modules/@babel/traverse/lib/path/index.js +17 -17
  197. package/src/front/node_modules/@babel/traverse/lib/path/index.js.map +1 -1
  198. package/src/front/node_modules/@babel/traverse/lib/path/inference/index.js +1 -1
  199. package/src/front/node_modules/@babel/traverse/lib/path/inference/index.js.map +1 -1
  200. package/src/front/node_modules/@babel/traverse/lib/path/inference/inferer-reference.js +1 -1
  201. package/src/front/node_modules/@babel/traverse/lib/path/inference/inferer-reference.js.map +1 -1
  202. package/src/front/node_modules/@babel/traverse/lib/path/inference/inferers.js +2 -2
  203. package/src/front/node_modules/@babel/traverse/lib/path/inference/inferers.js.map +1 -1
  204. package/src/front/node_modules/@babel/traverse/lib/path/introspection.js.map +1 -1
  205. package/src/front/node_modules/@babel/traverse/lib/path/lib/hoister.js.map +1 -1
  206. package/src/front/node_modules/@babel/traverse/lib/path/lib/removal-hooks.js.map +1 -1
  207. package/src/front/node_modules/@babel/traverse/lib/path/lib/virtual-types-validator.js.map +1 -1
  208. package/src/front/node_modules/@babel/traverse/lib/path/modification.js +3 -3
  209. package/src/front/node_modules/@babel/traverse/lib/path/modification.js.map +1 -1
  210. package/src/front/node_modules/@babel/traverse/lib/path/removal.js +3 -3
  211. package/src/front/node_modules/@babel/traverse/lib/path/removal.js.map +1 -1
  212. package/src/front/node_modules/@babel/traverse/lib/path/replacement.js +3 -3
  213. package/src/front/node_modules/@babel/traverse/lib/path/replacement.js.map +1 -1
  214. package/src/front/node_modules/@babel/traverse/lib/scope/binding.js +1 -3
  215. package/src/front/node_modules/@babel/traverse/lib/scope/binding.js.map +1 -1
  216. package/src/front/node_modules/@babel/traverse/lib/scope/index.js +5 -5
  217. package/src/front/node_modules/@babel/traverse/lib/scope/index.js.map +1 -1
  218. package/src/front/node_modules/@babel/traverse/lib/scope/lib/renamer.js +2 -2
  219. package/src/front/node_modules/@babel/traverse/lib/scope/lib/renamer.js.map +1 -1
  220. package/src/front/node_modules/@babel/traverse/lib/traverse-node.js +1 -1
  221. package/src/front/node_modules/@babel/traverse/lib/traverse-node.js.map +1 -1
  222. package/src/front/node_modules/@babel/traverse/lib/types.js.map +1 -1
  223. package/src/front/node_modules/@babel/traverse/lib/visitors.js +1 -1
  224. package/src/front/node_modules/@babel/traverse/lib/visitors.js.map +1 -1
  225. package/src/front/node_modules/@babel/traverse/package.json +6 -6
  226. package/src/front/node_modules/@babel/types/lib/asserts/assertNode.js +1 -1
  227. package/src/front/node_modules/@babel/types/lib/asserts/assertNode.js.map +1 -1
  228. package/src/front/node_modules/@babel/types/lib/asserts/generated/index.js +2 -2
  229. package/src/front/node_modules/@babel/types/lib/asserts/generated/index.js.map +1 -1
  230. package/src/front/node_modules/@babel/types/lib/ast-types/generated/index.js.map +1 -1
  231. package/src/front/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js +3 -3
  232. package/src/front/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js.map +1 -1
  233. package/src/front/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js +9 -9
  234. package/src/front/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js.map +1 -1
  235. package/src/front/node_modules/@babel/types/lib/builders/generated/index.js +2 -2
  236. package/src/front/node_modules/@babel/types/lib/builders/generated/index.js.map +1 -1
  237. package/src/front/node_modules/@babel/types/lib/builders/generated/uppercase.js +1 -1
  238. package/src/front/node_modules/@babel/types/lib/builders/generated/uppercase.js.map +1 -1
  239. package/src/front/node_modules/@babel/types/lib/builders/react/buildChildren.js +5 -5
  240. package/src/front/node_modules/@babel/types/lib/builders/react/buildChildren.js.map +1 -1
  241. package/src/front/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js +5 -5
  242. package/src/front/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js.map +1 -1
  243. package/src/front/node_modules/@babel/types/lib/builders/validateNode.js +3 -3
  244. package/src/front/node_modules/@babel/types/lib/builders/validateNode.js.map +1 -1
  245. package/src/front/node_modules/@babel/types/lib/clone/clone.js +1 -1
  246. package/src/front/node_modules/@babel/types/lib/clone/clone.js.map +1 -1
  247. package/src/front/node_modules/@babel/types/lib/clone/cloneDeep.js +1 -1
  248. package/src/front/node_modules/@babel/types/lib/clone/cloneDeep.js.map +1 -1
  249. package/src/front/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js +1 -1
  250. package/src/front/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js.map +1 -1
  251. package/src/front/node_modules/@babel/types/lib/clone/cloneNode.js +6 -6
  252. package/src/front/node_modules/@babel/types/lib/clone/cloneNode.js.map +1 -1
  253. package/src/front/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js +1 -1
  254. package/src/front/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js.map +1 -1
  255. package/src/front/node_modules/@babel/types/lib/comments/addComment.js +1 -1
  256. package/src/front/node_modules/@babel/types/lib/comments/addComment.js.map +1 -1
  257. package/src/front/node_modules/@babel/types/lib/comments/addComments.js.map +1 -1
  258. package/src/front/node_modules/@babel/types/lib/comments/inheritInnerComments.js +1 -1
  259. package/src/front/node_modules/@babel/types/lib/comments/inheritInnerComments.js.map +1 -1
  260. package/src/front/node_modules/@babel/types/lib/comments/inheritLeadingComments.js +1 -1
  261. package/src/front/node_modules/@babel/types/lib/comments/inheritLeadingComments.js.map +1 -1
  262. package/src/front/node_modules/@babel/types/lib/comments/inheritTrailingComments.js +1 -1
  263. package/src/front/node_modules/@babel/types/lib/comments/inheritTrailingComments.js.map +1 -1
  264. package/src/front/node_modules/@babel/types/lib/comments/inheritsComments.js +3 -3
  265. package/src/front/node_modules/@babel/types/lib/comments/inheritsComments.js.map +1 -1
  266. package/src/front/node_modules/@babel/types/lib/comments/removeComments.js +2 -2
  267. package/src/front/node_modules/@babel/types/lib/comments/removeComments.js.map +1 -1
  268. package/src/front/node_modules/@babel/types/lib/constants/generated/index.js +50 -50
  269. package/src/front/node_modules/@babel/types/lib/constants/generated/index.js.map +1 -1
  270. package/src/front/node_modules/@babel/types/lib/converters/ensureBlock.js +1 -1
  271. package/src/front/node_modules/@babel/types/lib/converters/ensureBlock.js.map +1 -1
  272. package/src/front/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js +14 -14
  273. package/src/front/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js.map +1 -1
  274. package/src/front/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js +1 -1
  275. package/src/front/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js.map +1 -1
  276. package/src/front/node_modules/@babel/types/lib/converters/toBlock.js +9 -9
  277. package/src/front/node_modules/@babel/types/lib/converters/toBlock.js.map +1 -1
  278. package/src/front/node_modules/@babel/types/lib/converters/toComputedKey.js +3 -3
  279. package/src/front/node_modules/@babel/types/lib/converters/toComputedKey.js.map +1 -1
  280. package/src/front/node_modules/@babel/types/lib/converters/toExpression.js +6 -6
  281. package/src/front/node_modules/@babel/types/lib/converters/toExpression.js.map +1 -1
  282. package/src/front/node_modules/@babel/types/lib/converters/toIdentifier.js +1 -1
  283. package/src/front/node_modules/@babel/types/lib/converters/toIdentifier.js.map +1 -1
  284. package/src/front/node_modules/@babel/types/lib/converters/toKeyAlias.js +5 -5
  285. package/src/front/node_modules/@babel/types/lib/converters/toKeyAlias.js.map +1 -1
  286. package/src/front/node_modules/@babel/types/lib/converters/toSequenceExpression.js +1 -1
  287. package/src/front/node_modules/@babel/types/lib/converters/toSequenceExpression.js.map +1 -1
  288. package/src/front/node_modules/@babel/types/lib/converters/toStatement.js +7 -7
  289. package/src/front/node_modules/@babel/types/lib/converters/toStatement.js.map +1 -1
  290. package/src/front/node_modules/@babel/types/lib/converters/valueToNode.js +17 -17
  291. package/src/front/node_modules/@babel/types/lib/converters/valueToNode.js.map +1 -1
  292. package/src/front/node_modules/@babel/types/lib/definitions/core.js +9 -9
  293. package/src/front/node_modules/@babel/types/lib/definitions/core.js.map +1 -1
  294. package/src/front/node_modules/@babel/types/lib/definitions/experimental.js +1 -1
  295. package/src/front/node_modules/@babel/types/lib/definitions/experimental.js.map +1 -1
  296. package/src/front/node_modules/@babel/types/lib/definitions/flow.js +1 -1
  297. package/src/front/node_modules/@babel/types/lib/definitions/flow.js.map +1 -1
  298. package/src/front/node_modules/@babel/types/lib/definitions/index.js +9 -9
  299. package/src/front/node_modules/@babel/types/lib/definitions/index.js.map +1 -1
  300. package/src/front/node_modules/@babel/types/lib/definitions/jsx.js +1 -1
  301. package/src/front/node_modules/@babel/types/lib/definitions/jsx.js.map +1 -1
  302. package/src/front/node_modules/@babel/types/lib/definitions/misc.js +2 -2
  303. package/src/front/node_modules/@babel/types/lib/definitions/misc.js.map +1 -1
  304. package/src/front/node_modules/@babel/types/lib/definitions/placeholders.js +1 -1
  305. package/src/front/node_modules/@babel/types/lib/definitions/placeholders.js.map +1 -1
  306. package/src/front/node_modules/@babel/types/lib/definitions/typescript.js +4 -4
  307. package/src/front/node_modules/@babel/types/lib/definitions/typescript.js.map +1 -1
  308. package/src/front/node_modules/@babel/types/lib/definitions/utils.js +2 -2
  309. package/src/front/node_modules/@babel/types/lib/definitions/utils.js.map +1 -1
  310. package/src/front/node_modules/@babel/types/lib/index-legacy.d.ts +10 -10
  311. package/src/front/node_modules/@babel/types/lib/index.d.ts +12 -12
  312. package/src/front/node_modules/@babel/types/lib/index.js +84 -84
  313. package/src/front/node_modules/@babel/types/lib/index.js.flow +10 -10
  314. package/src/front/node_modules/@babel/types/lib/index.js.map +1 -1
  315. package/src/front/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js +2 -2
  316. package/src/front/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js.map +1 -1
  317. package/src/front/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js +6 -6
  318. package/src/front/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js.map +1 -1
  319. package/src/front/node_modules/@babel/types/lib/modifications/inherits.js +4 -4
  320. package/src/front/node_modules/@babel/types/lib/modifications/inherits.js.map +1 -1
  321. package/src/front/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js +4 -4
  322. package/src/front/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js.map +1 -1
  323. package/src/front/node_modules/@babel/types/lib/modifications/removeProperties.js +2 -2
  324. package/src/front/node_modules/@babel/types/lib/modifications/removeProperties.js.map +1 -1
  325. package/src/front/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js +2 -2
  326. package/src/front/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js.map +1 -1
  327. package/src/front/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js +6 -6
  328. package/src/front/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js.map +1 -1
  329. package/src/front/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js +6 -6
  330. package/src/front/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js.map +1 -1
  331. package/src/front/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js +1 -1
  332. package/src/front/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js.map +1 -1
  333. package/src/front/node_modules/@babel/types/lib/traverse/traverse.js +2 -2
  334. package/src/front/node_modules/@babel/types/lib/traverse/traverse.js.map +1 -1
  335. package/src/front/node_modules/@babel/types/lib/traverse/traverseFast.js +2 -2
  336. package/src/front/node_modules/@babel/types/lib/traverse/traverseFast.js.map +1 -1
  337. package/src/front/node_modules/@babel/types/lib/utils/inherit.js.map +1 -1
  338. package/src/front/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js +3 -3
  339. package/src/front/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js.map +1 -1
  340. package/src/front/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js +1 -1
  341. package/src/front/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js.map +1 -1
  342. package/src/front/node_modules/@babel/types/lib/validators/generated/index.js +2 -2
  343. package/src/front/node_modules/@babel/types/lib/validators/generated/index.js.map +1 -1
  344. package/src/front/node_modules/@babel/types/lib/validators/is.js +5 -5
  345. package/src/front/node_modules/@babel/types/lib/validators/is.js.map +1 -1
  346. package/src/front/node_modules/@babel/types/lib/validators/isBinding.js +1 -1
  347. package/src/front/node_modules/@babel/types/lib/validators/isBinding.js.map +1 -1
  348. package/src/front/node_modules/@babel/types/lib/validators/isBlockScoped.js +3 -3
  349. package/src/front/node_modules/@babel/types/lib/validators/isBlockScoped.js.map +1 -1
  350. package/src/front/node_modules/@babel/types/lib/validators/isImmutable.js +3 -3
  351. package/src/front/node_modules/@babel/types/lib/validators/isImmutable.js.map +1 -1
  352. package/src/front/node_modules/@babel/types/lib/validators/isLet.js +3 -3
  353. package/src/front/node_modules/@babel/types/lib/validators/isLet.js.map +1 -1
  354. package/src/front/node_modules/@babel/types/lib/validators/isNode.js +2 -2
  355. package/src/front/node_modules/@babel/types/lib/validators/isNode.js.map +1 -1
  356. package/src/front/node_modules/@babel/types/lib/validators/isNodesEquivalent.js +3 -3
  357. package/src/front/node_modules/@babel/types/lib/validators/isNodesEquivalent.js.map +1 -1
  358. package/src/front/node_modules/@babel/types/lib/validators/isPlaceholderType.js +2 -2
  359. package/src/front/node_modules/@babel/types/lib/validators/isPlaceholderType.js.map +1 -1
  360. package/src/front/node_modules/@babel/types/lib/validators/isReferenced.js.map +1 -1
  361. package/src/front/node_modules/@babel/types/lib/validators/isScope.js +4 -4
  362. package/src/front/node_modules/@babel/types/lib/validators/isScope.js.map +1 -1
  363. package/src/front/node_modules/@babel/types/lib/validators/isSpecifierDefault.js +2 -2
  364. package/src/front/node_modules/@babel/types/lib/validators/isSpecifierDefault.js.map +1 -1
  365. package/src/front/node_modules/@babel/types/lib/validators/isType.js +3 -3
  366. package/src/front/node_modules/@babel/types/lib/validators/isType.js.map +1 -1
  367. package/src/front/node_modules/@babel/types/lib/validators/isValidES3Identifier.js +1 -1
  368. package/src/front/node_modules/@babel/types/lib/validators/isValidES3Identifier.js.map +1 -1
  369. package/src/front/node_modules/@babel/types/lib/validators/isVar.js +4 -4
  370. package/src/front/node_modules/@babel/types/lib/validators/isVar.js.map +1 -1
  371. package/src/front/node_modules/@babel/types/lib/validators/matchesPattern.js +6 -6
  372. package/src/front/node_modules/@babel/types/lib/validators/matchesPattern.js.map +1 -1
  373. package/src/front/node_modules/@babel/types/lib/validators/react/isReactComponent.js +1 -1
  374. package/src/front/node_modules/@babel/types/lib/validators/react/isReactComponent.js.map +1 -1
  375. package/src/front/node_modules/@babel/types/lib/validators/validate.js +3 -3
  376. package/src/front/node_modules/@babel/types/lib/validators/validate.js.map +1 -1
  377. package/src/front/node_modules/@babel/types/package.json +4 -4
  378. package/src/front/node_modules/typescript/lib/lib.decorators.d.ts +17 -0
  379. package/src/front/node_modules/typescript/lib/lib.dom.d.ts +313 -90
  380. package/src/front/node_modules/typescript/lib/lib.es2015.collection.d.ts +9 -9
  381. package/src/front/node_modules/typescript/lib/lib.es2015.core.d.ts +2 -2
  382. package/src/front/node_modules/typescript/lib/lib.es2015.iterable.d.ts +4 -4
  383. package/src/front/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +2 -2
  384. package/src/front/node_modules/typescript/lib/lib.es2017.d.ts +1 -0
  385. package/src/front/node_modules/typescript/lib/lib.es2017.date.d.ts +31 -0
  386. package/src/front/node_modules/typescript/lib/lib.es2020.bigint.d.ts +4 -4
  387. package/src/front/node_modules/typescript/lib/lib.es2021.weakref.d.ts +19 -16
  388. package/src/front/node_modules/typescript/lib/lib.es2023.array.d.ts +618 -36
  389. package/src/front/node_modules/typescript/lib/lib.es2023.collection.d.ts +21 -0
  390. package/src/front/node_modules/typescript/lib/lib.es2023.d.ts +1 -0
  391. package/src/front/node_modules/typescript/lib/lib.es5.d.ts +27 -18
  392. package/src/front/node_modules/typescript/lib/lib.esnext.d.ts +2 -0
  393. package/src/front/node_modules/typescript/lib/lib.esnext.decorators.d.ts +28 -0
  394. package/src/front/node_modules/typescript/lib/lib.esnext.disposable.d.ts +185 -0
  395. package/src/front/node_modules/typescript/lib/lib.webworker.d.ts +172 -33
  396. package/src/front/node_modules/typescript/lib/tsc.js +8311 -6557
  397. package/src/front/node_modules/typescript/lib/tsserver.js +11796 -9281
  398. package/src/front/node_modules/typescript/lib/tsserverlibrary.d.ts +287 -249
  399. package/src/front/node_modules/typescript/lib/tsserverlibrary.js +11801 -9288
  400. package/src/front/node_modules/typescript/lib/typescript.d.ts +274 -248
  401. package/src/front/node_modules/typescript/lib/typescript.js +11678 -9231
  402. package/src/front/node_modules/typescript/lib/typingsInstaller.js +1852 -1645
  403. package/src/front/node_modules/typescript/package.json +7 -7
  404. package/src/front/package-lock.json +144 -144
  405. package/src/front/src/components/inputs/FileInput.js +1 -0
  406. package/src/front/src/pages/Records.js +1 -0
  407. package/src/front/build/static/js/main.4ce5340d.chunk.js.map +0 -1
  408. package/src/front/node_modules/.cache/babel-loader/1dbf9b1b83cdf813e9dc5f561b9b97ac.json +0 -1
  409. package/src/front/node_modules/.cache/babel-loader/d88f947a76ac5f78797e69c737b6267e.json +0 -1
  410. package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/c3/3e/f2b5b90044b7bdbb4cff67b2c09e24bb506274240d920de24bb4b678f3f00b80f7e9f0900cd1de883484031488d8603e97ea6b4e39a9c6ab5160353d3be9 +0 -1
  411. package/src/front/node_modules/@babel/parser/lib/options.js +0 -44
  412. package/src/front/node_modules/@babel/parser/lib/options.js.map +0 -1
  413. package/src/front/node_modules/@babel/parser/lib/parse-error/credentials.js +0 -28
  414. package/src/front/node_modules/@babel/parser/lib/parse-error/credentials.js.map +0 -1
  415. package/src/front/node_modules/@babel/parser/lib/parse-error/module-errors.js +0 -20
  416. package/src/front/node_modules/@babel/parser/lib/parse-error/module-errors.js.map +0 -1
  417. package/src/front/node_modules/@babel/parser/lib/parse-error/pipeline-operator-errors.js +0 -32
  418. package/src/front/node_modules/@babel/parser/lib/parse-error/pipeline-operator-errors.js.map +0 -1
  419. package/src/front/node_modules/@babel/parser/lib/parse-error/standard-errors.js +0 -220
  420. package/src/front/node_modules/@babel/parser/lib/parse-error/standard-errors.js.map +0 -1
  421. package/src/front/node_modules/@babel/parser/lib/parse-error/strict-mode-errors.js +0 -22
  422. package/src/front/node_modules/@babel/parser/lib/parse-error/strict-mode-errors.js.map +0 -1
  423. package/src/front/node_modules/@babel/parser/lib/parse-error/to-node-description.js +0 -39
  424. package/src/front/node_modules/@babel/parser/lib/parse-error/to-node-description.js.map +0 -1
  425. package/src/front/node_modules/@babel/parser/lib/parse-error.js +0 -106
  426. package/src/front/node_modules/@babel/parser/lib/parse-error.js.map +0 -1
  427. package/src/front/node_modules/@babel/parser/lib/parser/base.js +0 -36
  428. package/src/front/node_modules/@babel/parser/lib/parser/base.js.map +0 -1
  429. package/src/front/node_modules/@babel/parser/lib/parser/comments.js +0 -190
  430. package/src/front/node_modules/@babel/parser/lib/parser/comments.js.map +0 -1
  431. package/src/front/node_modules/@babel/parser/lib/parser/expression.js +0 -1824
  432. package/src/front/node_modules/@babel/parser/lib/parser/expression.js.map +0 -1
  433. package/src/front/node_modules/@babel/parser/lib/parser/index.js +0 -43
  434. package/src/front/node_modules/@babel/parser/lib/parser/index.js.map +0 -1
  435. package/src/front/node_modules/@babel/parser/lib/parser/lval.js +0 -421
  436. package/src/front/node_modules/@babel/parser/lib/parser/lval.js.map +0 -1
  437. package/src/front/node_modules/@babel/parser/lib/parser/node.js +0 -127
  438. package/src/front/node_modules/@babel/parser/lib/parser/node.js.map +0 -1
  439. package/src/front/node_modules/@babel/parser/lib/parser/statement.js +0 -2033
  440. package/src/front/node_modules/@babel/parser/lib/parser/statement.js.map +0 -1
  441. package/src/front/node_modules/@babel/parser/lib/parser/util.js +0 -238
  442. package/src/front/node_modules/@babel/parser/lib/parser/util.js.map +0 -1
  443. package/src/front/node_modules/@babel/parser/lib/plugin-utils.js +0 -136
  444. package/src/front/node_modules/@babel/parser/lib/plugin-utils.js.map +0 -1
  445. package/src/front/node_modules/@babel/parser/lib/plugins/estree.js +0 -340
  446. package/src/front/node_modules/@babel/parser/lib/plugins/estree.js.map +0 -1
  447. package/src/front/node_modules/@babel/parser/lib/plugins/flow/index.js +0 -2474
  448. package/src/front/node_modules/@babel/parser/lib/plugins/flow/index.js.map +0 -1
  449. package/src/front/node_modules/@babel/parser/lib/plugins/flow/scope.js +0 -44
  450. package/src/front/node_modules/@babel/parser/lib/plugins/flow/scope.js.map +0 -1
  451. package/src/front/node_modules/@babel/parser/lib/plugins/jsx/index.js +0 -444
  452. package/src/front/node_modules/@babel/parser/lib/plugins/jsx/index.js.map +0 -1
  453. package/src/front/node_modules/@babel/parser/lib/plugins/jsx/xhtml.js +0 -266
  454. package/src/front/node_modules/@babel/parser/lib/plugins/jsx/xhtml.js.map +0 -1
  455. package/src/front/node_modules/@babel/parser/lib/plugins/placeholders.js +0 -198
  456. package/src/front/node_modules/@babel/parser/lib/plugins/placeholders.js.map +0 -1
  457. package/src/front/node_modules/@babel/parser/lib/plugins/typescript/index.js +0 -2656
  458. package/src/front/node_modules/@babel/parser/lib/plugins/typescript/index.js.map +0 -1
  459. package/src/front/node_modules/@babel/parser/lib/plugins/typescript/scope.js +0 -121
  460. package/src/front/node_modules/@babel/parser/lib/plugins/typescript/scope.js.map +0 -1
  461. package/src/front/node_modules/@babel/parser/lib/plugins/v8intrinsic.js +0 -31
  462. package/src/front/node_modules/@babel/parser/lib/plugins/v8intrinsic.js.map +0 -1
  463. package/src/front/node_modules/@babel/parser/lib/tokenizer/context.js +0 -27
  464. package/src/front/node_modules/@babel/parser/lib/tokenizer/context.js.map +0 -1
  465. package/src/front/node_modules/@babel/parser/lib/tokenizer/index.js +0 -1119
  466. package/src/front/node_modules/@babel/parser/lib/tokenizer/index.js.map +0 -1
  467. package/src/front/node_modules/@babel/parser/lib/tokenizer/state.js +0 -82
  468. package/src/front/node_modules/@babel/parser/lib/tokenizer/state.js.map +0 -1
  469. package/src/front/node_modules/@babel/parser/lib/tokenizer/types.js +0 -586
  470. package/src/front/node_modules/@babel/parser/lib/tokenizer/types.js.map +0 -1
  471. package/src/front/node_modules/@babel/parser/lib/util/class-scope.js +0 -92
  472. package/src/front/node_modules/@babel/parser/lib/util/class-scope.js.map +0 -1
  473. package/src/front/node_modules/@babel/parser/lib/util/expression-scope.js +0 -142
  474. package/src/front/node_modules/@babel/parser/lib/util/expression-scope.js.map +0 -1
  475. package/src/front/node_modules/@babel/parser/lib/util/identifier.js +0 -62
  476. package/src/front/node_modules/@babel/parser/lib/util/identifier.js.map +0 -1
  477. package/src/front/node_modules/@babel/parser/lib/util/location.js +0 -39
  478. package/src/front/node_modules/@babel/parser/lib/util/location.js.map +0 -1
  479. package/src/front/node_modules/@babel/parser/lib/util/production-parameter.js +0 -49
  480. package/src/front/node_modules/@babel/parser/lib/util/production-parameter.js.map +0 -1
  481. package/src/front/node_modules/@babel/parser/lib/util/scope.js +0 -161
  482. package/src/front/node_modules/@babel/parser/lib/util/scope.js.map +0 -1
  483. package/src/front/node_modules/@babel/parser/lib/util/scopeflags.js +0 -67
  484. package/src/front/node_modules/@babel/parser/lib/util/scopeflags.js.map +0 -1
  485. package/src/front/node_modules/@babel/parser/lib/util/whitespace.js +0 -59
  486. package/src/front/node_modules/@babel/parser/lib/util/whitespace.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_t","require","_modules","_types2","isDeclareExportDeclaration","isStatement","AnyTypeAnnotation","word","ArrayTypeAnnotation","node","print","elementType","token","BooleanTypeAnnotation","BooleanLiteralTypeAnnotation","value","NullLiteralTypeAnnotation","DeclareClass","parent","space","_interfaceish","DeclareFunction","id","typeAnnotation","predicate","semicolon","InferredPredicate","DeclaredPredicate","DeclareInterface","InterfaceDeclaration","DeclareModule","body","DeclareModuleExports","DeclareTypeAlias","TypeAlias","DeclareOpaqueType","OpaqueType","DeclareVariable","DeclareExportDeclaration","default","FlowExportDeclaration","call","DeclareExportAllDeclaration","ExportAllDeclaration","EnumDeclaration","enumExplicitType","context","name","hasExplicitType","enumBody","members","indent","newline","member","hasUnknownMembers","dedent","EnumBooleanBody","explicitType","EnumNumberBody","EnumStringBody","EnumSymbolBody","EnumDefaultedMember","enumInitializedMember","init","EnumBooleanMember","EnumNumberMember","EnumStringMember","declaration","declar","specifiers","length","printList","source","ExistsTypeAnnotation","FunctionTypeAnnotation","typeParameters","this","params","rest","type","method","returnType","FunctionTypeParam","optional","InterfaceExtends","_node$extends","extends","_node$mixins","_node$implements","mixins","implements","_variance","_node$variance","kind","variance","andSeparator","InterfaceTypeAnnotation","_node$extends2","IntersectionTypeAnnotation","printJoin","types","separator","MixedTypeAnnotation","EmptyTypeAnnotation","NullableTypeAnnotation","NumberTypeAnnotation","StringTypeAnnotation","ThisTypeAnnotation","TupleTypeAnnotation","TypeofTypeAnnotation","argument","right","TypeAnnotation","TypeParameterInstantiation","TypeParameter","bound","supertype","impltype","ObjectTypeAnnotation","exact","props","properties","callProperties","indexers","internalSlots","addNewlines","leading","statement","iterator","inexact","ObjectTypeInternalSlot","static","ObjectTypeCallProperty","ObjectTypeIndexer","key","ObjectTypeProperty","proto","ObjectTypeSpreadProperty","QualifiedTypeIdentifier","qualification","SymbolTypeAnnotation","orSeparator","UnionTypeAnnotation","TypeCastExpression","expression","Variance","VoidTypeAnnotation","IndexedAccessType","objectType","indexType","OptionalIndexedAccessType"],"sources":["../../src/generators/flow.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport { isDeclareExportDeclaration, isStatement } from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport { ExportAllDeclaration } from \"./modules\";\n\nexport function AnyTypeAnnotation(this: Printer) {\n this.word(\"any\");\n}\n\nexport function ArrayTypeAnnotation(\n this: Printer,\n node: t.ArrayTypeAnnotation,\n) {\n this.print(node.elementType, node, true);\n this.token(\"[\");\n this.token(\"]\");\n}\n\nexport function BooleanTypeAnnotation(this: Printer) {\n this.word(\"boolean\");\n}\n\nexport function BooleanLiteralTypeAnnotation(\n this: Printer,\n node: t.BooleanLiteralTypeAnnotation,\n) {\n this.word(node.value ? \"true\" : \"false\");\n}\n\nexport function NullLiteralTypeAnnotation(this: Printer) {\n this.word(\"null\");\n}\n\nexport function DeclareClass(\n this: Printer,\n node: t.DeclareClass,\n parent: t.Node,\n) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"class\");\n this.space();\n this._interfaceish(node);\n}\n\nexport function DeclareFunction(\n this: Printer,\n node: t.DeclareFunction,\n parent: t.Node,\n) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"function\");\n this.space();\n this.print(node.id, node);\n // @ts-ignore(Babel 7 vs Babel 8) TODO(Babel 8) Remove this comment, since we'll remove the Noop node\n this.print(node.id.typeAnnotation.typeAnnotation, node);\n\n if (node.predicate) {\n this.space();\n this.print(node.predicate, node);\n }\n\n this.semicolon();\n}\n\nexport function InferredPredicate(this: Printer) {\n this.token(\"%\");\n this.word(\"checks\");\n}\n\nexport function DeclaredPredicate(this: Printer, node: t.DeclaredPredicate) {\n this.token(\"%\");\n this.word(\"checks\");\n this.token(\"(\");\n this.print(node.value, node);\n this.token(\")\");\n}\n\nexport function DeclareInterface(this: Printer, node: t.DeclareInterface) {\n this.word(\"declare\");\n this.space();\n this.InterfaceDeclaration(node);\n}\n\nexport function DeclareModule(this: Printer, node: t.DeclareModule) {\n this.word(\"declare\");\n this.space();\n this.word(\"module\");\n this.space();\n this.print(node.id, node);\n this.space();\n this.print(node.body, node);\n}\n\nexport function DeclareModuleExports(\n this: Printer,\n node: t.DeclareModuleExports,\n) {\n this.word(\"declare\");\n this.space();\n this.word(\"module\");\n this.token(\".\");\n this.word(\"exports\");\n this.print(node.typeAnnotation, node);\n}\n\nexport function DeclareTypeAlias(this: Printer, node: t.DeclareTypeAlias) {\n this.word(\"declare\");\n this.space();\n this.TypeAlias(node);\n}\n\nexport function DeclareOpaqueType(\n this: Printer,\n node: t.DeclareOpaqueType,\n parent: t.Node,\n) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.OpaqueType(node);\n}\n\nexport function DeclareVariable(\n this: Printer,\n node: t.DeclareVariable,\n parent: t.Node,\n) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"var\");\n this.space();\n this.print(node.id, node);\n this.print(node.id.typeAnnotation, node);\n this.semicolon();\n}\n\nexport function DeclareExportDeclaration(\n this: Printer,\n node: t.DeclareExportDeclaration,\n) {\n this.word(\"declare\");\n this.space();\n this.word(\"export\");\n this.space();\n if (node.default) {\n this.word(\"default\");\n this.space();\n }\n\n FlowExportDeclaration.call(this, node);\n}\n\nexport function DeclareExportAllDeclaration(\n this: Printer,\n node: t.DeclareExportAllDeclaration,\n) {\n this.word(\"declare\");\n this.space();\n ExportAllDeclaration.call(this, node);\n}\n\nexport function EnumDeclaration(this: Printer, node: t.EnumDeclaration) {\n const { id, body } = node;\n this.word(\"enum\");\n this.space();\n this.print(id, node);\n this.print(body, node);\n}\n\nfunction enumExplicitType(\n context: Printer,\n name: string,\n hasExplicitType: boolean,\n) {\n if (hasExplicitType) {\n context.space();\n context.word(\"of\");\n context.space();\n context.word(name);\n }\n context.space();\n}\n\nfunction enumBody(context: Printer, node: t.EnumBody) {\n const { members } = node;\n context.token(\"{\");\n context.indent();\n context.newline();\n for (const member of members) {\n context.print(member, node);\n context.newline();\n }\n if (node.hasUnknownMembers) {\n context.token(\"...\");\n context.newline();\n }\n context.dedent();\n context.token(\"}\");\n}\n\nexport function EnumBooleanBody(this: Printer, node: t.EnumBooleanBody) {\n const { explicitType } = node;\n enumExplicitType(this, \"boolean\", explicitType);\n enumBody(this, node);\n}\n\nexport function EnumNumberBody(this: Printer, node: t.EnumNumberBody) {\n const { explicitType } = node;\n enumExplicitType(this, \"number\", explicitType);\n enumBody(this, node);\n}\n\nexport function EnumStringBody(this: Printer, node: t.EnumStringBody) {\n const { explicitType } = node;\n enumExplicitType(this, \"string\", explicitType);\n enumBody(this, node);\n}\n\nexport function EnumSymbolBody(this: Printer, node: t.EnumSymbolBody) {\n enumExplicitType(this, \"symbol\", true);\n enumBody(this, node);\n}\n\nexport function EnumDefaultedMember(\n this: Printer,\n node: t.EnumDefaultedMember,\n) {\n const { id } = node;\n this.print(id, node);\n this.token(\",\");\n}\n\nfunction enumInitializedMember(\n context: Printer,\n node: t.EnumBooleanMember | t.EnumNumberMember | t.EnumStringMember,\n) {\n const { id, init } = node;\n context.print(id, node);\n context.space();\n context.token(\"=\");\n context.space();\n context.print(init, node);\n context.token(\",\");\n}\n\nexport function EnumBooleanMember(this: Printer, node: t.EnumBooleanMember) {\n enumInitializedMember(this, node);\n}\n\nexport function EnumNumberMember(this: Printer, node: t.EnumNumberMember) {\n enumInitializedMember(this, node);\n}\n\nexport function EnumStringMember(this: Printer, node: t.EnumStringMember) {\n enumInitializedMember(this, node);\n}\n\nfunction FlowExportDeclaration(\n this: Printer,\n node: t.DeclareExportDeclaration,\n) {\n if (node.declaration) {\n const declar = node.declaration;\n this.print(declar, node);\n if (!isStatement(declar)) this.semicolon();\n } else {\n this.token(\"{\");\n if (node.specifiers.length) {\n this.space();\n this.printList(node.specifiers, node);\n this.space();\n }\n this.token(\"}\");\n\n if (node.source) {\n this.space();\n this.word(\"from\");\n this.space();\n this.print(node.source, node);\n }\n\n this.semicolon();\n }\n}\n\nexport function ExistsTypeAnnotation(this: Printer) {\n this.token(\"*\");\n}\n\nexport function FunctionTypeAnnotation(\n this: Printer,\n node: t.FunctionTypeAnnotation,\n parent?: t.Node,\n) {\n this.print(node.typeParameters, node);\n this.token(\"(\");\n\n if (node.this) {\n this.word(\"this\");\n this.token(\":\");\n this.space();\n this.print(node.this.typeAnnotation, node);\n if (node.params.length || node.rest) {\n this.token(\",\");\n this.space();\n }\n }\n\n this.printList(node.params, node);\n\n if (node.rest) {\n if (node.params.length) {\n this.token(\",\");\n this.space();\n }\n this.token(\"...\");\n this.print(node.rest, node);\n }\n\n this.token(\")\");\n\n // this node type is overloaded, not sure why but it makes it EXTREMELY annoying\n\n const type = parent?.type;\n if (\n type != null &&\n (type === \"ObjectTypeCallProperty\" ||\n type === \"ObjectTypeInternalSlot\" ||\n type === \"DeclareFunction\" ||\n (type === \"ObjectTypeProperty\" && parent.method))\n ) {\n this.token(\":\");\n } else {\n this.space();\n this.token(\"=>\");\n }\n\n this.space();\n this.print(node.returnType, node);\n}\n\nexport function FunctionTypeParam(this: Printer, node: t.FunctionTypeParam) {\n this.print(node.name, node);\n if (node.optional) this.token(\"?\");\n if (node.name) {\n this.token(\":\");\n this.space();\n }\n this.print(node.typeAnnotation, node);\n}\n\nexport function InterfaceExtends(this: Printer, node: t.InterfaceExtends) {\n this.print(node.id, node);\n this.print(node.typeParameters, node, true);\n}\n\nexport {\n InterfaceExtends as ClassImplements,\n InterfaceExtends as GenericTypeAnnotation,\n};\n\nexport function _interfaceish(\n this: Printer,\n node: t.InterfaceDeclaration | t.DeclareInterface | t.DeclareClass,\n) {\n this.print(node.id, node);\n this.print(node.typeParameters, node);\n if (node.extends?.length) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.printList(node.extends, node);\n }\n if (node.type === \"DeclareClass\") {\n if (node.mixins?.length) {\n this.space();\n this.word(\"mixins\");\n this.space();\n this.printList(node.mixins, node);\n }\n if (node.implements?.length) {\n this.space();\n this.word(\"implements\");\n this.space();\n this.printList(node.implements, node);\n }\n }\n this.space();\n this.print(node.body, node);\n}\n\nexport function _variance(\n this: Printer,\n node:\n | t.TypeParameter\n | t.ObjectTypeIndexer\n | t.ObjectTypeProperty\n | t.ClassProperty\n | t.ClassPrivateProperty\n | t.ClassAccessorProperty,\n) {\n const kind = node.variance?.kind;\n if (kind != null) {\n if (kind === \"plus\") {\n this.token(\"+\");\n } else if (kind === \"minus\") {\n this.token(\"-\");\n }\n }\n}\n\nexport function InterfaceDeclaration(\n this: Printer,\n node: t.InterfaceDeclaration | t.DeclareInterface,\n) {\n this.word(\"interface\");\n this.space();\n this._interfaceish(node);\n}\n\nfunction andSeparator(this: Printer) {\n this.space();\n this.token(\"&\");\n this.space();\n}\n\nexport function InterfaceTypeAnnotation(\n this: Printer,\n node: t.InterfaceTypeAnnotation,\n) {\n this.word(\"interface\");\n if (node.extends?.length) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.printList(node.extends, node);\n }\n this.space();\n this.print(node.body, node);\n}\n\nexport function IntersectionTypeAnnotation(\n this: Printer,\n node: t.IntersectionTypeAnnotation,\n) {\n this.printJoin(node.types, node, { separator: andSeparator });\n}\n\nexport function MixedTypeAnnotation(this: Printer) {\n this.word(\"mixed\");\n}\n\nexport function EmptyTypeAnnotation(this: Printer) {\n this.word(\"empty\");\n}\n\nexport function NullableTypeAnnotation(\n this: Printer,\n node: t.NullableTypeAnnotation,\n) {\n this.token(\"?\");\n this.print(node.typeAnnotation, node);\n}\n\nexport {\n NumericLiteral as NumberLiteralTypeAnnotation,\n StringLiteral as StringLiteralTypeAnnotation,\n} from \"./types\";\n\nexport function NumberTypeAnnotation(this: Printer) {\n this.word(\"number\");\n}\n\nexport function StringTypeAnnotation(this: Printer) {\n this.word(\"string\");\n}\n\nexport function ThisTypeAnnotation(this: Printer) {\n this.word(\"this\");\n}\n\nexport function TupleTypeAnnotation(\n this: Printer,\n node: t.TupleTypeAnnotation,\n) {\n this.token(\"[\");\n this.printList(node.types, node);\n this.token(\"]\");\n}\n\nexport function TypeofTypeAnnotation(\n this: Printer,\n node: t.TypeofTypeAnnotation,\n) {\n this.word(\"typeof\");\n this.space();\n this.print(node.argument, node);\n}\n\nexport function TypeAlias(\n this: Printer,\n node: t.TypeAlias | t.DeclareTypeAlias,\n) {\n this.word(\"type\");\n this.space();\n this.print(node.id, node);\n this.print(node.typeParameters, node);\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.right, node);\n this.semicolon();\n}\n\nexport function TypeAnnotation(this: Printer, node: t.TypeAnnotation) {\n this.token(\":\");\n this.space();\n // @ts-expect-error todo(flow->ts) can this be removed? `.optional` looks to be not existing property\n if (node.optional) this.token(\"?\");\n this.print(node.typeAnnotation, node);\n}\n\nexport function TypeParameterInstantiation(\n this: Printer,\n node: t.TypeParameterInstantiation,\n): void {\n this.token(\"<\");\n this.printList(node.params, node, {});\n this.token(\">\");\n}\n\nexport { TypeParameterInstantiation as TypeParameterDeclaration };\n\nexport function TypeParameter(this: Printer, node: t.TypeParameter) {\n this._variance(node);\n\n this.word(node.name);\n\n if (node.bound) {\n this.print(node.bound, node);\n }\n\n if (node.default) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.default, node);\n }\n}\n\nexport function OpaqueType(\n this: Printer,\n node: t.OpaqueType | t.DeclareOpaqueType,\n) {\n this.word(\"opaque\");\n this.space();\n this.word(\"type\");\n this.space();\n this.print(node.id, node);\n this.print(node.typeParameters, node);\n if (node.supertype) {\n this.token(\":\");\n this.space();\n this.print(node.supertype, node);\n }\n\n if (node.impltype) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.impltype, node);\n }\n this.semicolon();\n}\n\nexport function ObjectTypeAnnotation(\n this: Printer,\n node: t.ObjectTypeAnnotation,\n) {\n if (node.exact) {\n this.token(\"{|\");\n } else {\n this.token(\"{\");\n }\n\n // TODO: remove the array fallbacks and instead enforce the types to require an array\n const props = [\n ...node.properties,\n ...(node.callProperties || []),\n ...(node.indexers || []),\n ...(node.internalSlots || []),\n ];\n\n if (props.length) {\n this.newline();\n\n this.space();\n\n this.printJoin(props, node, {\n addNewlines(leading) {\n if (leading && !props[0]) return 1;\n },\n indent: true,\n statement: true,\n iterator: () => {\n if (props.length !== 1 || node.inexact) {\n this.token(\",\");\n this.space();\n }\n },\n });\n\n this.space();\n }\n\n if (node.inexact) {\n this.indent();\n this.token(\"...\");\n if (props.length) {\n this.newline();\n }\n this.dedent();\n }\n\n if (node.exact) {\n this.token(\"|}\");\n } else {\n this.token(\"}\");\n }\n}\n\nexport function ObjectTypeInternalSlot(\n this: Printer,\n node: t.ObjectTypeInternalSlot,\n) {\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n this.token(\"[\");\n this.token(\"[\");\n this.print(node.id, node);\n this.token(\"]\");\n this.token(\"]\");\n if (node.optional) this.token(\"?\");\n if (!node.method) {\n this.token(\":\");\n this.space();\n }\n this.print(node.value, node);\n}\n\nexport function ObjectTypeCallProperty(\n this: Printer,\n node: t.ObjectTypeCallProperty,\n) {\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n this.print(node.value, node);\n}\n\nexport function ObjectTypeIndexer(this: Printer, node: t.ObjectTypeIndexer) {\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n this._variance(node);\n this.token(\"[\");\n if (node.id) {\n this.print(node.id, node);\n this.token(\":\");\n this.space();\n }\n this.print(node.key, node);\n this.token(\"]\");\n this.token(\":\");\n this.space();\n this.print(node.value, node);\n}\n\nexport function ObjectTypeProperty(this: Printer, node: t.ObjectTypeProperty) {\n if (node.proto) {\n this.word(\"proto\");\n this.space();\n }\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n if (node.kind === \"get\" || node.kind === \"set\") {\n this.word(node.kind);\n this.space();\n }\n this._variance(node);\n this.print(node.key, node);\n if (node.optional) this.token(\"?\");\n if (!node.method) {\n this.token(\":\");\n this.space();\n }\n this.print(node.value, node);\n}\n\nexport function ObjectTypeSpreadProperty(\n this: Printer,\n node: t.ObjectTypeSpreadProperty,\n) {\n this.token(\"...\");\n this.print(node.argument, node);\n}\n\nexport function QualifiedTypeIdentifier(\n this: Printer,\n node: t.QualifiedTypeIdentifier,\n) {\n this.print(node.qualification, node);\n this.token(\".\");\n this.print(node.id, node);\n}\n\nexport function SymbolTypeAnnotation(this: Printer) {\n this.word(\"symbol\");\n}\n\nfunction orSeparator(this: Printer) {\n this.space();\n this.token(\"|\");\n this.space();\n}\n\nexport function UnionTypeAnnotation(\n this: Printer,\n node: t.UnionTypeAnnotation,\n) {\n this.printJoin(node.types, node, { separator: orSeparator });\n}\n\nexport function TypeCastExpression(this: Printer, node: t.TypeCastExpression) {\n this.token(\"(\");\n this.print(node.expression, node);\n this.print(node.typeAnnotation, node);\n this.token(\")\");\n}\n\nexport function Variance(this: Printer, node: t.Variance) {\n if (node.kind === \"plus\") {\n this.token(\"+\");\n } else {\n this.token(\"-\");\n }\n}\n\nexport function VoidTypeAnnotation(this: Printer) {\n this.word(\"void\");\n}\n\nexport function IndexedAccessType(this: Printer, node: t.IndexedAccessType) {\n this.print(node.objectType, node, true);\n this.token(\"[\");\n this.print(node.indexType, node);\n this.token(\"]\");\n}\n\nexport function OptionalIndexedAccessType(\n this: Printer,\n node: t.OptionalIndexedAccessType,\n) {\n this.print(node.objectType, node);\n if (node.optional) {\n this.token(\"?.\");\n }\n this.token(\"[\");\n this.print(node.indexType, node);\n this.token(\"]\");\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_t","require","_modules","_types2","isDeclareExportDeclaration","isStatement","AnyTypeAnnotation","word","ArrayTypeAnnotation","node","print","elementType","token","BooleanTypeAnnotation","BooleanLiteralTypeAnnotation","value","NullLiteralTypeAnnotation","DeclareClass","parent","space","_interfaceish","DeclareFunction","id","typeAnnotation","predicate","semicolon","InferredPredicate","DeclaredPredicate","DeclareInterface","InterfaceDeclaration","DeclareModule","body","DeclareModuleExports","DeclareTypeAlias","TypeAlias","DeclareOpaqueType","OpaqueType","DeclareVariable","DeclareExportDeclaration","default","FlowExportDeclaration","call","DeclareExportAllDeclaration","ExportAllDeclaration","EnumDeclaration","enumExplicitType","context","name","hasExplicitType","enumBody","members","indent","newline","member","hasUnknownMembers","dedent","EnumBooleanBody","explicitType","EnumNumberBody","EnumStringBody","EnumSymbolBody","EnumDefaultedMember","enumInitializedMember","init","EnumBooleanMember","EnumNumberMember","EnumStringMember","declaration","declar","specifiers","length","printList","source","ExistsTypeAnnotation","FunctionTypeAnnotation","typeParameters","this","params","rest","type","method","returnType","FunctionTypeParam","optional","InterfaceExtends","_node$extends","extends","_node$mixins","_node$implements","mixins","implements","_variance","_node$variance","kind","variance","andSeparator","InterfaceTypeAnnotation","_node$extends2","IntersectionTypeAnnotation","printJoin","types","separator","MixedTypeAnnotation","EmptyTypeAnnotation","NullableTypeAnnotation","NumberTypeAnnotation","StringTypeAnnotation","ThisTypeAnnotation","TupleTypeAnnotation","TypeofTypeAnnotation","argument","right","TypeAnnotation","TypeParameterInstantiation","TypeParameter","bound","supertype","impltype","ObjectTypeAnnotation","exact","props","properties","callProperties","indexers","internalSlots","addNewlines","leading","statement","iterator","inexact","ObjectTypeInternalSlot","static","ObjectTypeCallProperty","ObjectTypeIndexer","key","ObjectTypeProperty","proto","ObjectTypeSpreadProperty","QualifiedTypeIdentifier","qualification","SymbolTypeAnnotation","orSeparator","UnionTypeAnnotation","TypeCastExpression","expression","Variance","VoidTypeAnnotation","IndexedAccessType","objectType","indexType","OptionalIndexedAccessType"],"sources":["../../src/generators/flow.ts"],"sourcesContent":["import type Printer from \"../printer.ts\";\nimport { isDeclareExportDeclaration, isStatement } from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport { ExportAllDeclaration } from \"./modules.ts\";\n\nexport function AnyTypeAnnotation(this: Printer) {\n this.word(\"any\");\n}\n\nexport function ArrayTypeAnnotation(\n this: Printer,\n node: t.ArrayTypeAnnotation,\n) {\n this.print(node.elementType, node, true);\n this.token(\"[\");\n this.token(\"]\");\n}\n\nexport function BooleanTypeAnnotation(this: Printer) {\n this.word(\"boolean\");\n}\n\nexport function BooleanLiteralTypeAnnotation(\n this: Printer,\n node: t.BooleanLiteralTypeAnnotation,\n) {\n this.word(node.value ? \"true\" : \"false\");\n}\n\nexport function NullLiteralTypeAnnotation(this: Printer) {\n this.word(\"null\");\n}\n\nexport function DeclareClass(\n this: Printer,\n node: t.DeclareClass,\n parent: t.Node,\n) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"class\");\n this.space();\n this._interfaceish(node);\n}\n\nexport function DeclareFunction(\n this: Printer,\n node: t.DeclareFunction,\n parent: t.Node,\n) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"function\");\n this.space();\n this.print(node.id, node);\n // @ts-ignore(Babel 7 vs Babel 8) TODO(Babel 8) Remove this comment, since we'll remove the Noop node\n this.print(node.id.typeAnnotation.typeAnnotation, node);\n\n if (node.predicate) {\n this.space();\n this.print(node.predicate, node);\n }\n\n this.semicolon();\n}\n\nexport function InferredPredicate(this: Printer) {\n this.token(\"%\");\n this.word(\"checks\");\n}\n\nexport function DeclaredPredicate(this: Printer, node: t.DeclaredPredicate) {\n this.token(\"%\");\n this.word(\"checks\");\n this.token(\"(\");\n this.print(node.value, node);\n this.token(\")\");\n}\n\nexport function DeclareInterface(this: Printer, node: t.DeclareInterface) {\n this.word(\"declare\");\n this.space();\n this.InterfaceDeclaration(node);\n}\n\nexport function DeclareModule(this: Printer, node: t.DeclareModule) {\n this.word(\"declare\");\n this.space();\n this.word(\"module\");\n this.space();\n this.print(node.id, node);\n this.space();\n this.print(node.body, node);\n}\n\nexport function DeclareModuleExports(\n this: Printer,\n node: t.DeclareModuleExports,\n) {\n this.word(\"declare\");\n this.space();\n this.word(\"module\");\n this.token(\".\");\n this.word(\"exports\");\n this.print(node.typeAnnotation, node);\n}\n\nexport function DeclareTypeAlias(this: Printer, node: t.DeclareTypeAlias) {\n this.word(\"declare\");\n this.space();\n this.TypeAlias(node);\n}\n\nexport function DeclareOpaqueType(\n this: Printer,\n node: t.DeclareOpaqueType,\n parent: t.Node,\n) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.OpaqueType(node);\n}\n\nexport function DeclareVariable(\n this: Printer,\n node: t.DeclareVariable,\n parent: t.Node,\n) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"var\");\n this.space();\n this.print(node.id, node);\n this.print(node.id.typeAnnotation, node);\n this.semicolon();\n}\n\nexport function DeclareExportDeclaration(\n this: Printer,\n node: t.DeclareExportDeclaration,\n) {\n this.word(\"declare\");\n this.space();\n this.word(\"export\");\n this.space();\n if (node.default) {\n this.word(\"default\");\n this.space();\n }\n\n FlowExportDeclaration.call(this, node);\n}\n\nexport function DeclareExportAllDeclaration(\n this: Printer,\n node: t.DeclareExportAllDeclaration,\n) {\n this.word(\"declare\");\n this.space();\n ExportAllDeclaration.call(this, node);\n}\n\nexport function EnumDeclaration(this: Printer, node: t.EnumDeclaration) {\n const { id, body } = node;\n this.word(\"enum\");\n this.space();\n this.print(id, node);\n this.print(body, node);\n}\n\nfunction enumExplicitType(\n context: Printer,\n name: string,\n hasExplicitType: boolean,\n) {\n if (hasExplicitType) {\n context.space();\n context.word(\"of\");\n context.space();\n context.word(name);\n }\n context.space();\n}\n\nfunction enumBody(context: Printer, node: t.EnumBody) {\n const { members } = node;\n context.token(\"{\");\n context.indent();\n context.newline();\n for (const member of members) {\n context.print(member, node);\n context.newline();\n }\n if (node.hasUnknownMembers) {\n context.token(\"...\");\n context.newline();\n }\n context.dedent();\n context.token(\"}\");\n}\n\nexport function EnumBooleanBody(this: Printer, node: t.EnumBooleanBody) {\n const { explicitType } = node;\n enumExplicitType(this, \"boolean\", explicitType);\n enumBody(this, node);\n}\n\nexport function EnumNumberBody(this: Printer, node: t.EnumNumberBody) {\n const { explicitType } = node;\n enumExplicitType(this, \"number\", explicitType);\n enumBody(this, node);\n}\n\nexport function EnumStringBody(this: Printer, node: t.EnumStringBody) {\n const { explicitType } = node;\n enumExplicitType(this, \"string\", explicitType);\n enumBody(this, node);\n}\n\nexport function EnumSymbolBody(this: Printer, node: t.EnumSymbolBody) {\n enumExplicitType(this, \"symbol\", true);\n enumBody(this, node);\n}\n\nexport function EnumDefaultedMember(\n this: Printer,\n node: t.EnumDefaultedMember,\n) {\n const { id } = node;\n this.print(id, node);\n this.token(\",\");\n}\n\nfunction enumInitializedMember(\n context: Printer,\n node: t.EnumBooleanMember | t.EnumNumberMember | t.EnumStringMember,\n) {\n const { id, init } = node;\n context.print(id, node);\n context.space();\n context.token(\"=\");\n context.space();\n context.print(init, node);\n context.token(\",\");\n}\n\nexport function EnumBooleanMember(this: Printer, node: t.EnumBooleanMember) {\n enumInitializedMember(this, node);\n}\n\nexport function EnumNumberMember(this: Printer, node: t.EnumNumberMember) {\n enumInitializedMember(this, node);\n}\n\nexport function EnumStringMember(this: Printer, node: t.EnumStringMember) {\n enumInitializedMember(this, node);\n}\n\nfunction FlowExportDeclaration(\n this: Printer,\n node: t.DeclareExportDeclaration,\n) {\n if (node.declaration) {\n const declar = node.declaration;\n this.print(declar, node);\n if (!isStatement(declar)) this.semicolon();\n } else {\n this.token(\"{\");\n if (node.specifiers.length) {\n this.space();\n this.printList(node.specifiers, node);\n this.space();\n }\n this.token(\"}\");\n\n if (node.source) {\n this.space();\n this.word(\"from\");\n this.space();\n this.print(node.source, node);\n }\n\n this.semicolon();\n }\n}\n\nexport function ExistsTypeAnnotation(this: Printer) {\n this.token(\"*\");\n}\n\nexport function FunctionTypeAnnotation(\n this: Printer,\n node: t.FunctionTypeAnnotation,\n parent?: t.Node,\n) {\n this.print(node.typeParameters, node);\n this.token(\"(\");\n\n if (node.this) {\n this.word(\"this\");\n this.token(\":\");\n this.space();\n this.print(node.this.typeAnnotation, node);\n if (node.params.length || node.rest) {\n this.token(\",\");\n this.space();\n }\n }\n\n this.printList(node.params, node);\n\n if (node.rest) {\n if (node.params.length) {\n this.token(\",\");\n this.space();\n }\n this.token(\"...\");\n this.print(node.rest, node);\n }\n\n this.token(\")\");\n\n // this node type is overloaded, not sure why but it makes it EXTREMELY annoying\n\n const type = parent?.type;\n if (\n type != null &&\n (type === \"ObjectTypeCallProperty\" ||\n type === \"ObjectTypeInternalSlot\" ||\n type === \"DeclareFunction\" ||\n (type === \"ObjectTypeProperty\" && parent.method))\n ) {\n this.token(\":\");\n } else {\n this.space();\n this.token(\"=>\");\n }\n\n this.space();\n this.print(node.returnType, node);\n}\n\nexport function FunctionTypeParam(this: Printer, node: t.FunctionTypeParam) {\n this.print(node.name, node);\n if (node.optional) this.token(\"?\");\n if (node.name) {\n this.token(\":\");\n this.space();\n }\n this.print(node.typeAnnotation, node);\n}\n\nexport function InterfaceExtends(this: Printer, node: t.InterfaceExtends) {\n this.print(node.id, node);\n this.print(node.typeParameters, node, true);\n}\n\nexport {\n InterfaceExtends as ClassImplements,\n InterfaceExtends as GenericTypeAnnotation,\n};\n\nexport function _interfaceish(\n this: Printer,\n node: t.InterfaceDeclaration | t.DeclareInterface | t.DeclareClass,\n) {\n this.print(node.id, node);\n this.print(node.typeParameters, node);\n if (node.extends?.length) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.printList(node.extends, node);\n }\n if (node.type === \"DeclareClass\") {\n if (node.mixins?.length) {\n this.space();\n this.word(\"mixins\");\n this.space();\n this.printList(node.mixins, node);\n }\n if (node.implements?.length) {\n this.space();\n this.word(\"implements\");\n this.space();\n this.printList(node.implements, node);\n }\n }\n this.space();\n this.print(node.body, node);\n}\n\nexport function _variance(\n this: Printer,\n node:\n | t.TypeParameter\n | t.ObjectTypeIndexer\n | t.ObjectTypeProperty\n | t.ClassProperty\n | t.ClassPrivateProperty\n | t.ClassAccessorProperty,\n) {\n const kind = node.variance?.kind;\n if (kind != null) {\n if (kind === \"plus\") {\n this.token(\"+\");\n } else if (kind === \"minus\") {\n this.token(\"-\");\n }\n }\n}\n\nexport function InterfaceDeclaration(\n this: Printer,\n node: t.InterfaceDeclaration | t.DeclareInterface,\n) {\n this.word(\"interface\");\n this.space();\n this._interfaceish(node);\n}\n\nfunction andSeparator(this: Printer) {\n this.space();\n this.token(\"&\");\n this.space();\n}\n\nexport function InterfaceTypeAnnotation(\n this: Printer,\n node: t.InterfaceTypeAnnotation,\n) {\n this.word(\"interface\");\n if (node.extends?.length) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.printList(node.extends, node);\n }\n this.space();\n this.print(node.body, node);\n}\n\nexport function IntersectionTypeAnnotation(\n this: Printer,\n node: t.IntersectionTypeAnnotation,\n) {\n this.printJoin(node.types, node, { separator: andSeparator });\n}\n\nexport function MixedTypeAnnotation(this: Printer) {\n this.word(\"mixed\");\n}\n\nexport function EmptyTypeAnnotation(this: Printer) {\n this.word(\"empty\");\n}\n\nexport function NullableTypeAnnotation(\n this: Printer,\n node: t.NullableTypeAnnotation,\n) {\n this.token(\"?\");\n this.print(node.typeAnnotation, node);\n}\n\nexport {\n NumericLiteral as NumberLiteralTypeAnnotation,\n StringLiteral as StringLiteralTypeAnnotation,\n} from \"./types.ts\";\n\nexport function NumberTypeAnnotation(this: Printer) {\n this.word(\"number\");\n}\n\nexport function StringTypeAnnotation(this: Printer) {\n this.word(\"string\");\n}\n\nexport function ThisTypeAnnotation(this: Printer) {\n this.word(\"this\");\n}\n\nexport function TupleTypeAnnotation(\n this: Printer,\n node: t.TupleTypeAnnotation,\n) {\n this.token(\"[\");\n this.printList(node.types, node);\n this.token(\"]\");\n}\n\nexport function TypeofTypeAnnotation(\n this: Printer,\n node: t.TypeofTypeAnnotation,\n) {\n this.word(\"typeof\");\n this.space();\n this.print(node.argument, node);\n}\n\nexport function TypeAlias(\n this: Printer,\n node: t.TypeAlias | t.DeclareTypeAlias,\n) {\n this.word(\"type\");\n this.space();\n this.print(node.id, node);\n this.print(node.typeParameters, node);\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.right, node);\n this.semicolon();\n}\n\nexport function TypeAnnotation(this: Printer, node: t.TypeAnnotation) {\n this.token(\":\");\n this.space();\n // @ts-expect-error todo(flow->ts) can this be removed? `.optional` looks to be not existing property\n if (node.optional) this.token(\"?\");\n this.print(node.typeAnnotation, node);\n}\n\nexport function TypeParameterInstantiation(\n this: Printer,\n node: t.TypeParameterInstantiation,\n): void {\n this.token(\"<\");\n this.printList(node.params, node, {});\n this.token(\">\");\n}\n\nexport { TypeParameterInstantiation as TypeParameterDeclaration };\n\nexport function TypeParameter(this: Printer, node: t.TypeParameter) {\n this._variance(node);\n\n this.word(node.name);\n\n if (node.bound) {\n this.print(node.bound, node);\n }\n\n if (node.default) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.default, node);\n }\n}\n\nexport function OpaqueType(\n this: Printer,\n node: t.OpaqueType | t.DeclareOpaqueType,\n) {\n this.word(\"opaque\");\n this.space();\n this.word(\"type\");\n this.space();\n this.print(node.id, node);\n this.print(node.typeParameters, node);\n if (node.supertype) {\n this.token(\":\");\n this.space();\n this.print(node.supertype, node);\n }\n\n if (node.impltype) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.impltype, node);\n }\n this.semicolon();\n}\n\nexport function ObjectTypeAnnotation(\n this: Printer,\n node: t.ObjectTypeAnnotation,\n) {\n if (node.exact) {\n this.token(\"{|\");\n } else {\n this.token(\"{\");\n }\n\n // TODO: remove the array fallbacks and instead enforce the types to require an array\n const props = [\n ...node.properties,\n ...(node.callProperties || []),\n ...(node.indexers || []),\n ...(node.internalSlots || []),\n ];\n\n if (props.length) {\n this.newline();\n\n this.space();\n\n this.printJoin(props, node, {\n addNewlines(leading) {\n if (leading && !props[0]) return 1;\n },\n indent: true,\n statement: true,\n iterator: () => {\n if (props.length !== 1 || node.inexact) {\n this.token(\",\");\n this.space();\n }\n },\n });\n\n this.space();\n }\n\n if (node.inexact) {\n this.indent();\n this.token(\"...\");\n if (props.length) {\n this.newline();\n }\n this.dedent();\n }\n\n if (node.exact) {\n this.token(\"|}\");\n } else {\n this.token(\"}\");\n }\n}\n\nexport function ObjectTypeInternalSlot(\n this: Printer,\n node: t.ObjectTypeInternalSlot,\n) {\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n this.token(\"[\");\n this.token(\"[\");\n this.print(node.id, node);\n this.token(\"]\");\n this.token(\"]\");\n if (node.optional) this.token(\"?\");\n if (!node.method) {\n this.token(\":\");\n this.space();\n }\n this.print(node.value, node);\n}\n\nexport function ObjectTypeCallProperty(\n this: Printer,\n node: t.ObjectTypeCallProperty,\n) {\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n this.print(node.value, node);\n}\n\nexport function ObjectTypeIndexer(this: Printer, node: t.ObjectTypeIndexer) {\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n this._variance(node);\n this.token(\"[\");\n if (node.id) {\n this.print(node.id, node);\n this.token(\":\");\n this.space();\n }\n this.print(node.key, node);\n this.token(\"]\");\n this.token(\":\");\n this.space();\n this.print(node.value, node);\n}\n\nexport function ObjectTypeProperty(this: Printer, node: t.ObjectTypeProperty) {\n if (node.proto) {\n this.word(\"proto\");\n this.space();\n }\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n if (node.kind === \"get\" || node.kind === \"set\") {\n this.word(node.kind);\n this.space();\n }\n this._variance(node);\n this.print(node.key, node);\n if (node.optional) this.token(\"?\");\n if (!node.method) {\n this.token(\":\");\n this.space();\n }\n this.print(node.value, node);\n}\n\nexport function ObjectTypeSpreadProperty(\n this: Printer,\n node: t.ObjectTypeSpreadProperty,\n) {\n this.token(\"...\");\n this.print(node.argument, node);\n}\n\nexport function QualifiedTypeIdentifier(\n this: Printer,\n node: t.QualifiedTypeIdentifier,\n) {\n this.print(node.qualification, node);\n this.token(\".\");\n this.print(node.id, node);\n}\n\nexport function SymbolTypeAnnotation(this: Printer) {\n this.word(\"symbol\");\n}\n\nfunction orSeparator(this: Printer) {\n this.space();\n this.token(\"|\");\n this.space();\n}\n\nexport function UnionTypeAnnotation(\n this: Printer,\n node: t.UnionTypeAnnotation,\n) {\n this.printJoin(node.types, node, { separator: orSeparator });\n}\n\nexport function TypeCastExpression(this: Printer, node: t.TypeCastExpression) {\n this.token(\"(\");\n this.print(node.expression, node);\n this.print(node.typeAnnotation, node);\n this.token(\")\");\n}\n\nexport function Variance(this: Printer, node: t.Variance) {\n if (node.kind === \"plus\") {\n this.token(\"+\");\n } else {\n this.token(\"-\");\n }\n}\n\nexport function VoidTypeAnnotation(this: Printer) {\n this.word(\"void\");\n}\n\nexport function IndexedAccessType(this: Printer, node: t.IndexedAccessType) {\n this.print(node.objectType, node, true);\n this.token(\"[\");\n this.print(node.indexType, node);\n this.token(\"]\");\n}\n\nexport function OptionalIndexedAccessType(\n this: Printer,\n node: t.OptionalIndexedAccessType,\n) {\n this.print(node.objectType, node);\n if (node.optional) {\n this.token(\"?.\");\n }\n this.token(\"[\");\n this.print(node.indexType, node);\n this.token(\"]\");\n}\n"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _templateLiterals = require("./template-literals");
6
+ var _templateLiterals = require("./template-literals.js");
7
7
  Object.keys(_templateLiterals).forEach(function (key) {
8
8
  if (key === "default" || key === "__esModule") return;
9
9
  if (key in exports && exports[key] === _templateLiterals[key]) return;
@@ -14,7 +14,7 @@ Object.keys(_templateLiterals).forEach(function (key) {
14
14
  }
15
15
  });
16
16
  });
17
- var _expressions = require("./expressions");
17
+ var _expressions = require("./expressions.js");
18
18
  Object.keys(_expressions).forEach(function (key) {
19
19
  if (key === "default" || key === "__esModule") return;
20
20
  if (key in exports && exports[key] === _expressions[key]) return;
@@ -25,7 +25,7 @@ Object.keys(_expressions).forEach(function (key) {
25
25
  }
26
26
  });
27
27
  });
28
- var _statements = require("./statements");
28
+ var _statements = require("./statements.js");
29
29
  Object.keys(_statements).forEach(function (key) {
30
30
  if (key === "default" || key === "__esModule") return;
31
31
  if (key in exports && exports[key] === _statements[key]) return;
@@ -36,7 +36,7 @@ Object.keys(_statements).forEach(function (key) {
36
36
  }
37
37
  });
38
38
  });
39
- var _classes = require("./classes");
39
+ var _classes = require("./classes.js");
40
40
  Object.keys(_classes).forEach(function (key) {
41
41
  if (key === "default" || key === "__esModule") return;
42
42
  if (key in exports && exports[key] === _classes[key]) return;
@@ -47,7 +47,7 @@ Object.keys(_classes).forEach(function (key) {
47
47
  }
48
48
  });
49
49
  });
50
- var _methods = require("./methods");
50
+ var _methods = require("./methods.js");
51
51
  Object.keys(_methods).forEach(function (key) {
52
52
  if (key === "default" || key === "__esModule") return;
53
53
  if (key in exports && exports[key] === _methods[key]) return;
@@ -58,7 +58,7 @@ Object.keys(_methods).forEach(function (key) {
58
58
  }
59
59
  });
60
60
  });
61
- var _modules = require("./modules");
61
+ var _modules = require("./modules.js");
62
62
  Object.keys(_modules).forEach(function (key) {
63
63
  if (key === "default" || key === "__esModule") return;
64
64
  if (key in exports && exports[key] === _modules[key]) return;
@@ -69,7 +69,7 @@ Object.keys(_modules).forEach(function (key) {
69
69
  }
70
70
  });
71
71
  });
72
- var _types = require("./types");
72
+ var _types = require("./types.js");
73
73
  Object.keys(_types).forEach(function (key) {
74
74
  if (key === "default" || key === "__esModule") return;
75
75
  if (key in exports && exports[key] === _types[key]) return;
@@ -80,7 +80,7 @@ Object.keys(_types).forEach(function (key) {
80
80
  }
81
81
  });
82
82
  });
83
- var _flow = require("./flow");
83
+ var _flow = require("./flow.js");
84
84
  Object.keys(_flow).forEach(function (key) {
85
85
  if (key === "default" || key === "__esModule") return;
86
86
  if (key in exports && exports[key] === _flow[key]) return;
@@ -91,7 +91,7 @@ Object.keys(_flow).forEach(function (key) {
91
91
  }
92
92
  });
93
93
  });
94
- var _base = require("./base");
94
+ var _base = require("./base.js");
95
95
  Object.keys(_base).forEach(function (key) {
96
96
  if (key === "default" || key === "__esModule") return;
97
97
  if (key in exports && exports[key] === _base[key]) return;
@@ -102,7 +102,7 @@ Object.keys(_base).forEach(function (key) {
102
102
  }
103
103
  });
104
104
  });
105
- var _jsx = require("./jsx");
105
+ var _jsx = require("./jsx.js");
106
106
  Object.keys(_jsx).forEach(function (key) {
107
107
  if (key === "default" || key === "__esModule") return;
108
108
  if (key in exports && exports[key] === _jsx[key]) return;
@@ -113,7 +113,7 @@ Object.keys(_jsx).forEach(function (key) {
113
113
  }
114
114
  });
115
115
  });
116
- var _typescript = require("./typescript");
116
+ var _typescript = require("./typescript.js");
117
117
  Object.keys(_typescript).forEach(function (key) {
118
118
  if (key === "default" || key === "__esModule") return;
119
119
  if (key in exports && exports[key] === _typescript[key]) return;
@@ -1 +1 @@
1
- {"version":3,"names":["_templateLiterals","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_expressions","_statements","_classes","_methods","_modules","_types","_flow","_base","_jsx","_typescript"],"sources":["../../src/generators/index.ts"],"sourcesContent":["export * from \"./template-literals\";\nexport * from \"./expressions\";\nexport * from \"./statements\";\nexport * from \"./classes\";\nexport * from \"./methods\";\nexport * from \"./modules\";\nexport * from \"./types\";\nexport * from \"./flow\";\nexport * from \"./base\";\nexport * from \"./jsx\";\nexport * from \"./typescript\";\n"],"mappings":";;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,iBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,iBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,iBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,YAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,YAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,YAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,YAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,WAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,WAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,WAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,WAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,QAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,QAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,QAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,QAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,QAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,QAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,QAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,QAAA,CAAAR,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,QAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,QAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAS,QAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAK,QAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,MAAA,GAAAd,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAY,MAAA,EAAAX,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAU,MAAA,CAAAV,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAM,MAAA,CAAAV,GAAA;IAAA;EAAA;AAAA;AACA,IAAAW,KAAA,GAAAf,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAa,KAAA,EAAAZ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAW,KAAA,CAAAX,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAO,KAAA,CAAAX,GAAA;IAAA;EAAA;AAAA;AACA,IAAAY,KAAA,GAAAhB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAc,KAAA,EAAAb,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAY,KAAA,CAAAZ,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAQ,KAAA,CAAAZ,GAAA;IAAA;EAAA;AAAA;AACA,IAAAa,IAAA,GAAAjB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAe,IAAA,EAAAd,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAa,IAAA,CAAAb,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAS,IAAA,CAAAb,GAAA;IAAA;EAAA;AAAA;AACA,IAAAc,WAAA,GAAAlB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAgB,WAAA,EAAAf,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAc,WAAA,CAAAd,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAU,WAAA,CAAAd,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_templateLiterals","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_expressions","_statements","_classes","_methods","_modules","_types","_flow","_base","_jsx","_typescript"],"sources":["../../src/generators/index.ts"],"sourcesContent":["export * from \"./template-literals.ts\";\nexport * from \"./expressions.ts\";\nexport * from \"./statements.ts\";\nexport * from \"./classes.ts\";\nexport * from \"./methods.ts\";\nexport * from \"./modules.ts\";\nexport * from \"./types.ts\";\nexport * from \"./flow.ts\";\nexport * from \"./base.ts\";\nexport * from \"./jsx.ts\";\nexport * from \"./typescript.ts\";\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["JSXAttribute","node","print","name","value","token","JSXIdentifier","word","JSXNamespacedName","namespace","JSXMemberExpression","object","property","JSXSpreadAttribute","argument","JSXExpressionContainer","expression","JSXSpreadChild","JSXText","raw","getPossibleRaw","undefined","JSXElement","open","openingElement","selfClosing","indent","child","children","dedent","closingElement","spaceSeparator","space","JSXOpeningElement","typeParameters","attributes","length","printJoin","separator","JSXClosingElement","JSXEmptyExpression","printInnerComments","JSXFragment","openingFragment","closingFragment","JSXOpeningFragment","JSXClosingFragment"],"sources":["../../src/generators/jsx.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport type * as t from \"@babel/types\";\n\nexport function JSXAttribute(this: Printer, node: t.JSXAttribute) {\n this.print(node.name, node);\n if (node.value) {\n this.token(\"=\");\n this.print(node.value, node);\n }\n}\n\nexport function JSXIdentifier(this: Printer, node: t.JSXIdentifier) {\n this.word(node.name);\n}\n\nexport function JSXNamespacedName(this: Printer, node: t.JSXNamespacedName) {\n this.print(node.namespace, node);\n this.token(\":\");\n this.print(node.name, node);\n}\n\nexport function JSXMemberExpression(\n this: Printer,\n node: t.JSXMemberExpression,\n) {\n this.print(node.object, node);\n this.token(\".\");\n this.print(node.property, node);\n}\n\nexport function JSXSpreadAttribute(this: Printer, node: t.JSXSpreadAttribute) {\n this.token(\"{\");\n this.token(\"...\");\n this.print(node.argument, node);\n this.token(\"}\");\n}\n\nexport function JSXExpressionContainer(\n this: Printer,\n node: t.JSXExpressionContainer,\n) {\n this.token(\"{\");\n this.print(node.expression, node);\n this.token(\"}\");\n}\n\nexport function JSXSpreadChild(this: Printer, node: t.JSXSpreadChild) {\n this.token(\"{\");\n this.token(\"...\");\n this.print(node.expression, node);\n this.token(\"}\");\n}\n\nexport function JSXText(this: Printer, node: t.JSXText) {\n const raw = this.getPossibleRaw(node);\n\n if (raw !== undefined) {\n this.token(raw, true);\n } else {\n this.token(node.value, true);\n }\n}\n\nexport function JSXElement(this: Printer, node: t.JSXElement) {\n const open = node.openingElement;\n this.print(open, node);\n if (open.selfClosing) return;\n\n this.indent();\n for (const child of node.children) {\n this.print(child, node);\n }\n this.dedent();\n\n this.print(node.closingElement, node);\n}\n\nfunction spaceSeparator(this: Printer) {\n this.space();\n}\n\nexport function JSXOpeningElement(this: Printer, node: t.JSXOpeningElement) {\n this.token(\"<\");\n this.print(node.name, node);\n this.print(node.typeParameters, node); // TS\n if (node.attributes.length > 0) {\n this.space();\n this.printJoin(node.attributes, node, { separator: spaceSeparator });\n }\n if (node.selfClosing) {\n this.space();\n this.token(\"/>\");\n } else {\n this.token(\">\");\n }\n}\n\nexport function JSXClosingElement(this: Printer, node: t.JSXClosingElement) {\n this.token(\"</\");\n this.print(node.name, node);\n this.token(\">\");\n}\n\nexport function JSXEmptyExpression(this: Printer) {\n // This node is empty, so forcefully print its inner comments.\n this.printInnerComments();\n}\n\nexport function JSXFragment(this: Printer, node: t.JSXFragment) {\n this.print(node.openingFragment, node);\n\n this.indent();\n for (const child of node.children) {\n this.print(child, node);\n }\n this.dedent();\n\n this.print(node.closingFragment, node);\n}\n\nexport function JSXOpeningFragment(this: Printer) {\n this.token(\"<\");\n this.token(\">\");\n}\n\nexport function JSXClosingFragment(this: Printer) {\n this.token(\"</\");\n this.token(\">\");\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["JSXAttribute","node","print","name","value","token","JSXIdentifier","word","JSXNamespacedName","namespace","JSXMemberExpression","object","property","JSXSpreadAttribute","argument","JSXExpressionContainer","expression","JSXSpreadChild","JSXText","raw","getPossibleRaw","undefined","JSXElement","open","openingElement","selfClosing","indent","child","children","dedent","closingElement","spaceSeparator","space","JSXOpeningElement","typeParameters","attributes","length","printJoin","separator","JSXClosingElement","JSXEmptyExpression","printInnerComments","JSXFragment","openingFragment","closingFragment","JSXOpeningFragment","JSXClosingFragment"],"sources":["../../src/generators/jsx.ts"],"sourcesContent":["import type Printer from \"../printer.ts\";\nimport type * as t from \"@babel/types\";\n\nexport function JSXAttribute(this: Printer, node: t.JSXAttribute) {\n this.print(node.name, node);\n if (node.value) {\n this.token(\"=\");\n this.print(node.value, node);\n }\n}\n\nexport function JSXIdentifier(this: Printer, node: t.JSXIdentifier) {\n this.word(node.name);\n}\n\nexport function JSXNamespacedName(this: Printer, node: t.JSXNamespacedName) {\n this.print(node.namespace, node);\n this.token(\":\");\n this.print(node.name, node);\n}\n\nexport function JSXMemberExpression(\n this: Printer,\n node: t.JSXMemberExpression,\n) {\n this.print(node.object, node);\n this.token(\".\");\n this.print(node.property, node);\n}\n\nexport function JSXSpreadAttribute(this: Printer, node: t.JSXSpreadAttribute) {\n this.token(\"{\");\n this.token(\"...\");\n this.print(node.argument, node);\n this.token(\"}\");\n}\n\nexport function JSXExpressionContainer(\n this: Printer,\n node: t.JSXExpressionContainer,\n) {\n this.token(\"{\");\n this.print(node.expression, node);\n this.token(\"}\");\n}\n\nexport function JSXSpreadChild(this: Printer, node: t.JSXSpreadChild) {\n this.token(\"{\");\n this.token(\"...\");\n this.print(node.expression, node);\n this.token(\"}\");\n}\n\nexport function JSXText(this: Printer, node: t.JSXText) {\n const raw = this.getPossibleRaw(node);\n\n if (raw !== undefined) {\n this.token(raw, true);\n } else {\n this.token(node.value, true);\n }\n}\n\nexport function JSXElement(this: Printer, node: t.JSXElement) {\n const open = node.openingElement;\n this.print(open, node);\n if (open.selfClosing) return;\n\n this.indent();\n for (const child of node.children) {\n this.print(child, node);\n }\n this.dedent();\n\n this.print(node.closingElement, node);\n}\n\nfunction spaceSeparator(this: Printer) {\n this.space();\n}\n\nexport function JSXOpeningElement(this: Printer, node: t.JSXOpeningElement) {\n this.token(\"<\");\n this.print(node.name, node);\n this.print(node.typeParameters, node); // TS\n if (node.attributes.length > 0) {\n this.space();\n this.printJoin(node.attributes, node, { separator: spaceSeparator });\n }\n if (node.selfClosing) {\n this.space();\n this.token(\"/>\");\n } else {\n this.token(\">\");\n }\n}\n\nexport function JSXClosingElement(this: Printer, node: t.JSXClosingElement) {\n this.token(\"</\");\n this.print(node.name, node);\n this.token(\">\");\n}\n\nexport function JSXEmptyExpression(this: Printer) {\n // This node is empty, so forcefully print its inner comments.\n this.printInnerComments();\n}\n\nexport function JSXFragment(this: Printer, node: t.JSXFragment) {\n this.print(node.openingFragment, node);\n\n this.indent();\n for (const child of node.children) {\n this.print(child, node);\n }\n this.dedent();\n\n this.print(node.closingFragment, node);\n}\n\nexport function JSXOpeningFragment(this: Printer) {\n this.token(\"<\");\n this.token(\">\");\n}\n\nexport function JSXClosingFragment(this: Printer) {\n this.token(\"</\");\n this.token(\">\");\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_t","require","isIdentifier","_params","node","idNode","parentNode","print","typeParameters","nameInfo","_getFuncIdName","call","sourceIdentifierName","name","pos","token","_parameters","params","noLineTerminator","type","returnType","_noLineTerminator","parameters","parent","paramLength","length","i","_param","space","parameter","printJoin","decorators","optional","typeAnnotation","_methodHead","kind","key","word","async","generator","computed","undefined","_predicate","noLineTerminatorAfter","predicate","_functionHead","_endsWithInnerRaw","id","FunctionExpression","body","ArrowFunctionExpression","firstParam","format","retainLines","hasTypesOrComments","printInnerComments","param","_param$leadingComment","_param$trailingCommen","leadingComments","trailingComments","parentType","left","_id$loc","_id$loc2","loc","start","identifierName","_id$loc3","_id$loc4","value"],"sources":["../../src/generators/methods.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport type * as t from \"@babel/types\";\nimport { isIdentifier } from \"@babel/types\";\nimport type { NodePath } from \"@babel/traverse\";\n\nexport function _params(\n this: Printer,\n node: t.Function | t.TSDeclareMethod | t.TSDeclareFunction,\n idNode: t.Expression | t.PrivateName,\n parentNode: NodePath<\n t.Function | t.TSDeclareMethod | t.TSDeclareFunction\n >[\"parent\"],\n) {\n this.print(node.typeParameters, node);\n\n const nameInfo = _getFuncIdName.call(this, idNode, parentNode);\n if (nameInfo) {\n this.sourceIdentifierName(nameInfo.name, nameInfo.pos);\n }\n\n this.token(\"(\");\n this._parameters(node.params, node);\n this.token(\")\");\n\n const noLineTerminator = node.type === \"ArrowFunctionExpression\";\n this.print(node.returnType, node, noLineTerminator);\n\n this._noLineTerminator = noLineTerminator;\n}\n\nexport function _parameters(\n this: Printer,\n parameters: t.Function[\"params\"],\n parent:\n | t.Function\n | t.TSIndexSignature\n | t.TSDeclareMethod\n | t.TSDeclareFunction\n | t.TSFunctionType\n | t.TSConstructorType,\n) {\n const paramLength = parameters.length;\n for (let i = 0; i < paramLength; i++) {\n this._param(parameters[i], parent);\n\n if (i < parameters.length - 1) {\n this.token(\",\");\n this.space();\n }\n }\n}\n\nexport function _param(\n this: Printer,\n parameter: t.Identifier | t.RestElement | t.Pattern | t.TSParameterProperty,\n parent?:\n | t.Function\n | t.TSIndexSignature\n | t.TSDeclareMethod\n | t.TSDeclareFunction\n | t.TSFunctionType\n | t.TSConstructorType,\n) {\n this.printJoin(parameter.decorators, parameter);\n this.print(parameter, parent);\n if (\n // @ts-expect-error optional is not in TSParameterProperty\n parameter.optional\n ) {\n this.token(\"?\"); // TS / flow\n }\n\n this.print(\n // @ts-expect-error typeAnnotation is not in TSParameterProperty\n parameter.typeAnnotation,\n parameter,\n ); // TS / flow\n}\n\nexport function _methodHead(this: Printer, node: t.Method | t.TSDeclareMethod) {\n const kind = node.kind;\n const key = node.key;\n\n if (kind === \"get\" || kind === \"set\") {\n this.word(kind);\n this.space();\n }\n\n if (node.async) {\n this.word(\"async\", true);\n this.space();\n }\n\n if (\n kind === \"method\" ||\n // @ts-expect-error Fixme: kind: \"init\" is not defined\n kind === \"init\"\n ) {\n if (node.generator) {\n this.token(\"*\");\n }\n }\n\n if (node.computed) {\n this.token(\"[\");\n this.print(key, node);\n this.token(\"]\");\n } else {\n this.print(key, node);\n }\n\n if (\n // @ts-expect-error optional is not in ObjectMethod\n node.optional\n ) {\n // TS\n this.token(\"?\");\n }\n\n this._params(\n node,\n node.computed && node.key.type !== \"StringLiteral\" ? undefined : node.key,\n undefined,\n );\n}\n\nexport function _predicate(\n this: Printer,\n node:\n | t.FunctionDeclaration\n | t.FunctionExpression\n | t.ArrowFunctionExpression,\n noLineTerminatorAfter?: boolean,\n) {\n if (node.predicate) {\n if (!node.returnType) {\n this.token(\":\");\n }\n this.space();\n this.print(node.predicate, node, noLineTerminatorAfter);\n }\n}\n\nexport function _functionHead(\n this: Printer,\n node: t.FunctionDeclaration | t.FunctionExpression | t.TSDeclareFunction,\n parent: NodePath<\n t.FunctionDeclaration | t.FunctionExpression | t.TSDeclareFunction\n >[\"parent\"],\n) {\n if (node.async) {\n this.word(\"async\");\n // We prevent inner comments from being printed here,\n // so that they are always consistently printed in the\n // same place regardless of the function type.\n this._endsWithInnerRaw = false;\n this.space();\n }\n this.word(\"function\");\n if (node.generator) {\n // We prevent inner comments from being printed here,\n // so that they are always consistently printed in the\n // same place regardless of the function type.\n this._endsWithInnerRaw = false;\n this.token(\"*\");\n }\n\n this.space();\n if (node.id) {\n this.print(node.id, node);\n }\n\n this._params(node, node.id, parent);\n if (node.type !== \"TSDeclareFunction\") {\n this._predicate(node);\n }\n}\n\nexport function FunctionExpression(\n this: Printer,\n node: t.FunctionExpression,\n parent: NodePath<t.FunctionExpression>[\"parent\"],\n) {\n this._functionHead(node, parent);\n this.space();\n this.print(node.body, node);\n}\n\nexport { FunctionExpression as FunctionDeclaration };\n\nexport function ArrowFunctionExpression(\n this: Printer,\n node: t.ArrowFunctionExpression,\n parent: NodePath<t.ArrowFunctionExpression>[\"parent\"],\n) {\n if (node.async) {\n this.word(\"async\", true);\n this.space();\n }\n\n // Try to avoid printing parens in simple cases, but only if we're pretty\n // sure that they aren't needed by type annotations or potential newlines.\n let firstParam;\n if (\n !this.format.retainLines &&\n node.params.length === 1 &&\n isIdentifier((firstParam = node.params[0])) &&\n !hasTypesOrComments(node, firstParam)\n ) {\n this.print(firstParam, node, true);\n } else {\n this._params(node, undefined, parent);\n }\n\n this._predicate(node, true);\n this.space();\n // When printing (x)/*1*/=>{}, we remove the parentheses\n // and thus there aren't two contiguous inner tokens.\n // We forcefully print inner comments here.\n this.printInnerComments();\n this.token(\"=>\");\n\n this.space();\n\n this.print(node.body, node);\n}\n\nfunction hasTypesOrComments(\n node: t.ArrowFunctionExpression,\n param: t.Identifier,\n): boolean {\n return !!(\n node.typeParameters ||\n node.returnType ||\n node.predicate ||\n param.typeAnnotation ||\n param.optional ||\n // Flow does not support `foo /*: string*/ => {};`\n param.leadingComments?.length ||\n param.trailingComments?.length\n );\n}\n\nfunction _getFuncIdName(\n this: Printer,\n idNode: t.Expression | t.PrivateName,\n parent: NodePath<\n t.Function | t.TSDeclareMethod | t.TSDeclareFunction\n >[\"parent\"],\n) {\n let id: t.Expression | t.PrivateName | t.LVal = idNode;\n\n if (!id && parent) {\n const parentType = parent.type;\n\n if (parentType === \"VariableDeclarator\") {\n id = parent.id;\n } else if (\n parentType === \"AssignmentExpression\" ||\n parentType === \"AssignmentPattern\"\n ) {\n id = parent.left;\n } else if (\n parentType === \"ObjectProperty\" ||\n parentType === \"ClassProperty\"\n ) {\n if (!parent.computed || parent.key.type === \"StringLiteral\") {\n id = parent.key;\n }\n } else if (\n parentType === \"ClassPrivateProperty\" ||\n parentType === \"ClassAccessorProperty\"\n ) {\n id = parent.key;\n }\n }\n\n if (!id) return;\n\n let nameInfo;\n\n if (id.type === \"Identifier\") {\n nameInfo = {\n pos: id.loc?.start,\n name: id.loc?.identifierName || id.name,\n };\n } else if (id.type === \"PrivateName\") {\n nameInfo = {\n pos: id.loc?.start,\n name: \"#\" + id.id.name,\n };\n } else if (id.type === \"StringLiteral\") {\n nameInfo = {\n pos: id.loc?.start,\n name: id.value,\n };\n }\n\n return nameInfo;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_t","require","isIdentifier","_params","node","idNode","parentNode","print","typeParameters","nameInfo","_getFuncIdName","call","sourceIdentifierName","name","pos","token","_parameters","params","noLineTerminator","type","returnType","_noLineTerminator","parameters","parent","paramLength","length","i","_param","space","parameter","printJoin","decorators","optional","typeAnnotation","_methodHead","kind","key","word","async","generator","computed","undefined","_predicate","noLineTerminatorAfter","predicate","_functionHead","_endsWithInnerRaw","id","FunctionExpression","body","ArrowFunctionExpression","firstParam","format","retainLines","hasTypesOrComments","printInnerComments","param","_param$leadingComment","_param$trailingCommen","leadingComments","trailingComments","parentType","left","_id$loc","_id$loc2","loc","start","identifierName","_id$loc3","_id$loc4","value"],"sources":["../../src/generators/methods.ts"],"sourcesContent":["import type Printer from \"../printer.ts\";\nimport type * as t from \"@babel/types\";\nimport { isIdentifier } from \"@babel/types\";\nimport type { NodePath } from \"@babel/traverse\";\n\nexport function _params(\n this: Printer,\n node: t.Function | t.TSDeclareMethod | t.TSDeclareFunction,\n idNode: t.Expression | t.PrivateName,\n parentNode: NodePath<\n t.Function | t.TSDeclareMethod | t.TSDeclareFunction\n >[\"parent\"],\n) {\n this.print(node.typeParameters, node);\n\n const nameInfo = _getFuncIdName.call(this, idNode, parentNode);\n if (nameInfo) {\n this.sourceIdentifierName(nameInfo.name, nameInfo.pos);\n }\n\n this.token(\"(\");\n this._parameters(node.params, node);\n this.token(\")\");\n\n const noLineTerminator = node.type === \"ArrowFunctionExpression\";\n this.print(node.returnType, node, noLineTerminator);\n\n this._noLineTerminator = noLineTerminator;\n}\n\nexport function _parameters(\n this: Printer,\n parameters: t.Function[\"params\"],\n parent:\n | t.Function\n | t.TSIndexSignature\n | t.TSDeclareMethod\n | t.TSDeclareFunction\n | t.TSFunctionType\n | t.TSConstructorType,\n) {\n const paramLength = parameters.length;\n for (let i = 0; i < paramLength; i++) {\n this._param(parameters[i], parent);\n\n if (i < parameters.length - 1) {\n this.token(\",\");\n this.space();\n }\n }\n}\n\nexport function _param(\n this: Printer,\n parameter: t.Identifier | t.RestElement | t.Pattern | t.TSParameterProperty,\n parent?:\n | t.Function\n | t.TSIndexSignature\n | t.TSDeclareMethod\n | t.TSDeclareFunction\n | t.TSFunctionType\n | t.TSConstructorType,\n) {\n this.printJoin(parameter.decorators, parameter);\n this.print(parameter, parent);\n if (\n // @ts-expect-error optional is not in TSParameterProperty\n parameter.optional\n ) {\n this.token(\"?\"); // TS / flow\n }\n\n this.print(\n // @ts-expect-error typeAnnotation is not in TSParameterProperty\n parameter.typeAnnotation,\n parameter,\n ); // TS / flow\n}\n\nexport function _methodHead(this: Printer, node: t.Method | t.TSDeclareMethod) {\n const kind = node.kind;\n const key = node.key;\n\n if (kind === \"get\" || kind === \"set\") {\n this.word(kind);\n this.space();\n }\n\n if (node.async) {\n this.word(\"async\", true);\n this.space();\n }\n\n if (\n kind === \"method\" ||\n // @ts-expect-error Fixme: kind: \"init\" is not defined\n kind === \"init\"\n ) {\n if (node.generator) {\n this.token(\"*\");\n }\n }\n\n if (node.computed) {\n this.token(\"[\");\n this.print(key, node);\n this.token(\"]\");\n } else {\n this.print(key, node);\n }\n\n if (\n // @ts-expect-error optional is not in ObjectMethod\n node.optional\n ) {\n // TS\n this.token(\"?\");\n }\n\n this._params(\n node,\n node.computed && node.key.type !== \"StringLiteral\" ? undefined : node.key,\n undefined,\n );\n}\n\nexport function _predicate(\n this: Printer,\n node:\n | t.FunctionDeclaration\n | t.FunctionExpression\n | t.ArrowFunctionExpression,\n noLineTerminatorAfter?: boolean,\n) {\n if (node.predicate) {\n if (!node.returnType) {\n this.token(\":\");\n }\n this.space();\n this.print(node.predicate, node, noLineTerminatorAfter);\n }\n}\n\nexport function _functionHead(\n this: Printer,\n node: t.FunctionDeclaration | t.FunctionExpression | t.TSDeclareFunction,\n parent: NodePath<\n t.FunctionDeclaration | t.FunctionExpression | t.TSDeclareFunction\n >[\"parent\"],\n) {\n if (node.async) {\n this.word(\"async\");\n // We prevent inner comments from being printed here,\n // so that they are always consistently printed in the\n // same place regardless of the function type.\n this._endsWithInnerRaw = false;\n this.space();\n }\n this.word(\"function\");\n if (node.generator) {\n // We prevent inner comments from being printed here,\n // so that they are always consistently printed in the\n // same place regardless of the function type.\n this._endsWithInnerRaw = false;\n this.token(\"*\");\n }\n\n this.space();\n if (node.id) {\n this.print(node.id, node);\n }\n\n this._params(node, node.id, parent);\n if (node.type !== \"TSDeclareFunction\") {\n this._predicate(node);\n }\n}\n\nexport function FunctionExpression(\n this: Printer,\n node: t.FunctionExpression,\n parent: NodePath<t.FunctionExpression>[\"parent\"],\n) {\n this._functionHead(node, parent);\n this.space();\n this.print(node.body, node);\n}\n\nexport { FunctionExpression as FunctionDeclaration };\n\nexport function ArrowFunctionExpression(\n this: Printer,\n node: t.ArrowFunctionExpression,\n parent: NodePath<t.ArrowFunctionExpression>[\"parent\"],\n) {\n if (node.async) {\n this.word(\"async\", true);\n this.space();\n }\n\n // Try to avoid printing parens in simple cases, but only if we're pretty\n // sure that they aren't needed by type annotations or potential newlines.\n let firstParam;\n if (\n !this.format.retainLines &&\n node.params.length === 1 &&\n isIdentifier((firstParam = node.params[0])) &&\n !hasTypesOrComments(node, firstParam)\n ) {\n this.print(firstParam, node, true);\n } else {\n this._params(node, undefined, parent);\n }\n\n this._predicate(node, true);\n this.space();\n // When printing (x)/*1*/=>{}, we remove the parentheses\n // and thus there aren't two contiguous inner tokens.\n // We forcefully print inner comments here.\n this.printInnerComments();\n this.token(\"=>\");\n\n this.space();\n\n this.print(node.body, node);\n}\n\nfunction hasTypesOrComments(\n node: t.ArrowFunctionExpression,\n param: t.Identifier,\n): boolean {\n return !!(\n node.typeParameters ||\n node.returnType ||\n node.predicate ||\n param.typeAnnotation ||\n param.optional ||\n // Flow does not support `foo /*: string*/ => {};`\n param.leadingComments?.length ||\n param.trailingComments?.length\n );\n}\n\nfunction _getFuncIdName(\n this: Printer,\n idNode: t.Expression | t.PrivateName,\n parent: NodePath<\n t.Function | t.TSDeclareMethod | t.TSDeclareFunction\n >[\"parent\"],\n) {\n let id: t.Expression | t.PrivateName | t.LVal = idNode;\n\n if (!id && parent) {\n const parentType = parent.type;\n\n if (parentType === \"VariableDeclarator\") {\n id = parent.id;\n } else if (\n parentType === \"AssignmentExpression\" ||\n parentType === \"AssignmentPattern\"\n ) {\n id = parent.left;\n } else if (\n parentType === \"ObjectProperty\" ||\n parentType === \"ClassProperty\"\n ) {\n if (!parent.computed || parent.key.type === \"StringLiteral\") {\n id = parent.key;\n }\n } else if (\n parentType === \"ClassPrivateProperty\" ||\n parentType === \"ClassAccessorProperty\"\n ) {\n id = parent.key;\n }\n }\n\n if (!id) return;\n\n let nameInfo;\n\n if (id.type === \"Identifier\") {\n nameInfo = {\n pos: id.loc?.start,\n name: id.loc?.identifierName || id.name,\n };\n } else if (id.type === \"PrivateName\") {\n nameInfo = {\n pos: id.loc?.start,\n name: \"#\" + id.id.name,\n };\n } else if (id.type === \"StringLiteral\") {\n nameInfo = {\n pos: id.loc?.start,\n name: id.value,\n };\n }\n\n return nameInfo;\n}\n"],"mappings":";;;;;;;;;;;;;AAEA,IAAAA,EAAA,GAAAC,OAAA;AAA4C;EAAnCC;AAAY,IAAAF,EAAA;AAGd,SAASG,OAAOA,CAErBC,IAA0D,EAC1DC,MAAoC,EACpCC,UAEW,EACX;EACA,IAAI,CAACC,KAAK,CAACH,IAAI,CAACI,cAAc,EAAEJ,IAAI,CAAC;EAErC,MAAMK,QAAQ,GAAGC,cAAc,CAACC,IAAI,CAAC,IAAI,EAAEN,MAAM,EAAEC,UAAU,CAAC;EAC9D,IAAIG,QAAQ,EAAE;IACZ,IAAI,CAACG,oBAAoB,CAACH,QAAQ,CAACI,IAAI,EAAEJ,QAAQ,CAACK,GAAG,CAAC;EACxD;EAEA,IAAI,CAACC,SAAK,GAAI,CAAC;EACf,IAAI,CAACC,WAAW,CAACZ,IAAI,CAACa,MAAM,EAAEb,IAAI,CAAC;EACnC,IAAI,CAACW,SAAK,GAAI,CAAC;EAEf,MAAMG,gBAAgB,GAAGd,IAAI,CAACe,IAAI,KAAK,yBAAyB;EAChE,IAAI,CAACZ,KAAK,CAACH,IAAI,CAACgB,UAAU,EAAEhB,IAAI,EAAEc,gBAAgB,CAAC;EAEnD,IAAI,CAACG,iBAAiB,GAAGH,gBAAgB;AAC3C;AAEO,SAASF,WAAWA,CAEzBM,UAAgC,EAChCC,MAMuB,EACvB;EACA,MAAMC,WAAW,GAAGF,UAAU,CAACG,MAAM;EACrC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,WAAW,EAAEE,CAAC,EAAE,EAAE;IACpC,IAAI,CAACC,MAAM,CAACL,UAAU,CAACI,CAAC,CAAC,EAAEH,MAAM,CAAC;IAElC,IAAIG,CAAC,GAAGJ,UAAU,CAACG,MAAM,GAAG,CAAC,EAAE;MAC7B,IAAI,CAACV,SAAK,GAAI,CAAC;MACf,IAAI,CAACa,KAAK,CAAC,CAAC;IACd;EACF;AACF;AAEO,SAASD,MAAMA,CAEpBE,SAA2E,EAC3EN,MAMuB,EACvB;EACA,IAAI,CAACO,SAAS,CAACD,SAAS,CAACE,UAAU,EAAEF,SAAS,CAAC;EAC/C,IAAI,CAACtB,KAAK,CAACsB,SAAS,EAAEN,MAAM,CAAC;EAC7B,IAEEM,SAAS,CAACG,QAAQ,EAClB;IACA,IAAI,CAACjB,SAAK,GAAI,CAAC;EACjB;EAEA,IAAI,CAACR,KAAK,CAERsB,SAAS,CAACI,cAAc,EACxBJ,SACF,CAAC;AACH;AAEO,SAASK,WAAWA,CAAgB9B,IAAkC,EAAE;EAC7E,MAAM+B,IAAI,GAAG/B,IAAI,CAAC+B,IAAI;EACtB,MAAMC,GAAG,GAAGhC,IAAI,CAACgC,GAAG;EAEpB,IAAID,IAAI,KAAK,KAAK,IAAIA,IAAI,KAAK,KAAK,EAAE;IACpC,IAAI,CAACE,IAAI,CAACF,IAAI,CAAC;IACf,IAAI,CAACP,KAAK,CAAC,CAAC;EACd;EAEA,IAAIxB,IAAI,CAACkC,KAAK,EAAE;IACd,IAAI,CAACD,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;IACxB,IAAI,CAACT,KAAK,CAAC,CAAC;EACd;EAEA,IACEO,IAAI,KAAK,QAAQ,IAEjBA,IAAI,KAAK,MAAM,EACf;IACA,IAAI/B,IAAI,CAACmC,SAAS,EAAE;MAClB,IAAI,CAACxB,SAAK,GAAI,CAAC;IACjB;EACF;EAEA,IAAIX,IAAI,CAACoC,QAAQ,EAAE;IACjB,IAAI,CAACzB,SAAK,GAAI,CAAC;IACf,IAAI,CAACR,KAAK,CAAC6B,GAAG,EAAEhC,IAAI,CAAC;IACrB,IAAI,CAACW,SAAK,GAAI,CAAC;EACjB,CAAC,MAAM;IACL,IAAI,CAACR,KAAK,CAAC6B,GAAG,EAAEhC,IAAI,CAAC;EACvB;EAEA,IAEEA,IAAI,CAAC4B,QAAQ,EACb;IAEA,IAAI,CAACjB,SAAK,GAAI,CAAC;EACjB;EAEA,IAAI,CAACZ,OAAO,CACVC,IAAI,EACJA,IAAI,CAACoC,QAAQ,IAAIpC,IAAI,CAACgC,GAAG,CAACjB,IAAI,KAAK,eAAe,GAAGsB,SAAS,GAAGrC,IAAI,CAACgC,GAAG,EACzEK,SACF,CAAC;AACH;AAEO,SAASC,UAAUA,CAExBtC,IAG6B,EAC7BuC,qBAA+B,EAC/B;EACA,IAAIvC,IAAI,CAACwC,SAAS,EAAE;IAClB,IAAI,CAACxC,IAAI,CAACgB,UAAU,EAAE;MACpB,IAAI,CAACL,SAAK,GAAI,CAAC;IACjB;IACA,IAAI,CAACa,KAAK,CAAC,CAAC;IACZ,IAAI,CAACrB,KAAK,CAACH,IAAI,CAACwC,SAAS,EAAExC,IAAI,EAAEuC,qBAAqB,CAAC;EACzD;AACF;AAEO,SAASE,aAAaA,CAE3BzC,IAAwE,EACxEmB,MAEW,EACX;EACA,IAAInB,IAAI,CAACkC,KAAK,EAAE;IACd,IAAI,CAACD,IAAI,CAAC,OAAO,CAAC;IAIlB,IAAI,CAACS,iBAAiB,GAAG,KAAK;IAC9B,IAAI,CAAClB,KAAK,CAAC,CAAC;EACd;EACA,IAAI,CAACS,IAAI,CAAC,UAAU,CAAC;EACrB,IAAIjC,IAAI,CAACmC,SAAS,EAAE;IAIlB,IAAI,CAACO,iBAAiB,GAAG,KAAK;IAC9B,IAAI,CAAC/B,SAAK,GAAI,CAAC;EACjB;EAEA,IAAI,CAACa,KAAK,CAAC,CAAC;EACZ,IAAIxB,IAAI,CAAC2C,EAAE,EAAE;IACX,IAAI,CAACxC,KAAK,CAACH,IAAI,CAAC2C,EAAE,EAAE3C,IAAI,CAAC;EAC3B;EAEA,IAAI,CAACD,OAAO,CAACC,IAAI,EAAEA,IAAI,CAAC2C,EAAE,EAAExB,MAAM,CAAC;EACnC,IAAInB,IAAI,CAACe,IAAI,KAAK,mBAAmB,EAAE;IACrC,IAAI,CAACuB,UAAU,CAACtC,IAAI,CAAC;EACvB;AACF;AAEO,SAAS4C,kBAAkBA,CAEhC5C,IAA0B,EAC1BmB,MAAgD,EAChD;EACA,IAAI,CAACsB,aAAa,CAACzC,IAAI,EAAEmB,MAAM,CAAC;EAChC,IAAI,CAACK,KAAK,CAAC,CAAC;EACZ,IAAI,CAACrB,KAAK,CAACH,IAAI,CAAC6C,IAAI,EAAE7C,IAAI,CAAC;AAC7B;AAIO,SAAS8C,uBAAuBA,CAErC9C,IAA+B,EAC/BmB,MAAqD,EACrD;EACA,IAAInB,IAAI,CAACkC,KAAK,EAAE;IACd,IAAI,CAACD,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;IACxB,IAAI,CAACT,KAAK,CAAC,CAAC;EACd;EAIA,IAAIuB,UAAU;EACd,IACE,CAAC,IAAI,CAACC,MAAM,CAACC,WAAW,IACxBjD,IAAI,CAACa,MAAM,CAACQ,MAAM,KAAK,CAAC,IACxBvB,YAAY,CAAEiD,UAAU,GAAG/C,IAAI,CAACa,MAAM,CAAC,CAAC,CAAE,CAAC,IAC3C,CAACqC,kBAAkB,CAAClD,IAAI,EAAE+C,UAAU,CAAC,EACrC;IACA,IAAI,CAAC5C,KAAK,CAAC4C,UAAU,EAAE/C,IAAI,EAAE,IAAI,CAAC;EACpC,CAAC,MAAM;IACL,IAAI,CAACD,OAAO,CAACC,IAAI,EAAEqC,SAAS,EAAElB,MAAM,CAAC;EACvC;EAEA,IAAI,CAACmB,UAAU,CAACtC,IAAI,EAAE,IAAI,CAAC;EAC3B,IAAI,CAACwB,KAAK,CAAC,CAAC;EAIZ,IAAI,CAAC2B,kBAAkB,CAAC,CAAC;EACzB,IAAI,CAACxC,KAAK,CAAC,IAAI,CAAC;EAEhB,IAAI,CAACa,KAAK,CAAC,CAAC;EAEZ,IAAI,CAACrB,KAAK,CAACH,IAAI,CAAC6C,IAAI,EAAE7C,IAAI,CAAC;AAC7B;AAEA,SAASkD,kBAAkBA,CACzBlD,IAA+B,EAC/BoD,KAAmB,EACV;EAAA,IAAAC,qBAAA,EAAAC,qBAAA;EACT,OAAO,CAAC,EACNtD,IAAI,CAACI,cAAc,IACnBJ,IAAI,CAACgB,UAAU,IACfhB,IAAI,CAACwC,SAAS,IACdY,KAAK,CAACvB,cAAc,IACpBuB,KAAK,CAACxB,QAAQ,KAAAyB,qBAAA,GAEdD,KAAK,CAACG,eAAe,aAArBF,qBAAA,CAAuBhC,MAAM,KAAAiC,qBAAA,GAC7BF,KAAK,CAACI,gBAAgB,aAAtBF,qBAAA,CAAwBjC,MAAM,CAC/B;AACH;AAEA,SAASf,cAAcA,CAErBL,MAAoC,EACpCkB,MAEW,EACX;EACA,IAAIwB,EAAyC,GAAG1C,MAAM;EAEtD,IAAI,CAAC0C,EAAE,IAAIxB,MAAM,EAAE;IACjB,MAAMsC,UAAU,GAAGtC,MAAM,CAACJ,IAAI;IAE9B,IAAI0C,UAAU,KAAK,oBAAoB,EAAE;MACvCd,EAAE,GAAGxB,MAAM,CAACwB,EAAE;IAChB,CAAC,MAAM,IACLc,UAAU,KAAK,sBAAsB,IACrCA,UAAU,KAAK,mBAAmB,EAClC;MACAd,EAAE,GAAGxB,MAAM,CAACuC,IAAI;IAClB,CAAC,MAAM,IACLD,UAAU,KAAK,gBAAgB,IAC/BA,UAAU,KAAK,eAAe,EAC9B;MACA,IAAI,CAACtC,MAAM,CAACiB,QAAQ,IAAIjB,MAAM,CAACa,GAAG,CAACjB,IAAI,KAAK,eAAe,EAAE;QAC3D4B,EAAE,GAAGxB,MAAM,CAACa,GAAG;MACjB;IACF,CAAC,MAAM,IACLyB,UAAU,KAAK,sBAAsB,IACrCA,UAAU,KAAK,uBAAuB,EACtC;MACAd,EAAE,GAAGxB,MAAM,CAACa,GAAG;IACjB;EACF;EAEA,IAAI,CAACW,EAAE,EAAE;EAET,IAAItC,QAAQ;EAEZ,IAAIsC,EAAE,CAAC5B,IAAI,KAAK,YAAY,EAAE;IAAA,IAAA4C,OAAA,EAAAC,QAAA;IAC5BvD,QAAQ,GAAG;MACTK,GAAG,GAAAiD,OAAA,GAAEhB,EAAE,CAACkB,GAAG,qBAANF,OAAA,CAAQG,KAAK;MAClBrD,IAAI,EAAE,EAAAmD,QAAA,GAAAjB,EAAE,CAACkB,GAAG,qBAAND,QAAA,CAAQG,cAAc,KAAIpB,EAAE,CAAClC;IACrC,CAAC;EACH,CAAC,MAAM,IAAIkC,EAAE,CAAC5B,IAAI,KAAK,aAAa,EAAE;IAAA,IAAAiD,QAAA;IACpC3D,QAAQ,GAAG;MACTK,GAAG,GAAAsD,QAAA,GAAErB,EAAE,CAACkB,GAAG,qBAANG,QAAA,CAAQF,KAAK;MAClBrD,IAAI,EAAE,GAAG,GAAGkC,EAAE,CAACA,EAAE,CAAClC;IACpB,CAAC;EACH,CAAC,MAAM,IAAIkC,EAAE,CAAC5B,IAAI,KAAK,eAAe,EAAE;IAAA,IAAAkD,QAAA;IACtC5D,QAAQ,GAAG;MACTK,GAAG,GAAAuD,QAAA,GAAEtB,EAAE,CAACkB,GAAG,qBAANI,QAAA,CAAQH,KAAK;MAClBrD,IAAI,EAAEkC,EAAE,CAACuB;IACX,CAAC;EACH;EAEA,OAAO7D,QAAQ;AACjB"}
@@ -1 +1 @@
1
- {"version":3,"names":["_t","require","isClassDeclaration","isExportDefaultSpecifier","isExportNamespaceSpecifier","isImportDefaultSpecifier","isImportNamespaceSpecifier","isStatement","ImportSpecifier","node","importKind","word","space","print","imported","local","name","ImportDefaultSpecifier","ExportDefaultSpecifier","exported","ExportSpecifier","exportKind","ExportNamespaceSpecifier","token","warningShown","_printAttributes","importAttributesKeyword","format","attributes","assertions","console","warn","useAssertKeyword","printList","ExportAllDeclaration","_node$attributes","_node$assertions","length","source","semicolon","maybePrintDecoratorsBeforeExport","printer","declaration","_shouldPrintDecoratorsBeforeExport","printJoin","decorators","ExportNamedDeclaration","declar","specifiers","slice","hasSpecial","first","shift","_node$attributes2","_node$assertions2","ExportDefaultDeclaration","noIndentInnerCommentsHere","ImportDeclaration","_node$attributes3","_node$assertions3","isTypeKind","module","hasSpecifiers","ImportAttribute","key","value","ImportNamespaceSpecifier"],"sources":["../../src/generators/modules.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport {\n isClassDeclaration,\n isExportDefaultSpecifier,\n isExportNamespaceSpecifier,\n isImportDefaultSpecifier,\n isImportNamespaceSpecifier,\n isStatement,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\n\nexport function ImportSpecifier(this: Printer, node: t.ImportSpecifier) {\n if (node.importKind === \"type\" || node.importKind === \"typeof\") {\n this.word(node.importKind);\n this.space();\n }\n\n this.print(node.imported, node);\n // @ts-expect-error todo(flow-ts) maybe check node type instead of relying on name to be undefined on t.StringLiteral\n if (node.local && node.local.name !== node.imported.name) {\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.local, node);\n }\n}\n\nexport function ImportDefaultSpecifier(\n this: Printer,\n node: t.ImportDefaultSpecifier,\n) {\n this.print(node.local, node);\n}\n\nexport function ExportDefaultSpecifier(\n this: Printer,\n node: t.ExportDefaultSpecifier,\n) {\n this.print(node.exported, node);\n}\n\nexport function ExportSpecifier(this: Printer, node: t.ExportSpecifier) {\n if (node.exportKind === \"type\") {\n this.word(\"type\");\n this.space();\n }\n\n this.print(node.local, node);\n // @ts-expect-error todo(flow-ts) maybe check node type instead of relying on name to be undefined on t.StringLiteral\n if (node.exported && node.local.name !== node.exported.name) {\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.exported, node);\n }\n}\n\nexport function ExportNamespaceSpecifier(\n this: Printer,\n node: t.ExportNamespaceSpecifier,\n) {\n this.token(\"*\");\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.exported, node);\n}\n\nlet warningShown = false;\n\nexport function _printAttributes(\n this: Printer,\n node: Extract<t.Node, { attributes?: t.ImportAttribute[] }>,\n) {\n const { importAttributesKeyword } = this.format;\n const { attributes, assertions } = node;\n\n if (\n attributes &&\n !importAttributesKeyword &&\n // In the production build only show the warning once.\n // We want to show it per-usage locally for tests.\n (!process.env.IS_PUBLISH || !warningShown)\n ) {\n warningShown = true;\n console.warn(`\\\nYou are using import attributes, without specifying the desired output syntax.\nPlease specify the \"importAttributesKeyword\" generator option, whose value can be one of:\n - \"with\" : \\`import { a } from \"b\" with { type: \"json\" };\\`\n - \"assert\" : \\`import { a } from \"b\" assert { type: \"json\" };\\`\n - \"with-legacy\" : \\`import { a } from \"b\" with type: \"json\";\\`\n`);\n }\n\n const useAssertKeyword =\n importAttributesKeyword === \"assert\" ||\n (!importAttributesKeyword && assertions);\n\n this.word(useAssertKeyword ? \"assert\" : \"with\");\n this.space();\n\n if (!useAssertKeyword && importAttributesKeyword !== \"with\") {\n // with-legacy\n this.printList(attributes || assertions, node);\n return;\n }\n\n this.token(\"{\");\n this.space();\n this.printList(attributes || assertions, node);\n this.space();\n this.token(\"}\");\n}\n\nexport function ExportAllDeclaration(\n this: Printer,\n node: t.ExportAllDeclaration | t.DeclareExportAllDeclaration,\n) {\n this.word(\"export\");\n this.space();\n if (node.exportKind === \"type\") {\n this.word(\"type\");\n this.space();\n }\n this.token(\"*\");\n this.space();\n this.word(\"from\");\n this.space();\n // @ts-expect-error Fixme: attributes is not defined in DeclareExportAllDeclaration\n if (node.attributes?.length || node.assertions?.length) {\n this.print(node.source, node, true);\n this.space();\n // @ts-expect-error Fixme: attributes is not defined in DeclareExportAllDeclaration\n this._printAttributes(node);\n } else {\n this.print(node.source, node);\n }\n\n this.semicolon();\n}\n\nfunction maybePrintDecoratorsBeforeExport(\n printer: Printer,\n node: t.ExportNamedDeclaration | t.ExportDefaultDeclaration,\n) {\n if (\n isClassDeclaration(node.declaration) &&\n printer._shouldPrintDecoratorsBeforeExport(\n node as t.ExportNamedDeclaration & { declaration: t.ClassDeclaration },\n )\n ) {\n printer.printJoin(node.declaration.decorators, node);\n }\n}\n\nexport function ExportNamedDeclaration(\n this: Printer,\n node: t.ExportNamedDeclaration,\n) {\n maybePrintDecoratorsBeforeExport(this, node);\n\n this.word(\"export\");\n this.space();\n if (node.declaration) {\n const declar = node.declaration;\n this.print(declar, node);\n if (!isStatement(declar)) this.semicolon();\n } else {\n if (node.exportKind === \"type\") {\n this.word(\"type\");\n this.space();\n }\n\n const specifiers = node.specifiers.slice(0);\n\n // print \"special\" specifiers first\n let hasSpecial = false;\n for (;;) {\n const first = specifiers[0];\n if (\n isExportDefaultSpecifier(first) ||\n isExportNamespaceSpecifier(first)\n ) {\n hasSpecial = true;\n this.print(specifiers.shift(), node);\n if (specifiers.length) {\n this.token(\",\");\n this.space();\n }\n } else {\n break;\n }\n }\n\n if (specifiers.length || (!specifiers.length && !hasSpecial)) {\n this.token(\"{\");\n if (specifiers.length) {\n this.space();\n this.printList(specifiers, node);\n this.space();\n }\n this.token(\"}\");\n }\n\n if (node.source) {\n this.space();\n this.word(\"from\");\n this.space();\n if (node.attributes?.length || node.assertions?.length) {\n this.print(node.source, node, true);\n this.space();\n this._printAttributes(node);\n } else {\n this.print(node.source, node);\n }\n }\n\n this.semicolon();\n }\n}\n\nexport function ExportDefaultDeclaration(\n this: Printer,\n node: t.ExportDefaultDeclaration,\n) {\n maybePrintDecoratorsBeforeExport(this, node);\n\n this.word(\"export\");\n this.noIndentInnerCommentsHere();\n this.space();\n this.word(\"default\");\n this.space();\n const declar = node.declaration;\n this.print(declar, node);\n if (!isStatement(declar)) this.semicolon();\n}\n\nexport function ImportDeclaration(this: Printer, node: t.ImportDeclaration) {\n this.word(\"import\");\n this.space();\n\n const isTypeKind = node.importKind === \"type\" || node.importKind === \"typeof\";\n if (isTypeKind) {\n this.noIndentInnerCommentsHere();\n this.word(node.importKind);\n this.space();\n } else if (node.module) {\n this.noIndentInnerCommentsHere();\n this.word(\"module\");\n this.space();\n }\n\n const specifiers = node.specifiers.slice(0);\n const hasSpecifiers = !!specifiers.length;\n // print \"special\" specifiers first. The loop condition is constant,\n // but there is a \"break\" in the body.\n while (hasSpecifiers) {\n const first = specifiers[0];\n if (isImportDefaultSpecifier(first) || isImportNamespaceSpecifier(first)) {\n this.print(specifiers.shift(), node);\n if (specifiers.length) {\n this.token(\",\");\n this.space();\n }\n } else {\n break;\n }\n }\n\n if (specifiers.length) {\n this.token(\"{\");\n this.space();\n this.printList(specifiers, node);\n this.space();\n this.token(\"}\");\n } else if (isTypeKind && !hasSpecifiers) {\n this.token(\"{\");\n this.token(\"}\");\n }\n\n if (hasSpecifiers || isTypeKind) {\n this.space();\n this.word(\"from\");\n this.space();\n }\n\n if (node.attributes?.length || node.assertions?.length) {\n this.print(node.source, node, true);\n this.space();\n this._printAttributes(node);\n } else {\n this.print(node.source, node);\n }\n\n this.semicolon();\n}\n\nexport function ImportAttribute(this: Printer, node: t.ImportAttribute) {\n this.print(node.key);\n this.token(\":\");\n this.space();\n this.print(node.value);\n}\n\nexport function ImportNamespaceSpecifier(\n this: Printer,\n node: t.ImportNamespaceSpecifier,\n) {\n this.token(\"*\");\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.local, node);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_t","require","isClassDeclaration","isExportDefaultSpecifier","isExportNamespaceSpecifier","isImportDefaultSpecifier","isImportNamespaceSpecifier","isStatement","ImportSpecifier","node","importKind","word","space","print","imported","local","name","ImportDefaultSpecifier","ExportDefaultSpecifier","exported","ExportSpecifier","exportKind","ExportNamespaceSpecifier","token","warningShown","_printAttributes","importAttributesKeyword","format","attributes","assertions","console","warn","useAssertKeyword","printList","ExportAllDeclaration","_node$attributes","_node$assertions","length","source","semicolon","maybePrintDecoratorsBeforeExport","printer","declaration","_shouldPrintDecoratorsBeforeExport","printJoin","decorators","ExportNamedDeclaration","declar","specifiers","slice","hasSpecial","first","shift","_node$attributes2","_node$assertions2","ExportDefaultDeclaration","noIndentInnerCommentsHere","ImportDeclaration","_node$attributes3","_node$assertions3","isTypeKind","module","hasSpecifiers","ImportAttribute","key","value","ImportNamespaceSpecifier"],"sources":["../../src/generators/modules.ts"],"sourcesContent":["import type Printer from \"../printer.ts\";\nimport {\n isClassDeclaration,\n isExportDefaultSpecifier,\n isExportNamespaceSpecifier,\n isImportDefaultSpecifier,\n isImportNamespaceSpecifier,\n isStatement,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\n\nexport function ImportSpecifier(this: Printer, node: t.ImportSpecifier) {\n if (node.importKind === \"type\" || node.importKind === \"typeof\") {\n this.word(node.importKind);\n this.space();\n }\n\n this.print(node.imported, node);\n // @ts-expect-error todo(flow-ts) maybe check node type instead of relying on name to be undefined on t.StringLiteral\n if (node.local && node.local.name !== node.imported.name) {\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.local, node);\n }\n}\n\nexport function ImportDefaultSpecifier(\n this: Printer,\n node: t.ImportDefaultSpecifier,\n) {\n this.print(node.local, node);\n}\n\nexport function ExportDefaultSpecifier(\n this: Printer,\n node: t.ExportDefaultSpecifier,\n) {\n this.print(node.exported, node);\n}\n\nexport function ExportSpecifier(this: Printer, node: t.ExportSpecifier) {\n if (node.exportKind === \"type\") {\n this.word(\"type\");\n this.space();\n }\n\n this.print(node.local, node);\n // @ts-expect-error todo(flow-ts) maybe check node type instead of relying on name to be undefined on t.StringLiteral\n if (node.exported && node.local.name !== node.exported.name) {\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.exported, node);\n }\n}\n\nexport function ExportNamespaceSpecifier(\n this: Printer,\n node: t.ExportNamespaceSpecifier,\n) {\n this.token(\"*\");\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.exported, node);\n}\n\nlet warningShown = false;\n\nexport function _printAttributes(\n this: Printer,\n node: Extract<t.Node, { attributes?: t.ImportAttribute[] }>,\n) {\n const { importAttributesKeyword } = this.format;\n const { attributes, assertions } = node;\n\n if (\n attributes &&\n !importAttributesKeyword &&\n // In the production build only show the warning once.\n // We want to show it per-usage locally for tests.\n (!process.env.IS_PUBLISH || !warningShown)\n ) {\n warningShown = true;\n console.warn(`\\\nYou are using import attributes, without specifying the desired output syntax.\nPlease specify the \"importAttributesKeyword\" generator option, whose value can be one of:\n - \"with\" : \\`import { a } from \"b\" with { type: \"json\" };\\`\n - \"assert\" : \\`import { a } from \"b\" assert { type: \"json\" };\\`\n - \"with-legacy\" : \\`import { a } from \"b\" with type: \"json\";\\`\n`);\n }\n\n const useAssertKeyword =\n importAttributesKeyword === \"assert\" ||\n (!importAttributesKeyword && assertions);\n\n this.word(useAssertKeyword ? \"assert\" : \"with\");\n this.space();\n\n if (!useAssertKeyword && importAttributesKeyword !== \"with\") {\n // with-legacy\n this.printList(attributes || assertions, node);\n return;\n }\n\n this.token(\"{\");\n this.space();\n this.printList(attributes || assertions, node);\n this.space();\n this.token(\"}\");\n}\n\nexport function ExportAllDeclaration(\n this: Printer,\n node: t.ExportAllDeclaration | t.DeclareExportAllDeclaration,\n) {\n this.word(\"export\");\n this.space();\n if (node.exportKind === \"type\") {\n this.word(\"type\");\n this.space();\n }\n this.token(\"*\");\n this.space();\n this.word(\"from\");\n this.space();\n // @ts-expect-error Fixme: attributes is not defined in DeclareExportAllDeclaration\n if (node.attributes?.length || node.assertions?.length) {\n this.print(node.source, node, true);\n this.space();\n // @ts-expect-error Fixme: attributes is not defined in DeclareExportAllDeclaration\n this._printAttributes(node);\n } else {\n this.print(node.source, node);\n }\n\n this.semicolon();\n}\n\nfunction maybePrintDecoratorsBeforeExport(\n printer: Printer,\n node: t.ExportNamedDeclaration | t.ExportDefaultDeclaration,\n) {\n if (\n isClassDeclaration(node.declaration) &&\n printer._shouldPrintDecoratorsBeforeExport(\n node as t.ExportNamedDeclaration & { declaration: t.ClassDeclaration },\n )\n ) {\n printer.printJoin(node.declaration.decorators, node);\n }\n}\n\nexport function ExportNamedDeclaration(\n this: Printer,\n node: t.ExportNamedDeclaration,\n) {\n maybePrintDecoratorsBeforeExport(this, node);\n\n this.word(\"export\");\n this.space();\n if (node.declaration) {\n const declar = node.declaration;\n this.print(declar, node);\n if (!isStatement(declar)) this.semicolon();\n } else {\n if (node.exportKind === \"type\") {\n this.word(\"type\");\n this.space();\n }\n\n const specifiers = node.specifiers.slice(0);\n\n // print \"special\" specifiers first\n let hasSpecial = false;\n for (;;) {\n const first = specifiers[0];\n if (\n isExportDefaultSpecifier(first) ||\n isExportNamespaceSpecifier(first)\n ) {\n hasSpecial = true;\n this.print(specifiers.shift(), node);\n if (specifiers.length) {\n this.token(\",\");\n this.space();\n }\n } else {\n break;\n }\n }\n\n if (specifiers.length || (!specifiers.length && !hasSpecial)) {\n this.token(\"{\");\n if (specifiers.length) {\n this.space();\n this.printList(specifiers, node);\n this.space();\n }\n this.token(\"}\");\n }\n\n if (node.source) {\n this.space();\n this.word(\"from\");\n this.space();\n if (node.attributes?.length || node.assertions?.length) {\n this.print(node.source, node, true);\n this.space();\n this._printAttributes(node);\n } else {\n this.print(node.source, node);\n }\n }\n\n this.semicolon();\n }\n}\n\nexport function ExportDefaultDeclaration(\n this: Printer,\n node: t.ExportDefaultDeclaration,\n) {\n maybePrintDecoratorsBeforeExport(this, node);\n\n this.word(\"export\");\n this.noIndentInnerCommentsHere();\n this.space();\n this.word(\"default\");\n this.space();\n const declar = node.declaration;\n this.print(declar, node);\n if (!isStatement(declar)) this.semicolon();\n}\n\nexport function ImportDeclaration(this: Printer, node: t.ImportDeclaration) {\n this.word(\"import\");\n this.space();\n\n const isTypeKind = node.importKind === \"type\" || node.importKind === \"typeof\";\n if (isTypeKind) {\n this.noIndentInnerCommentsHere();\n this.word(node.importKind);\n this.space();\n } else if (node.module) {\n this.noIndentInnerCommentsHere();\n this.word(\"module\");\n this.space();\n }\n\n const specifiers = node.specifiers.slice(0);\n const hasSpecifiers = !!specifiers.length;\n // print \"special\" specifiers first. The loop condition is constant,\n // but there is a \"break\" in the body.\n while (hasSpecifiers) {\n const first = specifiers[0];\n if (isImportDefaultSpecifier(first) || isImportNamespaceSpecifier(first)) {\n this.print(specifiers.shift(), node);\n if (specifiers.length) {\n this.token(\",\");\n this.space();\n }\n } else {\n break;\n }\n }\n\n if (specifiers.length) {\n this.token(\"{\");\n this.space();\n this.printList(specifiers, node);\n this.space();\n this.token(\"}\");\n } else if (isTypeKind && !hasSpecifiers) {\n this.token(\"{\");\n this.token(\"}\");\n }\n\n if (hasSpecifiers || isTypeKind) {\n this.space();\n this.word(\"from\");\n this.space();\n }\n\n if (node.attributes?.length || node.assertions?.length) {\n this.print(node.source, node, true);\n this.space();\n this._printAttributes(node);\n } else {\n this.print(node.source, node);\n }\n\n this.semicolon();\n}\n\nexport function ImportAttribute(this: Printer, node: t.ImportAttribute) {\n this.print(node.key);\n this.token(\":\");\n this.space();\n this.print(node.value);\n}\n\nexport function ImportNamespaceSpecifier(\n this: Printer,\n node: t.ImportNamespaceSpecifier,\n) {\n this.token(\"*\");\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.local, node);\n}\n"],"mappings":"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"}