@d-fischer/documen.ts 0.16.9 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (300) hide show
  1. package/index.html +36 -35
  2. package/lib/common/CustomError.js +1 -4
  3. package/lib/common/CustomError.js.map +1 -1
  4. package/lib/common/Paths.js +1 -2
  5. package/lib/common/components/Badge.js +7 -10
  6. package/lib/common/components/Badge.js.map +1 -1
  7. package/lib/common/components/BetaNotice.js +5 -10
  8. package/lib/common/components/BetaNotice.js.map +1 -1
  9. package/lib/common/components/Button.js +8 -12
  10. package/lib/common/components/Button.js.map +1 -1
  11. package/lib/common/components/CodeBlock.js +45 -61
  12. package/lib/common/components/CodeBlock.js.map +1 -1
  13. package/lib/common/components/CodeLink.js +12 -15
  14. package/lib/common/components/CodeLink.js.map +1 -1
  15. package/lib/common/components/DeprecationNotice.js +5 -10
  16. package/lib/common/components/DeprecationNotice.js.map +1 -1
  17. package/lib/common/components/FunctionParamDesc.js +7 -19
  18. package/lib/common/components/FunctionParamDesc.js.map +1 -1
  19. package/lib/common/components/FunctionParamDescEntry.js +26 -38
  20. package/lib/common/components/FunctionParamDescEntry.js.map +1 -1
  21. package/lib/common/components/FunctionReturnType.js +8 -17
  22. package/lib/common/components/FunctionReturnType.js.map +1 -1
  23. package/lib/common/components/FunctionSignature.js +7 -22
  24. package/lib/common/components/FunctionSignature.js.map +1 -1
  25. package/lib/common/components/InterfaceDetail.js +11 -18
  26. package/lib/common/components/InterfaceDetail.js.map +1 -1
  27. package/lib/common/components/InterfaceRepresentation.js +21 -40
  28. package/lib/common/components/InterfaceRepresentation.js.map +1 -1
  29. package/lib/common/components/MainMenu.js +20 -36
  30. package/lib/common/components/MainMenu.js.map +1 -1
  31. package/lib/common/components/NavMenu.js +6 -9
  32. package/lib/common/components/NavMenu.js.map +1 -1
  33. package/lib/common/components/NavMenuGroup.js +5 -10
  34. package/lib/common/components/NavMenuGroup.js.map +1 -1
  35. package/lib/common/components/NavMenuItem.js +8 -11
  36. package/lib/common/components/NavMenuItem.js.map +1 -1
  37. package/lib/common/components/PageArticle.js +7 -10
  38. package/lib/common/components/PageArticle.js.map +1 -1
  39. package/lib/common/components/SymbolHeader.js +6 -20
  40. package/lib/common/components/SymbolHeader.js.map +1 -1
  41. package/lib/common/components/TypeAliasHint.js +7 -22
  42. package/lib/common/components/TypeAliasHint.js.map +1 -1
  43. package/lib/common/components/TypeLink.js +12 -16
  44. package/lib/common/components/TypeLink.js.map +1 -1
  45. package/lib/common/components/VersionMenu.js +21 -28
  46. package/lib/common/components/VersionMenu.js.map +1 -1
  47. package/lib/common/components/cards/CardToolbar.js +11 -17
  48. package/lib/common/components/cards/CardToolbar.js.map +1 -1
  49. package/lib/common/components/cards/EventCard.js +21 -46
  50. package/lib/common/components/cards/EventCard.js.map +1 -1
  51. package/lib/common/components/cards/FunctionCardHeader.js +13 -25
  52. package/lib/common/components/cards/FunctionCardHeader.js.map +1 -1
  53. package/lib/common/components/cards/MethodCard.js +13 -23
  54. package/lib/common/components/cards/MethodCard.js.map +1 -1
  55. package/lib/common/components/cards/PropertyCard.js +15 -31
  56. package/lib/common/components/cards/PropertyCard.js.map +1 -1
  57. package/lib/common/components/codeBuilders/ReferenceTypeView.js +12 -25
  58. package/lib/common/components/codeBuilders/ReferenceTypeView.js.map +1 -1
  59. package/lib/common/components/codeBuilders/Type.js +30 -75
  60. package/lib/common/components/codeBuilders/Type.js.map +1 -1
  61. package/lib/common/components/overviewTable/OverviewTable.js +6 -21
  62. package/lib/common/components/overviewTable/OverviewTable.js.map +1 -1
  63. package/lib/common/components/overviewTable/OverviewTableEntry.js +13 -22
  64. package/lib/common/components/overviewTable/OverviewTableEntry.js.map +1 -1
  65. package/lib/common/config/Config.js +1 -2
  66. package/lib/common/config/Util.js +4 -8
  67. package/lib/common/config/Util.js.map +1 -1
  68. package/lib/common/config/index.js +5 -9
  69. package/lib/common/config/index.js.map +1 -1
  70. package/lib/common/containers/App.js +10 -18
  71. package/lib/common/containers/App.js.map +1 -1
  72. package/lib/common/containers/AppLayout.js +5 -10
  73. package/lib/common/containers/AppLayout.js.map +1 -1
  74. package/lib/common/containers/Card.js +6 -9
  75. package/lib/common/containers/Card.js.map +1 -1
  76. package/lib/common/containers/PageContent.js +5 -8
  77. package/lib/common/containers/PageContent.js.map +1 -1
  78. package/lib/common/containers/PageHeader.js +5 -8
  79. package/lib/common/containers/PageHeader.js.map +1 -1
  80. package/lib/common/containers/PageSwitch.js +10 -19
  81. package/lib/common/containers/PageSwitch.js.map +1 -1
  82. package/lib/common/containers/ReferencePackageContainer.js +37 -54
  83. package/lib/common/containers/ReferencePackageContainer.js.map +1 -1
  84. package/lib/common/htmlRenderer/HtmlRenderer.js +23 -37
  85. package/lib/common/htmlRenderer/HtmlRenderer.js.map +1 -1
  86. package/lib/common/htmlRenderer/RouterMode.js +1 -2
  87. package/lib/common/htmlRenderer/StaticRouterWithSuffix.js +20 -24
  88. package/lib/common/htmlRenderer/StaticRouterWithSuffix.js.map +1 -1
  89. package/lib/common/pages/ClassPage.js +39 -67
  90. package/lib/common/pages/ClassPage.js.map +1 -1
  91. package/lib/common/pages/DocPage.js +27 -39
  92. package/lib/common/pages/DocPage.js.map +1 -1
  93. package/lib/common/pages/EnumPage.js +20 -40
  94. package/lib/common/pages/EnumPage.js.map +1 -1
  95. package/lib/common/pages/FunctionPage.js +20 -39
  96. package/lib/common/pages/FunctionPage.js.map +1 -1
  97. package/lib/common/pages/InterfacePage.js +20 -32
  98. package/lib/common/pages/InterfacePage.js.map +1 -1
  99. package/lib/common/pages/TypeAliasPage.js +19 -34
  100. package/lib/common/pages/TypeAliasPage.js.map +1 -1
  101. package/lib/common/reference/index.js +1 -3
  102. package/lib/common/reference/index.js.map +1 -1
  103. package/lib/common/theme.js +1 -3
  104. package/lib/common/theme.js.map +1 -1
  105. package/lib/common/tools/ArrayTools.js +7 -18
  106. package/lib/common/tools/ArrayTools.js.map +1 -1
  107. package/lib/common/tools/CodeTools.js +12 -23
  108. package/lib/common/tools/CodeTools.js.map +1 -1
  109. package/lib/common/tools/ConfigTools.js +15 -20
  110. package/lib/common/tools/ConfigTools.js.map +1 -1
  111. package/lib/common/tools/FileTools.js +9 -16
  112. package/lib/common/tools/FileTools.js.map +1 -1
  113. package/lib/common/tools/FunctionTools.js +3 -7
  114. package/lib/common/tools/FunctionTools.js.map +1 -1
  115. package/lib/common/tools/NodeTools.js +22 -33
  116. package/lib/common/tools/NodeTools.js.map +1 -1
  117. package/lib/common/tools/Point.js +1 -2
  118. package/lib/common/tools/ReferenceTools.js +30 -43
  119. package/lib/common/tools/ReferenceTools.js.map +1 -1
  120. package/lib/common/tools/StringTools.js +3 -9
  121. package/lib/common/tools/StringTools.js.map +1 -1
  122. package/lib/common/tools/TypeTools.js +1 -2
  123. package/lib/common/tools/markdown/MarkdownParser.js +21 -28
  124. package/lib/common/tools/markdown/MarkdownParser.js.map +1 -1
  125. package/lib/common/tools/markdown/plugins/customDirectives.js +15 -17
  126. package/lib/common/tools/markdown/plugins/customDirectives.js.map +1 -1
  127. package/lib/common/tools/markdown/plugins/gfmTables.js +7 -12
  128. package/lib/common/tools/markdown/plugins/gfmTables.js.map +1 -1
  129. package/lib/common/tools/markdown/plugins/symbolLinks.js +9 -13
  130. package/lib/common/tools/markdown/plugins/symbolLinks.js.map +1 -1
  131. package/lib/generator/analyzer/AnalyzeContext.js +5 -6
  132. package/lib/generator/analyzer/AnalyzeContext.js.map +1 -1
  133. package/lib/generator/analyzer/DocComment.js +17 -23
  134. package/lib/generator/analyzer/DocComment.js.map +1 -1
  135. package/lib/generator/analyzer/DocCommentTag.js +4 -5
  136. package/lib/generator/analyzer/DocCommentTag.js.map +1 -1
  137. package/lib/generator/analyzer/Project.js +71 -84
  138. package/lib/generator/analyzer/Project.js.map +1 -1
  139. package/lib/generator/analyzer/createReflection.js +87 -101
  140. package/lib/generator/analyzer/createReflection.js.map +1 -1
  141. package/lib/generator/analyzer/createType.js +51 -62
  142. package/lib/generator/analyzer/createType.js.map +1 -1
  143. package/lib/generator/analyzer/reflections/AccessorReflection.js +36 -39
  144. package/lib/generator/analyzer/reflections/AccessorReflection.js.map +1 -1
  145. package/lib/generator/analyzer/reflections/ClassReflection.js +58 -51
  146. package/lib/generator/analyzer/reflections/ClassReflection.js.map +1 -1
  147. package/lib/generator/analyzer/reflections/ConstructorReflection.js +28 -36
  148. package/lib/generator/analyzer/reflections/ConstructorReflection.js.map +1 -1
  149. package/lib/generator/analyzer/reflections/EnumMemberReflection.js +15 -18
  150. package/lib/generator/analyzer/reflections/EnumMemberReflection.js.map +1 -1
  151. package/lib/generator/analyzer/reflections/EnumReflection.js +21 -23
  152. package/lib/generator/analyzer/reflections/EnumReflection.js.map +1 -1
  153. package/lib/generator/analyzer/reflections/FunctionReflection.js +14 -16
  154. package/lib/generator/analyzer/reflections/FunctionReflection.js.map +1 -1
  155. package/lib/generator/analyzer/reflections/Heritage.js +6 -11
  156. package/lib/generator/analyzer/reflections/Heritage.js.map +1 -1
  157. package/lib/generator/analyzer/reflections/InterfaceReflection.js +41 -41
  158. package/lib/generator/analyzer/reflections/InterfaceReflection.js.map +1 -1
  159. package/lib/generator/analyzer/reflections/MethodReflection.js +40 -45
  160. package/lib/generator/analyzer/reflections/MethodReflection.js.map +1 -1
  161. package/lib/generator/analyzer/reflections/ParameterReflection.js +68 -69
  162. package/lib/generator/analyzer/reflections/ParameterReflection.js.map +1 -1
  163. package/lib/generator/analyzer/reflections/PropertyReflection.js +43 -40
  164. package/lib/generator/analyzer/reflections/PropertyReflection.js.map +1 -1
  165. package/lib/generator/analyzer/reflections/ReferenceReflection.js +8 -7
  166. package/lib/generator/analyzer/reflections/ReferenceReflection.js.map +1 -1
  167. package/lib/generator/analyzer/reflections/Reflection.js +35 -38
  168. package/lib/generator/analyzer/reflections/Reflection.js.map +1 -1
  169. package/lib/generator/analyzer/reflections/SignatureReflection.js +42 -46
  170. package/lib/generator/analyzer/reflections/SignatureReflection.js.map +1 -1
  171. package/lib/generator/analyzer/reflections/SymbolBasedReflection.js +6 -13
  172. package/lib/generator/analyzer/reflections/SymbolBasedReflection.js.map +1 -1
  173. package/lib/generator/analyzer/reflections/TypeAliasReflection.js +24 -26
  174. package/lib/generator/analyzer/reflections/TypeAliasReflection.js.map +1 -1
  175. package/lib/generator/analyzer/reflections/TypeLiteralReflection.js +22 -21
  176. package/lib/generator/analyzer/reflections/TypeLiteralReflection.js.map +1 -1
  177. package/lib/generator/analyzer/reflections/TypeParameterReflection.js +38 -39
  178. package/lib/generator/analyzer/reflections/TypeParameterReflection.js.map +1 -1
  179. package/lib/generator/analyzer/types/ArrayType.js +15 -23
  180. package/lib/generator/analyzer/types/ArrayType.js.map +1 -1
  181. package/lib/generator/analyzer/types/FunctionType.js +31 -38
  182. package/lib/generator/analyzer/types/FunctionType.js.map +1 -1
  183. package/lib/generator/analyzer/types/IntersectionType.js +12 -20
  184. package/lib/generator/analyzer/types/IntersectionType.js.map +1 -1
  185. package/lib/generator/analyzer/types/IntrinsicType.js +33 -41
  186. package/lib/generator/analyzer/types/IntrinsicType.js.map +1 -1
  187. package/lib/generator/analyzer/types/LiteralType.js +60 -68
  188. package/lib/generator/analyzer/types/LiteralType.js.map +1 -1
  189. package/lib/generator/analyzer/types/NamedTupleElementType.js +11 -15
  190. package/lib/generator/analyzer/types/NamedTupleElementType.js.map +1 -1
  191. package/lib/generator/analyzer/types/ObjectLiteralType.js +21 -30
  192. package/lib/generator/analyzer/types/ObjectLiteralType.js.map +1 -1
  193. package/lib/generator/analyzer/types/OptionalType.js +11 -17
  194. package/lib/generator/analyzer/types/OptionalType.js.map +1 -1
  195. package/lib/generator/analyzer/types/ReferenceType.js +118 -133
  196. package/lib/generator/analyzer/types/ReferenceType.js.map +1 -1
  197. package/lib/generator/analyzer/types/ReflectionType.js +4 -7
  198. package/lib/generator/analyzer/types/ReflectionType.js.map +1 -1
  199. package/lib/generator/analyzer/types/TupleType.js +27 -31
  200. package/lib/generator/analyzer/types/TupleType.js.map +1 -1
  201. package/lib/generator/analyzer/types/Type.js +1 -5
  202. package/lib/generator/analyzer/types/Type.js.map +1 -1
  203. package/lib/generator/analyzer/types/TypeOperatorType.js +38 -40
  204. package/lib/generator/analyzer/types/TypeOperatorType.js.map +1 -1
  205. package/lib/generator/analyzer/types/UnionType.js +22 -30
  206. package/lib/generator/analyzer/types/UnionType.js.map +1 -1
  207. package/lib/generator/analyzer/types/UnknownType.js +5 -6
  208. package/lib/generator/analyzer/types/UnknownType.js.map +1 -1
  209. package/lib/generator/analyzer/util/expressions.js +8 -13
  210. package/lib/generator/analyzer/util/expressions.js.map +1 -1
  211. package/lib/generator/analyzer/util/functions.js +15 -19
  212. package/lib/generator/analyzer/util/functions.js.map +1 -1
  213. package/lib/generator/analyzer/util/inheritance.js +26 -32
  214. package/lib/generator/analyzer/util/inheritance.js.map +1 -1
  215. package/lib/generator/analyzer/util/promises.js +2 -9
  216. package/lib/generator/analyzer/util/promises.js.map +1 -1
  217. package/lib/generator/analyzer/util/sourceMaps.js +12 -20
  218. package/lib/generator/analyzer/util/sourceMaps.js.map +1 -1
  219. package/lib/generator/analyzer/util/symbols.js +3 -9
  220. package/lib/generator/analyzer/util/symbols.js.map +1 -1
  221. package/lib/generator/analyzer/util/types.js +6 -10
  222. package/lib/generator/analyzer/util/types.js.map +1 -1
  223. package/lib/generator/cli.js +5 -8
  224. package/lib/generator/cli.js.map +1 -1
  225. package/lib/generator/commands/default.js +260 -259
  226. package/lib/generator/commands/default.js.map +1 -1
  227. package/lib/generator/index.js +1 -1
  228. package/lib/generator/modes/Generator.js +20 -31
  229. package/lib/generator/modes/Generator.js.map +1 -1
  230. package/lib/generator/modes/HtmlGenerator.js +214 -228
  231. package/lib/generator/modes/HtmlGenerator.js.map +1 -1
  232. package/lib/generator/modes/MonorepoGenerator.js +143 -159
  233. package/lib/generator/modes/MonorepoGenerator.js.map +1 -1
  234. package/lib/generator/modes/OutputGenerator.js +2 -7
  235. package/lib/generator/modes/OutputGenerator.js.map +1 -1
  236. package/lib/progressiveEnhancement/fsMap.js +2 -5
  237. package/lib/progressiveEnhancement/fsMap.js.map +1 -1
  238. package/package.json +16 -16
  239. package/src/common/components/CodeBlock.tsx +2 -2
  240. package/src/common/components/CodeLink.tsx +2 -2
  241. package/src/common/components/DeprecationNotice.tsx +2 -2
  242. package/src/common/components/FunctionParamDesc.tsx +3 -3
  243. package/src/common/components/FunctionParamDescEntry.tsx +6 -6
  244. package/src/common/components/FunctionReturnType.tsx +3 -3
  245. package/src/common/components/FunctionSignature.tsx +2 -2
  246. package/src/common/components/InterfaceDetail.tsx +15 -7
  247. package/src/common/components/InterfaceRepresentation.tsx +9 -9
  248. package/src/common/components/MainMenu.tsx +4 -4
  249. package/src/common/components/NavMenuItem.tsx +1 -1
  250. package/src/common/components/PageArticle.tsx +2 -2
  251. package/src/common/components/SymbolHeader.tsx +7 -9
  252. package/src/common/components/TypeAliasHint.tsx +3 -5
  253. package/src/common/components/TypeLink.tsx +6 -7
  254. package/src/common/components/VersionMenu.tsx +3 -3
  255. package/src/common/components/cards/CardToolbar.tsx +10 -6
  256. package/src/common/components/cards/EventCard.tsx +19 -23
  257. package/src/common/components/cards/FunctionCardHeader.tsx +8 -8
  258. package/src/common/components/cards/MethodCard.tsx +8 -8
  259. package/src/common/components/cards/PropertyCard.tsx +11 -11
  260. package/src/common/components/codeBuilders/ReferenceTypeView.tsx +4 -4
  261. package/src/common/components/codeBuilders/Type.tsx +4 -4
  262. package/src/common/components/overviewTable/OverviewTable.tsx +2 -2
  263. package/src/common/components/overviewTable/OverviewTableEntry.tsx +7 -7
  264. package/src/common/config/Config.ts +1 -1
  265. package/src/common/config/Util.ts +11 -3
  266. package/src/common/config/index.tsx +2 -2
  267. package/src/common/containers/App.tsx +12 -9
  268. package/src/common/containers/AppLayout.tsx +2 -2
  269. package/src/common/containers/PageHeader.tsx +2 -2
  270. package/src/common/containers/PageSwitch.tsx +7 -7
  271. package/src/common/containers/ReferencePackageContainer.tsx +13 -13
  272. package/src/common/htmlRenderer/HtmlRenderer.tsx +8 -9
  273. package/src/common/htmlRenderer/StaticRouterWithSuffix.tsx +18 -21
  274. package/src/common/pages/ClassPage.tsx +17 -17
  275. package/src/common/pages/DocPage.tsx +10 -10
  276. package/src/common/pages/EnumPage.tsx +14 -14
  277. package/src/common/pages/FunctionPage.tsx +15 -15
  278. package/src/common/pages/InterfacePage.tsx +13 -13
  279. package/src/common/pages/TypeAliasPage.tsx +12 -12
  280. package/src/common/reference/index.ts +0 -1
  281. package/src/common/tools/ArrayTools.ts +27 -11
  282. package/src/common/tools/CodeTools.tsx +1 -1
  283. package/src/common/tools/ConfigTools.ts +1 -1
  284. package/src/common/tools/FunctionTools.ts +2 -3
  285. package/src/common/tools/NodeTools.ts +3 -2
  286. package/src/common/tools/ReferenceTools.ts +10 -11
  287. package/src/common/tools/StringTools.ts +1 -1
  288. package/src/common/tools/markdown/MarkdownParser.tsx +13 -15
  289. package/src/common/tools/markdown/plugins/customDirectives.ts +1 -1
  290. package/src/common/tools/markdown/plugins/symbolLinks.ts +3 -3
  291. package/src/dev/index.tsx +9 -9
  292. package/src/dev/registerServiceWorker.ts +8 -16
  293. package/src/progressiveEnhancement/fsMap.ts +0 -1
  294. package/src/progressiveEnhancement/index.tsx +9 -11
  295. package/tsconfig-dev.json +1 -6
  296. package/tsconfig-enhance.json +1 -5
  297. package/tsconfig-html.json +1 -5
  298. package/tsconfig.json +7 -21
  299. package/types/globals.d.ts +0 -1
  300. package/types/react-router-hash-link.d.ts +0 -8
