@opra/common 0.33.13 → 1.0.0-alpha.10

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 (583) hide show
  1. package/browser.js +9785 -8741
  2. package/cjs/document/api-document.js +117 -22
  3. package/cjs/document/common/api-base.js +27 -0
  4. package/cjs/document/common/data-type-map.js +66 -0
  5. package/cjs/document/common/document-element.js +32 -0
  6. package/cjs/document/common/document-init-context.js +69 -0
  7. package/cjs/document/common/document-node.js +124 -0
  8. package/cjs/document/common/opra-document-error.js +15 -0
  9. package/cjs/document/common/value.js +33 -0
  10. package/cjs/document/constants.js +13 -7
  11. package/cjs/document/data-type/api-field.js +69 -0
  12. package/cjs/document/data-type/complex-type-base.js +188 -0
  13. package/cjs/document/data-type/complex-type.js +92 -13
  14. package/cjs/document/data-type/data-type.js +33 -25
  15. package/cjs/document/data-type/enum-type.js +95 -36
  16. package/cjs/document/data-type/extended-types/base64.type.js +30 -0
  17. package/cjs/document/data-type/extended-types/date-string.type.js +51 -0
  18. package/cjs/document/data-type/extended-types/date-time-string.type.js +54 -0
  19. package/cjs/document/data-type/extended-types/date-time.type.js +65 -0
  20. package/cjs/document/data-type/extended-types/date.type.js +62 -0
  21. package/cjs/document/data-type/extended-types/email.type.js +94 -0
  22. package/cjs/document/data-type/extended-types/field-path.type.js +59 -0
  23. package/cjs/document/data-type/extended-types/filter.type.js +79 -0
  24. package/cjs/document/data-type/extended-types/index.js +16 -0
  25. package/cjs/document/data-type/extended-types/object-id.type.js +30 -0
  26. package/cjs/document/data-type/extended-types/operation-result.type.js +66 -0
  27. package/cjs/document/data-type/extended-types/time.type.js +54 -0
  28. package/cjs/document/data-type/extended-types/url.type.js +30 -0
  29. package/cjs/document/data-type/extended-types/uuid.type.js +36 -0
  30. package/cjs/document/data-type/mapped-type.js +85 -62
  31. package/cjs/document/data-type/mixin-type.js +82 -23
  32. package/cjs/document/data-type/omit-type.js +11 -0
  33. package/cjs/document/data-type/partial-type.js +13 -0
  34. package/cjs/document/data-type/pick-type.js +11 -0
  35. package/cjs/document/data-type/primitive-types/any.type.js +26 -0
  36. package/cjs/document/data-type/primitive-types/bigint.type.js +35 -0
  37. package/cjs/document/data-type/{builtin → primitive-types}/boolean.type.js +17 -3
  38. package/cjs/document/data-type/primitive-types/index.js +11 -0
  39. package/cjs/document/data-type/primitive-types/integer.type.js +35 -0
  40. package/cjs/document/data-type/primitive-types/null.type.js +30 -0
  41. package/cjs/document/data-type/primitive-types/number.type.js +47 -0
  42. package/cjs/document/data-type/{builtin → primitive-types}/object.type.js +9 -2
  43. package/cjs/document/data-type/primitive-types/string.type.js +67 -0
  44. package/cjs/document/data-type/required-type.js +13 -0
  45. package/cjs/document/data-type/simple-type.js +99 -14
  46. package/cjs/document/data-type/utils/create-mapped-class.js +55 -0
  47. package/cjs/document/data-type/utils/get-is-inherited-predicate-fn.js +15 -0
  48. package/cjs/document/{data-type/field-decorator.js → decorators/api-field-decorator.js} +7 -7
  49. package/cjs/document/{data-type → decorators}/complex-type.decorator.js +11 -1
  50. package/cjs/document/decorators/http-controller.decorator.js +142 -0
  51. package/cjs/document/decorators/http-operation-entity.decorator.js +498 -0
  52. package/cjs/document/decorators/http-operation.decorator.js +187 -0
  53. package/cjs/document/decorators/simple-type.decorator.js +67 -0
  54. package/cjs/document/factory/api-document.factory.js +181 -0
  55. package/cjs/document/factory/data-type.factory.js +539 -0
  56. package/cjs/document/factory/http-api.factory.js +317 -0
  57. package/cjs/document/http/http-api.js +40 -0
  58. package/cjs/document/http/http-controller.js +157 -0
  59. package/cjs/document/http/http-media-type.js +70 -0
  60. package/cjs/document/http/http-multipart-field.js +33 -0
  61. package/cjs/document/http/http-operation-response.js +43 -0
  62. package/cjs/document/http/http-operation.js +106 -0
  63. package/cjs/document/http/http-parameter.js +46 -0
  64. package/cjs/document/http/http-request-body.js +25 -0
  65. package/cjs/document/http/http-status-range.js +40 -0
  66. package/cjs/document/index.js +35 -22
  67. package/cjs/document/utils/inspect.util.js +3 -3
  68. package/cjs/document/utils/parse-regexp.util.js +22 -0
  69. package/cjs/exception/http-errors/bad-request.error.js +3 -3
  70. package/cjs/exception/http-errors/conflict.error.js +3 -3
  71. package/cjs/exception/http-errors/failed-dependency.error.js +3 -3
  72. package/cjs/exception/http-errors/forbidden.error.js +3 -3
  73. package/cjs/exception/http-errors/internal-server.error.js +3 -3
  74. package/cjs/exception/http-errors/method-not-allowed.error.js +3 -3
  75. package/cjs/exception/http-errors/not-acceptable.error.js +3 -3
  76. package/cjs/exception/http-errors/not-found.error.js +3 -3
  77. package/cjs/exception/{resource-errors → http-errors}/permission.error.js +2 -2
  78. package/cjs/exception/{resource-errors → http-errors}/resource-conflict.error.js +3 -3
  79. package/cjs/exception/{resource-errors → http-errors}/resource-not.available.error.js +5 -5
  80. package/cjs/exception/http-errors/unauthorized.error.js +3 -3
  81. package/cjs/exception/http-errors/unprocessable-entity.error.js +3 -3
  82. package/cjs/exception/index.js +6 -6
  83. package/cjs/exception/issue-severity.enum.js +1 -1
  84. package/cjs/exception/opra-exception.js +5 -16
  85. package/cjs/exception/opra-http-error.js +25 -0
  86. package/cjs/filter/antlr/OpraFilterLexer.js +259 -193
  87. package/cjs/filter/antlr/OpraFilterParser.js +165 -166
  88. package/cjs/filter/ast/expressions/arithmetic-expression.js +1 -1
  89. package/cjs/filter/ast/expressions/logical-expression.js +1 -3
  90. package/cjs/filter/ast/index.js +1 -1
  91. package/cjs/filter/ast/terms/number-literal.js +1 -3
  92. package/cjs/filter/ast/terms/time-literal.js +6 -4
  93. package/cjs/filter/build.js +1 -5
  94. package/cjs/filter/filter-rules.js +95 -0
  95. package/cjs/filter/filter-tree-visitor.js +4 -7
  96. package/cjs/filter/opra-filter.ns.js +2 -2
  97. package/cjs/filter/parse.js +1 -3
  98. package/cjs/filter/utils.js +1 -3
  99. package/cjs/helpers/function-utils.js +2 -11
  100. package/cjs/helpers/get-stack-filename.js +28 -4
  101. package/cjs/helpers/index.js +2 -2
  102. package/cjs/helpers/mixin-utils.js +6 -8
  103. package/cjs/helpers/monkey-patches.js +14 -0
  104. package/cjs/helpers/object-utils.js +4 -5
  105. package/cjs/helpers/parse-fields-projection.js +65 -0
  106. package/cjs/helpers/responsive-map.js +95 -118
  107. package/cjs/helpers/type-guards.js +22 -29
  108. package/cjs/http/enums/http-status-messages.js +63 -63
  109. package/cjs/http/enums/mime-types.enum.js +17 -0
  110. package/cjs/http/index.js +1 -2
  111. package/cjs/i18n/i18n.js +12 -7
  112. package/cjs/i18n/index.js +1 -1
  113. package/cjs/i18n/translate.js +2 -2
  114. package/cjs/index.js +2 -2
  115. package/cjs/schema/http/http-controller.interface.js +11 -0
  116. package/cjs/schema/http/http-operation.interface.js +7 -0
  117. package/cjs/schema/index.js +27 -2
  118. package/cjs/schema/type-guards.js +8 -30
  119. package/cjs/schema/value.interface.js +2 -0
  120. package/esm/document/api-document.js +117 -22
  121. package/esm/document/common/api-base.js +23 -0
  122. package/esm/document/common/data-type-map.js +62 -0
  123. package/esm/document/common/document-element.js +29 -0
  124. package/esm/document/common/document-init-context.js +65 -0
  125. package/esm/document/common/document-node.js +120 -0
  126. package/esm/document/common/opra-document-error.js +11 -0
  127. package/esm/document/common/value.js +30 -0
  128. package/esm/document/constants.js +12 -6
  129. package/esm/document/data-type/api-field.js +66 -0
  130. package/esm/document/data-type/complex-type-base.js +185 -0
  131. package/esm/document/data-type/complex-type.js +91 -11
  132. package/esm/document/data-type/data-type.js +33 -24
  133. package/esm/document/data-type/enum-type.js +96 -36
  134. package/esm/document/data-type/extended-types/base64.type.js +27 -0
  135. package/esm/document/data-type/extended-types/date-string.type.js +48 -0
  136. package/esm/document/data-type/extended-types/date-time-string.type.js +51 -0
  137. package/esm/document/data-type/extended-types/date-time.type.js +62 -0
  138. package/esm/document/data-type/extended-types/date.type.js +59 -0
  139. package/esm/document/data-type/extended-types/email.type.js +91 -0
  140. package/esm/document/data-type/extended-types/field-path.type.js +56 -0
  141. package/esm/document/data-type/extended-types/filter.type.js +76 -0
  142. package/esm/document/data-type/extended-types/index.js +13 -0
  143. package/esm/document/data-type/extended-types/object-id.type.js +27 -0
  144. package/esm/document/data-type/extended-types/operation-result.type.js +63 -0
  145. package/esm/document/data-type/extended-types/time.type.js +51 -0
  146. package/esm/document/data-type/extended-types/url.type.js +27 -0
  147. package/esm/document/data-type/extended-types/uuid.type.js +33 -0
  148. package/esm/document/data-type/mapped-type.js +84 -57
  149. package/esm/document/data-type/mixin-type.js +84 -24
  150. package/esm/document/data-type/omit-type.js +7 -0
  151. package/esm/document/data-type/partial-type.js +9 -0
  152. package/esm/document/data-type/pick-type.js +7 -0
  153. package/esm/document/data-type/primitive-types/any.type.js +23 -0
  154. package/esm/document/data-type/primitive-types/bigint.type.js +32 -0
  155. package/esm/document/data-type/primitive-types/boolean.type.js +27 -0
  156. package/esm/document/data-type/primitive-types/index.js +8 -0
  157. package/esm/document/data-type/primitive-types/integer.type.js +32 -0
  158. package/esm/document/data-type/primitive-types/null.type.js +27 -0
  159. package/esm/document/data-type/primitive-types/number.type.js +44 -0
  160. package/esm/document/data-type/primitive-types/object.type.js +20 -0
  161. package/esm/document/data-type/primitive-types/string.type.js +64 -0
  162. package/esm/document/data-type/required-type.js +9 -0
  163. package/esm/document/data-type/simple-type.js +98 -12
  164. package/esm/document/data-type/utils/create-mapped-class.js +51 -0
  165. package/esm/document/data-type/utils/get-is-inherited-predicate-fn.js +11 -0
  166. package/esm/document/{data-type/field-decorator.js → decorators/api-field-decorator.js} +5 -5
  167. package/esm/document/{data-type → decorators}/complex-type.decorator.js +12 -2
  168. package/esm/document/decorators/http-controller.decorator.js +137 -0
  169. package/esm/document/decorators/http-operation-entity.decorator.js +496 -0
  170. package/esm/document/decorators/http-operation.decorator.js +182 -0
  171. package/esm/document/decorators/simple-type.decorator.js +61 -0
  172. package/esm/document/factory/api-document.factory.js +176 -0
  173. package/esm/document/factory/data-type.factory.js +535 -0
  174. package/esm/document/factory/http-api.factory.js +313 -0
  175. package/esm/document/http/http-api.js +36 -0
  176. package/esm/document/http/http-controller.js +153 -0
  177. package/esm/document/http/http-media-type.js +67 -0
  178. package/esm/document/http/http-multipart-field.js +29 -0
  179. package/esm/document/http/http-operation-response.js +39 -0
  180. package/esm/document/http/http-operation.js +102 -0
  181. package/esm/document/http/http-parameter.js +43 -0
  182. package/esm/document/http/http-request-body.js +21 -0
  183. package/esm/document/http/http-status-range.js +36 -0
  184. package/esm/document/index.js +34 -22
  185. package/esm/document/utils/inspect.util.js +3 -3
  186. package/esm/document/utils/parse-regexp.util.js +18 -0
  187. package/esm/exception/http-errors/bad-request.error.js +3 -3
  188. package/esm/exception/http-errors/conflict.error.js +3 -3
  189. package/esm/exception/http-errors/failed-dependency.error.js +3 -3
  190. package/esm/exception/http-errors/forbidden.error.js +3 -3
  191. package/esm/exception/http-errors/internal-server.error.js +3 -3
  192. package/esm/exception/http-errors/method-not-allowed.error.js +3 -3
  193. package/esm/exception/http-errors/not-acceptable.error.js +3 -3
  194. package/esm/exception/http-errors/not-found.error.js +3 -3
  195. package/esm/exception/{resource-errors → http-errors}/permission.error.js +2 -2
  196. package/esm/exception/{resource-errors → http-errors}/resource-conflict.error.js +3 -3
  197. package/esm/exception/{resource-errors → http-errors}/resource-not.available.error.js +5 -5
  198. package/esm/exception/http-errors/unauthorized.error.js +3 -3
  199. package/esm/exception/http-errors/unprocessable-entity.error.js +3 -3
  200. package/esm/exception/index.js +6 -6
  201. package/esm/exception/issue-severity.enum.js +1 -1
  202. package/esm/exception/opra-exception.js +5 -16
  203. package/esm/exception/opra-http-error.js +21 -0
  204. package/esm/filter/antlr/OpraFilterLexer.js +260 -194
  205. package/esm/filter/antlr/OpraFilterListener.js +1 -1
  206. package/esm/filter/antlr/OpraFilterParser.js +166 -167
  207. package/esm/filter/ast/expressions/arithmetic-expression.js +1 -1
  208. package/esm/filter/ast/expressions/logical-expression.js +1 -3
  209. package/esm/filter/ast/index.js +1 -1
  210. package/esm/filter/ast/terms/number-literal.js +1 -3
  211. package/esm/filter/ast/terms/time-literal.js +6 -4
  212. package/esm/filter/build.js +2 -6
  213. package/esm/filter/filter-rules.js +91 -0
  214. package/esm/filter/filter-tree-visitor.js +4 -6
  215. package/esm/filter/opra-filter.ns.js +2 -2
  216. package/esm/filter/parse.js +1 -3
  217. package/esm/filter/utils.js +1 -3
  218. package/esm/helpers/function-utils.js +1 -9
  219. package/esm/helpers/get-stack-filename.js +26 -3
  220. package/esm/helpers/index.js +2 -2
  221. package/esm/helpers/mixin-utils.js +6 -8
  222. package/esm/helpers/monkey-patches.js +14 -0
  223. package/esm/helpers/object-utils.js +4 -5
  224. package/esm/helpers/parse-fields-projection.js +59 -0
  225. package/esm/helpers/responsive-map.js +95 -118
  226. package/esm/helpers/type-guards.js +22 -29
  227. package/esm/http/enums/http-status-messages.js +63 -63
  228. package/esm/http/enums/mime-types.enum.js +14 -0
  229. package/esm/http/index.js +1 -2
  230. package/esm/i18n/i18n.js +12 -7
  231. package/esm/i18n/index.js +1 -1
  232. package/esm/i18n/translate.js +2 -2
  233. package/esm/index.js +2 -2
  234. package/esm/schema/http/http-controller.interface.js +8 -0
  235. package/esm/schema/http/http-operation.interface.js +4 -0
  236. package/esm/schema/index.js +27 -2
  237. package/esm/schema/type-guards.js +6 -24
  238. package/esm/schema/value.interface.js +1 -0
  239. package/package.json +17 -15
  240. package/types/document/api-document.d.ts +28 -51
  241. package/types/document/common/api-base.d.ts +17 -0
  242. package/types/document/common/data-type-map.d.ts +23 -0
  243. package/types/document/common/document-element.d.ts +23 -0
  244. package/types/document/common/document-init-context.d.ts +17 -0
  245. package/types/document/common/document-node.d.ts +65 -0
  246. package/types/document/common/opra-document-error.d.ts +12 -0
  247. package/types/document/common/value.d.ts +48 -0
  248. package/types/document/constants.d.ts +9 -3
  249. package/types/document/data-type/api-field.d.ts +67 -0
  250. package/types/document/data-type/complex-type-base.d.ts +80 -0
  251. package/types/document/data-type/complex-type.d.ts +61 -35
  252. package/types/document/data-type/data-type.d.ts +51 -46
  253. package/types/document/data-type/enum-type.d.ts +59 -23
  254. package/types/document/data-type/extended-types/base64.type.d.ts +7 -0
  255. package/types/document/data-type/extended-types/date-string.type.d.ts +9 -0
  256. package/types/document/data-type/extended-types/date-time-string.type.d.ts +9 -0
  257. package/types/document/data-type/extended-types/date-time.type.d.ts +9 -0
  258. package/types/document/data-type/extended-types/date.type.d.ts +9 -0
  259. package/types/document/data-type/extended-types/email.type.d.ts +16 -0
  260. package/types/document/data-type/extended-types/field-path.type.d.ts +15 -0
  261. package/types/document/data-type/extended-types/filter.type.d.ts +16 -0
  262. package/types/document/data-type/extended-types/index.d.ts +13 -0
  263. package/types/document/data-type/extended-types/object-id.type.d.ts +7 -0
  264. package/types/document/{resource/types → data-type/extended-types}/operation-result.type.d.ts +7 -6
  265. package/types/document/data-type/extended-types/time.type.d.ts +9 -0
  266. package/types/document/data-type/extended-types/url.type.d.ts +7 -0
  267. package/types/document/data-type/extended-types/uuid.type.d.ts +8 -0
  268. package/types/document/data-type/mapped-type.d.ts +55 -44
  269. package/types/document/data-type/mixin-type.d.ts +65 -26
  270. package/types/document/data-type/omit-type.d.ts +15 -0
  271. package/types/document/data-type/partial-type.d.ts +28 -0
  272. package/types/document/data-type/pick-type.d.ts +16 -0
  273. package/types/document/data-type/primitive-types/any.type.d.ts +7 -0
  274. package/types/document/data-type/primitive-types/bigint.type.d.ts +8 -0
  275. package/types/document/data-type/primitive-types/boolean.type.d.ts +7 -0
  276. package/types/document/data-type/primitive-types/index.d.ts +8 -0
  277. package/types/document/data-type/primitive-types/integer.type.d.ts +8 -0
  278. package/types/document/data-type/primitive-types/null.type.d.ts +7 -0
  279. package/types/document/data-type/primitive-types/number.type.d.ts +9 -0
  280. package/types/document/data-type/primitive-types/object.type.d.ts +3 -0
  281. package/types/document/data-type/primitive-types/string.type.d.ts +11 -0
  282. package/types/document/data-type/required-type.d.ts +22 -0
  283. package/types/document/data-type/simple-type.d.ts +65 -24
  284. package/types/document/data-type/utils/create-mapped-class.d.ts +3 -0
  285. package/types/document/data-type/utils/get-is-inherited-predicate-fn.d.ts +1 -0
  286. package/types/document/decorators/api-field-decorator.d.ts +5 -0
  287. package/types/document/decorators/complex-type.decorator.d.ts +2 -0
  288. package/types/document/decorators/http-controller.decorator.d.ts +15 -0
  289. package/types/document/decorators/http-operation-entity.decorator.d.ts +100 -0
  290. package/types/document/decorators/http-operation.decorator.d.ts +30 -0
  291. package/types/document/decorators/simple-type.decorator.d.ts +20 -0
  292. package/types/document/factory/api-document.factory.d.ts +35 -0
  293. package/types/document/factory/data-type.factory.d.ts +108 -0
  294. package/types/document/factory/http-api.factory.d.ts +60 -0
  295. package/types/document/http/http-api.d.ts +23 -0
  296. package/types/document/http/http-controller.d.ts +93 -0
  297. package/types/document/http/http-media-type.d.ts +59 -0
  298. package/types/document/http/http-multipart-field.d.ts +26 -0
  299. package/types/document/http/http-operation-response.d.ts +36 -0
  300. package/types/document/http/http-operation.d.ts +85 -0
  301. package/types/document/http/http-parameter.d.ts +51 -0
  302. package/types/document/http/http-request-body.d.ts +31 -0
  303. package/types/document/http/http-status-range.d.ts +14 -0
  304. package/types/document/index.d.ts +33 -22
  305. package/types/document/utils/parse-regexp.util.d.ts +4 -0
  306. package/types/exception/http-errors/bad-request.error.d.ts +2 -2
  307. package/types/exception/http-errors/conflict.error.d.ts +2 -2
  308. package/types/exception/http-errors/failed-dependency.error.d.ts +2 -2
  309. package/types/exception/http-errors/forbidden.error.d.ts +2 -2
  310. package/types/exception/http-errors/internal-server.error.d.ts +2 -2
  311. package/types/exception/http-errors/method-not-allowed.error.d.ts +2 -2
  312. package/types/exception/http-errors/not-acceptable.error.d.ts +2 -2
  313. package/types/exception/http-errors/not-found.error.d.ts +2 -2
  314. package/types/exception/{resource-errors → http-errors}/permission.error.d.ts +1 -1
  315. package/types/exception/http-errors/resource-conflict.error.d.ts +5 -0
  316. package/types/exception/{resource-errors → http-errors}/resource-not.available.error.d.ts +2 -2
  317. package/types/exception/http-errors/unauthorized.error.d.ts +2 -2
  318. package/types/exception/http-errors/unprocessable-entity.error.d.ts +2 -2
  319. package/types/exception/index.d.ts +6 -6
  320. package/types/exception/opra-exception.d.ts +1 -5
  321. package/types/exception/opra-http-error.d.ts +13 -0
  322. package/types/filter/antlr/OpraFilterLexer.d.ts +1 -1
  323. package/types/filter/antlr/OpraFilterListener.d.ts +2 -2
  324. package/types/filter/antlr/OpraFilterParser.d.ts +2 -2
  325. package/types/filter/antlr/OpraFilterVisitor.d.ts +1 -1
  326. package/types/filter/ast/index.d.ts +1 -1
  327. package/types/filter/ast/terms/qualified-identifier.d.ts +1 -1
  328. package/types/filter/filter-rules.d.ts +24 -0
  329. package/types/filter/filter-tree-visitor.d.ts +1 -3
  330. package/types/filter/opra-filter.ns.d.ts +2 -2
  331. package/types/helpers/function-utils.d.ts +2 -4
  332. package/types/helpers/get-stack-filename.d.ts +1 -0
  333. package/types/helpers/index.d.ts +2 -2
  334. package/types/helpers/monkey-patches.d.ts +0 -0
  335. package/types/helpers/parse-fields-projection.d.ts +11 -0
  336. package/types/helpers/responsive-map.d.ts +8 -4
  337. package/types/helpers/type-guards.d.ts +2 -2
  338. package/types/http/enums/http-status-messages.d.ts +63 -63
  339. package/types/http/enums/mime-types.enum.d.ts +12 -0
  340. package/types/http/index.d.ts +1 -2
  341. package/types/i18n/i18n.d.ts +23 -20
  342. package/types/index.d.ts +1 -1
  343. package/types/schema/data-type/complex-type.interface.d.ts +3 -3
  344. package/types/schema/data-type/data-type.interface.d.ts +6 -0
  345. package/types/schema/data-type/enum-type.interface.d.ts +3 -4
  346. package/types/schema/data-type/field.interface.d.ts +2 -10
  347. package/types/schema/data-type/mapped-type.interface.d.ts +7 -3
  348. package/types/schema/data-type/mixin-type.interface.d.ts +2 -2
  349. package/types/schema/data-type/simple-type.interface.d.ts +39 -7
  350. package/types/schema/data-type-container.interface.d.ts +7 -0
  351. package/types/schema/document.interface.d.ts +67 -0
  352. package/types/schema/http/http-controller.interface.d.ts +24 -0
  353. package/types/schema/http/http-media-type.interface.d.ts +65 -0
  354. package/types/schema/http/http-multipart-field.interface.d.ts +7 -0
  355. package/types/schema/http/http-operation-response.interface.d.ts +24 -0
  356. package/types/schema/http/http-operation.interface.d.ts +23 -0
  357. package/types/schema/http/http-parameter.interface.d.ts +32 -0
  358. package/types/schema/http/http-request-body.interface.d.ts +29 -0
  359. package/types/schema/http/http-status-range.interface.d.ts +4 -0
  360. package/types/schema/index.d.ts +62 -2
  361. package/types/schema/type-guards.d.ts +2 -10
  362. package/types/schema/types.d.ts +3 -0
  363. package/types/schema/value.interface.d.ts +23 -0
  364. package/types/types.d.ts +1 -14
  365. package/cjs/document/data-type/builtin/any.type.js +0 -13
  366. package/cjs/document/data-type/builtin/approx-date.type.js +0 -21
  367. package/cjs/document/data-type/builtin/approx-datetime.type.js +0 -24
  368. package/cjs/document/data-type/builtin/base64.type.js +0 -16
  369. package/cjs/document/data-type/builtin/bigint.type.js +0 -16
  370. package/cjs/document/data-type/builtin/date.type.js +0 -17
  371. package/cjs/document/data-type/builtin/datetime.type.js +0 -21
  372. package/cjs/document/data-type/builtin/email.type.js +0 -16
  373. package/cjs/document/data-type/builtin/index.js +0 -21
  374. package/cjs/document/data-type/builtin/integer.type.js +0 -16
  375. package/cjs/document/data-type/builtin/null.type.js +0 -16
  376. package/cjs/document/data-type/builtin/number.type.js +0 -16
  377. package/cjs/document/data-type/builtin/object-id.type.js +0 -16
  378. package/cjs/document/data-type/builtin/string.type.js +0 -16
  379. package/cjs/document/data-type/builtin/time.type.js +0 -23
  380. package/cjs/document/data-type/builtin/url.type.js +0 -16
  381. package/cjs/document/data-type/builtin/uuid.type.js +0 -16
  382. package/cjs/document/data-type/complex-type-class.js +0 -274
  383. package/cjs/document/data-type/enum-type-class.js +0 -39
  384. package/cjs/document/data-type/field-class.js +0 -67
  385. package/cjs/document/data-type/field.js +0 -25
  386. package/cjs/document/data-type/mapped-type-class.js +0 -53
  387. package/cjs/document/data-type/mixin-type-class.js +0 -38
  388. package/cjs/document/data-type/simple-type-class.js +0 -37
  389. package/cjs/document/data-type/simple-type.decorator.js +0 -20
  390. package/cjs/document/document-base.js +0 -24
  391. package/cjs/document/factory/api-document-factory.js +0 -262
  392. package/cjs/document/factory/type-document-factory.js +0 -326
  393. package/cjs/document/resource/action-decorator.js +0 -33
  394. package/cjs/document/resource/action.js +0 -34
  395. package/cjs/document/resource/collection-class.js +0 -257
  396. package/cjs/document/resource/collection-decorator.js +0 -211
  397. package/cjs/document/resource/collection.js +0 -25
  398. package/cjs/document/resource/container-class.js +0 -84
  399. package/cjs/document/resource/container-decorator.js +0 -24
  400. package/cjs/document/resource/container.js +0 -29
  401. package/cjs/document/resource/crud-operation-decorator.js +0 -28
  402. package/cjs/document/resource/crud-operation.js +0 -49
  403. package/cjs/document/resource/crud-resource.js +0 -34
  404. package/cjs/document/resource/endpoint.js +0 -59
  405. package/cjs/document/resource/enums/metadata-mode.enum.js +0 -19
  406. package/cjs/document/resource/parameter.js +0 -50
  407. package/cjs/document/resource/resource-decorator.js +0 -33
  408. package/cjs/document/resource/resource.js +0 -60
  409. package/cjs/document/resource/singleton-class.js +0 -83
  410. package/cjs/document/resource/singleton-decorator.js +0 -57
  411. package/cjs/document/resource/singleton.js +0 -25
  412. package/cjs/document/resource/storage-class.js +0 -18
  413. package/cjs/document/resource/storage-decorator.js +0 -70
  414. package/cjs/document/resource/storage.js +0 -25
  415. package/cjs/document/resource/types/operation-result.type.js +0 -45
  416. package/cjs/document/type-document.js +0 -204
  417. package/cjs/exception/wrap-exception.js +0 -43
  418. package/cjs/helpers/is-url-string.js +0 -13
  419. package/cjs/helpers/path-to-object-tree.js +0 -28
  420. package/cjs/http/opra-url-path.js +0 -261
  421. package/cjs/http/opra-url.js +0 -250
  422. package/cjs/schema/opra-schema.ns.js +0 -22
  423. package/cjs/schema/resource/collection.interface.js +0 -7
  424. package/cjs/schema/resource/container.interface.js +0 -7
  425. package/cjs/schema/resource/singleton.interface.js +0 -7
  426. package/cjs/schema/resource/storage.interface.js +0 -7
  427. package/esm/document/data-type/builtin/any.type.js +0 -10
  428. package/esm/document/data-type/builtin/approx-date.type.js +0 -18
  429. package/esm/document/data-type/builtin/approx-datetime.type.js +0 -21
  430. package/esm/document/data-type/builtin/base64.type.js +0 -13
  431. package/esm/document/data-type/builtin/bigint.type.js +0 -13
  432. package/esm/document/data-type/builtin/boolean.type.js +0 -13
  433. package/esm/document/data-type/builtin/date.type.js +0 -14
  434. package/esm/document/data-type/builtin/datetime.type.js +0 -18
  435. package/esm/document/data-type/builtin/email.type.js +0 -13
  436. package/esm/document/data-type/builtin/index.js +0 -18
  437. package/esm/document/data-type/builtin/integer.type.js +0 -13
  438. package/esm/document/data-type/builtin/null.type.js +0 -13
  439. package/esm/document/data-type/builtin/number.type.js +0 -13
  440. package/esm/document/data-type/builtin/object-id.type.js +0 -13
  441. package/esm/document/data-type/builtin/object.type.js +0 -13
  442. package/esm/document/data-type/builtin/string.type.js +0 -13
  443. package/esm/document/data-type/builtin/time.type.js +0 -20
  444. package/esm/document/data-type/builtin/url.type.js +0 -13
  445. package/esm/document/data-type/builtin/uuid.type.js +0 -13
  446. package/esm/document/data-type/complex-type-class.js +0 -270
  447. package/esm/document/data-type/enum-type-class.js +0 -35
  448. package/esm/document/data-type/field-class.js +0 -63
  449. package/esm/document/data-type/field.js +0 -21
  450. package/esm/document/data-type/mapped-type-class.js +0 -48
  451. package/esm/document/data-type/mixin-type-class.js +0 -34
  452. package/esm/document/data-type/simple-type-class.js +0 -33
  453. package/esm/document/data-type/simple-type.decorator.js +0 -15
  454. package/esm/document/document-base.js +0 -20
  455. package/esm/document/factory/api-document-factory.js +0 -258
  456. package/esm/document/factory/type-document-factory.js +0 -322
  457. package/esm/document/resource/action-decorator.js +0 -29
  458. package/esm/document/resource/action.js +0 -30
  459. package/esm/document/resource/collection-class.js +0 -253
  460. package/esm/document/resource/collection-decorator.js +0 -207
  461. package/esm/document/resource/collection.js +0 -21
  462. package/esm/document/resource/container-class.js +0 -80
  463. package/esm/document/resource/container-decorator.js +0 -20
  464. package/esm/document/resource/container.js +0 -25
  465. package/esm/document/resource/crud-operation-decorator.js +0 -24
  466. package/esm/document/resource/crud-operation.js +0 -45
  467. package/esm/document/resource/crud-resource.js +0 -30
  468. package/esm/document/resource/endpoint.js +0 -55
  469. package/esm/document/resource/enums/metadata-mode.enum.js +0 -16
  470. package/esm/document/resource/parameter.js +0 -46
  471. package/esm/document/resource/resource-decorator.js +0 -28
  472. package/esm/document/resource/resource.js +0 -56
  473. package/esm/document/resource/singleton-class.js +0 -79
  474. package/esm/document/resource/singleton-decorator.js +0 -53
  475. package/esm/document/resource/singleton.js +0 -21
  476. package/esm/document/resource/storage-class.js +0 -14
  477. package/esm/document/resource/storage-decorator.js +0 -66
  478. package/esm/document/resource/storage.js +0 -21
  479. package/esm/document/resource/types/operation-result.type.js +0 -42
  480. package/esm/document/type-document.js +0 -200
  481. package/esm/exception/wrap-exception.js +0 -39
  482. package/esm/helpers/is-url-string.js +0 -8
  483. package/esm/helpers/path-to-object-tree.js +0 -24
  484. package/esm/http/opra-url-path.js +0 -255
  485. package/esm/http/opra-url.js +0 -246
  486. package/esm/schema/opra-schema.ns.js +0 -19
  487. package/esm/schema/resource/collection.interface.js +0 -4
  488. package/esm/schema/resource/container.interface.js +0 -4
  489. package/esm/schema/resource/singleton.interface.js +0 -4
  490. package/esm/schema/resource/storage.interface.js +0 -4
  491. package/types/document/data-type/builtin/any.type.d.ts +0 -2
  492. package/types/document/data-type/builtin/approx-date.type.d.ts +0 -2
  493. package/types/document/data-type/builtin/approx-datetime.type.d.ts +0 -2
  494. package/types/document/data-type/builtin/base64.type.d.ts +0 -2
  495. package/types/document/data-type/builtin/bigint.type.d.ts +0 -2
  496. package/types/document/data-type/builtin/boolean.type.d.ts +0 -2
  497. package/types/document/data-type/builtin/date.type.d.ts +0 -2
  498. package/types/document/data-type/builtin/datetime.type.d.ts +0 -2
  499. package/types/document/data-type/builtin/email.type.d.ts +0 -2
  500. package/types/document/data-type/builtin/index.d.ts +0 -18
  501. package/types/document/data-type/builtin/integer.type.d.ts +0 -2
  502. package/types/document/data-type/builtin/null.type.d.ts +0 -2
  503. package/types/document/data-type/builtin/number.type.d.ts +0 -2
  504. package/types/document/data-type/builtin/object-id.type.d.ts +0 -2
  505. package/types/document/data-type/builtin/object.type.d.ts +0 -2
  506. package/types/document/data-type/builtin/string.type.d.ts +0 -2
  507. package/types/document/data-type/builtin/time.type.d.ts +0 -2
  508. package/types/document/data-type/builtin/url.type.d.ts +0 -2
  509. package/types/document/data-type/builtin/uuid.type.d.ts +0 -2
  510. package/types/document/data-type/complex-type-class.d.ts +0 -36
  511. package/types/document/data-type/complex-type.decorator.d.ts +0 -2
  512. package/types/document/data-type/enum-type-class.d.ts +0 -18
  513. package/types/document/data-type/field-class.d.ts +0 -31
  514. package/types/document/data-type/field-decorator.d.ts +0 -5
  515. package/types/document/data-type/field.d.ts +0 -46
  516. package/types/document/data-type/mapped-type-class.d.ts +0 -18
  517. package/types/document/data-type/mixin-type-class.d.ts +0 -12
  518. package/types/document/data-type/simple-type-class.d.ts +0 -19
  519. package/types/document/data-type/simple-type.decorator.d.ts +0 -2
  520. package/types/document/document-base.d.ts +0 -10
  521. package/types/document/factory/api-document-factory.d.ts +0 -49
  522. package/types/document/factory/type-document-factory.d.ts +0 -57
  523. package/types/document/interfaces/collection.interface.d.ts +0 -10
  524. package/types/document/interfaces/singleton.interface.d.ts +0 -7
  525. package/types/document/interfaces/storage.interface.d.ts +0 -8
  526. package/types/document/resource/action-decorator.d.ts +0 -8
  527. package/types/document/resource/action.d.ts +0 -30
  528. package/types/document/resource/collection-class.d.ts +0 -20
  529. package/types/document/resource/collection-decorator.d.ts +0 -204
  530. package/types/document/resource/collection.d.ts +0 -62
  531. package/types/document/resource/container-class.d.ts +0 -66
  532. package/types/document/resource/container-decorator.d.ts +0 -37
  533. package/types/document/resource/container.d.ts +0 -27
  534. package/types/document/resource/crud-operation-decorator.d.ts +0 -6
  535. package/types/document/resource/crud-operation.d.ts +0 -32
  536. package/types/document/resource/crud-resource.d.ts +0 -16
  537. package/types/document/resource/endpoint.d.ts +0 -32
  538. package/types/document/resource/enums/metadata-mode.enum.d.ts +0 -5
  539. package/types/document/resource/parameter.d.ts +0 -35
  540. package/types/document/resource/resource-decorator.d.ts +0 -40
  541. package/types/document/resource/resource.d.ts +0 -35
  542. package/types/document/resource/singleton-class.d.ts +0 -21
  543. package/types/document/resource/singleton-decorator.d.ts +0 -131
  544. package/types/document/resource/singleton.d.ts +0 -49
  545. package/types/document/resource/storage-class.d.ts +0 -17
  546. package/types/document/resource/storage-decorator.d.ts +0 -100
  547. package/types/document/resource/storage.d.ts +0 -39
  548. package/types/document/type-document.d.ts +0 -79
  549. package/types/exception/resource-errors/resource-conflict.error.d.ts +0 -5
  550. package/types/exception/wrap-exception.d.ts +0 -2
  551. package/types/helpers/is-url-string.d.ts +0 -2
  552. package/types/helpers/path-to-object-tree.d.ts +0 -4
  553. package/types/http/opra-url-path.d.ts +0 -55
  554. package/types/http/opra-url.d.ts +0 -66
  555. package/types/schema/document/api-document.interface.d.ts +0 -11
  556. package/types/schema/document/document-base.interface.d.ts +0 -24
  557. package/types/schema/document/type-document.interface.d.ts +0 -6
  558. package/types/schema/opra-schema.ns.d.ts +0 -19
  559. package/types/schema/resource/action.interface.d.ts +0 -6
  560. package/types/schema/resource/collection.interface.d.ts +0 -55
  561. package/types/schema/resource/container.interface.d.ts +0 -10
  562. package/types/schema/resource/endpoint.interface.d.ts +0 -13
  563. package/types/schema/resource/resource.interface.d.ts +0 -15
  564. package/types/schema/resource/singleton.interface.d.ts +0 -25
  565. package/types/schema/resource/storage.interface.d.ts +0 -61
  566. /package/cjs/{document/interfaces/collection.interface.js → schema/data-type-container.interface.js} +0 -0
  567. /package/cjs/{document/interfaces/singleton.interface.js → schema/document.interface.js} +0 -0
  568. /package/cjs/{document/interfaces/storage.interface.js → schema/http/http-media-type.interface.js} +0 -0
  569. /package/cjs/schema/{document/api-document.interface.js → http/http-multipart-field.interface.js} +0 -0
  570. /package/cjs/schema/{document/document-base.interface.js → http/http-operation-response.interface.js} +0 -0
  571. /package/cjs/schema/{document/type-document.interface.js → http/http-parameter.interface.js} +0 -0
  572. /package/cjs/schema/{resource/action.interface.js → http/http-request-body.interface.js} +0 -0
  573. /package/cjs/schema/{resource/endpoint.interface.js → http/http-status-range.interface.js} +0 -0
  574. /package/cjs/schema/{resource/resource.interface.js → types.js} +0 -0
  575. /package/esm/{document/interfaces/collection.interface.js → schema/data-type-container.interface.js} +0 -0
  576. /package/esm/{document/interfaces/singleton.interface.js → schema/document.interface.js} +0 -0
  577. /package/esm/{document/interfaces/storage.interface.js → schema/http/http-media-type.interface.js} +0 -0
  578. /package/esm/schema/{document/api-document.interface.js → http/http-multipart-field.interface.js} +0 -0
  579. /package/esm/schema/{document/document-base.interface.js → http/http-operation-response.interface.js} +0 -0
  580. /package/esm/schema/{document/type-document.interface.js → http/http-parameter.interface.js} +0 -0
  581. /package/esm/schema/{resource/action.interface.js → http/http-request-body.interface.js} +0 -0
  582. /package/esm/schema/{resource/endpoint.interface.js → http/http-status-range.interface.js} +0 -0
  583. /package/esm/schema/{resource/resource.interface.js → types.js} +0 -0
