@opra/common 1.20.0 → 1.22.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 (615) hide show
  1. package/README.md +3 -0
  2. package/browser.js +12 -0
  3. package/{esm/document → document}/api-document.js +7 -7
  4. package/{esm/document → document}/common/api-base.js +2 -1
  5. package/{esm/document → document}/common/data-type-map.js +3 -6
  6. package/{esm/document → document}/common/document-init-context.js +4 -3
  7. package/{esm/document → document}/common/document-node.js +4 -0
  8. package/{esm/document → document}/common/opra-document-error.js +1 -1
  9. package/{esm/document → document}/common/value.js +4 -0
  10. package/{esm/document → document}/data-type/api-field.js +1 -0
  11. package/{types/document → document}/data-type/array-type.d.ts +1 -1
  12. package/{esm/document → document}/data-type/complex-type-base.js +3 -0
  13. package/{esm/document → document}/data-type/complex-type.js +1 -0
  14. package/{esm/document → document}/data-type/extended-types/base64.type.js +1 -0
  15. package/{esm/document → document}/data-type/extended-types/date-time-tz.type.js +2 -0
  16. package/{esm/document → document}/data-type/extended-types/date-time.type.js +3 -0
  17. package/{esm/document → document}/data-type/extended-types/date.type.js +3 -0
  18. package/{esm/document → document}/data-type/extended-types/email.type.js +9 -0
  19. package/{esm/document → document}/data-type/extended-types/field-path.type.js +2 -0
  20. package/{esm/document → document}/data-type/extended-types/filter.type.js +2 -0
  21. package/{esm/document → document}/data-type/extended-types/partial-date.type.js +2 -0
  22. package/{esm/document → document}/data-type/extended-types/time.type.js +2 -0
  23. package/{esm/document → document}/data-type/extended-types/uuid.type.js +1 -0
  24. package/{esm/document → document}/data-type/mapped-type.js +4 -0
  25. package/{esm/document → document}/data-type/primitive-types/number.type.js +2 -0
  26. package/{esm/document → document}/data-type/primitive-types/string.type.js +4 -0
  27. package/{esm/document → document}/data-type/simple-type.js +3 -0
  28. package/document/decorators/ws-param.decorator.d.ts +7 -0
  29. package/{esm/document → document}/decorators/ws-param.decorator.js +2 -2
  30. package/{esm/document → document}/factory/api-document.factory.js +1 -3
  31. package/{esm/document → document}/factory/ws-api.factory.js +14 -3
  32. package/{esm/document → document}/http/http-api.js +5 -4
  33. package/{esm/document → document}/http/http-multipart-field.js +3 -0
  34. package/{esm/document → document}/http/http-operation-response.js +3 -0
  35. package/{esm/document → document}/http/http-request-body.js +8 -1
  36. package/{esm/document → document}/http/http-status-range.js +2 -2
  37. package/{esm/document → document}/mq/mq-api.js +5 -4
  38. package/{esm/document → document}/mq/mq-operation-response.js +7 -1
  39. package/{esm/document → document}/ws/ws-api.js +4 -4
  40. package/{types/document → document}/ws/ws-operation.d.ts +15 -3
  41. package/{esm/document → document}/ws/ws-operation.js +10 -2
  42. package/{esm/exception → exception}/http-errors/bad-request.error.js +1 -4
  43. package/{esm/exception → exception}/http-errors/conflict.error.js +1 -4
  44. package/{esm/exception → exception}/http-errors/failed-dependency.error.js +1 -4
  45. package/{esm/exception → exception}/http-errors/forbidden.error.js +1 -4
  46. package/{esm/exception → exception}/http-errors/internal-server.error.js +1 -4
  47. package/{esm/exception → exception}/http-errors/method-not-allowed.error.js +1 -4
  48. package/{esm/exception → exception}/http-errors/not-acceptable.error.js +1 -4
  49. package/{esm/exception → exception}/http-errors/not-found.error.js +1 -4
  50. package/{esm/exception → exception}/http-errors/resource-conflict.error.js +1 -1
  51. package/{esm/exception → exception}/http-errors/unauthorized.error.js +1 -4
  52. package/{esm/exception → exception}/http-errors/unprocessable-entity.error.js +1 -4
  53. package/{esm/exception → exception}/opra-exception.js +5 -1
  54. package/{esm/exception → exception}/opra-http-error.js +1 -0
  55. package/filter/antlr/OpraFilterLexer.js +425 -0
  56. package/filter/antlr/OpraFilterListener.js +302 -0
  57. package/{esm/filter → filter}/antlr/OpraFilterParser.js +218 -214
  58. package/filter/antlr/OpraFilterVisitor.js +185 -0
  59. package/{esm/filter → filter}/ast/abstract/ast.js +1 -0
  60. package/{esm/filter → filter}/ast/expressions/arithmetic-expression.js +3 -1
  61. package/{esm/filter → filter}/ast/expressions/array-expression.js +1 -0
  62. package/{esm/filter → filter}/ast/expressions/comparison-expression.js +4 -0
  63. package/{esm/filter → filter}/ast/expressions/logical-expression.js +2 -0
  64. package/{esm/filter → filter}/ast/expressions/negative-expression.js +1 -0
  65. package/{esm/filter → filter}/ast/expressions/parenthesized-expression.js +1 -0
  66. package/{esm/filter → filter}/ast/terms/date-literal.js +1 -0
  67. package/{esm/filter → filter}/ast/terms/date-time-literal.js +1 -0
  68. package/{esm/filter → filter}/ast/terms/null-literal.js +1 -1
  69. package/{esm/filter → filter}/ast/terms/number-literal.js +1 -0
  70. package/{esm/filter → filter}/ast/terms/time-literal.js +1 -0
  71. package/{esm/filter → filter}/filter-rules.js +2 -2
  72. package/{esm/filter → filter}/filter-tree-visitor.js +1 -0
  73. package/{esm/filter → filter}/opra-error-listener.js +1 -0
  74. package/{esm/helpers → helpers}/parse-fields-projection.js +2 -0
  75. package/package.json +15 -35
  76. package/{types/schema → schema}/ws/ws-api.interface.d.ts +4 -0
  77. package/browser/index.cjs +0 -12
  78. package/browser/index.mjs +0 -12
  79. package/cjs/document/api-document.js +0 -182
  80. package/cjs/document/common/api-base.js +0 -31
  81. package/cjs/document/common/data-type-map.js +0 -77
  82. package/cjs/document/common/document-element.js +0 -34
  83. package/cjs/document/common/document-init-context.js +0 -69
  84. package/cjs/document/common/document-node.js +0 -145
  85. package/cjs/document/common/opra-document-error.js +0 -15
  86. package/cjs/document/common/value.js +0 -39
  87. package/cjs/document/constants.js +0 -18
  88. package/cjs/document/data-type/api-field.js +0 -124
  89. package/cjs/document/data-type/array-type.js +0 -78
  90. package/cjs/document/data-type/complex-type-base.js +0 -346
  91. package/cjs/document/data-type/complex-type.js +0 -127
  92. package/cjs/document/data-type/data-type.js +0 -67
  93. package/cjs/document/data-type/enum-type.js +0 -128
  94. package/cjs/document/data-type/extended-types/base64.type.js +0 -49
  95. package/cjs/document/data-type/extended-types/date-time-tz.type.js +0 -63
  96. package/cjs/document/data-type/extended-types/date-time.type.js +0 -76
  97. package/cjs/document/data-type/extended-types/date.type.js +0 -74
  98. package/cjs/document/data-type/extended-types/email.type.js +0 -95
  99. package/cjs/document/data-type/extended-types/field-path.type.js +0 -65
  100. package/cjs/document/data-type/extended-types/filter.type.js +0 -88
  101. package/cjs/document/data-type/extended-types/index.js +0 -16
  102. package/cjs/document/data-type/extended-types/object-id.type.js +0 -31
  103. package/cjs/document/data-type/extended-types/operation-result.type.js +0 -67
  104. package/cjs/document/data-type/extended-types/partial-date.type.js +0 -85
  105. package/cjs/document/data-type/extended-types/time.type.js +0 -55
  106. package/cjs/document/data-type/extended-types/url.type.js +0 -31
  107. package/cjs/document/data-type/extended-types/uuid.type.js +0 -37
  108. package/cjs/document/data-type/mapped-type.js +0 -120
  109. package/cjs/document/data-type/mixin-type.js +0 -123
  110. package/cjs/document/data-type/omit-type.js +0 -10
  111. package/cjs/document/data-type/partial-type.js +0 -12
  112. package/cjs/document/data-type/pick-type.js +0 -10
  113. package/cjs/document/data-type/primitive-types/any.type.js +0 -27
  114. package/cjs/document/data-type/primitive-types/bigint.type.js +0 -38
  115. package/cjs/document/data-type/primitive-types/boolean.type.js +0 -31
  116. package/cjs/document/data-type/primitive-types/index.js +0 -11
  117. package/cjs/document/data-type/primitive-types/integer.type.js +0 -38
  118. package/cjs/document/data-type/primitive-types/null.type.js +0 -31
  119. package/cjs/document/data-type/primitive-types/number.type.js +0 -50
  120. package/cjs/document/data-type/primitive-types/object.type.js +0 -20
  121. package/cjs/document/data-type/primitive-types/string.type.js +0 -70
  122. package/cjs/document/data-type/required-type.js +0 -12
  123. package/cjs/document/data-type/simple-type.js +0 -133
  124. package/cjs/document/data-type/union-type.js +0 -84
  125. package/cjs/document/data-type/utils/create-mapped-class.js +0 -56
  126. package/cjs/document/data-type/utils/get-is-inherited-predicate-fn.js +0 -14
  127. package/cjs/document/decorators/api-field-decorator.js +0 -50
  128. package/cjs/document/decorators/complex-type.decorator.js +0 -31
  129. package/cjs/document/decorators/http-controller.decorator.js +0 -145
  130. package/cjs/document/decorators/http-operation-entity-create.decorator.js +0 -58
  131. package/cjs/document/decorators/http-operation-entity-delete-many.decorator.js +0 -41
  132. package/cjs/document/decorators/http-operation-entity-delete.decorator.js +0 -41
  133. package/cjs/document/decorators/http-operation-entity-find-many.decorator.js +0 -85
  134. package/cjs/document/decorators/http-operation-entity-get.decorator.js +0 -56
  135. package/cjs/document/decorators/http-operation-entity-replace.decorator.js +0 -56
  136. package/cjs/document/decorators/http-operation-entity-update-many.decorator.js +0 -50
  137. package/cjs/document/decorators/http-operation-entity-update.decorator.js +0 -66
  138. package/cjs/document/decorators/http-operation-entity.decorator.js +0 -143
  139. package/cjs/document/decorators/http-operation.decorator.js +0 -213
  140. package/cjs/document/decorators/mq-controller.decorator.js +0 -67
  141. package/cjs/document/decorators/mq-operation.decorator.js +0 -82
  142. package/cjs/document/decorators/simple-type.decorator.js +0 -67
  143. package/cjs/document/decorators/ws-controller.decorator.js +0 -51
  144. package/cjs/document/decorators/ws-operation.decorator.js +0 -42
  145. package/cjs/document/decorators/ws-param.decorator.js +0 -22
  146. package/cjs/document/factory/api-document.factory.js +0 -192
  147. package/cjs/document/factory/data-type.factory.js +0 -647
  148. package/cjs/document/factory/http-api.factory.js +0 -302
  149. package/cjs/document/factory/mq-api.factory.js +0 -203
  150. package/cjs/document/factory/ws-api.factory.js +0 -145
  151. package/cjs/document/http/http-api.js +0 -40
  152. package/cjs/document/http/http-controller.js +0 -159
  153. package/cjs/document/http/http-media-type.js +0 -104
  154. package/cjs/document/http/http-multipart-field.js +0 -32
  155. package/cjs/document/http/http-operation-response.js +0 -47
  156. package/cjs/document/http/http-operation.js +0 -126
  157. package/cjs/document/http/http-parameter.js +0 -57
  158. package/cjs/document/http/http-request-body.js +0 -27
  159. package/cjs/document/http/http-status-range.js +0 -45
  160. package/cjs/document/index.js +0 -70
  161. package/cjs/document/mq/mq-api.js +0 -54
  162. package/cjs/document/mq/mq-controller.js +0 -101
  163. package/cjs/document/mq/mq-header.js +0 -48
  164. package/cjs/document/mq/mq-operation-response.js +0 -66
  165. package/cjs/document/mq/mq-operation.js +0 -101
  166. package/cjs/document/utils/inspect.util.js +0 -7
  167. package/cjs/document/utils/parse-regexp.util.js +0 -21
  168. package/cjs/document/utils/string-compare.util.js +0 -10
  169. package/cjs/document/utils/test-scope-match.js +0 -15
  170. package/cjs/document/ws/ws-api.js +0 -52
  171. package/cjs/document/ws/ws-controller.js +0 -78
  172. package/cjs/document/ws/ws-operation.js +0 -64
  173. package/cjs/enums/http-headers-codes.enum.js +0 -411
  174. package/cjs/enums/http-status-codes.enum.js +0 -300
  175. package/cjs/enums/http-status-messages.js +0 -68
  176. package/cjs/enums/index.js +0 -7
  177. package/cjs/enums/mime-types.enum.js +0 -17
  178. package/cjs/exception/error-issue.js +0 -2
  179. package/cjs/exception/http-errors/bad-request.error.js +0 -23
  180. package/cjs/exception/http-errors/conflict.error.js +0 -22
  181. package/cjs/exception/http-errors/failed-dependency.error.js +0 -22
  182. package/cjs/exception/http-errors/forbidden.error.js +0 -25
  183. package/cjs/exception/http-errors/internal-server.error.js +0 -23
  184. package/cjs/exception/http-errors/method-not-allowed.error.js +0 -23
  185. package/cjs/exception/http-errors/not-acceptable.error.js +0 -23
  186. package/cjs/exception/http-errors/not-found.error.js +0 -26
  187. package/cjs/exception/http-errors/permission.error.js +0 -20
  188. package/cjs/exception/http-errors/resource-conflict.error.js +0 -19
  189. package/cjs/exception/http-errors/resource-not.available.error.js +0 -23
  190. package/cjs/exception/http-errors/unauthorized.error.js +0 -23
  191. package/cjs/exception/http-errors/unprocessable-entity.error.js +0 -23
  192. package/cjs/exception/index.js +0 -20
  193. package/cjs/exception/issue-severity.enum.js +0 -23
  194. package/cjs/exception/opra-exception.js +0 -70
  195. package/cjs/exception/opra-http-error.js +0 -25
  196. package/cjs/filter/antlr/OpraFilterLexer.js +0 -427
  197. package/cjs/filter/antlr/OpraFilterListener.js +0 -11
  198. package/cjs/filter/antlr/OpraFilterParser.js +0 -1851
  199. package/cjs/filter/antlr/OpraFilterVisitor.js +0 -14
  200. package/cjs/filter/ast/abstract/ast.js +0 -9
  201. package/cjs/filter/ast/abstract/expression.js +0 -7
  202. package/cjs/filter/ast/abstract/literal.js +0 -14
  203. package/cjs/filter/ast/abstract/term.js +0 -7
  204. package/cjs/filter/ast/expressions/arithmetic-expression.js +0 -29
  205. package/cjs/filter/ast/expressions/array-expression.js +0 -14
  206. package/cjs/filter/ast/expressions/comparison-expression.js +0 -15
  207. package/cjs/filter/ast/expressions/logical-expression.js +0 -18
  208. package/cjs/filter/ast/expressions/negative-expression.js +0 -14
  209. package/cjs/filter/ast/expressions/parenthesized-expression.js +0 -14
  210. package/cjs/filter/ast/index.js +0 -21
  211. package/cjs/filter/ast/terms/boolean-literal.js +0 -10
  212. package/cjs/filter/ast/terms/date-literal.js +0 -28
  213. package/cjs/filter/ast/terms/date-time-literal.js +0 -27
  214. package/cjs/filter/ast/terms/external-constant.js +0 -13
  215. package/cjs/filter/ast/terms/null-literal.js +0 -11
  216. package/cjs/filter/ast/terms/number-literal.js +0 -39
  217. package/cjs/filter/ast/terms/qualified-identifier.js +0 -10
  218. package/cjs/filter/ast/terms/string-literal.js +0 -14
  219. package/cjs/filter/ast/terms/time-literal.js +0 -34
  220. package/cjs/filter/build.js +0 -126
  221. package/cjs/filter/errors.js +0 -21
  222. package/cjs/filter/filter-rules.js +0 -150
  223. package/cjs/filter/filter-tree-visitor.js +0 -97
  224. package/cjs/filter/index.js +0 -5
  225. package/cjs/filter/opra-error-listener.js +0 -21
  226. package/cjs/filter/opra-filter.ns.js +0 -8
  227. package/cjs/filter/parse.js +0 -38
  228. package/cjs/filter/utils.js +0 -25
  229. package/cjs/helpers/function-utils.js +0 -15
  230. package/cjs/helpers/get-stack-filename.js +0 -51
  231. package/cjs/helpers/index.js +0 -12
  232. package/cjs/helpers/mixin-utils.js +0 -35
  233. package/cjs/helpers/object-utils.js +0 -19
  234. package/cjs/helpers/parse-fields-projection.js +0 -67
  235. package/cjs/helpers/responsive-map.js +0 -155
  236. package/cjs/helpers/safe-json-stringify.js +0 -16
  237. package/cjs/helpers/type-guards.js +0 -46
  238. package/cjs/i18n/i18n.js +0 -139
  239. package/cjs/i18n/index.js +0 -10
  240. package/cjs/i18n/string-utils.js +0 -12
  241. package/cjs/i18n/translate.js +0 -16
  242. package/cjs/index.js +0 -14
  243. package/cjs/package.json +0 -3
  244. package/cjs/polifils/array-find-last.js +0 -22
  245. package/cjs/schema/api-document.interface.js +0 -2
  246. package/cjs/schema/api.interface.js +0 -2
  247. package/cjs/schema/constants.js +0 -4
  248. package/cjs/schema/data-type/array-type.interface.js +0 -7
  249. package/cjs/schema/data-type/complex-type.interface.js +0 -7
  250. package/cjs/schema/data-type/data-type.interface.js +0 -2
  251. package/cjs/schema/data-type/enum-type.interface.js +0 -7
  252. package/cjs/schema/data-type/field.interface.js +0 -2
  253. package/cjs/schema/data-type/mapped-type.interface.js +0 -7
  254. package/cjs/schema/data-type/mixin-type.interface.js +0 -7
  255. package/cjs/schema/data-type/simple-type.interface.js +0 -7
  256. package/cjs/schema/data-type/union-type.interface.js +0 -7
  257. package/cjs/schema/data-type-container.interface.js +0 -2
  258. package/cjs/schema/http/http-api.interface.js +0 -2
  259. package/cjs/schema/http/http-controller.interface.js +0 -11
  260. package/cjs/schema/http/http-media-type.interface.js +0 -2
  261. package/cjs/schema/http/http-multipart-field.interface.js +0 -2
  262. package/cjs/schema/http/http-operation-response.interface.js +0 -2
  263. package/cjs/schema/http/http-operation.interface.js +0 -7
  264. package/cjs/schema/http/http-parameter.interface.js +0 -2
  265. package/cjs/schema/http/http-request-body.interface.js +0 -2
  266. package/cjs/schema/http/http-status-range.interface.js +0 -2
  267. package/cjs/schema/index.js +0 -6
  268. package/cjs/schema/mq/mq-api.interface.js +0 -2
  269. package/cjs/schema/mq/mq-controller.interface.js +0 -11
  270. package/cjs/schema/mq/mq-header.interface.js +0 -2
  271. package/cjs/schema/mq/mq-operation.interface.js +0 -7
  272. package/cjs/schema/opra-schema.js +0 -35
  273. package/cjs/schema/type-guards.js +0 -54
  274. package/cjs/schema/types.js +0 -2
  275. package/cjs/schema/value.interface.js +0 -2
  276. package/cjs/schema/ws/ws-api.interface.js +0 -2
  277. package/cjs/schema/ws/ws-controller.interface.js +0 -11
  278. package/cjs/schema/ws/ws-operation.interface.js +0 -7
  279. package/cjs/types.js +0 -2
  280. package/esm/filter/antlr/OpraFilterLexer.js +0 -425
  281. package/esm/filter/antlr/OpraFilterListener.js +0 -8
  282. package/esm/filter/antlr/OpraFilterVisitor.js +0 -11
  283. package/esm/helpers/monkey-patches.js +0 -14
  284. package/esm/package.json +0 -3
  285. package/types/document/decorators/ws-param.decorator.d.ts +0 -2
  286. package/types/index.d.cts +0 -9
  287. /package/{types/document → document}/api-document.d.ts +0 -0
  288. /package/{types/document → document}/common/api-base.d.ts +0 -0
  289. /package/{types/document → document}/common/data-type-map.d.ts +0 -0
  290. /package/{types/document → document}/common/document-element.d.ts +0 -0
  291. /package/{esm/document → document}/common/document-element.js +0 -0
  292. /package/{types/document → document}/common/document-init-context.d.ts +0 -0
  293. /package/{types/document → document}/common/document-node.d.ts +0 -0
  294. /package/{types/document → document}/common/opra-document-error.d.ts +0 -0
  295. /package/{types/document → document}/common/value.d.ts +0 -0
  296. /package/{types/document → document}/constants.d.ts +0 -0
  297. /package/{esm/document → document}/constants.js +0 -0
  298. /package/{types/document → document}/data-type/api-field.d.ts +0 -0
  299. /package/{esm/document → document}/data-type/array-type.js +0 -0
  300. /package/{types/document → document}/data-type/complex-type-base.d.ts +0 -0
  301. /package/{types/document → document}/data-type/complex-type.d.ts +0 -0
  302. /package/{types/document → document}/data-type/data-type.d.ts +0 -0
  303. /package/{esm/document → document}/data-type/data-type.js +0 -0
  304. /package/{types/document → document}/data-type/enum-type.d.ts +0 -0
  305. /package/{esm/document → document}/data-type/enum-type.js +0 -0
  306. /package/{types/document → document}/data-type/extended-types/base64.type.d.ts +0 -0
  307. /package/{types/document → document}/data-type/extended-types/date-time-tz.type.d.ts +0 -0
  308. /package/{types/document → document}/data-type/extended-types/date-time.type.d.ts +0 -0
  309. /package/{types/document → document}/data-type/extended-types/date.type.d.ts +0 -0
  310. /package/{types/document → document}/data-type/extended-types/email.type.d.ts +0 -0
  311. /package/{types/document → document}/data-type/extended-types/field-path.type.d.ts +0 -0
  312. /package/{types/document → document}/data-type/extended-types/filter.type.d.ts +0 -0
  313. /package/{types/document → document}/data-type/extended-types/index.d.ts +0 -0
  314. /package/{esm/document → document}/data-type/extended-types/index.js +0 -0
  315. /package/{types/document → document}/data-type/extended-types/object-id.type.d.ts +0 -0
  316. /package/{esm/document → document}/data-type/extended-types/object-id.type.js +0 -0
  317. /package/{types/document → document}/data-type/extended-types/operation-result.type.d.ts +0 -0
  318. /package/{esm/document → document}/data-type/extended-types/operation-result.type.js +0 -0
  319. /package/{types/document → document}/data-type/extended-types/partial-date.type.d.ts +0 -0
  320. /package/{types/document → document}/data-type/extended-types/time.type.d.ts +0 -0
  321. /package/{types/document → document}/data-type/extended-types/url.type.d.ts +0 -0
  322. /package/{esm/document → document}/data-type/extended-types/url.type.js +0 -0
  323. /package/{types/document → document}/data-type/extended-types/uuid.type.d.ts +0 -0
  324. /package/{types/document → document}/data-type/mapped-type.d.ts +0 -0
  325. /package/{types/document → document}/data-type/mixin-type.d.ts +0 -0
  326. /package/{esm/document → document}/data-type/mixin-type.js +0 -0
  327. /package/{types/document → document}/data-type/omit-type.d.ts +0 -0
  328. /package/{esm/document → document}/data-type/omit-type.js +0 -0
  329. /package/{types/document → document}/data-type/partial-type.d.ts +0 -0
  330. /package/{esm/document → document}/data-type/partial-type.js +0 -0
  331. /package/{types/document → document}/data-type/pick-type.d.ts +0 -0
  332. /package/{esm/document → document}/data-type/pick-type.js +0 -0
  333. /package/{types/document → document}/data-type/primitive-types/any.type.d.ts +0 -0
  334. /package/{esm/document → document}/data-type/primitive-types/any.type.js +0 -0
  335. /package/{types/document → document}/data-type/primitive-types/bigint.type.d.ts +0 -0
  336. /package/{esm/document → document}/data-type/primitive-types/bigint.type.js +0 -0
  337. /package/{types/document → document}/data-type/primitive-types/boolean.type.d.ts +0 -0
  338. /package/{esm/document → document}/data-type/primitive-types/boolean.type.js +0 -0
  339. /package/{types/document → document}/data-type/primitive-types/index.d.ts +0 -0
  340. /package/{esm/document → document}/data-type/primitive-types/index.js +0 -0
  341. /package/{types/document → document}/data-type/primitive-types/integer.type.d.ts +0 -0
  342. /package/{esm/document → document}/data-type/primitive-types/integer.type.js +0 -0
  343. /package/{types/document → document}/data-type/primitive-types/null.type.d.ts +0 -0
  344. /package/{esm/document → document}/data-type/primitive-types/null.type.js +0 -0
  345. /package/{types/document → document}/data-type/primitive-types/number.type.d.ts +0 -0
  346. /package/{types/document → document}/data-type/primitive-types/object.type.d.ts +0 -0
  347. /package/{esm/document → document}/data-type/primitive-types/object.type.js +0 -0
  348. /package/{types/document → document}/data-type/primitive-types/string.type.d.ts +0 -0
  349. /package/{types/document → document}/data-type/required-type.d.ts +0 -0
  350. /package/{esm/document → document}/data-type/required-type.js +0 -0
  351. /package/{types/document → document}/data-type/simple-type.d.ts +0 -0
  352. /package/{types/document → document}/data-type/union-type.d.ts +0 -0
  353. /package/{esm/document → document}/data-type/union-type.js +0 -0
  354. /package/{types/document → document}/data-type/utils/create-mapped-class.d.ts +0 -0
  355. /package/{esm/document → document}/data-type/utils/create-mapped-class.js +0 -0
  356. /package/{types/document → document}/data-type/utils/get-is-inherited-predicate-fn.d.ts +0 -0
  357. /package/{esm/document → document}/data-type/utils/get-is-inherited-predicate-fn.js +0 -0
  358. /package/{types/document → document}/decorators/api-field-decorator.d.ts +0 -0
  359. /package/{esm/document → document}/decorators/api-field-decorator.js +0 -0
  360. /package/{types/document → document}/decorators/complex-type.decorator.d.ts +0 -0
  361. /package/{esm/document → document}/decorators/complex-type.decorator.js +0 -0
  362. /package/{types/document → document}/decorators/http-controller.decorator.d.ts +0 -0
  363. /package/{esm/document → document}/decorators/http-controller.decorator.js +0 -0
  364. /package/{types/document → document}/decorators/http-operation-entity-create.decorator.d.ts +0 -0
  365. /package/{esm/document → document}/decorators/http-operation-entity-create.decorator.js +0 -0
  366. /package/{types/document → document}/decorators/http-operation-entity-delete-many.decorator.d.ts +0 -0
  367. /package/{esm/document → document}/decorators/http-operation-entity-delete-many.decorator.js +0 -0
  368. /package/{types/document → document}/decorators/http-operation-entity-delete.decorator.d.ts +0 -0
  369. /package/{esm/document → document}/decorators/http-operation-entity-delete.decorator.js +0 -0
  370. /package/{types/document → document}/decorators/http-operation-entity-find-many.decorator.d.ts +0 -0
  371. /package/{esm/document → document}/decorators/http-operation-entity-find-many.decorator.js +0 -0
  372. /package/{types/document → document}/decorators/http-operation-entity-get.decorator.d.ts +0 -0
  373. /package/{esm/document → document}/decorators/http-operation-entity-get.decorator.js +0 -0
  374. /package/{types/document → document}/decorators/http-operation-entity-replace.decorator.d.ts +0 -0
  375. /package/{esm/document → document}/decorators/http-operation-entity-replace.decorator.js +0 -0
  376. /package/{types/document → document}/decorators/http-operation-entity-update-many.decorator.d.ts +0 -0
  377. /package/{esm/document → document}/decorators/http-operation-entity-update-many.decorator.js +0 -0
  378. /package/{types/document → document}/decorators/http-operation-entity-update.decorator.d.ts +0 -0
  379. /package/{esm/document → document}/decorators/http-operation-entity-update.decorator.js +0 -0
  380. /package/{types/document → document}/decorators/http-operation-entity.decorator.d.ts +0 -0
  381. /package/{esm/document → document}/decorators/http-operation-entity.decorator.js +0 -0
  382. /package/{types/document → document}/decorators/http-operation.decorator.d.ts +0 -0
  383. /package/{esm/document → document}/decorators/http-operation.decorator.js +0 -0
  384. /package/{types/document → document}/decorators/mq-controller.decorator.d.ts +0 -0
  385. /package/{esm/document → document}/decorators/mq-controller.decorator.js +0 -0
  386. /package/{types/document → document}/decorators/mq-operation.decorator.d.ts +0 -0
  387. /package/{esm/document → document}/decorators/mq-operation.decorator.js +0 -0
  388. /package/{types/document → document}/decorators/simple-type.decorator.d.ts +0 -0
  389. /package/{esm/document → document}/decorators/simple-type.decorator.js +0 -0
  390. /package/{types/document → document}/decorators/ws-controller.decorator.d.ts +0 -0
  391. /package/{esm/document → document}/decorators/ws-controller.decorator.js +0 -0
  392. /package/{types/document → document}/decorators/ws-operation.decorator.d.ts +0 -0
  393. /package/{esm/document → document}/decorators/ws-operation.decorator.js +0 -0
  394. /package/{types/document → document}/factory/api-document.factory.d.ts +0 -0
  395. /package/{types/document → document}/factory/data-type.factory.d.ts +0 -0
  396. /package/{esm/document → document}/factory/data-type.factory.js +0 -0
  397. /package/{types/document → document}/factory/http-api.factory.d.ts +0 -0
  398. /package/{esm/document → document}/factory/http-api.factory.js +0 -0
  399. /package/{types/document → document}/factory/mq-api.factory.d.ts +0 -0
  400. /package/{esm/document → document}/factory/mq-api.factory.js +0 -0
  401. /package/{types/document → document}/factory/ws-api.factory.d.ts +0 -0
  402. /package/{types/document → document}/http/http-api.d.ts +0 -0
  403. /package/{types/document → document}/http/http-controller.d.ts +0 -0
  404. /package/{esm/document → document}/http/http-controller.js +0 -0
  405. /package/{types/document → document}/http/http-media-type.d.ts +0 -0
  406. /package/{esm/document → document}/http/http-media-type.js +0 -0
  407. /package/{types/document → document}/http/http-multipart-field.d.ts +0 -0
  408. /package/{types/document → document}/http/http-operation-response.d.ts +0 -0
  409. /package/{types/document → document}/http/http-operation.d.ts +0 -0
  410. /package/{esm/document → document}/http/http-operation.js +0 -0
  411. /package/{types/document → document}/http/http-parameter.d.ts +0 -0
  412. /package/{esm/document → document}/http/http-parameter.js +0 -0
  413. /package/{types/document → document}/http/http-request-body.d.ts +0 -0
  414. /package/{types/document → document}/http/http-status-range.d.ts +0 -0
  415. /package/{types/document → document}/index.d.ts +0 -0
  416. /package/{esm/document → document}/index.js +0 -0
  417. /package/{types/document → document}/mq/mq-api.d.ts +0 -0
  418. /package/{types/document → document}/mq/mq-controller.d.ts +0 -0
  419. /package/{esm/document → document}/mq/mq-controller.js +0 -0
  420. /package/{types/document → document}/mq/mq-header.d.ts +0 -0
  421. /package/{esm/document → document}/mq/mq-header.js +0 -0
  422. /package/{types/document → document}/mq/mq-operation-response.d.ts +0 -0
  423. /package/{types/document → document}/mq/mq-operation.d.ts +0 -0
  424. /package/{esm/document → document}/mq/mq-operation.js +0 -0
  425. /package/{types/document → document}/utils/inspect.util.d.ts +0 -0
  426. /package/{esm/document → document}/utils/inspect.util.js +0 -0
  427. /package/{types/document → document}/utils/parse-regexp.util.d.ts +0 -0
  428. /package/{esm/document → document}/utils/parse-regexp.util.js +0 -0
  429. /package/{types/document → document}/utils/string-compare.util.d.ts +0 -0
  430. /package/{esm/document → document}/utils/string-compare.util.js +0 -0
  431. /package/{types/document → document}/utils/test-scope-match.d.ts +0 -0
  432. /package/{esm/document → document}/utils/test-scope-match.js +0 -0
  433. /package/{types/document → document}/ws/ws-api.d.ts +0 -0
  434. /package/{types/document → document}/ws/ws-controller.d.ts +0 -0
  435. /package/{esm/document → document}/ws/ws-controller.js +0 -0
  436. /package/{types/enums → enums}/http-headers-codes.enum.d.ts +0 -0
  437. /package/{esm/enums → enums}/http-headers-codes.enum.js +0 -0
  438. /package/{types/enums → enums}/http-status-codes.enum.d.ts +0 -0
  439. /package/{esm/enums → enums}/http-status-codes.enum.js +0 -0
  440. /package/{types/enums → enums}/http-status-messages.d.ts +0 -0
  441. /package/{esm/enums → enums}/http-status-messages.js +0 -0
  442. /package/{types/enums → enums}/index.d.ts +0 -0
  443. /package/{esm/enums → enums}/index.js +0 -0
  444. /package/{types/enums → enums}/mime-types.enum.d.ts +0 -0
  445. /package/{esm/enums → enums}/mime-types.enum.js +0 -0
  446. /package/{types/exception → exception}/error-issue.d.ts +0 -0
  447. /package/{esm/exception → exception}/error-issue.js +0 -0
  448. /package/{types/exception → exception}/http-errors/bad-request.error.d.ts +0 -0
  449. /package/{types/exception → exception}/http-errors/conflict.error.d.ts +0 -0
  450. /package/{types/exception → exception}/http-errors/failed-dependency.error.d.ts +0 -0
  451. /package/{types/exception → exception}/http-errors/forbidden.error.d.ts +0 -0
  452. /package/{types/exception → exception}/http-errors/internal-server.error.d.ts +0 -0
  453. /package/{types/exception → exception}/http-errors/method-not-allowed.error.d.ts +0 -0
  454. /package/{types/exception → exception}/http-errors/not-acceptable.error.d.ts +0 -0
  455. /package/{types/exception → exception}/http-errors/not-found.error.d.ts +0 -0
  456. /package/{types/exception → exception}/http-errors/permission.error.d.ts +0 -0
  457. /package/{esm/exception → exception}/http-errors/permission.error.js +0 -0
  458. /package/{types/exception → exception}/http-errors/resource-conflict.error.d.ts +0 -0
  459. /package/{types/exception → exception}/http-errors/resource-not.available.error.d.ts +0 -0
  460. /package/{esm/exception → exception}/http-errors/resource-not.available.error.js +0 -0
  461. /package/{types/exception → exception}/http-errors/unauthorized.error.d.ts +0 -0
  462. /package/{types/exception → exception}/http-errors/unprocessable-entity.error.d.ts +0 -0
  463. /package/{types/exception → exception}/index.d.ts +0 -0
  464. /package/{esm/exception → exception}/index.js +0 -0
  465. /package/{types/exception → exception}/issue-severity.enum.d.ts +0 -0
  466. /package/{esm/exception → exception}/issue-severity.enum.js +0 -0
  467. /package/{types/exception → exception}/opra-exception.d.ts +0 -0
  468. /package/{types/exception → exception}/opra-http-error.d.ts +0 -0
  469. /package/{types/filter → filter}/antlr/OpraFilterLexer.d.ts +0 -0
  470. /package/{types/filter → filter}/antlr/OpraFilterListener.d.ts +0 -0
  471. /package/{types/filter → filter}/antlr/OpraFilterParser.d.ts +0 -0
  472. /package/{types/filter → filter}/antlr/OpraFilterVisitor.d.ts +0 -0
  473. /package/{types/filter → filter}/ast/abstract/ast.d.ts +0 -0
  474. /package/{types/filter → filter}/ast/abstract/expression.d.ts +0 -0
  475. /package/{esm/filter → filter}/ast/abstract/expression.js +0 -0
  476. /package/{types/filter → filter}/ast/abstract/literal.d.ts +0 -0
  477. /package/{esm/filter → filter}/ast/abstract/literal.js +0 -0
  478. /package/{types/filter → filter}/ast/abstract/term.d.ts +0 -0
  479. /package/{esm/filter → filter}/ast/abstract/term.js +0 -0
  480. /package/{types/filter → filter}/ast/expressions/arithmetic-expression.d.ts +0 -0
  481. /package/{types/filter → filter}/ast/expressions/array-expression.d.ts +0 -0
  482. /package/{types/filter → filter}/ast/expressions/comparison-expression.d.ts +0 -0
  483. /package/{types/filter → filter}/ast/expressions/logical-expression.d.ts +0 -0
  484. /package/{types/filter → filter}/ast/expressions/negative-expression.d.ts +0 -0
  485. /package/{types/filter → filter}/ast/expressions/parenthesized-expression.d.ts +0 -0
  486. /package/{types/filter → filter}/ast/index.d.ts +0 -0
  487. /package/{esm/filter → filter}/ast/index.js +0 -0
  488. /package/{types/filter → filter}/ast/terms/boolean-literal.d.ts +0 -0
  489. /package/{esm/filter → filter}/ast/terms/boolean-literal.js +0 -0
  490. /package/{types/filter → filter}/ast/terms/date-literal.d.ts +0 -0
  491. /package/{types/filter → filter}/ast/terms/date-time-literal.d.ts +0 -0
  492. /package/{types/filter → filter}/ast/terms/external-constant.d.ts +0 -0
  493. /package/{esm/filter → filter}/ast/terms/external-constant.js +0 -0
  494. /package/{types/filter → filter}/ast/terms/null-literal.d.ts +0 -0
  495. /package/{types/filter → filter}/ast/terms/number-literal.d.ts +0 -0
  496. /package/{types/filter → filter}/ast/terms/qualified-identifier.d.ts +0 -0
  497. /package/{esm/filter → filter}/ast/terms/qualified-identifier.js +0 -0
  498. /package/{types/filter → filter}/ast/terms/string-literal.d.ts +0 -0
  499. /package/{esm/filter → filter}/ast/terms/string-literal.js +0 -0
  500. /package/{types/filter → filter}/ast/terms/time-literal.d.ts +0 -0
  501. /package/{types/filter → filter}/build.d.ts +0 -0
  502. /package/{esm/filter → filter}/build.js +0 -0
  503. /package/{types/filter → filter}/errors.d.ts +0 -0
  504. /package/{esm/filter → filter}/errors.js +0 -0
  505. /package/{types/filter → filter}/filter-rules.d.ts +0 -0
  506. /package/{types/filter → filter}/filter-tree-visitor.d.ts +0 -0
  507. /package/{types/filter → filter}/index.d.ts +0 -0
  508. /package/{esm/filter → filter}/index.js +0 -0
  509. /package/{types/filter → filter}/opra-error-listener.d.ts +0 -0
  510. /package/{types/filter → filter}/opra-filter.ns.d.ts +0 -0
  511. /package/{esm/filter → filter}/opra-filter.ns.js +0 -0
  512. /package/{types/filter → filter}/parse.d.ts +0 -0
  513. /package/{esm/filter → filter}/parse.js +0 -0
  514. /package/{types/filter → filter}/utils.d.ts +0 -0
  515. /package/{esm/filter → filter}/utils.js +0 -0
  516. /package/{types/helpers → helpers}/function-utils.d.ts +0 -0
  517. /package/{esm/helpers → helpers}/function-utils.js +0 -0
  518. /package/{types/helpers → helpers}/get-stack-filename.d.ts +0 -0
  519. /package/{esm/helpers → helpers}/get-stack-filename.js +0 -0
  520. /package/{types/helpers → helpers}/index.d.ts +0 -0
  521. /package/{esm/helpers → helpers}/index.js +0 -0
  522. /package/{types/helpers → helpers}/mixin-utils.d.ts +0 -0
  523. /package/{esm/helpers → helpers}/mixin-utils.js +0 -0
  524. /package/{types/helpers → helpers}/monkey-patches.d.ts +0 -0
  525. /package/{cjs/helpers → helpers}/monkey-patches.js +0 -0
  526. /package/{types/helpers → helpers}/object-utils.d.ts +0 -0
  527. /package/{esm/helpers → helpers}/object-utils.js +0 -0
  528. /package/{types/helpers → helpers}/parse-fields-projection.d.ts +0 -0
  529. /package/{types/helpers → helpers}/responsive-map.d.ts +0 -0
  530. /package/{esm/helpers → helpers}/responsive-map.js +0 -0
  531. /package/{types/helpers → helpers}/safe-json-stringify.d.ts +0 -0
  532. /package/{esm/helpers → helpers}/safe-json-stringify.js +0 -0
  533. /package/{types/helpers → helpers}/type-guards.d.ts +0 -0
  534. /package/{esm/helpers → helpers}/type-guards.js +0 -0
  535. /package/{types/i18n → i18n}/i18n.d.ts +0 -0
  536. /package/{esm/i18n → i18n}/i18n.js +0 -0
  537. /package/{types/i18n → i18n}/index.d.ts +0 -0
  538. /package/{esm/i18n → i18n}/index.js +0 -0
  539. /package/{types/i18n → i18n}/string-utils.d.ts +0 -0
  540. /package/{esm/i18n → i18n}/string-utils.js +0 -0
  541. /package/{types/i18n → i18n}/translate.d.ts +0 -0
  542. /package/{esm/i18n → i18n}/translate.js +0 -0
  543. /package/{types/index.d.ts → index.d.ts} +0 -0
  544. /package/{esm/index.js → index.js} +0 -0
  545. /package/{types/polifils → polifils}/array-find-last.d.ts +0 -0
  546. /package/{esm/polifils → polifils}/array-find-last.js +0 -0
  547. /package/{types/schema → schema}/api-document.interface.d.ts +0 -0
  548. /package/{esm/schema → schema}/api-document.interface.js +0 -0
  549. /package/{types/schema → schema}/api.interface.d.ts +0 -0
  550. /package/{esm/schema → schema}/api.interface.js +0 -0
  551. /package/{types/schema → schema}/constants.d.ts +0 -0
  552. /package/{esm/schema → schema}/constants.js +0 -0
  553. /package/{types/schema → schema}/data-type/array-type.interface.d.ts +0 -0
  554. /package/{esm/schema → schema}/data-type/array-type.interface.js +0 -0
  555. /package/{types/schema → schema}/data-type/complex-type.interface.d.ts +0 -0
  556. /package/{esm/schema → schema}/data-type/complex-type.interface.js +0 -0
  557. /package/{types/schema → schema}/data-type/data-type.interface.d.ts +0 -0
  558. /package/{esm/schema → schema}/data-type/data-type.interface.js +0 -0
  559. /package/{types/schema → schema}/data-type/enum-type.interface.d.ts +0 -0
  560. /package/{esm/schema → schema}/data-type/enum-type.interface.js +0 -0
  561. /package/{types/schema → schema}/data-type/field.interface.d.ts +0 -0
  562. /package/{esm/schema → schema}/data-type/field.interface.js +0 -0
  563. /package/{types/schema → schema}/data-type/mapped-type.interface.d.ts +0 -0
  564. /package/{esm/schema → schema}/data-type/mapped-type.interface.js +0 -0
  565. /package/{types/schema → schema}/data-type/mixin-type.interface.d.ts +0 -0
  566. /package/{esm/schema → schema}/data-type/mixin-type.interface.js +0 -0
  567. /package/{types/schema → schema}/data-type/simple-type.interface.d.ts +0 -0
  568. /package/{esm/schema → schema}/data-type/simple-type.interface.js +0 -0
  569. /package/{types/schema → schema}/data-type/union-type.interface.d.ts +0 -0
  570. /package/{esm/schema → schema}/data-type/union-type.interface.js +0 -0
  571. /package/{types/schema → schema}/data-type-container.interface.d.ts +0 -0
  572. /package/{esm/schema → schema}/data-type-container.interface.js +0 -0
  573. /package/{types/schema → schema}/http/http-api.interface.d.ts +0 -0
  574. /package/{esm/schema → schema}/http/http-api.interface.js +0 -0
  575. /package/{types/schema → schema}/http/http-controller.interface.d.ts +0 -0
  576. /package/{esm/schema → schema}/http/http-controller.interface.js +0 -0
  577. /package/{types/schema → schema}/http/http-media-type.interface.d.ts +0 -0
  578. /package/{esm/schema → schema}/http/http-media-type.interface.js +0 -0
  579. /package/{types/schema → schema}/http/http-multipart-field.interface.d.ts +0 -0
  580. /package/{esm/schema → schema}/http/http-multipart-field.interface.js +0 -0
  581. /package/{types/schema → schema}/http/http-operation-response.interface.d.ts +0 -0
  582. /package/{esm/schema → schema}/http/http-operation-response.interface.js +0 -0
  583. /package/{types/schema → schema}/http/http-operation.interface.d.ts +0 -0
  584. /package/{esm/schema → schema}/http/http-operation.interface.js +0 -0
  585. /package/{types/schema → schema}/http/http-parameter.interface.d.ts +0 -0
  586. /package/{esm/schema → schema}/http/http-parameter.interface.js +0 -0
  587. /package/{types/schema → schema}/http/http-request-body.interface.d.ts +0 -0
  588. /package/{esm/schema → schema}/http/http-request-body.interface.js +0 -0
  589. /package/{types/schema → schema}/http/http-status-range.interface.d.ts +0 -0
  590. /package/{esm/schema → schema}/http/http-status-range.interface.js +0 -0
  591. /package/{types/schema → schema}/index.d.ts +0 -0
  592. /package/{esm/schema → schema}/index.js +0 -0
  593. /package/{types/schema → schema}/mq/mq-api.interface.d.ts +0 -0
  594. /package/{esm/schema → schema}/mq/mq-api.interface.js +0 -0
  595. /package/{types/schema → schema}/mq/mq-controller.interface.d.ts +0 -0
  596. /package/{esm/schema → schema}/mq/mq-controller.interface.js +0 -0
  597. /package/{types/schema → schema}/mq/mq-header.interface.d.ts +0 -0
  598. /package/{esm/schema → schema}/mq/mq-header.interface.js +0 -0
  599. /package/{types/schema → schema}/mq/mq-operation.interface.d.ts +0 -0
  600. /package/{esm/schema → schema}/mq/mq-operation.interface.js +0 -0
  601. /package/{types/schema → schema}/opra-schema.d.ts +0 -0
  602. /package/{esm/schema → schema}/opra-schema.js +0 -0
  603. /package/{types/schema → schema}/type-guards.d.ts +0 -0
  604. /package/{esm/schema → schema}/type-guards.js +0 -0
  605. /package/{types/schema → schema}/types.d.ts +0 -0
  606. /package/{esm/schema → schema}/types.js +0 -0
  607. /package/{types/schema → schema}/value.interface.d.ts +0 -0
  608. /package/{esm/schema → schema}/value.interface.js +0 -0
  609. /package/{esm/schema → schema}/ws/ws-api.interface.js +0 -0
  610. /package/{types/schema → schema}/ws/ws-controller.interface.d.ts +0 -0
  611. /package/{esm/schema → schema}/ws/ws-controller.interface.js +0 -0
  612. /package/{types/schema → schema}/ws/ws-operation.interface.d.ts +0 -0
  613. /package/{esm/schema → schema}/ws/ws-operation.interface.js +0 -0
  614. /package/{types/types.d.ts → types.d.ts} +0 -0
  615. /package/{esm/types.js → types.js} +0 -0