@@ -1,42 +1,38 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createTypeFromTsType = exports.createTypeFromNode = void 0;
4
- const tslib_1 = require("tslib");
5
- const assert_1 = tslib_1.__importDefault(require("assert"));
6
- const typescript_1 = tslib_1.__importDefault(require("typescript"));
7
- const ArrayType_1 = require("./types/ArrayType");
8
- const FunctionType_1 = require("./types/FunctionType");
9
- const IntersectionType_1 = require("./types/IntersectionType");
10
- const IntrinsicType_1 = require("./types/IntrinsicType");
11
- const LiteralType_1 = require("./types/LiteralType");
12
- const NamedTupleElementType_1 = require("./types/NamedTupleElementType");
13
- const ObjectLiteralType_1 = require("./types/ObjectLiteralType");
14
- const OptionalType_1 = require("./types/OptionalType");
15
- const ReferenceType_1 = require("./types/ReferenceType");
16
- const TupleType_1 = require("./types/TupleType");
17
- const TypeOperatorType_1 = require("./types/TypeOperatorType");
18
- const UnionType_1 = require("./types/UnionType");
19
- const UnknownType_1 = require("./types/UnknownType");
1
+ import assert from 'assert';
2
+ import ts from 'typescript';
3
+ import { arrayTypeReflector } from './types/ArrayType.js';
4
+ import { functionTypeReflector } from './types/FunctionType.js';
5
+ import { intersectionTypeReflector } from './types/IntersectionType.js';
6
+ import { IntrinsicType, intrinsicTypeReflector } from './types/IntrinsicType.js';
7
+ import { literalTypeReflector } from './types/LiteralType.js';
8
+ import { namedTupleElementReflector } from './types/NamedTupleElementType.js';
9
+ import { objectLiteralTypeReflector } from './types/ObjectLiteralType.js';
10
+ import { optionalTypeReflector } from './types/OptionalType.js';
11
+ import { exprWithTypeArgsReflector, importTypeReflector, referenceTypeReflector } from './types/ReferenceType.js';
12
+ import { tupleTypeReflector } from './types/TupleType.js';
13
+ import { typeOperatorTypeReflector } from './types/TypeOperatorType.js';
14
+ import { unionTypeReflector } from './types/UnionType.js';
15
+ import { UnknownType } from './types/UnknownType.js';
20
16
  const typeReflectors = new Map();
