@opra/common 0.5.0 → 0.7.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 (419) hide show
  1. package/cjs/constants.js +1 -0
  2. package/cjs/exception/enums/issue-severity.enum.js +23 -0
  3. package/cjs/{types.js → exception/error-issue.js} +0 -0
  4. package/cjs/exception/http-errors/bad-request.error.js +22 -0
  5. package/cjs/exception/http-errors/failed-dependency.error.js +21 -0
  6. package/cjs/exception/http-errors/forbidden.error.js +23 -0
  7. package/cjs/exception/http-errors/internal-server.error.js +21 -0
  8. package/cjs/exception/http-errors/method-not-allowed.error.js +22 -0
  9. package/cjs/exception/http-errors/not-acceptable.error.js +22 -0
  10. package/cjs/exception/http-errors/not-found.error.js +25 -0
  11. package/cjs/exception/http-errors/unauthorized.error.js +22 -0
  12. package/cjs/exception/http-errors/unprocessable-entity.error.js +21 -0
  13. package/cjs/exception/index.js +18 -0
  14. package/cjs/exception/opra-exception.js +56 -0
  15. package/cjs/exception/resource-errors/resource-conflict.error.js +20 -0
  16. package/cjs/exception/resource-errors/resource-not-found.error.js +20 -0
  17. package/cjs/exception/wrap-exception.js +42 -0
  18. package/cjs/filter/antlr/OpraFilterLexer.js +386 -0
  19. package/cjs/filter/antlr/OpraFilterParser.js +2070 -0
  20. package/cjs/filter/antlr/OpraFilterVisitor.js +3 -0
  21. package/cjs/filter/ast/abstract/ast.js +10 -0
  22. package/cjs/filter/ast/abstract/expression.js +7 -0
  23. package/cjs/filter/ast/abstract/literal.js +14 -0
  24. package/cjs/filter/ast/abstract/term.js +7 -0
  25. package/cjs/filter/ast/expressions/arithmetic-expression.js +29 -0
  26. package/cjs/filter/ast/expressions/array-expression.js +15 -0
  27. package/cjs/filter/ast/expressions/comparison-expression.js +18 -0
  28. package/cjs/filter/ast/expressions/logical-expression.js +18 -0
  29. package/cjs/filter/ast/expressions/parentheses-expression.js +15 -0
  30. package/cjs/filter/ast/index.js +19 -0
  31. package/cjs/filter/ast/terms/boolean-literal.js +10 -0
  32. package/cjs/filter/ast/terms/date-literal.js +28 -0
  33. package/cjs/filter/ast/terms/external-constant.js +13 -0
  34. package/cjs/filter/ast/terms/null-literal.js +11 -0
  35. package/cjs/filter/ast/terms/number-literal.js +40 -0
  36. package/cjs/filter/ast/terms/qualified-identifier.js +10 -0
  37. package/cjs/filter/ast/terms/string-literal.js +14 -0
  38. package/cjs/filter/ast/terms/time-literal.js +33 -0
  39. package/cjs/filter/build.js +129 -0
  40. package/cjs/filter/error-listener.js +14 -0
  41. package/cjs/filter/errors.js +21 -0
  42. package/cjs/filter/filter-tree-visitor.js +113 -0
  43. package/cjs/filter/index.js +8 -0
  44. package/cjs/filter/parse.js +37 -0
  45. package/cjs/filter/utils.js +26 -0
  46. package/cjs/helpers/index.js +4 -0
  47. package/cjs/{classes → helpers}/responsive-map.js +1 -1
  48. package/cjs/{enums → http/enums}/http-headers.enum.js +9 -0
  49. package/cjs/{enums → http/enums}/http-status.enum.js +0 -0
  50. package/cjs/http/http-request.js +118 -0
  51. package/cjs/http/index.js +9 -0
  52. package/cjs/http/interfaces/client-http-headers.interface.js +2 -0
  53. package/cjs/http/interfaces/server-http-headers.interface.js +2 -0
  54. package/cjs/http/multipart/batch-multipart.js +155 -0
  55. package/cjs/http/multipart/http-request-content.js +16 -0
  56. package/cjs/http/multipart/http-response-content.js +14 -0
  57. package/cjs/http/multipart/index.js +4 -0
  58. package/cjs/http/utils/normalize-headers.js +28 -0
  59. package/cjs/i18n/i18n.js +175 -0
  60. package/cjs/i18n/index.js +10 -0
  61. package/cjs/i18n/string-utils.js +13 -0
  62. package/cjs/i18n/translate.js +15 -0
  63. package/cjs/index.js +12 -5
  64. package/cjs/schema/constants.js +11 -0
  65. package/cjs/schema/decorators/opr-collection-resource.decorator.js +23 -0
  66. package/cjs/schema/decorators/opr-complex-type.decorator.js +27 -0
  67. package/cjs/schema/decorators/opr-field.decorator.js +28 -0
  68. package/cjs/schema/decorators/opr-resolver.decorator.js +81 -0
  69. package/cjs/schema/decorators/opr-simple-type.decorator.js +18 -0
  70. package/cjs/schema/decorators/opr-singleton-resource.decorator.js +23 -0
  71. package/cjs/schema/implementation/data-type/builtin/any.type.js +9 -0
  72. package/cjs/schema/implementation/data-type/builtin/base64-binary.type.js +15 -0
  73. package/cjs/schema/implementation/data-type/builtin/bigint.type.js +15 -0
  74. package/cjs/schema/implementation/data-type/builtin/boolean.type.js +15 -0
  75. package/cjs/schema/implementation/data-type/builtin/date-string.type.js +15 -0
  76. package/cjs/schema/implementation/data-type/builtin/date.type.js +15 -0
  77. package/cjs/schema/implementation/data-type/builtin/guid.type.js +15 -0
  78. package/cjs/schema/implementation/data-type/builtin/integer.type.js +15 -0
  79. package/cjs/schema/implementation/data-type/builtin/number.type.js +15 -0
  80. package/cjs/schema/implementation/data-type/builtin/object.type.js +15 -0
  81. package/cjs/schema/implementation/data-type/builtin/string.type.js +15 -0
  82. package/cjs/schema/implementation/data-type/builtin-data-types.js +37 -0
  83. package/cjs/schema/implementation/data-type/complex-type.js +111 -0
  84. package/cjs/schema/implementation/data-type/data-type.js +36 -0
  85. package/cjs/schema/implementation/data-type/simple-type.js +21 -0
  86. package/cjs/schema/implementation/data-type/union-type.js +25 -0
  87. package/cjs/schema/implementation/document-builder.js +140 -0
  88. package/cjs/schema/implementation/opra-document.js +181 -0
  89. package/cjs/schema/implementation/query/collection-count-query.js +19 -0
  90. package/cjs/schema/implementation/query/collection-create-query.js +28 -0
  91. package/cjs/schema/implementation/query/collection-delete-many-query.js +19 -0
  92. package/cjs/schema/implementation/query/collection-delete-query.js +27 -0
  93. package/cjs/schema/implementation/query/collection-get-query.js +38 -0
  94. package/cjs/schema/implementation/query/collection-search-query.js +55 -0
  95. package/cjs/schema/implementation/query/collection-update-many-query.js +21 -0
  96. package/cjs/schema/implementation/query/collection-update-query.js +39 -0
  97. package/cjs/schema/implementation/query/field-get-query.js +45 -0
  98. package/cjs/schema/implementation/query/index.js +22 -0
  99. package/cjs/schema/implementation/query/singleton-get-query.js +27 -0
  100. package/cjs/schema/implementation/resource/collection-resource-info.js +58 -0
  101. package/cjs/schema/implementation/resource/container-resource-info.js +30 -0
  102. package/cjs/schema/implementation/resource/resource-info.js +39 -0
  103. package/cjs/schema/implementation/resource/singleton-resource-info.js +37 -0
  104. package/cjs/schema/implementation/schema-builder/extract-resource-metadata.util.js +84 -0
  105. package/cjs/schema/implementation/schema-builder/extract-type-metadata.util.js +94 -0
  106. package/cjs/schema/index.js +28 -0
  107. package/cjs/schema/interfaces/child-field-query.interface.js +2 -0
  108. package/cjs/schema/interfaces/data-type.metadata.js +2 -0
  109. package/cjs/schema/interfaces/resource-container.interface.js +2 -0
  110. package/cjs/schema/interfaces/resource.metadata.js +2 -0
  111. package/cjs/schema/opra-schema.definition.js +49 -0
  112. package/cjs/schema/type-helpers/extend-type.helper.js +65 -0
  113. package/cjs/schema/type-helpers/mixin-type.helper.js +46 -0
  114. package/cjs/schema/type-helpers/mixin.utils.js +32 -0
  115. package/cjs/schema/types.js +2 -0
  116. package/cjs/schema/utils/class.utils.js +8 -0
  117. package/cjs/schema/utils/clone-object.util.js +19 -0
  118. package/cjs/schema/utils/inspect.util.js +7 -0
  119. package/cjs/schema/utils/normalize-field-array.util.js +44 -0
  120. package/cjs/schema/utils/path-to-tree.util.js +26 -0
  121. package/cjs/schema/utils/string-compare.util.js +11 -0
  122. package/cjs/url/formats/boolean-format.js +25 -0
  123. package/cjs/url/formats/date-format.js +48 -0
  124. package/cjs/url/formats/filter-format.js +18 -0
  125. package/cjs/url/formats/format.js +6 -0
  126. package/cjs/url/formats/integer-format.js +20 -0
  127. package/cjs/url/formats/number-format.js +28 -0
  128. package/cjs/url/formats/string-format.js +28 -0
  129. package/cjs/url/index.js +8 -0
  130. package/cjs/url/opra-url-path-component.js +33 -0
  131. package/cjs/url/opra-url-path.js +128 -0
  132. package/cjs/url/opra-url-search-params.js +247 -0
  133. package/cjs/url/opra-url.js +299 -0
  134. package/cjs/url/utils/path-utils.js +86 -0
  135. package/cjs/utils/index.js +6 -0
  136. package/cjs/utils/is-url.js +8 -0
  137. package/cjs/utils/path-to-tree.js +28 -0
  138. package/cjs/utils/type-guards.js +46 -0
  139. package/esm/constants.d.ts +0 -0
  140. package/esm/constants.js +1 -0
  141. package/esm/exception/enums/issue-severity.enum.d.ts +13 -0
  142. package/esm/exception/enums/issue-severity.enum.js +20 -0
  143. package/esm/exception/error-issue.d.ts +9 -0
  144. package/esm/{types.js → exception/error-issue.js} +0 -0
  145. package/esm/exception/http-errors/bad-request.error.d.ts +10 -0
  146. package/esm/exception/http-errors/bad-request.error.js +18 -0
  147. package/esm/exception/http-errors/failed-dependency.error.d.ts +9 -0
  148. package/esm/exception/http-errors/failed-dependency.error.js +17 -0
  149. package/esm/exception/http-errors/forbidden.error.d.ts +11 -0
  150. package/esm/exception/http-errors/forbidden.error.js +19 -0
  151. package/esm/exception/http-errors/internal-server.error.d.ts +9 -0
  152. package/esm/exception/http-errors/internal-server.error.js +17 -0
  153. package/esm/exception/http-errors/method-not-allowed.error.d.ts +10 -0
  154. package/esm/exception/http-errors/method-not-allowed.error.js +18 -0
  155. package/esm/exception/http-errors/not-acceptable.error.d.ts +10 -0
  156. package/esm/exception/http-errors/not-acceptable.error.js +18 -0
  157. package/esm/exception/http-errors/not-found.error.d.ts +13 -0
  158. package/esm/exception/http-errors/not-found.error.js +21 -0
  159. package/esm/exception/http-errors/unauthorized.error.d.ts +10 -0
  160. package/esm/exception/http-errors/unauthorized.error.js +18 -0
  161. package/esm/exception/http-errors/unprocessable-entity.error.d.ts +9 -0
  162. package/esm/exception/http-errors/unprocessable-entity.error.js +17 -0
  163. package/esm/exception/index.d.ts +15 -0
  164. package/esm/exception/index.js +15 -0
  165. package/esm/exception/opra-exception.d.ts +15 -0
  166. package/esm/exception/opra-exception.js +52 -0
  167. package/esm/exception/resource-errors/resource-conflict.error.d.ts +5 -0
  168. package/esm/exception/resource-errors/resource-conflict.error.js +16 -0
  169. package/esm/exception/resource-errors/resource-not-found.error.d.ts +4 -0
  170. package/esm/exception/resource-errors/resource-not-found.error.js +16 -0
  171. package/esm/exception/wrap-exception.d.ts +2 -0
  172. package/esm/exception/wrap-exception.js +38 -0
  173. package/esm/filter/antlr/OpraFilterLexer.d.ts +78 -0
  174. package/esm/filter/antlr/OpraFilterLexer.js +381 -0
  175. package/esm/filter/antlr/OpraFilterParser.d.ts +365 -0
  176. package/esm/filter/antlr/OpraFilterParser.js +2022 -0
  177. package/esm/filter/antlr/OpraFilterVisitor.d.ts +290 -0
  178. package/esm/filter/antlr/OpraFilterVisitor.js +2 -0
  179. package/esm/filter/ast/abstract/ast.d.ts +5 -0
  180. package/esm/filter/ast/abstract/ast.js +6 -0
  181. package/esm/filter/ast/abstract/expression.d.ts +3 -0
  182. package/esm/filter/ast/abstract/expression.js +3 -0
  183. package/esm/filter/ast/abstract/literal.d.ts +6 -0
  184. package/esm/filter/ast/abstract/literal.js +10 -0
  185. package/esm/filter/ast/abstract/term.d.ts +3 -0
  186. package/esm/filter/ast/abstract/term.js +3 -0
  187. package/esm/filter/ast/expressions/arithmetic-expression.d.ts +13 -0
  188. package/esm/filter/ast/expressions/arithmetic-expression.js +24 -0
  189. package/esm/filter/ast/expressions/array-expression.d.ts +7 -0
  190. package/esm/filter/ast/expressions/array-expression.js +11 -0
  191. package/esm/filter/ast/expressions/comparison-expression.d.ts +10 -0
  192. package/esm/filter/ast/expressions/comparison-expression.js +14 -0
  193. package/esm/filter/ast/expressions/logical-expression.d.ts +8 -0
  194. package/esm/filter/ast/expressions/logical-expression.js +14 -0
  195. package/esm/filter/ast/expressions/parentheses-expression.d.ts +6 -0
  196. package/esm/filter/ast/expressions/parentheses-expression.js +11 -0
  197. package/esm/filter/ast/index.d.ts +16 -0
  198. package/esm/filter/ast/index.js +16 -0
  199. package/esm/filter/ast/terms/boolean-literal.d.ts +5 -0
  200. package/esm/filter/ast/terms/boolean-literal.js +6 -0
  201. package/esm/filter/ast/terms/date-literal.d.ts +6 -0
  202. package/esm/filter/ast/terms/date-literal.js +24 -0
  203. package/esm/filter/ast/terms/external-constant.d.ts +5 -0
  204. package/esm/filter/ast/terms/external-constant.js +9 -0
  205. package/esm/filter/ast/terms/null-literal.d.ts +5 -0
  206. package/esm/filter/ast/terms/null-literal.js +7 -0
  207. package/esm/filter/ast/terms/number-literal.d.ts +6 -0
  208. package/esm/filter/ast/terms/number-literal.js +36 -0
  209. package/esm/filter/ast/terms/qualified-identifier.d.ts +4 -0
  210. package/esm/filter/ast/terms/qualified-identifier.js +6 -0
  211. package/esm/filter/ast/terms/string-literal.d.ts +5 -0
  212. package/esm/filter/ast/terms/string-literal.js +10 -0
  213. package/esm/filter/ast/terms/time-literal.d.ts +6 -0
  214. package/esm/filter/ast/terms/time-literal.js +29 -0
  215. package/esm/filter/build.d.ts +31 -0
  216. package/esm/filter/build.js +105 -0
  217. package/esm/filter/error-listener.d.ts +8 -0
  218. package/esm/filter/error-listener.js +10 -0
  219. package/esm/filter/errors.d.ts +20 -0
  220. package/esm/filter/errors.js +15 -0
  221. package/esm/filter/filter-tree-visitor.d.ts +30 -0
  222. package/esm/filter/filter-tree-visitor.js +109 -0
  223. package/esm/filter/index.d.ts +5 -0
  224. package/esm/filter/index.js +5 -0
  225. package/esm/filter/parse.d.ts +2 -0
  226. package/esm/filter/parse.js +33 -0
  227. package/esm/filter/utils.d.ts +2 -0
  228. package/esm/filter/utils.js +21 -0
  229. package/esm/helpers/index.d.ts +1 -0
  230. package/esm/helpers/index.js +1 -0
  231. package/esm/{classes → helpers}/responsive-map.d.ts +0 -0
  232. package/esm/{classes → helpers}/responsive-map.js +1 -1
  233. package/esm/{enums → http/enums}/http-headers.enum.d.ts +9 -0
  234. package/esm/{enums → http/enums}/http-headers.enum.js +9 -0
  235. package/esm/{enums → http/enums}/http-status.enum.d.ts +0 -0
  236. package/esm/{enums → http/enums}/http-status.enum.js +0 -0
  237. package/esm/http/http-request.d.ts +34 -0
  238. package/esm/http/http-request.js +114 -0
  239. package/esm/http/index.d.ts +6 -0
  240. package/esm/http/index.js +6 -0
  241. package/esm/http/interfaces/client-http-headers.interface.d.ts +65 -0
  242. package/esm/http/interfaces/client-http-headers.interface.js +1 -0
  243. package/esm/http/interfaces/server-http-headers.interface.d.ts +1 -0
  244. package/esm/http/interfaces/server-http-headers.interface.js +1 -0
  245. package/esm/http/multipart/batch-multipart.d.ts +30 -0
  246. package/esm/http/multipart/batch-multipart.js +150 -0
  247. package/esm/http/multipart/http-request-content.d.ts +8 -0
  248. package/esm/http/multipart/http-request-content.js +12 -0
  249. package/esm/http/multipart/http-response-content.d.ts +7 -0
  250. package/esm/http/multipart/http-response-content.js +10 -0
  251. package/esm/http/multipart/index.d.ts +1 -0
  252. package/esm/http/multipart/index.js +1 -0
  253. package/esm/http/utils/normalize-headers.d.ts +1 -0
  254. package/esm/http/utils/normalize-headers.js +24 -0
  255. package/esm/i18n/i18n.d.ts +28 -0
  256. package/esm/i18n/i18n.js +170 -0
  257. package/esm/i18n/index.d.ts +5 -0
  258. package/esm/i18n/index.js +6 -0
  259. package/esm/i18n/string-utils.d.ts +2 -0
  260. package/esm/i18n/string-utils.js +8 -0
  261. package/esm/i18n/translate.d.ts +4 -0
  262. package/esm/i18n/translate.js +11 -0
  263. package/esm/index.d.ts +10 -5
  264. package/esm/index.js +10 -5
  265. package/esm/schema/constants.d.ts +8 -0
  266. package/esm/schema/constants.js +8 -0
  267. package/esm/schema/decorators/opr-collection-resource.decorator.d.ts +8 -0
  268. package/esm/schema/decorators/opr-collection-resource.decorator.js +19 -0
  269. package/esm/schema/decorators/opr-complex-type.decorator.d.ts +6 -0
  270. package/esm/schema/decorators/opr-complex-type.decorator.js +23 -0
  271. package/esm/schema/decorators/opr-field.decorator.d.ts +3 -0
  272. package/esm/schema/decorators/opr-field.decorator.js +24 -0
  273. package/esm/schema/decorators/opr-resolver.decorator.d.ts +8 -0
  274. package/esm/schema/decorators/opr-resolver.decorator.js +71 -0
  275. package/esm/schema/decorators/opr-simple-type.decorator.d.ts +6 -0
  276. package/esm/schema/decorators/opr-simple-type.decorator.js +14 -0
  277. package/esm/schema/decorators/opr-singleton-resource.decorator.d.ts +8 -0
  278. package/esm/schema/decorators/opr-singleton-resource.decorator.js +19 -0
  279. package/esm/schema/implementation/data-type/builtin/any.type.d.ts +2 -0
  280. package/esm/schema/implementation/data-type/builtin/any.type.js +6 -0
  281. package/esm/schema/implementation/data-type/builtin/base64-binary.type.d.ts +2 -0
  282. package/esm/schema/implementation/data-type/builtin/base64-binary.type.js +12 -0
  283. package/esm/schema/implementation/data-type/builtin/bigint.type.d.ts +2 -0
  284. package/esm/schema/implementation/data-type/builtin/bigint.type.js +12 -0
  285. package/esm/schema/implementation/data-type/builtin/boolean.type.d.ts +2 -0
  286. package/esm/schema/implementation/data-type/builtin/boolean.type.js +12 -0
  287. package/esm/schema/implementation/data-type/builtin/date-string.type.d.ts +2 -0
  288. package/esm/schema/implementation/data-type/builtin/date-string.type.js +12 -0
  289. package/esm/schema/implementation/data-type/builtin/date.type.d.ts +2 -0
  290. package/esm/schema/implementation/data-type/builtin/date.type.js +12 -0
  291. package/esm/schema/implementation/data-type/builtin/guid.type.d.ts +2 -0
  292. package/esm/schema/implementation/data-type/builtin/guid.type.js +12 -0
  293. package/esm/schema/implementation/data-type/builtin/integer.type.d.ts +2 -0
  294. package/esm/schema/implementation/data-type/builtin/integer.type.js +12 -0
  295. package/esm/schema/implementation/data-type/builtin/number.type.d.ts +2 -0
  296. package/esm/schema/implementation/data-type/builtin/number.type.js +12 -0
  297. package/esm/schema/implementation/data-type/builtin/object.type.d.ts +2 -0
  298. package/esm/schema/implementation/data-type/builtin/object.type.js +12 -0
  299. package/esm/schema/implementation/data-type/builtin/string.type.d.ts +2 -0
  300. package/esm/schema/implementation/data-type/builtin/string.type.js +12 -0
  301. package/esm/schema/implementation/data-type/builtin-data-types.d.ts +4 -0
  302. package/esm/schema/implementation/data-type/builtin-data-types.js +34 -0
  303. package/esm/schema/implementation/data-type/complex-type.d.ts +29 -0
  304. package/esm/schema/implementation/data-type/complex-type.js +107 -0
  305. package/esm/schema/implementation/data-type/data-type.d.ts +16 -0
  306. package/esm/schema/implementation/data-type/data-type.js +32 -0
  307. package/esm/schema/implementation/data-type/simple-type.d.ts +12 -0
  308. package/esm/schema/implementation/data-type/simple-type.js +17 -0
  309. package/esm/schema/implementation/data-type/union-type.d.ts +16 -0
  310. package/esm/schema/implementation/data-type/union-type.js +21 -0
  311. package/esm/schema/implementation/document-builder.d.ts +16 -0
  312. package/esm/schema/implementation/document-builder.js +135 -0
  313. package/esm/schema/implementation/opra-document.d.ts +44 -0
  314. package/esm/schema/implementation/opra-document.js +177 -0
  315. package/esm/schema/implementation/query/collection-count-query.d.ts +14 -0
  316. package/esm/schema/implementation/query/collection-count-query.js +15 -0
  317. package/esm/schema/implementation/query/collection-create-query.d.ts +18 -0
  318. package/esm/schema/implementation/query/collection-create-query.js +24 -0
  319. package/esm/schema/implementation/query/collection-delete-many-query.d.ts +14 -0
  320. package/esm/schema/implementation/query/collection-delete-many-query.js +15 -0
  321. package/esm/schema/implementation/query/collection-delete-query.d.ts +10 -0
  322. package/esm/schema/implementation/query/collection-delete-query.js +23 -0
  323. package/esm/schema/implementation/query/collection-get-query.d.ts +21 -0
  324. package/esm/schema/implementation/query/collection-get-query.js +34 -0
  325. package/esm/schema/implementation/query/collection-search-query.d.ts +30 -0
  326. package/esm/schema/implementation/query/collection-search-query.js +51 -0
  327. package/esm/schema/implementation/query/collection-update-many-query.d.ts +15 -0
  328. package/esm/schema/implementation/query/collection-update-many-query.js +17 -0
  329. package/esm/schema/implementation/query/collection-update-query.d.ts +19 -0
  330. package/esm/schema/implementation/query/collection-update-query.js +35 -0
  331. package/esm/schema/implementation/query/field-get-query.d.ts +30 -0
  332. package/esm/schema/implementation/query/field-get-query.js +41 -0
  333. package/esm/schema/implementation/query/index.d.ts +27 -0
  334. package/esm/schema/implementation/query/index.js +17 -0
  335. package/esm/schema/implementation/query/singleton-get-query.d.ts +20 -0
  336. package/esm/schema/implementation/query/singleton-get-query.js +23 -0
  337. package/esm/schema/implementation/resource/collection-resource-info.d.ts +19 -0
  338. package/esm/schema/implementation/resource/collection-resource-info.js +54 -0
  339. package/esm/schema/implementation/resource/container-resource-info.d.ts +13 -0
  340. package/esm/schema/implementation/resource/container-resource-info.js +26 -0
  341. package/esm/schema/implementation/resource/resource-info.d.ts +17 -0
  342. package/esm/schema/implementation/resource/resource-info.js +35 -0
  343. package/esm/schema/implementation/resource/singleton-resource-info.d.ts +14 -0
  344. package/esm/schema/implementation/resource/singleton-resource-info.js +33 -0
  345. package/esm/schema/implementation/schema-builder/extract-resource-metadata.util.d.ts +3 -0
  346. package/esm/schema/implementation/schema-builder/extract-resource-metadata.util.js +80 -0
  347. package/esm/schema/implementation/schema-builder/extract-type-metadata.util.d.ts +4 -0
  348. package/esm/schema/implementation/schema-builder/extract-type-metadata.util.js +89 -0
  349. package/esm/schema/index.d.ts +25 -0
  350. package/esm/schema/index.js +25 -0
  351. package/esm/schema/interfaces/child-field-query.interface.d.ts +4 -0
  352. package/esm/schema/interfaces/child-field-query.interface.js +1 -0
  353. package/esm/schema/interfaces/data-type.metadata.d.ts +18 -0
  354. package/esm/schema/interfaces/data-type.metadata.js +1 -0
  355. package/esm/schema/interfaces/resource-container.interface.d.ts +8 -0
  356. package/esm/schema/interfaces/resource-container.interface.js +1 -0
  357. package/esm/schema/interfaces/resource.metadata.d.ts +18 -0
  358. package/esm/schema/interfaces/resource.metadata.js +1 -0
  359. package/esm/schema/opra-schema.definition.d.ts +178 -0
  360. package/esm/schema/opra-schema.definition.js +46 -0
  361. package/esm/schema/type-helpers/extend-type.helper.d.ts +3 -0
  362. package/esm/schema/type-helpers/extend-type.helper.js +59 -0
  363. package/esm/schema/type-helpers/mixin-type.helper.d.ts +2 -0
  364. package/esm/schema/type-helpers/mixin-type.helper.js +41 -0
  365. package/esm/schema/type-helpers/mixin.utils.d.ts +3 -0
  366. package/esm/schema/type-helpers/mixin.utils.js +27 -0
  367. package/esm/{types.d.ts → schema/types.d.ts} +8 -1
  368. package/esm/schema/types.js +1 -0
  369. package/esm/schema/utils/class.utils.d.ts +2 -0
  370. package/esm/schema/utils/class.utils.js +4 -0
  371. package/esm/schema/utils/clone-object.util.d.ts +1 -0
  372. package/esm/schema/utils/clone-object.util.js +14 -0
  373. package/esm/schema/utils/inspect.util.d.ts +4 -0
  374. package/esm/schema/utils/inspect.util.js +4 -0
  375. package/esm/schema/utils/normalize-field-array.util.d.ts +3 -0
  376. package/esm/schema/utils/normalize-field-array.util.js +40 -0
  377. package/esm/schema/utils/path-to-tree.util.d.ts +4 -0
  378. package/esm/schema/utils/path-to-tree.util.js +22 -0
  379. package/esm/schema/utils/string-compare.util.d.ts +1 -0
  380. package/esm/schema/utils/string-compare.util.js +7 -0
  381. package/esm/url/formats/boolean-format.d.ts +5 -0
  382. package/esm/url/formats/boolean-format.js +21 -0
  383. package/esm/url/formats/date-format.d.ts +16 -0
  384. package/esm/url/formats/date-format.js +44 -0
  385. package/esm/url/formats/filter-format.d.ts +6 -0
  386. package/esm/url/formats/filter-format.js +14 -0
  387. package/esm/url/formats/format.d.ts +4 -0
  388. package/esm/url/formats/format.js +2 -0
  389. package/esm/url/formats/integer-format.d.ts +9 -0
  390. package/esm/url/formats/integer-format.js +16 -0
  391. package/esm/url/formats/number-format.d.ts +12 -0
  392. package/esm/url/formats/number-format.js +24 -0
  393. package/esm/url/formats/string-format.d.ts +14 -0
  394. package/esm/url/formats/string-format.js +24 -0
  395. package/esm/url/index.d.ts +5 -0
  396. package/esm/url/index.js +5 -0
  397. package/esm/url/opra-url-path-component.d.ts +15 -0
  398. package/esm/url/opra-url-path-component.js +29 -0
  399. package/esm/url/opra-url-path.d.ts +30 -0
  400. package/esm/url/opra-url-path.js +124 -0
  401. package/esm/url/opra-url-search-params.d.ts +46 -0
  402. package/esm/url/opra-url-search-params.js +243 -0
  403. package/esm/url/opra-url.d.ts +79 -0
  404. package/esm/url/opra-url.js +295 -0
  405. package/esm/url/utils/path-utils.d.ts +8 -0
  406. package/esm/url/utils/path-utils.js +78 -0
  407. package/esm/utils/index.d.ts +3 -0
  408. package/esm/utils/index.js +3 -0
  409. package/esm/utils/is-url.d.ts +1 -0
  410. package/esm/utils/is-url.js +4 -0
  411. package/esm/utils/path-to-tree.d.ts +4 -0
  412. package/esm/utils/path-to-tree.js +24 -0
  413. package/esm/utils/type-guards.d.ts +9 -0
  414. package/esm/utils/type-guards.js +37 -0
  415. package/package.json +30 -10
  416. package/umd/opra-common.umd.min.js +1 -0
  417. package/cjs/classes/headers-map.js +0 -18
  418. package/esm/classes/headers-map.d.ts +0 -5
  419. package/esm/classes/headers-map.js +0 -14