@@ -1,647 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DataTypeFactory = void 0;
4
- const index_js_1 = require("../../helpers/index.js");
5
- const index_js_2 = require("../../schema/index.js");
6
- const document_init_context_js_1 = require("../common/document-init-context.js");
7
- const constants_js_1 = require("../constants.js");
8
- const array_type_js_1 = require("../data-type/array-type.js");
9
- const complex_type_js_1 = require("../data-type/complex-type.js");
10
- const complex_type_base_js_1 = require("../data-type/complex-type-base.js");
11
- const data_type_js_1 = require("../data-type/data-type.js");
12
- const enum_type_js_1 = require("../data-type/enum-type.js");
13
- const mapped_type_js_1 = require("../data-type/mapped-type.js");
14
- const mixin_type_js_1 = require("../data-type/mixin-type.js");
15
- const simple_type_js_1 = require("../data-type/simple-type.js");
16
- const union_type_js_1 = require("../data-type/union-type.js");
17
- const initializingSymbol = Symbol('initializing');
18
- /**
19
- *
20
- * @class DataTypeFactory
21
- */
22
- class DataTypeFactory {
23
- static async createDataType(context, owner, thunk) {
24
- context = context || new document_init_context_js_1.DocumentInitContext({ maxErrors: 0 });
25
- const initArgs = await this._importDataTypeArgs(context, owner, thunk);
26
- if (initArgs) {
27
- if (typeof initArgs === 'string')
28
- return owner.node.getDataType(initArgs);
29
- return this._createDataType(context, owner, initArgs);
30
- }
31
- }
32
- static async resolveDataType(context, owner, v) {
33
- if (v) {
34
- const dt = owner.node.findDataType(v);
35
- if (dt)
36
- return dt;
37
- }
38
- if (typeof v === 'object' || typeof v === 'function') {
39
- const dt = await DataTypeFactory.createDataType(context, owner, v);
40
- if (dt)
41
- return dt;
42
- }
43
- if (v) {
44
- /** To throw not found error */
45
- const dt = owner.node.getDataType(v);
46
- /** istanbul ignore next */
47
- if (dt)
48
- return dt;
49
- }
50
- return owner.node.getDataType('any');
51
- }
52
- /**
53
- *
54
- * @param context
55
- * @param target
56
- * @param types
57
- */
58
- static async addDataTypes(context, target, types) {
59
- const dataTypeMap = target.node[constants_js_1.kDataTypeMap];
60
- if (!dataTypeMap)
61
- throw new TypeError('DocumentElement should has [kDataTypeMap] property');
62
- const importedTypes = await this.createAllDataTypes(context, target, types);
63
- if (!importedTypes)
64
- return;
65
- for (const dataType of importedTypes) {
66
- if (dataType?.name) {
67
- dataTypeMap.set(dataType.name, dataType);
68
- }
69
- }
70
- }
71
- /**
72
- *
73
- * @param context
74
- * @param owner
75
- * @param types
76
- */
77
- static async createAllDataTypes(context, owner, types) {
78
- context = context || new document_init_context_js_1.DocumentInitContext({ maxErrors: 0 });
79
- const initArgs = await this._prepareAllInitArgs(context, owner, types);
80
- if (!initArgs)
81
- return;
82
- const initArgsMap = new index_js_1.ResponsiveMap();
83
- for (const initArg of initArgs) {
84
- initArgsMap.set(initArg.name, initArg);
85
- }
86
- const ctx = context.extend({ initArgsMap });
87
- const out = [];
88
- for (const [name, initArg] of initArgsMap.entries()) {
89
- context.enter(`[${name}]`, () => {
90
- if (!initArgsMap.has(name))
91
- return;
92
- const dataType = this._createDataType(ctx, owner, initArg);
93
- if (dataType)
94
- out.push(dataType);
95
- });
96
- }
97
- return out;
98
- }
99
- /**
100
- *
101
- * @param ctx
102
- * @param owner
103
- * @param types
104
- */
105
- static async _prepareAllInitArgs(ctx, owner, types) {
106
- const importQueue = new index_js_1.ResponsiveMap();
107
- const initArgsMap = new index_js_1.ResponsiveMap();
108
- const context = ctx.extend({ owner, importQueue, initArgsMap });
109
- // istanbul ignore next
110
- if (!owner.node[constants_js_1.kDataTypeMap])
111
- throw new TypeError('DocumentElement should has [kDataTypeMap] property');
112
- // Add type sources into typeQueue
113
- if (Array.isArray(types)) {
114
- let i = 0;
115
- for (let thunk of types) {
116
- await context.enterAsync(`$[${i++}]`, async () => {
117
- thunk = await (0, index_js_1.resolveThunk)(thunk);
118
- const metadata = Reflect.getMetadata(constants_js_1.DATATYPE_METADATA, thunk) ||
119
- thunk[constants_js_1.DATATYPE_METADATA];
120
- if (!(metadata && metadata.name)) {
121
- if (typeof thunk === 'function') {
122
- return context.addError(`Class "${thunk.name}" doesn't have a valid data type metadata`);
123
- }
124
- return context.addError(`Object doesn't have a valid data type metadata`);
125
- }
126
- importQueue.set(metadata.name, thunk);
127
- });
128
- }
129
- }
130
- else {
131
- let thunk;
132
- let name;
133
- for ([name, thunk] of Object.entries(types)) {
134
- thunk = await (0, index_js_1.resolveThunk)(thunk);
135
- importQueue.set(name, typeof thunk === 'object' ? { ...thunk, name } : thunk);
136
- }
137
- }
138
- for (const name of Array.from(importQueue.keys())) {
139
- if (!importQueue.has(name))
140
- continue;
141
- const dt = await this._importDataTypeArgs(context, owner, name);
142
- // istanbul ignore next
143
- if (dt && typeof dt !== 'string') {
144
- context.addError(`Embedded data type can't be loaded into document node directly`);
145
- }
146
- }
147
- return Array.from(initArgsMap.values());
148
- }
149
- /**
150
- *
151
- * @param context
152
- * @param owner
153
- * @param thunk
154
- * @param checkCircularDeps
155
- * @protected
156
- */
157
- static async _importDataTypeArgs(context, owner, thunk, checkCircularDeps) {
158
- thunk = await (0, index_js_1.resolveThunk)(thunk);
159
- const { importQueue, initArgsMap } = context;
160
- // Check if data type already exist (maybe a builtin type or already imported)
161
- const dataType = owner.node.findDataType(thunk);
162
- if (dataType instanceof data_type_js_1.DataType)
163
- return dataType.name;
164
- let metadata;
165
- let ctor;
166
- let instance;
167
- if (typeof thunk !== 'string') {
168
- const _ctorTypeMap = owner.node.getDocument().types[constants_js_1.kCtorMap];
169
- const name = _ctorTypeMap.get(thunk);
170
- if (name)
171
- thunk = name;
172
- }
173
- if (typeof thunk === 'string') {
174
- const name = thunk;
175
- thunk = importQueue?.get(name) || context.initArgsMap?.get(name);
176
- if (!thunk)
177
- return context.addError(`Unknown data type (${name})`);
178
- }
179
- else {
180
- //
181
- }
182
- if (typeof thunk === 'function') {
183
- // Check if class has metadata
184
- metadata = Reflect.getMetadata(constants_js_1.DATATYPE_METADATA, thunk);
185
- if (!metadata)
186
- return context.addError(`Class "${thunk.name}" doesn't have a valid DataType metadata`);
187
- ctor = thunk;
188
- }
189
- else if (typeof thunk === 'object') {
190
- // It may be an enum object or enum array
191
- metadata = thunk[constants_js_1.DATATYPE_METADATA];
192
- if (metadata) {
193
- instance = thunk;
194
- if (metadata.kind !== index_js_2.OpraSchema.EnumType.Kind)
195
- metadata = undefined;
196
- }
197
- else if (index_js_2.OpraSchema.isDataType(thunk)) {
198
- metadata = thunk;
199
- ctor = metadata.ctor;
200
- }
201
- else {
202
- // Or may be a DataType instance, e.g. an extended SimpleType object
203
- ctor = Object.getPrototypeOf(thunk).constructor;
204
- metadata = ctor && Reflect.getMetadata(constants_js_1.DATATYPE_METADATA, ctor);
205
- if (metadata) {
206
- if (metadata.kind === index_js_2.OpraSchema.SimpleType.Kind) {
207
- const baseArgs = await this._importDataTypeArgs(context, owner, metadata.name);
208
- if (!baseArgs)
209
- return;
210
- if (typeof baseArgs === 'object' &&
211
- baseArgs.kind !== index_js_2.OpraSchema.SimpleType.Kind) {
212
- return context.addError('Kind of base data type is not same');
213
- }
214
- return {
215
- kind: index_js_2.OpraSchema.SimpleType.Kind,
216
- name: undefined,
217
- base: baseArgs,
218
- properties: thunk,
219
- };
220
- }
221
- }
222
- }
223
- }
224
- if (!metadata) {
225
- return context.addError(`No DataType metadata found`);
226
- }
227
- return context.enterAsync(metadata.name ? `[${metadata.name}]` : '', async () => {
228
- /** Check for circular dependencies */
229
- if (metadata.name) {
230
- const curr = initArgsMap?.get(metadata.name);
231
- if (curr) {
232
- if (checkCircularDeps && curr[initializingSymbol])
233
- return context.addError('Circular reference detected');
234
- return metadata.name;
235
- }
236
- }
237
- const out = {
238
- kind: metadata.kind,
239
- name: metadata.name,
240
- };
241
- /** Mark "out" object as initializing. This will help us to detect circular dependencies */
242
- out[initializingSymbol] = true;
243
- try {
244
- if (out.name) {
245
- if (importQueue?.has(out.name)) {
246
- initArgsMap?.set(metadata.name, out);
247
- out._instance = { name: metadata.name };
248
- out[constants_js_1.kDataTypeMap] = owner.node[constants_js_1.kDataTypeMap];
249
- }
250
- else {
251
- return context.addError(`Data Type (${out.name}) must be explicitly added to type list in the document scope`);
252
- }
253
- }
254
- switch (out.kind) {
255
- case index_js_2.OpraSchema.ArrayType.Kind:
256
- await this._prepareArrayTypeArgs(context, owner, out, metadata);
257
- break;
258
- case index_js_2.OpraSchema.ComplexType.Kind:
259
- out.ctor = ctor;
260
- await this._prepareComplexTypeArgs(context, owner, out, metadata);
261
- break;
262
- case index_js_2.OpraSchema.EnumType.Kind:
263
- out.instance = instance;
264
- await this._prepareEnumTypeArgs(context, owner, out, metadata);
265
- break;
266
- case index_js_2.OpraSchema.MappedType.Kind:
267
- await this._prepareMappedTypeArgs(context, owner, out, metadata);
268
- break;
269
- case index_js_2.OpraSchema.MixinType.Kind:
270
- await this._prepareMixinTypeArgs(context, owner, out, metadata);
271
- break;
272
- case index_js_2.OpraSchema.SimpleType.Kind:
273
- out.ctor = ctor;
274
- await this._prepareSimpleTypeArgs(context, owner, out, metadata);
275
- break;
276
- case index_js_2.OpraSchema.UnionType.Kind:
277
- await this._prepareUnionTypeArgs(context, owner, out, metadata);
278
- break;
279
- default:
280
- /** istanbul ignore next */
281
- return context.addError(`Invalid data type kind ${metadata.kind}`);
282
- }
283
- }
284
- finally {
285
- if (out.name)
286
- importQueue?.delete(out.name);
287
- delete out[initializingSymbol];
288
- }
289
- return importQueue && out.name ? out.name : out;
290
- });
291
- }
292
- static async _prepareDataTypeArgs(context, initArgs, metadata) {
293
- initArgs.description = metadata.description;
294
- initArgs.abstract = metadata.abstract;
295
- initArgs.examples = metadata.examples;
296
- initArgs.scopePattern = metadata.scopePattern;
297
- }
298
- static async _prepareArrayTypeArgs(context, owner, initArgs, metadata) {
299
- await this._prepareDataTypeArgs(context, initArgs, metadata);
300
- await context.enterAsync('.type', async () => {
301
- const baseArgs = await this._importDataTypeArgs(context, owner, metadata.type);
302
- if (!baseArgs)
303
- return;
304
- initArgs.type = preferName(baseArgs);
305
- });
306
- }
307
- static async _prepareComplexTypeArgs(context, owner, initArgs, metadata) {
308
- await this._prepareDataTypeArgs(context, initArgs, metadata);
309
- initArgs.keyField = metadata.keyField;
310
- initArgs.discriminatorField = metadata.discriminatorField;
311
- initArgs.discriminatorValue = metadata.discriminatorValue;
312
- await context.enterAsync('.base', async () => {
313
- let baseArgs;
314
- if (metadata.base) {
315
- baseArgs = await this._importDataTypeArgs(context, owner, metadata.base, true);
316
- }
317
- else if (initArgs.ctor) {
318
- const baseClass = Object.getPrototypeOf(initArgs.ctor.prototype).constructor;
319
- if (Reflect.hasMetadata(constants_js_1.DATATYPE_METADATA, baseClass)) {
320
- baseArgs = await this._importDataTypeArgs(context, owner, baseClass);
321
- }
322
- }
323
- if (!baseArgs)
324
- return;
325
- initArgs.base = preferName(baseArgs);
326
- initArgs.ctor = initArgs.ctor || baseArgs.ctor;
327
- });
328
- // Initialize additionalFields
329
- if (metadata.additionalFields != null) {
330
- if (typeof metadata.additionalFields === 'boolean' ||
331
- Array.isArray(metadata.additionalFields)) {
332
- initArgs.additionalFields = metadata.additionalFields;
333
- }
334
- else {
335
- await context.enterAsync('.additionalFields', async () => {
336
- const t = await this._importDataTypeArgs(context, owner, metadata.additionalFields);
337
- if (t)
338
- initArgs.additionalFields = preferName(t);
339
- });
340
- }
341
- }
342
- if (metadata.fields) {
343
- initArgs.fields = {};
344
- await context.enterAsync('.fields', async () => {
345
- for (const [k, v] of Object.entries(metadata.fields)) {
346
- await context.enterAsync(`[${k}]`, async () => {
347
- const fieldMeta = typeof v === 'string' ? { type: v } : v;
348
- if (fieldMeta.isArray && !fieldMeta.type) {
349
- return context.addError(`"type" must be defined explicitly for array fields`);
350
- }
351
- const t = await this._importDataTypeArgs(context, owner, fieldMeta.type || 'any');
352
- if (!t)
353
- return;
354
- initArgs.fields[k] = {
355
- ...fieldMeta,
356
- type: preferName(t),
357
- };
358
- });
359
- }
360
- });
361
- }
362
- }
363
- static async _prepareEnumTypeArgs(context, owner, initArgs, metadata) {
364
- await this._prepareDataTypeArgs(context, initArgs, metadata);
365
- if (metadata.base) {
366
- await context.enterAsync('.base', async () => {
367
- const baseArgs = await this._importDataTypeArgs(context, owner, metadata.base);
368
- if (!baseArgs)
369
- return;
370
- initArgs.base = preferName(baseArgs);
371
- });
372
- }
373
- initArgs.attributes = (0, index_js_1.cloneObject)(metadata.attributes);
374
- }
375
- static async _prepareSimpleTypeArgs(context, owner, initArgs, metadata) {
376
- await this._prepareDataTypeArgs(context, initArgs, metadata);
377
- await context.enterAsync('.base', async () => {
378
- let baseArgs;
379
- if (metadata.base) {
380
- baseArgs = await this._importDataTypeArgs(context, owner, metadata.base, true);
381
- }
382
- else if (initArgs.ctor) {
383
- const baseClass = Object.getPrototypeOf(initArgs.ctor.prototype).constructor;
384
- if (Reflect.hasMetadata(constants_js_1.DATATYPE_METADATA, baseClass)) {
385
- baseArgs = await this._importDataTypeArgs(context, owner, baseClass);
386
- }
387
- }
388
- if (!baseArgs)
389
- return;
390
- initArgs.base = preferName(baseArgs);
391
- initArgs.ctor = initArgs.ctor || baseArgs.ctor;
392
- });
393
- initArgs.properties = metadata.properties;
394
- initArgs.nameMappings = metadata.nameMappings;
395
- if (!initArgs.properties && initArgs.ctor)
396
- initArgs.properties = new initArgs.ctor();
397
- if (metadata.attributes)
398
- initArgs.attributes = (0, index_js_1.cloneObject)(metadata.attributes);
399
- if (typeof initArgs.properties?.[constants_js_1.DECODER] === 'function') {
400
- initArgs.generateDecoder = initArgs.properties?.[constants_js_1.DECODER].bind(initArgs.properties);
401
- }
402
- if (typeof initArgs.properties?.[constants_js_1.ENCODER] === 'function') {
403
- initArgs.generateEncoder = initArgs.properties?.[constants_js_1.ENCODER].bind(initArgs.properties);
404
- }
405
- }
406
- static async _prepareMappedTypeArgs(context, owner, initArgs, metadata) {
407
- await this._prepareDataTypeArgs(context, initArgs, metadata);
408
- initArgs.discriminatorField = metadata.discriminatorField;
409
- initArgs.discriminatorValue = metadata.discriminatorValue;
410
- await context.enterAsync('.base', async () => {
411
- let baseArgs;
412
- if (metadata.base) {
413
- baseArgs = await this._importDataTypeArgs(context, owner, metadata.base, true);
414
- }
415
- else if (initArgs.ctor) {
416
- const baseClass = Object.getPrototypeOf(initArgs.ctor.prototype).constructor;
417
- if (Reflect.hasMetadata(constants_js_1.DATATYPE_METADATA, baseClass)) {
418
- baseArgs = await this._importDataTypeArgs(context, owner, baseClass);
419
- }
420
- }
421
- if (!baseArgs)
422
- return;
423
- initArgs.base = preferName(baseArgs);
424
- initArgs.ctor = initArgs.ctor || baseArgs.ctor;
425
- });
426
- if (metadata.pick)
427
- initArgs.pick = [...metadata.pick];
428
- else if (metadata.omit)
429
- initArgs.omit = [...metadata.omit];
430
- else if (metadata.partial) {
431
- initArgs.partial = Array.isArray(metadata.partial)
432
- ? [...metadata.partial]
433
- : metadata.partial;
434
- }
435
- else if (metadata.required) {
436
- initArgs.required = Array.isArray(metadata.required)
437
- ? [...metadata.required]
438
- : metadata.required;
439
- }
440
- }
441
- static async _prepareMixinTypeArgs(context, owner, initArgs, metadata) {
442
- await this._prepareDataTypeArgs(context, initArgs, metadata);
443
- initArgs.types = [];
444
- await context.enterAsync('.types', async () => {
445
- const _initTypes = metadata.types;
446
- let i = 0;
447
- for (const t of _initTypes) {
448
- await context.enterAsync(`[${i++}]`, async () => {
449
- const baseArgs = await this._importDataTypeArgs(context, owner, t);
450
- if (!baseArgs)
451
- return;
452
- initArgs.types.push(preferName(baseArgs));
453
- });
454
- }
455
- });
456
- }
457
- static async _prepareUnionTypeArgs(context, owner, initArgs, metadata) {
458
- await this._prepareDataTypeArgs(context, initArgs, metadata);
459
- initArgs.types = [];
460
- await context.enterAsync('.types', async () => {
461
- const _initTypes = metadata.types;
462
- let i = 0;
463
- for (const t of _initTypes) {
464
- await context.enterAsync(`[${i++}]`, async () => {
465
- const baseArgs = await this._importDataTypeArgs(context, owner, t);
466
- if (!baseArgs)
467
- return;
468
- initArgs.types.push(preferName(baseArgs));
469
- });
470
- }
471
- });
472
- }
473
- static _createDataType(context, owner, args) {
474
- let dataType = owner.node.findDataType(typeof args === 'string' ? args : args.name || '');
475
- if (dataType instanceof data_type_js_1.DataType)
476
- return dataType;
477
- const initArgs = typeof args === 'string' ? context.initArgsMap?.get(args) : args;
478
- if (initArgs) {
479
- const dataTypeMap = initArgs[constants_js_1.kDataTypeMap];
480
- if (!dataTypeMap)
481
- delete initArgs._instance;
482
- dataType = initArgs._instance;
483
- if (dataType?.name && dataTypeMap) {
484
- dataTypeMap.set(dataType.name, dataType);
485
- }
486
- switch (initArgs?.kind) {
487
- case index_js_2.OpraSchema.ArrayType.Kind:
488
- return this._createArrayType(context, owner, initArgs);
489
- case index_js_2.OpraSchema.ComplexType.Kind:
490
- return this._createComplexType(context, owner, initArgs);
491
- case index_js_2.OpraSchema.EnumType.Kind:
492
- return this._createEnumType(context, owner, initArgs);
493
- case index_js_2.OpraSchema.MappedType.Kind:
494
- return this._createMappedType(context, owner, initArgs);
495
- case index_js_2.OpraSchema.MixinType.Kind:
496
- return this._createMixinType(context, owner, initArgs);
497
- case index_js_2.OpraSchema.SimpleType.Kind:
498
- return this._createSimpleType(context, owner, initArgs);
499
- case index_js_2.OpraSchema.UnionType.Kind:
500
- return this._createUnionType(context, owner, initArgs);
501
- default:
502
- break;
503
- }
504
- }
505
- context.addError(`Unknown data type (${String(args)})`);
506
- }
507
- static _createArrayType(context, owner, args) {
508
- const dataType = args._instance || {};
509
- Object.setPrototypeOf(dataType, array_type_js_1.ArrayType.prototype);
510
- const initArgs = (0, index_js_1.cloneObject)(args);
511
- if (args.type) {
512
- context.enter('.type', () => {
513
- initArgs.type = this._createDataType(context, owner, args.type);
514
- });
515
- }
516
- array_type_js_1.ArrayType.apply(dataType, [owner, initArgs]);
517
- return dataType;
518
- }
519
- static _createComplexType(context, owner, args) {
520
- const dataType = args._instance || {};
521
- Object.setPrototypeOf(dataType, complex_type_js_1.ComplexType.prototype);
522
- const initArgs = (0, index_js_1.cloneObject)(args);
523
- if (args.base) {
524
- context.enter('.base', () => {
525
- initArgs.base = this._createDataType(context, owner, args.base);
526
- });
527
- }
528
- /** Set additionalFields */
529
- if (args.additionalFields) {
530
- context.enter('.additionalFields', () => {
531
- if (typeof args.additionalFields === 'boolean' ||
532
- Array.isArray(args.additionalFields)) {
533
- initArgs.additionalFields = args.additionalFields;
534
- }
535
- else {
536
- initArgs.additionalFields = this._createDataType(context, owner, args.additionalFields);
537
- }
538
- });
539
- }
540
- /** Add own fields */
541
- initArgs.fields = {};
542
- if (args.fields) {
543
- context.enter('.fields', () => {
544
- for (const [k, v] of Object.entries(args.fields)) {
545
- context.enter(`[${k}]`, () => {
546
- const type = this._createDataType(context, owner, v.type);
547
- if (type) {
548
- initArgs.fields[k] = {
549
- ...v,
550
- name: k,
551
- type,
552
- };
553
- }
554
- });
555
- }
556
- });
557
- }
558
- complex_type_js_1.ComplexType.apply(dataType, [owner, initArgs]);
559
- return dataType;
560
- }
561
- static _createEnumType(context, owner, args) {
562
- const dataType = args._instance || {};
563
- Object.setPrototypeOf(dataType, enum_type_js_1.EnumType.prototype);
564
- const initArgs = (0, index_js_1.cloneObject)(args);
565
- if (args.base) {
566
- context.enter('.base', () => {
567
- initArgs.base = this._createDataType(context, owner, args.base);
568
- });
569
- }
570
- initArgs.attributes = args.attributes;
571
- enum_type_js_1.EnumType.apply(dataType, [owner, initArgs]);
572
- return dataType;
573
- }
574
- static _createMappedType(context, owner, args) {
575
- const dataType = args._instance || {};
576
- Object.setPrototypeOf(dataType, mapped_type_js_1.MappedType.prototype);
577
- const initArgs = (0, index_js_1.cloneObject)(args);
578
- if (args.base) {
579
- context.enter('.base', () => {
580
- initArgs.base = this._createDataType(context, owner, args.base);
581
- });
582
- }
583
- mapped_type_js_1.MappedType.apply(dataType, [owner, initArgs]);
584
- return dataType;
585
- }
586
- static _createMixinType(context, owner, args) {
587
- const dataType = args._instance || {};
588
- Object.setPrototypeOf(dataType, mixin_type_js_1.MixinType.prototype);
589
- const initArgs = (0, index_js_1.cloneObject)(args);
590
- if (args.types) {
591
- context.enter('.types', () => {
592
- initArgs.types = [];
593
- let i = 0;
594
- for (const t of args.types) {
595
- context.enter(`[${i++}]`, () => {
596
- const base = this._createDataType(context, owner, t);
597
- if (!(base instanceof complex_type_base_js_1.ComplexTypeBase)) {
598
- throw new TypeError(`"${base?.kind}" can't be set as base for a "${initArgs.kind}"`);
599
- }
600
- initArgs.types.push(base);
601
- });
602
- }
603
- });
604
- }
605
- mixin_type_js_1.MixinType.apply(dataType, [owner, initArgs]);
606
- return dataType;
607
- }
608
- static _createSimpleType(context, owner, args) {
609
- const dataType = args._instance || {};
610
- Object.setPrototypeOf(dataType, simple_type_js_1.SimpleType.prototype);
611
- const initArgs = (0, index_js_1.cloneObject)(args);
612
- if (args.base) {
613
- context.enter('.base', () => {
614
- initArgs.base = this._createDataType(context, owner, args.base);
615
- });
616
- }
617
- simple_type_js_1.SimpleType.apply(dataType, [owner, initArgs]);
618
- return dataType;
619
- }
620
- static _createUnionType(context, owner, args) {
621
- const dataType = args._instance || {};
622
- Object.setPrototypeOf(dataType, union_type_js_1.UnionType.prototype);
623
- const initArgs = (0, index_js_1.cloneObject)(args);
624
- if (args.types) {
625
- context.enter('.types', () => {
626
- initArgs.types = [];
627
- let i = 0;
628
- for (const t of args.types) {
629
- context.enter(`[${i++}]`, () => {
630
- const base = this._createDataType(context, owner, t);
631
- initArgs.types.push(base);
632
- });
633
- }
634
- });
635
- }
636
- union_type_js_1.UnionType.apply(dataType, [owner, initArgs]);
637
- return dataType;
638
- }
639
- }
640
- exports.DataTypeFactory = DataTypeFactory;
641
- function preferName(initArgs) {
642
- return typeof initArgs === 'object'
643
- ? initArgs.name
644
- ? initArgs.name
645
- : initArgs
646
- : initArgs;
647
- }