21
17
  function loadTypeReflectors() {
22
18
  if (typeReflectors.size) {
23
19
  return;
24
20
  }
25
21
  for (const reflector of [
26
- ArrayType_1.arrayTypeReflector,
27
- ReferenceType_1.exprWithTypeArgsReflector,
28
- FunctionType_1.functionTypeReflector,
29
- ReferenceType_1.importTypeReflector,
30
- IntersectionType_1.intersectionTypeReflector,
31
- IntrinsicType_1.intrinsicTypeReflector,
32
- LiteralType_1.literalTypeReflector,
33
- NamedTupleElementType_1.namedTupleElementReflector,
34
- ObjectLiteralType_1.objectLiteralTypeReflector,
35
- OptionalType_1.optionalTypeReflector,
36
- ReferenceType_1.referenceTypeReflector,
37
- TupleType_1.tupleTypeReflector,
38
- TypeOperatorType_1.typeOperatorTypeReflector,
39
- UnionType_1.unionTypeReflector
22
+ arrayTypeReflector,
23
+ exprWithTypeArgsReflector,
24
+ functionTypeReflector,
25
+ importTypeReflector,
26
+ intersectionTypeReflector,
27
+ intrinsicTypeReflector,
28
+ literalTypeReflector,
29
+ namedTupleElementReflector,
30
+ objectLiteralTypeReflector,
31
+ optionalTypeReflector,
32
+ referenceTypeReflector,
33
+ tupleTypeReflector,
34
+ typeOperatorTypeReflector,
35
+ unionTypeReflector
40
36
  ]) {
41
37
  for (const kind of reflector.kinds) {
42
38
  typeReflectors.set(kind, reflector);
@@ -45,37 +41,30 @@ function loadTypeReflectors() {
45
41
  }
46
42
  function getReflectorForKind(kind) {
47
43
  loadTypeReflectors();
48
- return Object.assign({ fromNode(ctx, node) {
49
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
50
- return new UnknownType_1.UnknownType(node.getText(), typescript_1.default.SyntaxKind[node.kind], 'node');
51
- });
44
+ return {
45
+ async fromNode(ctx, node) {
46
+ return new UnknownType(node.getText(), ts.SyntaxKind[node.kind], 'node');
52
47
  },
53
- fromType(ctx, type, node) {
54
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
55
- return new UnknownType_1.UnknownType(ctx.checker.typeToString(type), typescript_1.default.SyntaxKind[node.kind], 'type');
56
- });
57
- } }, typeReflectors.get(kind));
48
+ async fromType(ctx, type, node) {
49
+ return new UnknownType(ctx.checker.typeToString(type), ts.SyntaxKind[node.kind], 'type');
50
+ },
51
+ ...typeReflectors.get(kind)
52
+ };
58
53
  }