@@ -0,0 +1,18 @@
1
+ import { translate } from '../../i18n/index.js';
2
+ import { OpraException } from '../opra-exception.js';
3
+ /**
4
+ * 405 Method Not Allowed
5
+ * The request method is known by the server but is not supported by the target resource.
6
+ * For example, an API may not allow calling DELETE to remove a resource.
7
+ */
8
+ export class MethodNotAllowedError extends OpraException {
9
+ status = 405;
10
+ setIssue(issue) {
11
+ super.setIssue({
12
+ message: translate('error:METHOD_NOT_ALLOWED', 'Method not allowed'),
13
+ severity: 'error',
14
+ code: 'METHOD_NOT_ALLOWED',
15
+ ...issue
16
+ });
17
+ }
18
+ }
@@ -0,0 +1,10 @@
1
+ import { OpraException } from '../opra-exception.js';
2
+ /**
3
+ * 406 Not Acceptable
4
+ * This response is sent when the web server, after performing server-driven content negotiation,
5
+ * doesn't find any content that conforms to the criteria given by the user agent.
6
+ */
7
+ export declare class NotAcceptableError extends OpraException {
8
+ status: number;
9
+ setIssue(issue: any): void;
10
+ }
@@ -0,0 +1,18 @@
1
+ import { translate } from '../../i18n/index.js';
2
+ import { OpraException } from '../opra-exception.js';
3
+ /**
4
+ * 406 Not Acceptable
5
+ * This response is sent when the web server, after performing server-driven content negotiation,
6
+ * doesn't find any content that conforms to the criteria given by the user agent.
7
+ */
8
+ export class NotAcceptableError extends OpraException {
9
+ status = 406;
10
+ setIssue(issue) {
11
+ super.setIssue({
12
+ message: translate('error:NOT_ACCEPTABLE', 'Not Acceptable'),
13
+ severity: 'error',
14
+ code: 'NOT_ACCEPTABLE',
15
+ ...issue
16
+ });
17
+ }
18
+ }
@@ -0,0 +1,13 @@
1
+ import { OpraException } from '../opra-exception.js';
2
+ /**
3
+ * 404 Not Found
4
+ * The server can not find the requested resource. In the browser, this means the URL is not recognized.
5
+ * In an API, this can also mean that the endpoint is valid but the resource itself does not exist.
6
+ * Servers may also send this response instead of 403 Forbidden to hide the existence of a resource
7
+ * from an unauthorized client. This response code is probably the most well known due to its
8
+ * frequent occurrence on the web.
9
+ */
10
+ export declare class NotFoundError extends OpraException {
11
+ status: number;
12
+ setIssue(issue: any): void;
13
+ }
@@ -0,0 +1,21 @@
1
+ import { translate } from '../../i18n/index.js';
2
+ import { OpraException } from '../opra-exception.js';
3
+ /**
4
+ * 404 Not Found
5
+ * The server can not find the requested resource. In the browser, this means the URL is not recognized.
6
+ * In an API, this can also mean that the endpoint is valid but the resource itself does not exist.
7
+ * Servers may also send this response instead of 403 Forbidden to hide the existence of a resource
8
+ * from an unauthorized client. This response code is probably the most well known due to its
9
+ * frequent occurrence on the web.
10
+ */
11
+ export class NotFoundError extends OpraException {
12
+ status = 404;
13
+ setIssue(issue) {
14
+ super.setIssue({
15
+ message: translate('error:NOT_FOUND', 'Not found'),
16
+ severity: 'error',
17
+ code: 'NOT_FOUND',
18
+ ...issue
19
+ });
20
+ }
21
+ }
@@ -0,0 +1,10 @@
1
+ import { OpraException } from '../opra-exception.js';
2
+ /**
3
+ * 401 Unauthorized
4
+ * Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated".
5
+ * That is, the client must authenticate itself to get the requested response.
6
+ */
7
+ export declare class UnauthorizedError extends OpraException {
8
+ status: number;
9
+ setIssue(issue: any): void;
10
+ }
@@ -0,0 +1,18 @@
1
+ import { translate } from '../../i18n/index.js';
2
+ import { OpraException } from '../opra-exception.js';
3
+ /**
4
+ * 401 Unauthorized
5
+ * Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated".
6
+ * That is, the client must authenticate itself to get the requested response.
7
+ */
8
+ export class UnauthorizedError extends OpraException {
9
+ status = 401;
10
+ setIssue(issue) {
11
+ super.setIssue({
12
+ message: translate('error:UNAUTHORIZED', 'You have not been authenticated to perform this action'),
13
+ severity: 'error',
14
+ code: 'UNAUTHORIZED',
15
+ ...issue
16
+ });
17
+ }
18
+ }
@@ -0,0 +1,9 @@
1
+ import { OpraException } from '../opra-exception.js';
2
+ /**
3
+ * 422 Unprocessable Entity
4
+ * The request was well-formed but was unable to be followed due to semantic errors.
5
+ */
6
+ export declare class UnprocessableEntityError extends OpraException {
7
+ status: number;
8
+ setIssue(issue: any): void;
9
+ }
@@ -0,0 +1,17 @@
1
+ import { translate } from '../../i18n/index.js';
2
+ import { OpraException } from '../opra-exception.js';
3
+ /**
4
+ * 422 Unprocessable Entity
5
+ * The request was well-formed but was unable to be followed due to semantic errors.
6
+ */
7
+ export class UnprocessableEntityError extends OpraException {
8
+ status = 422;
9
+ setIssue(issue) {
10
+ super.setIssue({
11
+ message: translate('error:UNPROCESSABLE_ENTITY', 'Unprocessable entity'),
12
+ severity: 'error',
13
+ code: 'UNPROCESSABLE_ENTITY',
14
+ ...issue
15
+ });
16
+ }
17
+ }
@@ -0,0 +1,15 @@
1
+ export * from './opra-exception.js';
2
+ export * from './error-issue.js';
3
+ export * from './wrap-exception.js';
4
+ export * from './enums/issue-severity.enum.js';
5
+ export * from './http-errors/bad-request.error.js';
6
+ export * from './http-errors/failed-dependency.error.js';
7
+ export * from './http-errors/forbidden.error.js';
8
+ export * from './http-errors/internal-server.error.js';
9
+ export * from './http-errors/method-not-allowed.error.js';
10
+ export * from './http-errors/not-acceptable.error.js';
11
+ export * from './http-errors/not-found.error.js';
12
+ export * from './http-errors/unauthorized.error.js';
13
+ export * from './http-errors/unprocessable-entity.error.js';
14
+ export * from './resource-errors/resource-conflict.error.js';
15
+ export * from './resource-errors/resource-not-found.error.js';
@@ -0,0 +1,15 @@
1
+ export * from './opra-exception.js';
2
+ export * from './error-issue.js';
3
+ export * from './wrap-exception.js';
4
+ export * from './enums/issue-severity.enum.js';
5
+ export * from './http-errors/bad-request.error.js';
6
+ export * from './http-errors/failed-dependency.error.js';
7
+ export * from './http-errors/forbidden.error.js';
8
+ export * from './http-errors/internal-server.error.js';
9
+ export * from './http-errors/method-not-allowed.error.js';
10
+ export * from './http-errors/not-acceptable.error.js';
11
+ export * from './http-errors/not-found.error.js';
12
+ export * from './http-errors/unauthorized.error.js';
13
+ export * from './http-errors/unprocessable-entity.error.js';
14
+ export * from './resource-errors/resource-conflict.error.js';
15
+ export * from './resource-errors/resource-not-found.error.js';
@@ -0,0 +1,15 @@
1
+ import { ErrorIssue } from './error-issue.js';
2
+ /**
3
+ * Defines the base Opra exception, which is handled by the default Exceptions Handler.
4
+ */
5
+ export declare class OpraException extends Error {
6
+ protected _issue: ErrorIssue;
7
+ status: number;
8
+ cause?: Error;
9
+ constructor(issue?: string | Partial<ErrorIssue>, cause?: Error);
10
+ get issue(): ErrorIssue;
11
+ setIssue(issue: Partial<ErrorIssue>): void;
12
+ setStatus(status: number): this;
13
+ protected _initName(): void;
14
+ protected _init(issue: Error | Partial<ErrorIssue> | string): void;
15
+ }
@@ -0,0 +1,52 @@
1
+ import { i18n } from '../i18n/index.js';
2
+ /**
3
+ * Defines the base Opra exception, which is handled by the default Exceptions Handler.
4
+ */
5
+ export class OpraException extends Error {
6
+ _issue;
7
+ status = 500;
8
+ cause;
9
+ constructor(issue, cause) {
10
+ super('');
11
+ this._initName();
12
+ if (cause) {
13
+ this.cause = cause;
14
+ if (cause.stack)
15
+ this.stack = cause.stack;
16
+ }
17
+ this._init(issue || cause || 'Unknown error');
18
+ this.message = i18n.deep(this.issue.message);
19
+ }
20
+ get issue() {
21
+ return this._issue;
22
+ }
23
+ setIssue(issue) {
24
+ this._issue = {
25
+ message: 'Unknown error',
26
+ severity: 'error',
27
+ ...issue,
28
+ };
29
+ }
30
+ setStatus(status) {
31
+ this.status = status;
32
+ return this;
33
+ }
34
+ _initName() {
35
+ this.name = this.constructor.name;
36
+ }
37
+ _init(issue) {
38
+ if (issue instanceof Error) {
39
+ if (typeof issue.status === 'number')
40
+ this.status = issue.status;
41
+ else if (typeof issue.getStatus === 'function')
42
+ this.status = issue.getStatus();
43
+ this.setIssue({ message: issue.message });
44
+ }
45
+ else if (typeof issue === 'object') {
46
+ this.setIssue(issue);
47
+ }
48
+ else {
49
+ this.setIssue({ message: String(issue) });
50
+ }
51
+ }
52
+ }
@@ -0,0 +1,5 @@
1
+ import { OpraException } from '../opra-exception.js';
2
+ export declare class ResourceConflictError extends OpraException {
3
+ status: number;
4
+ constructor(resource: string, fields: string | string[], cause?: Error);
5
+ }
@@ -0,0 +1,16 @@
1
+ import { translate } from '../../i18n/index.js';
2
+ import { OpraException } from '../opra-exception.js';
3
+ export class ResourceConflictError extends OpraException {
4
+ status = 409;
5
+ constructor(resource, fields, cause) {
6
+ super({
7
+ message: translate(`error:RESOURCE_CONFLICT`, { resource, fields }, `There is already an other {{resource}} resource with same field values ({{fields}})`),
8
+ severity: 'error',
9
+ code: 'RESOURCE_CONFLICT',
10
+ details: {
11
+ resource,
12
+ location: fields
13
+ },
14
+ }, cause);
15
+ }
16
+ }
@@ -0,0 +1,4 @@
1
+ import { OpraException } from '../opra-exception.js';
2
+ export declare class ResourceNotFoundError extends OpraException {
3
+ constructor(resource: string, keyValue?: any, cause?: Error);
4
+ }
@@ -0,0 +1,16 @@
1
+ import { translate } from '../../i18n/index.js';
2
+ import { OpraException } from '../opra-exception.js';
3
+ export class ResourceNotFoundError extends OpraException {
4
+ constructor(resource, keyValue, cause) {
5
+ super({
6
+ message: translate(`error:RESOURCE_NOT_FOUND`, { resource: resource + (keyValue ? '@' + keyValue : '') }, `The resource '{{resource}}' could not be found`),
7
+ severity: 'error',
8
+ code: 'RESOURCE_NOT_FOUND',
9
+ details: {
10
+ resource,
11
+ key: keyValue
12
+ }
13
+ }, cause);
14
+ this.status = 404;
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ import { OpraException } from './opra-exception.js';
2
+ export declare function wrapException(e: any): OpraException;
@@ -0,0 +1,38 @@
1
+ import { BadRequestError } from './http-errors/bad-request.error.js';
2
+ import { FailedDependencyError } from './http-errors/failed-dependency.error.js';
3
+ import { ForbiddenError } from './http-errors/forbidden.error.js';
4
+ import { MethodNotAllowedError } from './http-errors/method-not-allowed.error.js';
5
+ import { NotAcceptableError } from './http-errors/not-acceptable.error.js';
6
+ import { NotFoundError } from './http-errors/not-found.error.js';
7
+ import { UnauthorizedError } from './http-errors/unauthorized.error.js';
8
+ import { UnprocessableEntityError } from './http-errors/unprocessable-entity.error.js';
9
+ import { OpraException } from './opra-exception.js';
10
+ export function wrapException(e) {
11
+ if (e instanceof OpraException)
12
+ return e;
13
+ let status = 500;
14
+ if (typeof e.status === 'number')
15
+ status = e.status;
16
+ else if (typeof e.getStatus === 'function')
17
+ status = e.getStatus();
18
+ switch (status) {
19
+ case 400:
20
+ return new BadRequestError(e);
21
+ case 401:
22
+ return new UnauthorizedError(e);
23
+ case 403:
24
+ return new ForbiddenError(e);
25
+ case 404:
26
+ return new NotFoundError(e);
27
+ case 405:
28
+ return new MethodNotAllowedError(e);
29
+ case 406:
30
+ return new NotAcceptableError(e);
31
+ case 422:
32
+ return new UnprocessableEntityError(e);
33
+ case 424:
34
+ return new FailedDependencyError(e);
35
+ default:
36
+ return new FailedDependencyError(e);
37
+ }
38
+ }
@@ -0,0 +1,78 @@
1
+ import { ATN } from "antlr4ts/atn/ATN";
2
+ import { CharStream } from "antlr4ts/CharStream";
3
+ import { Lexer } from "antlr4ts/Lexer";
4
+ import { Vocabulary } from "antlr4ts/Vocabulary";
5
+ export declare class OpraFilterLexer extends Lexer {
6
+ static readonly T__0 = 1;
7
+ static readonly T__1 = 2;
8
+ static readonly T__2 = 3;
9
+ static readonly T__3 = 4;
10
+ static readonly T__4 = 5;
11
+ static readonly T__5 = 6;
12
+ static readonly T__6 = 7;
13
+ static readonly T__7 = 8;
14
+ static readonly T__8 = 9;
15
+ static readonly T__9 = 10;
16
+ static readonly T__10 = 11;
17
+ static readonly T__11 = 12;
18
+ static readonly T__12 = 13;
19
+ static readonly T__13 = 14;
20
+ static readonly T__14 = 15;
21
+ static readonly T__15 = 16;
22
+ static readonly T__16 = 17;
23
+ static readonly T__17 = 18;
24
+ static readonly T__18 = 19;
25
+ static readonly T__19 = 20;
26
+ static readonly T__20 = 21;
27
+ static readonly T__21 = 22;
28
+ static readonly T__22 = 23;
29
+ static readonly T__23 = 24;
30
+ static readonly T__24 = 25;
31
+ static readonly T__25 = 26;
32
+ static readonly T__26 = 27;
33
+ static readonly T__27 = 28;
34
+ static readonly T__28 = 29;
35
+ static readonly T__29 = 30;
36
+ static readonly T__30 = 31;
37
+ static readonly T__31 = 32;
38
+ static readonly T__32 = 33;
39
+ static readonly T__33 = 34;
40
+ static readonly T__34 = 35;
41
+ static readonly T__35 = 36;
42
+ static readonly T__36 = 37;
43
+ static readonly T__37 = 38;
44
+ static readonly T__38 = 39;
45
+ static readonly T__39 = 40;
46
+ static readonly T__40 = 41;
47
+ static readonly T__41 = 42;
48
+ static readonly T__42 = 43;
49
+ static readonly T__43 = 44;
50
+ static readonly T__44 = 45;
51
+ static readonly T__45 = 46;
52
+ static readonly DATE = 47;
53
+ static readonly DATETIME = 48;
54
+ static readonly TIME = 49;
55
+ static readonly IDENTIFIER = 50;
56
+ static readonly STRING = 51;
57
+ static readonly NUMBER = 52;
58
+ static readonly INTEGER = 53;
59
+ static readonly WHITESPACE = 54;
60
+ static readonly COMMENT = 55;
61
+ static readonly LINE_COMMENT = 56;
62
+ static readonly channelNames: string[];
63
+ static readonly modeNames: string[];
64
+ static readonly ruleNames: string[];
65
+ private static readonly _LITERAL_NAMES;
66
+ private static readonly _SYMBOLIC_NAMES;
67
+ static readonly VOCABULARY: Vocabulary;
68
+ get vocabulary(): Vocabulary;
69
+ constructor(input: CharStream);
70
+ get grammarFileName(): string;
71
+ get ruleNames(): string[];
72
+ get serializedATN(): string;
73
+ get channelNames(): string[];
74
+ get modeNames(): string[];
75
+ static readonly _serializedATN: string;
76
+ static __ATN: ATN;
77
+ static get _ATN(): ATN;
78
+ }