@@ -0,0 +1,11 @@
1
+ export declare class FieldsProjection {
2
+ [key: string]: FieldsProjection.Item;
3
+ }
4
+ export declare namespace FieldsProjection {
5
+ class Item {
6
+ sign?: string;
7
+ projection?: FieldsProjection;
8
+ }
9
+ }
10
+ export declare function parseFieldsProjection(projection: string | string[], keepCase?: boolean): FieldsProjection | undefined;
11
+ export declare function parse(input: string, target: FieldsProjection): void;
@@ -3,20 +3,24 @@ export interface ResponsiveMapOptions {
3
3
  caseSensitive?: boolean;
4
4
  }
5
5
  export type ResponsiveMapInit<V> = ResponsiveMap<V> | Map<string, V> | Record<any, V>;
6
+ declare const kEntries: unique symbol;
6
7
  declare const kKeyMap: unique symbol;
7
- declare const kKeyOrder: unique symbol;
8
8
  declare const kWellKnownKeys: unique symbol;
9
9
  declare const kOptions: unique symbol;
10
+ declare const kSize: unique symbol;
10
11
  /**
11
12
  * A Map implementation that supports case-insensitivity and ordered keys
12
13
  */
13
- export declare class ResponsiveMap<V> extends Map<string, V> {
14
+ export declare class ResponsiveMap<V> implements Map<string, V> {
15
+ private [kSize];
16
+ private [kEntries];
14
17
  private [kKeyMap];
15
- private [kKeyOrder];
16
18
  private [kWellKnownKeys];
17
19
  private [kOptions];
18
20
  constructor(init?: ResponsiveMapInit<V> | null, options?: ResponsiveMapOptions);
21
+ get size(): number;
19
22
  clear(): void;
23
+ forEach(callbackfn: (value: V, key: string, map: Map<string, V>) => void, thisArg?: any): void;
20
24
  get(key: string): V | undefined;
21
25
  has(key: string): boolean;
22
26
  set(key: string, value: V): this;
@@ -26,9 +30,9 @@ export declare class ResponsiveMap<V> extends Map<string, V> {
26
30
  entries(): IterableIterator<[string, V]>;
27
31
  delete(key: string): boolean;
28
32
  sort(compareFn?: (a: string, b: string) => number): this;
29
- getProxy(handler?: ProxyHandler<Record<string, V>>): Record<string, V>;
30
33
  toObject(): Record<string, V>;
31
34
  [Symbol.iterator](): IterableIterator<[string, V]>;
35
+ get [Symbol.toStringTag](): string;
32
36
  protected _getOriginalKey(key: string): string;
33
37
  protected _getStoringKey(key: string): string;
34
38
  }
@@ -1,9 +1,9 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference lib="dom" />
3
- import { Readable } from 'stream';
3
+ import { Readable, Stream } from 'stream';
4
4
  import { Type } from 'ts-gems';
5
5
  export declare function isConstructor(fn: any): fn is Type;
6
- export declare function isStream(stream: any): boolean;
6
+ export declare function isStream(x: any): x is Stream;
7
7
  export declare function isReadable(x: any): x is Readable;
8
8
  export declare function isWritable(x: any): x is Readable;
9
9
  export declare function isReadableStream(x: any): x is ReadableStream;
@@ -1,65 +1,65 @@
1
1
  export declare const HttpStatusMessages: {
2
- "100": string;
3
- "101": string;
4
- "102": string;
5
- "103": string;
6
- "200": string;
7
- "201": string;
8
- "202": string;
9
- "203": string;
10
- "204": string;
11
- "205": string;
12
- "206": string;
13
- "207": string;
14
- "208": string;
15
- "226": string;
16
- "300": string;
17
- "301": string;
18
- "302": string;
19
- "303": string;
20
- "304": string;
21
- "305": string;
22
- "307": string;
23
- "308": string;
24
- "400": string;
25
- "401": string;
26
- "402": string;
27
- "403": string;
28
- "404": string;
29
- "405": string;
30
- "406": string;
31
- "407": string;
32
- "408": string;
33
- "409": string;
34
- "410": string;
35
- "411": string;
36
- "412": string;
37
- "413": string;
38
- "414": string;
39
- "415": string;
40
- "416": string;
41
- "417": string;
42
- "418": string;
43
- "421": string;
44
- "422": string;
45
- "423": string;
46
- "424": string;
47
- "425": string;
48
- "426": string;
49
- "428": string;
50
- "429": string;
51
- "431": string;
52
- "451": string;
53
- "500": string;
54
- "501": string;
55
- "502": string;
56
- "503": string;
57
- "504": string;
58
- "505": string;
59
- "506": string;
60
- "507": string;
61
- "508": string;
62
- "509": string;
63
- "510": string;
64
- "511": string;
2
+ '100': string;
3
+ '101': string;
4
+ '102': string;
5
+ '103': string;
6
+ '200': string;
7
+ '201': string;
8
+ '202': string;
9
+ '203': string;
10
+ '204': string;
11
+ '205': string;
12
+ '206': string;
13
+ '207': string;
14
+ '208': string;
15
+ '226': string;
16
+ '300': string;
17
+ '301': string;
18
+ '302': string;
19
+ '303': string;
20
+ '304': string;
21
+ '305': string;
22
+ '307': string;
23
+ '308': string;
24
+ '400': string;
25
+ '401': string;
26
+ '402': string;
27
+ '403': string;
28
+ '404': string;
29
+ '405': string;
30
+ '406': string;
31
+ '407': string;
32
+ '408': string;
33
+ '409': string;
34
+ '410': string;
35
+ '411': string;
36
+ '412': string;
37
+ '413': string;
38
+ '414': string;
39
+ '415': string;
40
+ '416': string;
41
+ '417': string;
42
+ '418': string;
43
+ '421': string;
44
+ '422': string;
45
+ '423': string;
46
+ '424': string;
47
+ '425': string;
48
+ '426': string;
49
+ '428': string;
50
+ '429': string;
51
+ '431': string;
52
+ '451': string;
53
+ '500': string;
54
+ '501': string;
55
+ '502': string;
56
+ '503': string;
57
+ '504': string;
58
+ '505': string;
59
+ '506': string;
60
+ '507': string;
61
+ '508': string;
62
+ '509': string;
63
+ '510': string;
64
+ '511': string;
65
65
  };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#successful_responses
3
+ */
4
+ export declare enum MimeTypes {
5
+ json = "application/json",
6
+ opra_response_json = "application/opra.response+json",
7
+ xml = "application/XML",
8
+ text = "text/plain",
9
+ html = "text/html",
10
+ markdown = "text/markdown",
11
+ binary = "binary/octet-stream"
12
+ }
@@ -1,5 +1,4 @@
1
- export * from './opra-url.js';
2
- export * from './opra-url-path.js';
3
1
  export * from './enums/http-headers-codes.enum.js';
4
2
  export * from './enums/http-status-codes.enum.js';
5
3
  export * from './enums/http-status-messages.js';
4
+ export * from './enums/mime-types.enum.js';
@@ -1,25 +1,28 @@
1
- import { Type } from 'ts-gems';
2
- import { FallbackLng, Formatter as I18nextFormatter, i18n, InitOptions as I18nextInitOptions, Resource as I18nextResource, TFunction as I18nextTFunction, TOptions } from '@browsery/i18next';
1
+ import { FallbackLng as I18nextFallbackLng, Formatter as I18nextFormatter, i18n, InitOptions as I18nextInitOptions, Resource as I18nextResource, TFunction as I18nextTFunction, TOptions } from '@browsery/i18next';
3
2
  import * as I18next from '@browsery/i18next';
4
- export type BaseI18n = Type<I18next.i18n>;
5
- export declare const BaseI18n: BaseI18n;
6
- export type DeepTranslateOptions = TOptions & {
7
- ignore?: (input: any, inst: i18n) => boolean;
8
- };
9
- export type InitCallback = I18next.Callback;
10
- export type TranslateFunction = I18nextTFunction;
11
- export type Formatter = I18nextFormatter;
12
- export type LanguageResource = I18nextResource;
13
- export type { FallbackLng };
14
- export interface InitOptions extends I18nextInitOptions {
15
- resourceDirs?: string[];
3
+ import { Type } from 'ts-gems';
4
+ export interface BaseI18n extends Type<I18next.i18n> {
16
5
  }
6
+ export declare namespace I18n {
7
+ interface InitOptions extends I18nextInitOptions {
8
+ resourceDirs?: string[];
9
+ }
10
+ type DeepTranslateOptions = TOptions & {
11
+ ignore?: (input: any, inst: i18n) => boolean;
12
+ };
13
+ type InitCallback = I18next.Callback;
14
+ type TranslateFunction = I18nextTFunction;
15
+ type Formatter = I18nextFormatter;
16
+ type LanguageResource = I18nextResource;
17
+ type FallbackLng = I18nextFallbackLng;
18
+ }
19
+ export declare const BaseI18n: BaseI18n;
17
20
  export declare class I18n extends BaseI18n {
18
- init(callback?: InitCallback): Promise<TranslateFunction>;
19
- init(options: InitOptions, callback?: InitCallback): Promise<TranslateFunction>;
20
- deep(input: any, options?: DeepTranslateOptions): any;
21
- createInstance(options: {} | undefined, callback: any): I18n;
22
- static createInstance(options?: InitOptions, callback?: InitCallback): I18n;
23
- protected _deepTranslate(input: any, objectStack: WeakMap<object, any>, options?: DeepTranslateOptions): any;
21
+ init(callback?: I18n.InitCallback): Promise<I18n.TranslateFunction>;
22
+ init(options: I18n.InitOptions, callback?: I18n.InitCallback): Promise<I18n.TranslateFunction>;
23
+ deep(input: any, options?: I18n.DeepTranslateOptions): any;
24
+ createInstance(options?: I18n.InitOptions, callback?: I18n.InitCallback): I18n;
25
+ static createInstance(options?: I18n.InitOptions, callback?: I18n.InitCallback): I18n;
26
+ protected _deepTranslate(input: any, objectStack: WeakMap<object, any>, options?: I18n.DeepTranslateOptions): any;
24
27
  static get defaultInstance(): I18n;
25
28
  }
package/types/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- export * from './types.js';
2
1
  export * from './document/index.js';
3
2
  export * from './exception/index.js';
4
3
  export * from './filter/index.js';
@@ -6,4 +5,5 @@ export * from './helpers/index.js';
6
5
  export * from './http/index.js';
7
6
  export * from './i18n/index.js';
8
7
  export * from './schema/index.js';
8
+ export * from './types.js';
9
9
  export { uid } from 'uid';
@@ -5,11 +5,11 @@ import type { MappedType } from './mapped-type.interface.js';
5
5
  import type { MixinType } from './mixin-type.interface.js';
6
6
  export interface ComplexType extends StrictOmit<DataTypeBase, 'kind'> {
7
7
  kind: ComplexType.Kind;
8
- ctor?: Type;
9
8
  base?: DataType.Name | ComplexType | MixinType | MappedType;
10
- abstract?: boolean;
9
+ ctor?: Type;
11
10
  fields?: Record<Field.Name, Field | DataType.Name>;
12
- additionalFields?: boolean | 'error' | string | DataType;
11
+ additionalFields?: boolean | string | DataType | ['error'] | ['error', string];
12
+ keyField?: Field.Name;
13
13
  }
14
14
  export declare namespace ComplexType {
15
15
  const Kind = "ComplexType";
@@ -11,4 +11,10 @@ export declare namespace DataType {
11
11
  export interface DataTypeBase {
12
12
  kind: DataType.Kind;
13
13
  description?: string;
14
+ examples?: DataTypeExample[];
15
+ abstract?: boolean;
16
+ }
17
+ export interface DataTypeExample {
18
+ description?: string;
19
+ value?: any;
14
20
  }
@@ -2,15 +2,14 @@ import { StrictOmit } from 'ts-gems';
2
2
  import type { DataType, DataTypeBase } from './data-type.interface.js';
3
3
  export interface EnumType extends StrictOmit<DataTypeBase, 'kind'> {
4
4
  kind: EnumType.Kind;
5
- base?: DataType.Name | EnumType;
6
- values: Record<EnumType.Value, EnumType.ValueInfo>;
5
+ base?: DataType.Name;
6
+ attributes: Record<string | number, EnumType.ValueInfo>;
7
7
  }
8
8
  export declare namespace EnumType {
9
9
  const Kind = "EnumType";
10
10
  type Kind = typeof Kind;
11
- type Value = string | number;
12
11
  interface ValueInfo {
13
- key?: string;
12
+ alias?: string;
14
13
  description?: string;
15
14
  }
16
15
  }
@@ -4,7 +4,7 @@ export declare namespace Field {
4
4
  type QualifiedName = string;
5
5
  }
6
6
  export type Field = {
7
- type: DataType.Name | DataType;
7
+ type?: DataType.Name | DataType;
8
8
  /**
9
9
  * Defines the description of the field
10
10
  */
@@ -20,7 +20,7 @@ export type Field = {
20
20
  /**
21
21
  * Indicates the fixed value of the field. The value of the field can not be any other value.
22
22
  */
23
- fixed?: string | number | boolean;
23
+ fixed?: any;
24
24
  /**
25
25
  * Indicates if field value required in create operation
26
26
  */
@@ -50,12 +50,4 @@ export type Field = {
50
50
  * Indicates if the field is deprecated and can be removed in the next
51
51
  */
52
52
  deprecated?: boolean | string;
53
- /**
54
- * Defines RegExp pattern for the field. A String type is required for this option
55
- */
56
- pattern?: string;
57
- /**
58
- * Indicates if partial update enabled for this field
59
- */
60
- partialUpdate?: boolean;
61
53
  };
@@ -1,11 +1,15 @@
1
1
  import { StrictOmit } from 'ts-gems';
2
- import { ComplexType } from './complex-type.interface.js';
3
- import { Field } from './field.interface.js';
4
- export interface MappedType extends StrictOmit<ComplexType, 'kind'> {
2
+ import type { ComplexType } from './complex-type.interface';
3
+ import type { DataType, DataTypeBase } from './data-type.interface';
4
+ import type { Field } from './field.interface.js';
5
+ import type { MixinType } from './mixin-type.interface.js';
6
+ export interface MappedType extends StrictOmit<DataTypeBase, 'kind'> {
5
7
  kind: MappedType.Kind;
8
+ base: DataType.Name | ComplexType | MixinType | MappedType;
6
9
  omit?: Field.Name[];
7
10
  pick?: Field.Name[];
8
11
  partial?: Field.Name[] | boolean;
12
+ required?: Field.Name[] | boolean;
9
13
  }
10
14
  export declare namespace MappedType {
11
15
  const Kind = "MappedType";
@@ -1,8 +1,8 @@
1
1
  import { StrictOmit } from 'ts-gems';
2
2
  import type { ComplexType } from './complex-type.interface.js';
3
- import type { DataType } from './data-type.interface.js';
3
+ import type { DataType, DataTypeBase } from './data-type.interface.js';
4
4
  import type { MappedType } from './mapped-type.interface.js';
5
- export interface MixinType extends StrictOmit<ComplexType, 'kind'> {
5
+ export interface MixinType extends StrictOmit<DataTypeBase, 'kind'> {
6
6
  kind: MixinType.Kind;
7
7
  types: (DataType.Name | ComplexType | MixinType | MappedType)[];
8
8
  }
@@ -1,14 +1,46 @@
1
- import { StrictOmit } from 'ts-gems';
2
- import { Validator } from 'valgen';
3
- import type { DataTypeBase } from './data-type.interface.js';
4
- import { DataType } from './data-type.interface.js';
1
+ import type { StrictOmit } from 'ts-gems';
2
+ import type { DataType, DataTypeBase } from './data-type.interface.js';
3
+ /**
4
+ *
5
+ * @interface SimpleType
6
+ */
5
7
  export interface SimpleType extends StrictOmit<DataTypeBase, 'kind'> {
6
8
  kind: SimpleType.Kind;
7
- base?: DataType.Name | SimpleType;
8
- decoder?: Validator;
9
- encoder?: Validator;
9
+ base?: DataType.Name;
10
+ attributes?: Record<string, Attribute>;
11
+ properties?: Record<string, any>;
12
+ /**
13
+ * Naming alternatives across software languages
14
+ */
15
+ nameMappings?: Record<string, string>;
10
16
  }
11
17
  export declare namespace SimpleType {
12
18
  const Kind = "SimpleType";
13
19
  type Kind = 'SimpleType';
14
20
  }
21
+ /**
22
+ *
23
+ * @interface Attribute
24
+ */
25
+ export interface Attribute {
26
+ /**
27
+ * Data format of the attribute
28
+ */
29
+ format?: string;
30
+ /**
31
+ * Defines the description of the attribute
32
+ */
33
+ description?: string;
34
+ /**
35
+ * Defines the description of the attribute
36
+ */
37
+ default?: any;
38
+ /**
39
+ * Indicates if the attribute is sealed or not. A sealed attribute cannot be extended/modified through inheritance.
40
+ */
41
+ sealed?: boolean;
42
+ /**
43
+ * Indicates if the attribute is deprecated and can be removed in the next
44
+ */
45
+ deprecated?: boolean | string;
46
+ }
@@ -0,0 +1,7 @@
1
+ import type { DataType } from './data-type/data-type.interface';
2
+ /**
3
+ * @interface DataTypeContainer
4
+ */
5
+ export interface DataTypeContainer {
6
+ types?: Record<DataType.Name, DataType>;
7
+ }
@@ -0,0 +1,67 @@
1
+ import type { SpecVersion } from './constants.js';
2
+ import type { DataTypeContainer } from './data-type-container.interface.js';
3
+ import type { HttpController } from './http/http-controller.interface';
4
+ export type Protocol = 'http' | 'ws' | 'rpc';
5
+ /**
6
+ * @interface Document
7
+ */
8
+ export interface Document extends DataTypeContainer {
9
+ spec: SpecVersion;
10
+ id: string;
11
+ url?: string;
12
+ info?: DocumentInfo;
13
+ references?: Record<string, DocumentReference>;
14
+ api?: HttpApi;
15
+ }
16
+ /**
17
+ * @interface DocumentInfo
18
+ */
19
+ export interface DocumentInfo {
20
+ title?: string;
21
+ version?: string;
22
+ description?: string;
23
+ termsOfService?: string;
24
+ contact?: ContactPerson[];
25
+ license?: LicenseInfo;
26
+ }
27
+ /**
28
+ * @interface ContactPerson
29
+ */
30
+ export interface ContactPerson {
31
+ name?: string;
32
+ email?: string;
33
+ url?: string;
34
+ }
35
+ /**
36
+ * @interface LicenseInfo
37
+ */
38
+ export interface LicenseInfo {
39
+ name: string;
40
+ url?: string;
41
+ content?: string;
42
+ }
43
+ /**
44
+ * @interface DocumentReference
45
+ */
46
+ export interface DocumentReference extends Pick<Document, 'id' | 'url' | 'info'> {
47
+ }
48
+ /**
49
+ * @interface Api
50
+ */
51
+ export interface Api extends DataTypeContainer {
52
+ protocol: Protocol;
53
+ /**
54
+ * Name of the api. Should be a computer friendly name
55
+ */
56
+ name: string;
57
+ description?: string;
58
+ }
59
+ /**
60
+ * @interface HttpApi
61
+ */
62
+ export interface HttpApi extends Api {
63
+ protocol: 'http';
64
+ description?: string;
65
+ url?: string;
66
+ controllers: Record<string, HttpController>;
67
+ }
@@ -0,0 +1,24 @@
1
+ import type { DataTypeContainer } from '../data-type-container.interface.js';
2
+ import type { HttpOperation } from './http-operation.interface';
3
+ import type { HttpParameter } from './http-parameter.interface';
4
+ /**
5
+ *
6
+ * @interface HttpController
7
+ */
8
+ export interface HttpController extends DataTypeContainer {
9
+ kind: HttpController.Kind;
10
+ description?: string;
11
+ path?: string;
12
+ operations?: Record<string, HttpOperation>;
13
+ controllers?: Record<string, HttpController>;
14
+ parameters?: HttpParameter[];
15
+ }
16
+ /**
17
+ *
18
+ * @namespace HttpController
19
+ */
20
+ export declare namespace HttpController {
21
+ type Name = string;
22
+ const Kind = "HttpController";
23
+ type Kind = 'HttpController';
24
+ }
@@ -0,0 +1,65 @@
1
+ import type { DataType } from '../data-type/data-type.interface';
2
+ import type { HttpMultipartField } from './http-multipart-field.interface.js';
3
+ /**
4
+ *
5
+ * @interface HttpMediaType
6
+ */
7
+ export interface HttpMediaType {
8
+ /**
9
+ * A brief description.
10
+ * [CommonMark](https://commonmark.org/) syntax MAY be used for rich text representation
11
+ */
12
+ description?: string;
13
+ /**
14
+ * Media type (MIME) or [range of media types](https://datatracker.ietf.org/doc/html/rfc7231#section-5.3.2)
15
+ */
16
+ contentType?: string | string[];
17
+ /**
18
+ * Determines encoding of the content.
19
+ */
20
+ contentEncoding?: string;
21
+ /**
22
+ * DataType to be used for decoding.
23
+ */
24
+ type?: DataType.Name | DataType;
25
+ /**
26
+ * Determines if content is array
27
+ */
28
+ isArray?: boolean;
29
+ /**
30
+ * Example of the content data. The `example` field is mutually exclusive of the `examples` field.
31
+ */
32
+ example?: string;
33
+ /**
34
+ * Examples of the content data. The `examples` field is mutually exclusive of the `example` field.
35
+ */
36
+ examples?: Record<string, string>;
37
+ /**
38
+ * Content info for each field for multipart contents
39
+ */
40
+ multipartFields?: HttpMultipartField[];
41
+ /**
42
+ * Determines maximum number of multipart fields
43
+ */
44
+ maxFields?: number;
45
+ /**
46
+ * Determines maximum size of each multipart field
47
+ */
48
+ maxFieldsSize?: number;
49
+ /**
50
+ * Determines maximum number of multipart files
51
+ */
52
+ maxFiles?: number;
53
+ /**
54
+ * Determines maximum size of each multipart file
55
+ */
56
+ maxFileSize?: number;
57
+ /**
58
+ * Determines maximum size of all multipart files
59
+ */
60
+ maxTotalFileSize?: number;
61
+ /**
62
+ * Determines minimum size of each multipart file
63
+ */
64
+ minFileSize?: number;
65
+ }
@@ -0,0 +1,7 @@
1
+ import type { HttpMultipartFieldType } from '../types.js';
2
+ import type { HttpMediaType } from './http-media-type.interface.js';
3
+ export interface HttpMultipartField extends HttpMediaType {
4
+ fieldName: string | RegExp;
5
+ fieldType: HttpMultipartFieldType;
6
+ required?: boolean;
7
+ }
@@ -0,0 +1,24 @@
1
+ import type { HttpMediaType } from './http-media-type.interface.js';
2
+ import type { HttpParameter } from './http-parameter.interface';
3
+ import type { HttpStatusRange } from './http-status-range.interface';
4
+ /**
5
+ *
6
+ * @interface HttpOperationResponse
7
+ */
8
+ export interface HttpOperationResponse extends HttpMediaType {
9
+ /**
10
+ * Http status code or code range.
11
+ * @example 200
12
+ * @example [401,402,403]
13
+ * @example {start: 400, end: 403}
14
+ */
15
+ statusCode: number | HttpStatusRange | (number | HttpStatusRange)[];
16
+ /**
17
+ * Returned parameters for this response. etc. headers or cookies
18
+ */
19
+ parameters?: HttpParameter[];
20
+ /**
21
+ * Determines if the response object is partial
22
+ */
23
+ partial?: boolean | 'deep';
24
+ }