59
- function createTypeFromNode(ctx, node) {
60
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
61
- if (!node) {
62
- return new IntrinsicType_1.IntrinsicType('any');
63
- }
64
- const reflector = getReflectorForKind(node.kind);
65
- return yield reflector.fromNode(ctx, node);
66
- });
54
+ export async function createTypeFromNode(ctx, node) {
55
+ if (!node) {
56
+ return new IntrinsicType('any');
57
+ }
58
+ const reflector = getReflectorForKind(node.kind);
59
+ return await reflector.fromNode(ctx, node);
67
60
  }
68
- exports.createTypeFromNode = createTypeFromNode;
69
- function createTypeFromTsType(ctx, type) {
70
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
71
- if (!type) {
72
- return new IntrinsicType_1.IntrinsicType('any');
73
- }
74
- const typeNode = ctx.checker.typeToTypeNode(type, undefined, typescript_1.default.NodeBuilderFlags.IgnoreErrors);
75
- (0, assert_1.default)(typeNode);
76
- const reflector = getReflectorForKind(typeNode.kind);
77
- return yield reflector.fromType(ctx, type, typeNode);
78
- });
61
+ export async function createTypeFromTsType(ctx, type) {
62
+ if (!type) {
63
+ return new IntrinsicType('any');
64
+ }
65
+ const typeNode = ctx.checker.typeToTypeNode(type, undefined, ts.NodeBuilderFlags.IgnoreErrors);
66
+ assert(typeNode);
67
+ const reflector = getReflectorForKind(typeNode.kind);
68
+ return await reflector.fromType(ctx, type, typeNode);
79
69
  }
80
- exports.createTypeFromTsType = createTypeFromTsType;
81
70
  //# sourceMappingURL=createType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createType.js","sourceRoot":"","sources":["../../../src/generator/analyzer/createType.ts"],"names":[],"mappings":";;;;AAAA,4DAA4B;AAC5B,oEAA4B;AAE5B,iDAAuD;AACvD,uDAA6D;AAC7D,+DAAqE;AACrE,yDAA8E;AAC9E,qDAA2D;AAC3D,yEAA2E;AAC3E,iEAAuE;AACvE,uDAA6D;AAC7D,yDAA+G;AAC/G,iDAAuD;AAEvD,+DAAqE;AACrE,iDAAuD;AACvD,qDAAkD;AAYlD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAgC,CAAC;AAE/D,SAAS,kBAAkB;IAC1B,IAAI,cAAc,CAAC,IAAI,EAAE;QACxB,OAAO;KACP;IAED,KAAK,MAAM,SAAS,IAAI;QACvB,8BAAkB;QAClB,yCAAyB;QACzB,oCAAqB;QACrB,mCAAmB;QACnB,4CAAyB;QACzB,sCAAsB;QACtB,kCAAoB;QACpB,kDAA0B;QAC1B,8CAA0B;QAC1B,oCAAqB;QACrB,sCAAsB;QACtB,8BAAkB;QAClB,4CAAyB;QACzB,8BAAkB;KAClB,EAAE;QACF,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE;YACnC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;SACpC;KACD;AACF,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAmB;IAC/C,kBAAkB,EAAE,CAAC;IACrB,uBACO,QAAQ,CAAC,GAAG,EAAE,IAAI;;gBACvB,OAAO,IAAI,yBAAW,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,oBAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YAC1E,CAAC;SAAA;QACK,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI;;gBAC7B,OAAO,IAAI,yBAAW,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,oBAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YAC1F,CAAC;SAAA,IACE,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAC1B;AACH,CAAC;AAED,SAAsB,kBAAkB,CAAC,GAAmB,EAAE,IAAkB;;QAC/E,IAAI,CAAC,IAAI,EAAE;YACV,OAAO,IAAI,6BAAa,CAAC,KAAK,CAAC,CAAC;SAChC;QAED,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjD,OAAO,MAAM,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;CAAA;AARD,gDAQC;AAED,SAAsB,oBAAoB,CAAC,GAAmB,EAAE,IAAc;;QAC7E,IAAI,CAAC,IAAI,EAAE;YACV,OAAO,IAAI,6BAAa,CAAC,KAAK,CAAC,CAAC;SAChC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,oBAAE,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAC/F,IAAA,gBAAM,EAAC,QAAQ,CAAC,CAAC;QAEjB,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAErD,OAAO,MAAM,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;CAAA;AAXD,oDAWC"}
1
+ {"version":3,"file":"createType.js","sourceRoot":"","sources":["../../../src/generator/analyzer/createType.ts"],"names":[],"mappings":"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"}
@@ -1,48 +1,45 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AccessorReflection = void 0;
4
- const tslib_1 = require("tslib");
5
- const ts = tslib_1.__importStar(require("typescript"));
6
- const inheritance_1 = require("../util/inheritance");
7
- const SignatureReflection_1 = require("./SignatureReflection");
8
- const SymbolBasedReflection_1 = require("./SymbolBasedReflection");
9
- class AccessorReflection extends SymbolBasedReflection_1.SymbolBasedReflection {
10
- constructor() {
11
- super(...arguments);
12
- this.isInheritable = true;
13
- }
14
- static fromSymbol(ctx, symbol, parent) {
15
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
16
- const that = new AccessorReflection(ctx, symbol);
17
- const symbolDeclarations = that._symbol.getDeclarations();
18
- that._getSignature = yield that._findAndConvertSignature(ctx, symbolDeclarations, ts.isGetAccessor);
19
- that._setSignature = yield that._findAndConvertSignature(ctx, symbolDeclarations, ts.isSetAccessor);
20
- that.parent = parent;
21
- (0, inheritance_1.handleInheritance)(ctx, that);
22
- that._handleFlags();
23
- return that;
24
- });
1
+ import * as ts from 'typescript';
2
+ import { handleInheritance } from '../util/inheritance.js';
3
+ import { SignatureReflection } from './SignatureReflection.js';
4
+ import { SymbolBasedReflection } from './SymbolBasedReflection.js';
5
+ export class AccessorReflection extends SymbolBasedReflection {
6
+ _getSignature;
7
+ _setSignature;
8
+ isInheritable = true;
9
+ inheritedFrom;
10
+ overwrites;
11
+ static async fromSymbol(ctx, symbol, parent) {
12
+ const that = new AccessorReflection(ctx, symbol);
13
+ const symbolDeclarations = that._symbol.getDeclarations();
14
+ that._getSignature = await that._findAndConvertSignature(ctx, symbolDeclarations, ts.isGetAccessor);
15
+ that._setSignature = await that._findAndConvertSignature(ctx, symbolDeclarations, ts.isSetAccessor);
16
+ that.parent = parent;
17
+ handleInheritance(ctx, that);
18
+ that._handleFlags();
19
+ return that;
25
20
  }
26
21
  get locationNode() {
27
- var _a;
28
- return (_a = this.declarations[0]) === null || _a === void 0 ? void 0 : _a.name;
22
+ return this.declarations[0]?.name;
29
23
  }
30
24
  serialize() {
31
- var _a, _b, _c, _d;
32
- return Object.assign(Object.assign({}, this._baseSerialize()), { kind: 'accessor', getSignature: (_a = this._getSignature) === null || _a === void 0 ? void 0 : _a.serialize(), setSignature: (_b = this._setSignature) === null || _b === void 0 ? void 0 : _b.serialize(), inheritedFrom: (_c = this.inheritedFrom) === null || _c === void 0 ? void 0 : _c.serialize(), overwrites: (_d = this.overwrites) === null || _d === void 0 ? void 0 : _d.serialize() });
25
+ return {
26
+ ...this._baseSerialize(),
27
+ kind: 'accessor',
28
+ getSignature: this._getSignature?.serialize(),
29
+ setSignature: this._setSignature?.serialize(),
30
+ inheritedFrom: this.inheritedFrom?.serialize(),
31
+ overwrites: this.overwrites?.serialize()
32
+ };
33
33
  }
34
- _findAndConvertSignature(ctx, declarations, predicate) {
35
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
36
- const decl = declarations === null || declarations === void 0 ? void 0 : declarations.find(predicate);
37
- if (decl) {
38
- const sig = ctx.checker.getSignatureFromDeclaration(decl);
39
- if (sig) {
40
- return yield SignatureReflection_1.SignatureReflection.fromTsSignature(ctx, decl.kind, sig, this, decl);
41
- }
34
+ async _findAndConvertSignature(ctx, declarations, predicate) {
35
+ const decl = declarations?.find(predicate);
36
+ if (decl) {
37
+ const sig = ctx.checker.getSignatureFromDeclaration(decl);
38
+ if (sig) {
39
+ return await SignatureReflection.fromTsSignature(ctx, decl.kind, sig, this, decl);
42
40
  }
43
- return undefined;
44
- });
41
+ }
42
+ return undefined;
45
43
  }
46
44
  }
47
- exports.AccessorReflection = AccessorReflection;
48
45
  //# sourceMappingURL=AccessorReflection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccessorReflection.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/reflections/AccessorReflection.ts"],"names":[],"mappings":";;;;AAAA,uDAAiC;AAIjC,qDAAwD;AACxD,+DAA4D;AAC5D,mEAAgE;AAEhE,MAAa,kBAAmB,SAAQ,6CAAqB;IAA7D;;QAIU,kBAAa,GAAG,IAAI,CAAC;IA6C/B,CAAC;IAzCA,MAAM,CAAO,UAAU,CAAC,GAAmB,EAAE,MAAiB,EAAE,MAA8B;;YAC7F,MAAM,IAAI,GAAG,IAAI,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACjD,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YAE1D,IAAI,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,kBAAkB,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;YACpG,IAAI,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,kBAAkB,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;YAEpG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YAErB,IAAA,+BAAiB,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAE7B,IAAI,CAAC,YAAY,EAAE,CAAC;YAEpB,OAAO,IAAI,CAAC;QACb,CAAC;KAAA;IAED,IAAI,YAAY;;QACf,OAAO,MAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAwC,0CAAE,IAAI,CAAC;IAC3E,CAAC;IAED,SAAS;;QACR,uCACI,IAAI,CAAC,cAAc,EAAE,KACxB,IAAI,EAAE,UAAU,EAChB,YAAY,EAAE,MAAA,IAAI,CAAC,aAAa,0CAAE,SAAS,EAA+B,EAC1E,YAAY,EAAE,MAAA,IAAI,CAAC,aAAa,0CAAE,SAAS,EAA+B,EAC1E,aAAa,EAAE,MAAA,IAAI,CAAC,aAAa,0CAAE,SAAS,EAAE,EAC9C,UAAU,EAAE,MAAA,IAAI,CAAC,UAAU,0CAAE,SAAS,EAAE,IACvC;IACH,CAAC;IAEa,wBAAwB,CAAmC,GAAmB,EAAE,YAA0C,EAAE,SAA8C;;YACvL,MAAM,IAAI,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3C,IAAI,IAAI,EAAE;gBACT,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;gBAC1D,IAAI,GAAG,EAAE;oBACR,OAAO,MAAM,yCAAmB,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;iBAClF;aACD;YACD,OAAO,SAAS,CAAC;QAClB,CAAC;KAAA;CACD;AAjDD,gDAiDC"}
1
+ {"version":3,"file":"AccessorReflection.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/reflections/AccessorReflection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAQjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,OAAO,kBAAmB,SAAQ,qBAAqB;IACpD,aAAa,CAAuB;IACpC,aAAa,CAAuB;IAEnC,aAAa,GAAG,IAAI,CAAC;IAC9B,aAAa,CAAiB;IAC9B,UAAU,CAAiB;IAE3B,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAmB,EAAE,MAAiB,EAAE,MAA8B;QAC7F,MAAM,IAAI,GAAG,IAAI,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAE1D,IAAI,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,kBAAkB,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;QACpG,IAAI,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,kBAAkB,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;QAEpG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAE7B,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,YAAY;QACf,OAAQ,IAAI,CAAC,YAAY,CAAC,CAAC,CAAwC,EAAE,IAAI,CAAC;IAC3E,CAAC;IAED,SAAS;QACR,OAAO;YACN,GAAG,IAAI,CAAC,cAAc,EAAE;YACxB,IAAI,EAAE,UAAU;YAChB,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,EAA+B;YAC1E,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,EAA+B;YAC1E,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE;YAC9C,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE;SACxC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACrC,GAAmB,EACnB,YAA0C,EAC1C,SAA8C;QAE9C,MAAM,IAAI,GAAG,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,IAAI,EAAE,CAAC;YACV,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,GAAG,EAAE,CAAC;gBACT,OAAO,MAAM,mBAAmB,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACnF,CAAC;QACF,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;CACD"}
@@ -1,59 +1,66 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ClassReflection = void 0;
4
- const tslib_1 = require("tslib");
5
- const assert_1 = tslib_1.__importDefault(require("assert"));
6
- const ts = tslib_1.__importStar(require("typescript"));
7
- const createReflection_1 = require("../createReflection");
8
- const promises_1 = require("../util/promises");
9
- const ConstructorReflection_1 = require("./ConstructorReflection");
10
- const Heritage_1 = require("./Heritage");
11
- const SymbolBasedReflection_1 = require("./SymbolBasedReflection");
12
- const TypeParameterReflection_1 = require("./TypeParameterReflection");
13
- class ClassReflection extends SymbolBasedReflection_1.SymbolBasedReflection {
14
- static fromSymbol(ctx, symbol) {
15
- var _a, _b, _c, _d;
16
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
17
- const that = new ClassReflection(ctx, symbol);
18
- const instanceType = ctx.checker.getDeclaredTypeOfSymbol(symbol);
19
- (0, assert_1.default)(instanceType.isClassOrInterface());
20
- const extendsTypes = yield (0, promises_1.resolvePromiseArray)((_a = symbol.getDeclarations()) === null || _a === void 0 ? void 0 : _a.filter((decl) => ts.isClassDeclaration(decl)).flatMap(decl => {
21
- var _a, _b;
22
- return (_b = (_a = decl.heritageClauses) === null || _a === void 0 ? void 0 : _a.filter(clause => clause.token === ts.SyntaxKind.ExtendsKeyword).flatMap(clause => clause.types.map((type) => tslib_1.__awaiter(this, void 0, void 0, function* () { return yield Heritage_1.Heritage.fromTypeNode(ctx, type); })))) !== null && _b !== void 0 ? _b : [];
23
- }));
24
- if (extendsTypes === null || extendsTypes === void 0 ? void 0 : extendsTypes.length) {
25
- that.extends = extendsTypes;
26
- }
27
- const instanceMembers = ctx.checker.getPropertiesOfType(instanceType);
28
- const classDeclaration = (_b = symbol.getDeclarations()) === null || _b === void 0 ? void 0 : _b.find(ts.isClassDeclaration);
29
- (0, assert_1.default)(classDeclaration);
30
- const staticType = ctx.checker.getTypeOfSymbolAtLocation(symbol, classDeclaration);
31
- const staticMembers = ctx.checker.getPropertiesOfType(staticType);
32
- that.typeParameters = yield (0, promises_1.resolvePromiseArray)((_c = instanceType.typeParameters) === null || _c === void 0 ? void 0 : _c.map((param) => tslib_1.__awaiter(this, void 0, void 0, function* () {
33
- var _e;
34
- const declaration = (_e = param.symbol.declarations) === null || _e === void 0 ? void 0 : _e[0];
35
- (0, assert_1.default)(declaration && ts.isTypeParameterDeclaration(declaration));
36
- return yield TypeParameterReflection_1.TypeParameterReflection.fromDeclaration(ctx, declaration);
37
- })));
38
- ctx.staticContext = true;
1
+ import assert from 'assert';
2
+ import * as ts from 'typescript';
3
+ import { createReflection } from '../createReflection.js';
4
+ import { resolvePromiseArray } from '../util/promises.js';
5
+ import { ConstructorReflection } from './ConstructorReflection.js';
6
+ import { Heritage } from './Heritage.js';
7
+ import { SymbolBasedReflection } from './SymbolBasedReflection.js';
8
+ import { TypeParameterReflection } from './TypeParameterReflection.js';
9
+ export class ClassReflection extends SymbolBasedReflection {
10
+ ctor;
11
+ members;
12
+ typeParameters;
13
+ extends;
14
+ static async fromSymbol(ctx, symbol) {
15
+ const that = new ClassReflection(ctx, symbol);
16
+ const instanceType = ctx.checker.getDeclaredTypeOfSymbol(symbol);
17
+ assert(instanceType.isClassOrInterface());
18
+ const extendsTypes = await resolvePromiseArray(symbol
19
+ .getDeclarations()
20
+ ?.filter((decl) => ts.isClassDeclaration(decl))
21
+ .flatMap(decl => decl.heritageClauses
22
+ ?.filter(clause => clause.token === ts.SyntaxKind.ExtendsKeyword)
23
+ .flatMap(clause => clause.types.map(async (type) => await Heritage.fromTypeNode(ctx, type))) ?? []));
24
+ if (extendsTypes?.length) {
25
+ that.extends = extendsTypes;
26
+ }
27
+ const instanceMembers = ctx.checker.getPropertiesOfType(instanceType);
28
+ const classDeclaration = symbol.getDeclarations()?.find(ts.isClassDeclaration);
29
+ assert(classDeclaration);
30
+ const staticType = ctx.checker.getTypeOfSymbolAtLocation(symbol, classDeclaration);
31
+ const staticMembers = ctx.checker.getPropertiesOfType(staticType);
32
+ that.typeParameters = await resolvePromiseArray(instanceType.typeParameters?.map(async (param) => {
33
+ const declaration = param.symbol.declarations?.[0];
34
+ assert(declaration && ts.isTypeParameterDeclaration(declaration));
35
+ return await TypeParameterReflection.fromDeclaration(ctx, declaration);
36
+ }));
37
+ // eslint-disable-next-line require-atomic-updates
38
+ ctx.staticContext = true;
39
+ that.members = await Promise.all(staticMembers
39
40
  // eslint-disable-next-line no-bitwise
40
- that.members = yield Promise.all(staticMembers.filter(mem => !(mem.flags & ts.SymbolFlags.Prototype)).map((mem) => tslib_1.__awaiter(this, void 0, void 0, function* () { return yield (0, createReflection_1.createReflection)(ctx, mem, that); })));
41
- ctx.staticContext = false;
42
- that.members.push(...(yield Promise.all(instanceMembers.map((mem) => tslib_1.__awaiter(this, void 0, void 0, function* () { return yield (0, createReflection_1.createReflection)(ctx, mem, that); })))));
43
- that.ctor = yield ConstructorReflection_1.ConstructorReflection.fromSignatures(ctx, symbol, staticType.getConstructSignatures(), that);
44
- that._handleFlags((_d = symbol.getDeclarations()) === null || _d === void 0 ? void 0 : _d[0]);
45
- that._processJsDoc();
46
- return that;
47
- });
41
+ .filter(mem => !(mem.flags & ts.SymbolFlags.Prototype))
42
+ .map(async (mem) => await createReflection(ctx, mem, that)));
43
+ // eslint-disable-next-line require-atomic-updates
44
+ ctx.staticContext = false;
45
+ that.members.push(...(await Promise.all(instanceMembers.map(async (mem) => await createReflection(ctx, mem, that)))));
46
+ // eslint-disable-next-line require-atomic-updates
47
+ that.ctor = await ConstructorReflection.fromSignatures(ctx, symbol, staticType.getConstructSignatures(), that);
48
+ that._handleFlags(symbol.getDeclarations()?.[0]);
49
+ that._processJsDoc();
50
+ return that;
48
51
  }
49
52
  get locationNode() {
50
- var _a;
51
- return (_a = this.declarations[0]) === null || _a === void 0 ? void 0 : _a.name;
53
+ return this.declarations[0]?.name;
52
54
  }
53
55
  serialize() {
54
- var _a, _b, _c;
55
- return Object.assign(Object.assign({}, this._baseSerialize()), { kind: 'class', ctor: (_a = this.ctor) === null || _a === void 0 ? void 0 : _a.serialize(), members: this.members.map(m => m.serialize()), extendedTypes: (_b = this.extends) === null || _b === void 0 ? void 0 : _b.map(ext => ext.type.serialize()), typeParameters: (_c = this.typeParameters) === null || _c === void 0 ? void 0 : _c.map(param => param.serialize()) });
56
+ return {
57
+ ...this._baseSerialize(),
58
+ kind: 'class',
59
+ ctor: this.ctor?.serialize(),
60
+ members: this.members.map(m => m.serialize()),
61
+ extendedTypes: this.extends?.map(ext => ext.type.serialize()),
62
+ typeParameters: this.typeParameters?.map(param => param.serialize())
63
+ };
56
64
  }
57
65
  }
58
- exports.ClassReflection = ClassReflection;
59
66
  //# sourceMappingURL=ClassReflection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClassReflection.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/reflections/ClassReflection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClassReflection.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/reflections/ClassReflection.ts"],"names":[],"mappings":"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"}
@@ -1,47 +1,39 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConstructorReflection = void 0;
4
- const tslib_1 = require("tslib");
5
- const ts = tslib_1.__importStar(require("typescript"));
6
- const inheritance_1 = require("../util/inheritance");
7
- const SignatureReflection_1 = require("./SignatureReflection");
8
- const SymbolBasedReflection_1 = require("./SymbolBasedReflection");
9
- class ConstructorReflection extends SymbolBasedReflection_1.SymbolBasedReflection {
10
- constructor() {
11
- super(...arguments);
12
- this.isInheritable = true;
13
- }
14
- static fromSignatures(ctx, classSymbol, signatures, parent) {
15
- var _a, _b;
16
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
17
- const declaration = signatures[0].declaration;
18
- const symbol = declaration === null || declaration === void 0 ? void 0 : declaration.symbol;
19
- const registerReverse = ((_b = (_a = declaration === null || declaration === void 0 ? void 0 : declaration.parent) === null || _a === void 0 ? void 0 : _a.name) === null || _b === void 0 ? void 0 : _b.text) === parent.name;
20
- const that = new ConstructorReflection(ctx, symbol !== null && symbol !== void 0 ? symbol : classSymbol, registerReverse);
21
- that.parent = parent;
22
- that._signatures = yield Promise.all(signatures
23
- .filter(sig => !!sig.declaration)
24
- .map((sig, i) => tslib_1.__awaiter(this, void 0, void 0, function* () {
25
- var _c;
26
- return yield SignatureReflection_1.SignatureReflection.fromTsSignature(ctx, ts.SyntaxKind.ConstructSignature, sig, that, (_c = symbol === null || symbol === void 0 ? void 0 : symbol.getDeclarations()) === null || _c === void 0 ? void 0 : _c[i]);
27
- })));
28
- (0, inheritance_1.handleConstructorInheritance)(ctx, that, signatures);
29
- that._handleFlags();
30
- return that;
31
- });
1
+ import * as ts from 'typescript';
2
+ import { handleConstructorInheritance } from '../util/inheritance.js';
3
+ import { SignatureReflection } from './SignatureReflection.js';
4
+ import { SymbolBasedReflection } from './SymbolBasedReflection.js';
5
+ export class ConstructorReflection extends SymbolBasedReflection {
6
+ _signatures;
7
+ isInheritable = true;
8
+ inheritedFrom;
9
+ static async fromSignatures(ctx, classSymbol, signatures, parent) {
10
+ const declaration = signatures[0].declaration;
11
+ const symbol = declaration?.symbol;
12
+ const registerReverse = declaration?.parent?.name?.text === parent.name;
13
+ const that = new ConstructorReflection(ctx, symbol ?? classSymbol, registerReverse);
14
+ that.parent = parent;
15
+ that._signatures = await Promise.all(signatures
16
+ .filter(sig => !!sig.declaration)
17
+ .map(async (sig, i) => await SignatureReflection.fromTsSignature(ctx, ts.SyntaxKind.ConstructSignature, sig, that, symbol?.getDeclarations()?.[i])));
18
+ handleConstructorInheritance(ctx, that, signatures);
19
+ that._handleFlags();
20
+ return that;
32
21
  }
33
22
  get name() {
34
23
  return this.parent.name;
35
24
  }
36
25
  get locationNode() {
37
26
  const lastSignature = this._signatures.length ? this._signatures[this._signatures.length - 1] : undefined;
38
- const declarations = lastSignature === null || lastSignature === void 0 ? void 0 : lastSignature.declarations;
39
- return declarations === null || declarations === void 0 ? void 0 : declarations[0];
27
+ const declarations = lastSignature?.declarations;
28
+ return declarations?.[0];
40
29
  }
41
30
  serialize() {
42
- var _a;
43
- return Object.assign(Object.assign({}, this._baseSerialize()), { kind: 'constructor', signatures: this._signatures.map(sig => sig.serialize()), inheritedFrom: (_a = this.inheritedFrom) === null || _a === void 0 ? void 0 : _a.serialize() });
31
+ return {
32
+ ...this._baseSerialize(),
33
+ kind: 'constructor',
34
+ signatures: this._signatures.map(sig => sig.serialize()),
35
+ inheritedFrom: this.inheritedFrom?.serialize()
36
+ };
44
37
  }
45
38
  }
46
- exports.ConstructorReflection = ConstructorReflection;
47
39
  //# sourceMappingURL=ConstructorReflection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConstructorReflection.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/reflections/ConstructorReflection.ts"],"names":[],"mappings":";;;;AAAA,uDAAiC;AAIjC,qDAAmE;AAEnE,+DAA4D;AAC5D,mEAAgE;AAEhE,MAAa,qBAAsB,SAAQ,6CAAqB;IAAhE;;QAGU,kBAAa,GAAG,IAAI,CAAC;IA+C/B,CAAC;IA5CA,MAAM,CAAO,cAAc,CAAC,GAAmB,EAAE,WAAsB,EAAE,UAAmC,EAAE,MAAuB;;;YACpI,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,WAA2D,CAAC;YAC9F,MAAM,MAAM,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAC;YACnC,MAAM,eAAe,GAAG,CAAA,MAAA,MAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAA0C,0CAAE,IAAI,0CAAE,IAAI,MAAK,MAAM,CAAC,IAAI,CAAC;YAC7G,MAAM,IAAI,GAAG,IAAI,qBAAqB,CAAC,GAAG,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,WAAW,EAAE,eAAe,CAAC,CAAC;YAEpF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,UAAU;iBACR,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;iBAChC,GAAG,CAAC,CAAO,GAAG,EAAE,CAAC,EAAE,EAAE;;gBAAC,OAAA,MAAM,yCAAmB,CAAC,eAAe,CAC/D,GAAG,EACH,EAAE,CAAC,UAAU,CAAC,kBAAkB,EAChC,GAAG,EACH,IAAI,EACJ,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,EAAE,0CAAG,CAAC,CAAwC,CACrE,CAAA;cAAA,CAAC,CACH,CAAC;YAEF,IAAA,0CAA4B,EAAC,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YAEpD,IAAI,CAAC,YAAY,EAAE,CAAC;YAEpB,OAAO,IAAI,CAAC;;KACZ;IAED,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,MAAO,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,IAAI,YAAY;QACf,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1G,MAAM,YAAY,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,YAAY,CAAC;QACjD,OAAO,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,SAAS;;QACR,uCACI,IAAI,CAAC,cAAc,EAAE,KACxB,IAAI,EAAE,aAAa,EACnB,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAgC,CAAC,EACtF,aAAa,EAAE,MAAA,IAAI,CAAC,aAAa,0CAAE,SAAS,EAAE,IAC7C;IACH,CAAC;CACD;AAlDD,sDAkDC"}
1
+ {"version":3,"file":"ConstructorReflection.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/reflections/ConstructorReflection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAIjC,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,OAAO,qBAAsB,SAAQ,qBAAqB;IACvD,WAAW,CAAyB;IAEnC,aAAa,GAAG,IAAI,CAAC;IAC9B,aAAa,CAAQ;IAErB,MAAM,CAAC,KAAK,CAAC,cAAc,CAC1B,GAAmB,EACnB,WAAsB,EACtB,UAAmC,EACnC,MAAuB;QAEvB,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,WAA2D,CAAC;QAC9F,MAAM,MAAM,GAAG,WAAW,EAAE,MAAM,CAAC;QACnC,MAAM,eAAe,GAAI,WAAW,EAAE,MAA0C,EAAE,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC;QAC7G,MAAM,IAAI,GAAG,IAAI,qBAAqB,CAAC,GAAG,EAAE,MAAM,IAAI,WAAW,EAAE,eAAe,CAAC,CAAC;QAEpF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,UAAU;aACR,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;aAChC,GAAG,CACH,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAChB,MAAM,mBAAmB,CAAC,eAAe,CACxC,GAAG,EACH,EAAE,CAAC,UAAU,CAAC,kBAAkB,EAChC,GAAG,EACH,IAAI,EACJ,MAAM,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC,CAAwC,CACrE,CACF,CACF,CAAC;QAEF,4BAA4B,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAEpD,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,MAAO,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,IAAI,YAAY;QACf,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1G,MAAM,YAAY,GAAG,aAAa,EAAE,YAAY,CAAC;QACjD,OAAO,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,SAAS;QACR,OAAO;YACN,GAAG,IAAI,CAAC,cAAc,EAAE;YACxB,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAgC,CAAC;YACtF,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE;SAC9C,CAAC;IACH,CAAC;CACD"}
@@ -1,23 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EnumMemberReflection = void 0;
4
- const tslib_1 = require("tslib");
5
- const SymbolBasedReflection_1 = require("./SymbolBasedReflection");
6
- class EnumMemberReflection extends SymbolBasedReflection_1.SymbolBasedReflection {
7
- static fromSymbol(ctx, symbol) {
8
- var _a;
9
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
10
- const that = new EnumMemberReflection(ctx, symbol);
11
- const declaration = (_a = symbol.getDeclarations()) === null || _a === void 0 ? void 0 : _a[0];
12
- that._value = ctx.checker.getConstantValue(declaration);
13
- that._handleFlags(declaration);
14
- that._processJsDoc();
15
- return that;
16
- });
1
+ import { SymbolBasedReflection } from './SymbolBasedReflection.js';
2
+ export class EnumMemberReflection extends SymbolBasedReflection {
3
+ _value;
4
+ static async fromSymbol(ctx, symbol) {
5
+ const that = new EnumMemberReflection(ctx, symbol);
6
+ const declaration = symbol.getDeclarations()?.[0];
7
+ that._value = ctx.checker.getConstantValue(declaration);
8
+ that._handleFlags(declaration);
9
+ that._processJsDoc();
10
+ return that;
17
11
  }
18
12
  serialize() {
19
- return Object.assign(Object.assign({}, this._baseSerialize()), { kind: 'enumMember', value: JSON.stringify(this._value) });
13
+ return {
14
+ ...this._baseSerialize(),
15
+ kind: 'enumMember',
16
+ value: JSON.stringify(this._value)
17
+ };
20
18
  }
21
19
  }
22
- exports.EnumMemberReflection = EnumMemberReflection;
23
20
  //# sourceMappingURL=EnumMemberReflection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EnumMemberReflection.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/reflections/EnumMemberReflection.ts"],"names":[],"mappings":";;;;AAGA,mEAAgE;AAEhE,MAAa,oBAAqB,SAAQ,6CAAqB;IAG9D,MAAM,CAAO,UAAU,CAAC,GAAmB,EAAE,MAAiB;;;YAC7D,MAAM,IAAI,GAAG,IAAI,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACnD,MAAM,WAAW,GAAG,MAAA,MAAM,CAAC,eAAe,EAAE,0CAAG,CAAC,CAAkB,CAAC;YAEnE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAExD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;YAErB,OAAO,IAAI,CAAC;;KACZ;IAED,SAAS;QACR,uCACI,IAAI,CAAC,cAAc,EAAE,KACxB,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IACjC;IACH,CAAC;CACD;AAtBD,oDAsBC"}
1
+ {"version":3,"file":"EnumMemberReflection.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/reflections/EnumMemberReflection.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,OAAO,oBAAqB,SAAQ,qBAAqB;IACtD,MAAM,CAAW;IAEzB,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAmB,EAAE,MAAiB;QAC7D,MAAM,IAAI,GAAG,IAAI,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAkB,CAAC;QAEnE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAExD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,SAAS;QACR,OAAO;YACN,GAAG,IAAI,CAAC,cAAc,EAAE;YACxB,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;SAClC,CAAC;IACH,CAAC;CACD"}
@@ -1,28 +1,26 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EnumReflection = void 0;
4
- const tslib_1 = require("tslib");
5
- const typescript_1 = tslib_1.__importDefault(require("typescript"));
6
- const EnumMemberReflection_1 = require("./EnumMemberReflection");
7
- const SymbolBasedReflection_1 = require("./SymbolBasedReflection");
8
- class EnumReflection extends SymbolBasedReflection_1.SymbolBasedReflection {
9
- static fromSymbol(ctx, symbol) {
10
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
- const that = new EnumReflection(ctx, symbol);
12
- that._members = symbol.exports
13
- ? yield Promise.all([...symbol.exports.values()]
14
- // eslint-disable-next-line no-bitwise
15
- .filter(exp => exp.flags & typescript_1.default.SymbolFlags.EnumMember)
16
- .map((exp) => tslib_1.__awaiter(this, void 0, void 0, function* () { return yield EnumMemberReflection_1.EnumMemberReflection.fromSymbol(ctx, exp); })))
17
- : [];
18
- that._handleFlags();
19
- that._processJsDoc();
20
- return that;
21
- });
1
+ import ts from 'typescript';
2
+ import { EnumMemberReflection } from './EnumMemberReflection.js';
3
+ import { SymbolBasedReflection } from './SymbolBasedReflection.js';
4
+ export class EnumReflection extends SymbolBasedReflection {
5
+ _members;
6
+ static async fromSymbol(ctx, symbol) {
7
+ const that = new EnumReflection(ctx, symbol);
8
+ that._members = symbol.exports
9
+ ? await Promise.all([...symbol.exports.values()]
10
+ // eslint-disable-next-line no-bitwise
11
+ .filter(exp => exp.flags & ts.SymbolFlags.EnumMember)
12
+ .map(async (exp) => await EnumMemberReflection.fromSymbol(ctx, exp)))
13
+ : [];
14
+ that._handleFlags();
15
+ that._processJsDoc();
16
+ return that;
22
17
  }
23
18
  serialize() {
24
- return Object.assign(Object.assign({}, this._baseSerialize()), { kind: 'enum', members: this._members.map(mem => mem.serialize()) });
19
+ return {
20
+ ...this._baseSerialize(),
21
+ kind: 'enum',
22
+ members: this._members.map(mem => mem.serialize())
23
+ };
25
24
  }
26
25
  }
27
- exports.EnumReflection = EnumReflection;
28
26
  //# sourceMappingURL=EnumReflection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EnumReflection.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/reflections/EnumReflection.ts"],"names":[],"mappings":";;;;AAAA,oEAA4B;AAG5B,iEAA8D;AAC9D,mEAAgE;AAEhE,MAAa,cAAe,SAAQ,6CAAqB;IAGxD,MAAM,CAAO,UAAU,CAAC,GAAmB,EAAE,MAAiB;;YAC7D,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAE7C,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO;gBAC7B,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAI,MAAM,CAAC,OAAkC,CAAC,MAAM,EAAE,CAAC;oBAC3E,sCAAsC;qBACrC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,oBAAE,CAAC,WAAW,CAAC,UAAU,CAAC;qBACpD,GAAG,CAAC,CAAM,GAAG,EAAC,EAAE,wDAAC,OAAA,MAAM,2CAAoB,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA,GAAA,CAAC,CAAC;gBACpE,CAAC,CAAC,EAAE,CAAC;YAEN,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,aAAa,EAAE,CAAC;YAErB,OAAO,IAAI,CAAC;QACb,CAAC;KAAA;IAED,SAAS;QACR,uCACI,IAAI,CAAC,cAAc,EAAE,KACxB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IACjD;IACH,CAAC;CACD;AA1BD,wCA0BC"}
1
+ {"version":3,"file":"EnumReflection.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/reflections/EnumReflection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAG5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,OAAO,cAAe,SAAQ,qBAAqB;IAChD,QAAQ,CAA0B;IAE1C,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAmB,EAAE,MAAiB;QAC7D,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAE7C,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO;YAC7B,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CACjB,CAAC,GAAI,MAAM,CAAC,OAAkC,CAAC,MAAM,EAAE,CAAC;gBACvD,sCAAsC;iBACrC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC;iBACpD,GAAG,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE,CAAC,MAAM,oBAAoB,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAClE;YACH,CAAC,CAAC,EAAE,CAAC;QAEN,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,SAAS;QACR,OAAO;YACN,GAAG,IAAI,CAAC,cAAc,EAAE;YACxB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;SAClD,CAAC;IACH,CAAC;CACD"}