@opra/common 0.13.0 → 0.15.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 (476) hide show
  1. package/cjs/document/api-document.js +211 -0
  2. package/cjs/document/constants.js +6 -0
  3. package/cjs/document/data-type/api-field.js +82 -0
  4. package/cjs/document/data-type/builtin/any.type.js +14 -0
  5. package/cjs/document/data-type/builtin/base64.type.js +38 -0
  6. package/cjs/document/data-type/builtin/bigint.type.js +33 -0
  7. package/cjs/document/data-type/builtin/boolean.type.js +28 -0
  8. package/cjs/document/data-type/builtin/date.type.js +18 -0
  9. package/cjs/document/data-type/builtin/guid.type.js +35 -0
  10. package/cjs/document/data-type/builtin/index.js +13 -0
  11. package/cjs/document/data-type/builtin/integer.type.js +28 -0
  12. package/cjs/document/data-type/builtin/number.type.js +33 -0
  13. package/cjs/document/data-type/builtin/object.type.js +20 -0
  14. package/cjs/document/data-type/builtin/string.type.js +24 -0
  15. package/cjs/document/data-type/builtin/time.type.js +32 -0
  16. package/cjs/document/data-type/builtin/timestamp.type.js +29 -0
  17. package/cjs/document/data-type/complex-type.js +154 -0
  18. package/cjs/document/data-type/data-type.js +46 -0
  19. package/cjs/document/data-type/enum-type.js +62 -0
  20. package/cjs/document/data-type/mapped-type.js +96 -0
  21. package/cjs/document/data-type/simple-type.js +61 -0
  22. package/cjs/document/data-type/union-type.js +81 -0
  23. package/cjs/document/factory/add-references.js +20 -0
  24. package/cjs/document/factory/create-document.js +81 -0
  25. package/cjs/document/factory/factory.js +62 -0
  26. package/cjs/document/factory/import-resource-class.js +53 -0
  27. package/cjs/document/factory/import-type-class.js +130 -0
  28. package/cjs/document/factory/index.js +4 -0
  29. package/cjs/document/factory/process-resources.js +55 -0
  30. package/cjs/document/factory/process-types.js +191 -0
  31. package/cjs/document/index.js +17 -0
  32. package/cjs/document/resource/collection.js +185 -0
  33. package/cjs/document/resource/resource.js +38 -0
  34. package/cjs/document/resource/singleton.js +91 -0
  35. package/cjs/exception/opra-exception.js +2 -0
  36. package/cjs/exception/resource-errors/resource-not-found.error.js +4 -0
  37. package/cjs/filter/parse.js +3 -1
  38. package/cjs/helpers/function-utils.js +25 -0
  39. package/cjs/helpers/get-stack-filename.js +24 -0
  40. package/cjs/helpers/index.js +7 -0
  41. package/cjs/{utils → helpers}/is-url.js +2 -2
  42. package/cjs/{schema/utils/clone-object.util.js → helpers/object-utils.js} +13 -1
  43. package/cjs/{utils/path-to-tree.js → helpers/path-to-object-tree.js} +9 -9
  44. package/cjs/helpers/responsive-map.js +62 -14
  45. package/cjs/{utils → helpers}/type-guards.js +12 -5
  46. package/cjs/http/{param-codec → codecs}/boolean-codec.js +1 -2
  47. package/cjs/http/{param-codec → codecs}/date-codec.js +1 -4
  48. package/cjs/http/{param-codec → codecs}/filter-codec.js +1 -2
  49. package/cjs/http/{param-codec → codecs}/number-codec.js +1 -3
  50. package/cjs/http/{param-codec → codecs}/string-codec.js +1 -3
  51. package/cjs/http/enums/http-headers-codes.enum.js +13 -4
  52. package/cjs/http/enums/http-status-messages.js +68 -0
  53. package/cjs/http/http-headers.js +138 -124
  54. package/cjs/http/http-message.host.js +251 -0
  55. package/cjs/http/http-params.js +78 -45
  56. package/cjs/http/http-request-message.js +152 -0
  57. package/cjs/http/http-response-message.js +238 -0
  58. package/cjs/http/index.js +8 -11
  59. package/cjs/http/multipart/batch-multipart.js +169 -153
  60. package/cjs/http/multipart/http-request-content.js +16 -11
  61. package/cjs/http/multipart/http-response-content.js +13 -10
  62. package/cjs/http/multipart/index.js +1 -3
  63. package/cjs/i18n/i18n.js +1 -1
  64. package/cjs/index.js +6 -5
  65. package/cjs/schema/constants.js +2 -9
  66. package/cjs/schema/data-type/complex-type.interface.js +7 -0
  67. package/cjs/schema/data-type/enum-type.interface.js +7 -0
  68. package/cjs/schema/data-type/mapped-type.interface.js +7 -0
  69. package/cjs/schema/data-type/simple-type.interface.js +7 -0
  70. package/cjs/schema/data-type/union-type.interface.js +7 -0
  71. package/cjs/schema/index.js +42 -26
  72. package/cjs/schema/resource/collection.interface.js +7 -0
  73. package/cjs/schema/resource/container.interface.js +7 -0
  74. package/cjs/schema/resource/resource.interface.js +2 -0
  75. package/cjs/schema/resource/singleton.interface.js +7 -0
  76. package/cjs/schema/type-guards.js +59 -0
  77. package/cjs/types.js +2 -0
  78. package/cjs/url/index.js +2 -2
  79. package/cjs/url/opra-url-path-component.js +2 -2
  80. package/cjs/url/opra-url-path.js +7 -4
  81. package/cjs/url/opra-url.js +84 -115
  82. package/cjs/url/utils/{path-utils.js → decode-path-component.js} +1 -46
  83. package/cjs/url/utils/encode-path-component.js +27 -0
  84. package/cjs/utils/path-utils.js +24 -0
  85. package/esm/document/api-document.d.ts +102 -0
  86. package/esm/document/api-document.js +207 -0
  87. package/esm/document/constants.d.ts +3 -0
  88. package/esm/document/constants.js +3 -0
  89. package/esm/document/data-type/api-field.d.ts +41 -0
  90. package/esm/document/data-type/api-field.js +79 -0
  91. package/esm/document/data-type/builtin/any.type.d.ts +2 -0
  92. package/esm/document/data-type/builtin/any.type.js +11 -0
  93. package/esm/document/data-type/builtin/base64.type.d.ts +6 -0
  94. package/esm/document/data-type/builtin/base64.type.js +35 -0
  95. package/esm/document/data-type/builtin/bigint.type.d.ts +6 -0
  96. package/esm/document/data-type/builtin/bigint.type.js +30 -0
  97. package/esm/document/data-type/builtin/boolean.type.d.ts +5 -0
  98. package/esm/document/data-type/builtin/boolean.type.js +25 -0
  99. package/esm/document/data-type/builtin/date.type.d.ts +4 -0
  100. package/esm/document/data-type/builtin/date.type.js +15 -0
  101. package/esm/document/data-type/builtin/guid.type.d.ts +7 -0
  102. package/esm/document/data-type/builtin/guid.type.js +32 -0
  103. package/esm/document/data-type/builtin/index.d.ts +10 -0
  104. package/esm/document/data-type/builtin/index.js +10 -0
  105. package/esm/document/data-type/builtin/integer.type.d.ts +6 -0
  106. package/esm/document/data-type/builtin/integer.type.js +25 -0
  107. package/esm/document/data-type/builtin/number.type.d.ts +6 -0
  108. package/esm/document/data-type/builtin/number.type.js +30 -0
  109. package/esm/document/data-type/builtin/object.type.d.ts +3 -0
  110. package/esm/document/data-type/builtin/object.type.js +17 -0
  111. package/esm/document/data-type/builtin/string.type.d.ts +5 -0
  112. package/esm/document/data-type/builtin/string.type.js +21 -0
  113. package/esm/document/data-type/builtin/time.type.d.ts +7 -0
  114. package/esm/document/data-type/builtin/time.type.js +29 -0
  115. package/esm/document/data-type/builtin/timestamp.type.d.ts +5 -0
  116. package/esm/document/data-type/builtin/timestamp.type.js +26 -0
  117. package/esm/document/data-type/complex-type.d.ts +50 -0
  118. package/esm/document/data-type/complex-type.js +150 -0
  119. package/esm/document/data-type/data-type.d.ts +33 -0
  120. package/esm/document/data-type/data-type.js +43 -0
  121. package/esm/document/data-type/enum-type.d.ts +32 -0
  122. package/esm/document/data-type/enum-type.js +58 -0
  123. package/esm/document/data-type/mapped-type.d.ts +53 -0
  124. package/esm/document/data-type/mapped-type.js +91 -0
  125. package/esm/document/data-type/simple-type.d.ts +33 -0
  126. package/esm/document/data-type/simple-type.js +57 -0
  127. package/esm/document/data-type/union-type.d.ts +42 -0
  128. package/esm/document/data-type/union-type.js +78 -0
  129. package/esm/document/factory/add-references.d.ts +4 -0
  130. package/esm/document/factory/add-references.js +16 -0
  131. package/esm/document/factory/create-document.d.ts +12 -0
  132. package/esm/document/factory/create-document.js +75 -0
  133. package/esm/document/factory/factory.d.ts +61 -0
  134. package/esm/document/factory/factory.js +58 -0
  135. package/esm/document/factory/import-resource-class.d.ts +9 -0
  136. package/esm/document/factory/import-resource-class.js +47 -0
  137. package/esm/document/factory/import-type-class.d.ts +17 -0
  138. package/esm/document/factory/import-type-class.js +120 -0
  139. package/esm/document/factory/index.d.ts +1 -0
  140. package/esm/document/factory/index.js +1 -0
  141. package/esm/document/factory/process-resources.d.ts +7 -0
  142. package/esm/document/factory/process-resources.js +49 -0
  143. package/esm/document/factory/process-types.d.ts +6 -0
  144. package/esm/document/factory/process-types.js +185 -0
  145. package/esm/document/index.d.ts +14 -0
  146. package/esm/document/index.js +14 -0
  147. package/esm/document/resource/collection.d.ts +67 -0
  148. package/esm/document/resource/collection.js +181 -0
  149. package/esm/document/resource/resource.d.ts +29 -0
  150. package/esm/document/resource/resource.js +35 -0
  151. package/esm/document/resource/singleton.d.ts +49 -0
  152. package/esm/document/resource/singleton.js +87 -0
  153. package/esm/exception/opra-exception.js +2 -0
  154. package/esm/exception/resource-errors/resource-not-found.error.d.ts +4 -0
  155. package/esm/exception/resource-errors/resource-not-found.error.js +4 -0
  156. package/esm/filter/parse.js +3 -1
  157. package/esm/helpers/function-utils.d.ts +4 -0
  158. package/esm/helpers/function-utils.js +19 -0
  159. package/esm/helpers/get-stack-filename.d.ts +1 -0
  160. package/esm/helpers/get-stack-filename.js +20 -0
  161. package/esm/helpers/index.d.ts +7 -0
  162. package/esm/helpers/index.js +7 -0
  163. package/esm/helpers/is-url.d.ts +1 -0
  164. package/esm/helpers/is-url.js +4 -0
  165. package/esm/{schema/utils/clone-object.util.d.ts → helpers/object-utils.d.ts} +1 -0
  166. package/esm/{schema/utils/clone-object.util.js → helpers/object-utils.js} +11 -0
  167. package/esm/helpers/path-to-object-tree.d.ts +4 -0
  168. package/esm/{utils/path-to-tree.js → helpers/path-to-object-tree.js} +7 -7
  169. package/esm/helpers/responsive-map.d.ts +15 -13
  170. package/esm/helpers/responsive-map.js +62 -14
  171. package/esm/{utils → helpers}/type-guards.d.ts +3 -1
  172. package/esm/{utils → helpers}/type-guards.js +9 -3
  173. package/esm/http/codecs/boolean-codec.d.ts +5 -0
  174. package/esm/http/{param-codec → codecs}/boolean-codec.js +1 -2
  175. package/esm/http/{param-codec → codecs}/date-codec.d.ts +2 -2
  176. package/esm/http/{param-codec → codecs}/date-codec.js +1 -4
  177. package/esm/http/{param-codec → codecs}/filter-codec.d.ts +2 -2
  178. package/esm/http/{param-codec → codecs}/filter-codec.js +1 -2
  179. package/esm/http/codecs/integer-codec.d.ts +11 -0
  180. package/esm/http/codecs/number-codec.d.ts +14 -0
  181. package/esm/http/{param-codec → codecs}/number-codec.js +1 -3
  182. package/esm/http/codecs/string-codec.d.ts +16 -0
  183. package/esm/http/{param-codec → codecs}/string-codec.js +1 -3
  184. package/esm/http/enums/http-headers-codes.enum.d.ts +13 -4
  185. package/esm/http/enums/http-headers-codes.enum.js +13 -4
  186. package/esm/http/enums/http-status-messages.d.ts +65 -0
  187. package/esm/http/enums/http-status-messages.js +65 -0
  188. package/esm/http/http-headers.d.ts +50 -34
  189. package/esm/http/http-headers.js +137 -123
  190. package/esm/http/http-message.host.d.ts +122 -0
  191. package/esm/http/http-message.host.js +246 -0
  192. package/esm/http/http-params.d.ts +43 -29
  193. package/esm/http/http-params.js +75 -43
  194. package/esm/http/http-request-message.d.ts +213 -0
  195. package/esm/http/http-request-message.js +148 -0
  196. package/esm/http/http-response-message.d.ts +318 -0
  197. package/esm/http/http-response-message.js +233 -0
  198. package/esm/http/index.d.ts +8 -11
  199. package/esm/http/index.js +8 -11
  200. package/esm/http/interfaces/cookie-options.interface.d.ts +4 -0
  201. package/esm/http/multipart/batch-multipart.d.ts +0 -31
  202. package/esm/http/multipart/batch-multipart.js +170 -149
  203. package/esm/http/multipart/http-request-content.d.ts +0 -8
  204. package/esm/http/multipart/http-request-content.js +17 -8
  205. package/esm/http/multipart/http-response-content.d.ts +0 -7
  206. package/esm/http/multipart/http-response-content.js +14 -7
  207. package/esm/http/multipart/index.d.ts +0 -1
  208. package/esm/http/multipart/index.js +2 -1
  209. package/esm/i18n/i18n.js +1 -1
  210. package/esm/index.d.ts +6 -5
  211. package/esm/index.js +6 -5
  212. package/esm/schema/constants.d.ts +2 -8
  213. package/esm/schema/constants.js +1 -8
  214. package/esm/schema/data-type/complex-type.interface.d.ts +16 -0
  215. package/esm/schema/data-type/complex-type.interface.js +4 -0
  216. package/esm/schema/data-type/data-type.interface.d.ts +14 -0
  217. package/esm/schema/data-type/enum-type.interface.d.ts +15 -0
  218. package/esm/schema/data-type/enum-type.interface.js +4 -0
  219. package/esm/schema/data-type/field.interface.d.ts +21 -0
  220. package/esm/schema/data-type/mapped-type.interface.d.ts +11 -0
  221. package/esm/schema/data-type/mapped-type.interface.js +4 -0
  222. package/esm/schema/data-type/simple-type.interface.d.ts +18 -0
  223. package/esm/schema/data-type/simple-type.interface.js +4 -0
  224. package/esm/schema/data-type/union-type.interface.d.ts +10 -0
  225. package/esm/schema/data-type/union-type.interface.js +4 -0
  226. package/esm/schema/document.interface.d.ts +34 -0
  227. package/esm/schema/index.d.ts +51 -25
  228. package/esm/schema/index.js +41 -25
  229. package/esm/schema/resource/collection.interface.d.ts +33 -0
  230. package/esm/schema/resource/collection.interface.js +4 -0
  231. package/esm/schema/resource/container.interface.d.ts +9 -0
  232. package/esm/schema/resource/container.interface.js +4 -0
  233. package/esm/schema/resource/endpoint.interface.d.ts +29 -0
  234. package/esm/schema/resource/resource.interface.d.ts +12 -0
  235. package/esm/schema/resource/resource.interface.js +1 -0
  236. package/esm/schema/resource/singleton.interface.d.ts +22 -0
  237. package/esm/schema/resource/singleton.interface.js +4 -0
  238. package/esm/schema/type-guards.d.ts +20 -0
  239. package/esm/schema/type-guards.js +46 -0
  240. package/esm/{schema/types.d.ts → types.d.ts} +0 -3
  241. package/esm/types.js +1 -0
  242. package/esm/url/index.d.ts +2 -2
  243. package/esm/url/index.js +2 -2
  244. package/esm/url/opra-url-path-component.js +1 -1
  245. package/esm/url/opra-url-path.js +6 -3
  246. package/esm/url/opra-url.d.ts +8 -27
  247. package/esm/url/opra-url.js +83 -114
  248. package/esm/url/utils/decode-path-component.d.ts +5 -0
  249. package/esm/url/utils/{path-utils.js → decode-path-component.js} +0 -41
  250. package/esm/url/utils/encode-path-component.d.ts +1 -0
  251. package/esm/url/utils/encode-path-component.js +22 -0
  252. package/esm/utils/path-utils.d.ts +2 -0
  253. package/esm/utils/path-utils.js +19 -0
  254. package/package.json +21 -6
  255. package/cjs/constants.js +0 -1
  256. package/cjs/http/http-param-codec.js +0 -6
  257. package/cjs/http/http-request-node.js +0 -105
  258. package/cjs/http/http-request.js +0 -89
  259. package/cjs/http/http-response.js +0 -23
  260. package/cjs/http/utils/encodeURIParam.js +0 -21
  261. package/cjs/http/utils/normalize-headers.js +0 -28
  262. package/cjs/schema/decorators/opr-collection-resource.decorator.js +0 -24
  263. package/cjs/schema/decorators/opr-complex-type.decorator.js +0 -28
  264. package/cjs/schema/decorators/opr-field.decorator.js +0 -29
  265. package/cjs/schema/decorators/opr-resolver.decorator.js +0 -81
  266. package/cjs/schema/decorators/opr-simple-type.decorator.js +0 -19
  267. package/cjs/schema/decorators/opr-singleton-resource.decorator.js +0 -24
  268. package/cjs/schema/implementation/data-type/builtin/any.type.js +0 -9
  269. package/cjs/schema/implementation/data-type/builtin/base64-binary.type.js +0 -15
  270. package/cjs/schema/implementation/data-type/builtin/bigint.type.js +0 -15
  271. package/cjs/schema/implementation/data-type/builtin/boolean.type.js +0 -15
  272. package/cjs/schema/implementation/data-type/builtin/date-string.type.js +0 -15
  273. package/cjs/schema/implementation/data-type/builtin/date.type.js +0 -15
  274. package/cjs/schema/implementation/data-type/builtin/guid.type.js +0 -15
  275. package/cjs/schema/implementation/data-type/builtin/integer.type.js +0 -15
  276. package/cjs/schema/implementation/data-type/builtin/number.type.js +0 -15
  277. package/cjs/schema/implementation/data-type/builtin/object.type.js +0 -15
  278. package/cjs/schema/implementation/data-type/builtin/string.type.js +0 -15
  279. package/cjs/schema/implementation/data-type/builtin-data-types.js +0 -37
  280. package/cjs/schema/implementation/data-type/complex-type.js +0 -110
  281. package/cjs/schema/implementation/data-type/data-type.js +0 -37
  282. package/cjs/schema/implementation/data-type/simple-type.js +0 -21
  283. package/cjs/schema/implementation/data-type/union-type.js +0 -24
  284. package/cjs/schema/implementation/document-builder.js +0 -140
  285. package/cjs/schema/implementation/opra-document.js +0 -183
  286. package/cjs/schema/implementation/query/collection-count-query.js +0 -17
  287. package/cjs/schema/implementation/query/collection-create-query.js +0 -23
  288. package/cjs/schema/implementation/query/collection-delete-many-query.js +0 -17
  289. package/cjs/schema/implementation/query/collection-delete-query.js +0 -25
  290. package/cjs/schema/implementation/query/collection-get-query.js +0 -32
  291. package/cjs/schema/implementation/query/collection-search-query.js +0 -45
  292. package/cjs/schema/implementation/query/collection-update-many-query.js +0 -18
  293. package/cjs/schema/implementation/query/collection-update-query.js +0 -33
  294. package/cjs/schema/implementation/query/field-get-query.js +0 -34
  295. package/cjs/schema/implementation/query/index.js +0 -22
  296. package/cjs/schema/implementation/query/singleton-get-query.js +0 -22
  297. package/cjs/schema/implementation/resource/collection-resource-info.js +0 -72
  298. package/cjs/schema/implementation/resource/container-resource-info.js +0 -30
  299. package/cjs/schema/implementation/resource/resource-info.js +0 -35
  300. package/cjs/schema/implementation/resource/singleton-resource-info.js +0 -44
  301. package/cjs/schema/implementation/schema-builder/extract-resource-metadata.util.js +0 -84
  302. package/cjs/schema/implementation/schema-builder/extract-type-metadata.util.js +0 -94
  303. package/cjs/schema/opra-schema.definition.js +0 -49
  304. package/cjs/schema/type-helpers/extend-type.helper.js +0 -65
  305. package/cjs/schema/type-helpers/mixin-type.helper.js +0 -46
  306. package/cjs/schema/utils/class.utils.js +0 -8
  307. package/cjs/schema/utils/normalize-field-array.util.js +0 -44
  308. package/cjs/schema/utils/path-to-tree.util.js +0 -26
  309. package/cjs/url/formats/boolean-format.js +0 -25
  310. package/cjs/url/formats/date-format.js +0 -44
  311. package/cjs/url/formats/filter-format.js +0 -18
  312. package/cjs/url/formats/format.js +0 -6
  313. package/cjs/url/formats/integer-format.js +0 -19
  314. package/cjs/url/formats/number-format.js +0 -26
  315. package/cjs/url/formats/string-format.js +0 -25
  316. package/cjs/url/opra-url-search-params.js +0 -28
  317. package/cjs/utils/index.js +0 -6
  318. package/esm/constants.d.ts +0 -0
  319. package/esm/constants.js +0 -1
  320. package/esm/http/http-param-codec.d.ts +0 -4
  321. package/esm/http/http-param-codec.js +0 -2
  322. package/esm/http/http-request-node.d.ts +0 -34
  323. package/esm/http/http-request-node.js +0 -101
  324. package/esm/http/http-request.d.ts +0 -76
  325. package/esm/http/http-request.js +0 -85
  326. package/esm/http/http-response.d.ts +0 -41
  327. package/esm/http/http-response.js +0 -19
  328. package/esm/http/param-codec/boolean-codec.d.ts +0 -5
  329. package/esm/http/param-codec/integer-codec.d.ts +0 -9
  330. package/esm/http/param-codec/number-codec.d.ts +0 -12
  331. package/esm/http/param-codec/string-codec.d.ts +0 -14
  332. package/esm/http/utils/encodeURIParam.d.ts +0 -1
  333. package/esm/http/utils/encodeURIParam.js +0 -17
  334. package/esm/http/utils/normalize-headers.d.ts +0 -1
  335. package/esm/http/utils/normalize-headers.js +0 -24
  336. package/esm/schema/decorators/opr-collection-resource.decorator.d.ts +0 -8
  337. package/esm/schema/decorators/opr-collection-resource.decorator.js +0 -19
  338. package/esm/schema/decorators/opr-complex-type.decorator.d.ts +0 -6
  339. package/esm/schema/decorators/opr-complex-type.decorator.js +0 -23
  340. package/esm/schema/decorators/opr-field.decorator.d.ts +0 -3
  341. package/esm/schema/decorators/opr-field.decorator.js +0 -24
  342. package/esm/schema/decorators/opr-resolver.decorator.d.ts +0 -8
  343. package/esm/schema/decorators/opr-resolver.decorator.js +0 -71
  344. package/esm/schema/decorators/opr-simple-type.decorator.d.ts +0 -6
  345. package/esm/schema/decorators/opr-simple-type.decorator.js +0 -14
  346. package/esm/schema/decorators/opr-singleton-resource.decorator.d.ts +0 -8
  347. package/esm/schema/decorators/opr-singleton-resource.decorator.js +0 -19
  348. package/esm/schema/implementation/data-type/builtin/any.type.d.ts +0 -2
  349. package/esm/schema/implementation/data-type/builtin/any.type.js +0 -6
  350. package/esm/schema/implementation/data-type/builtin/base64-binary.type.d.ts +0 -2
  351. package/esm/schema/implementation/data-type/builtin/base64-binary.type.js +0 -12
  352. package/esm/schema/implementation/data-type/builtin/bigint.type.d.ts +0 -2
  353. package/esm/schema/implementation/data-type/builtin/bigint.type.js +0 -12
  354. package/esm/schema/implementation/data-type/builtin/boolean.type.d.ts +0 -2
  355. package/esm/schema/implementation/data-type/builtin/boolean.type.js +0 -12
  356. package/esm/schema/implementation/data-type/builtin/date-string.type.d.ts +0 -2
  357. package/esm/schema/implementation/data-type/builtin/date-string.type.js +0 -12
  358. package/esm/schema/implementation/data-type/builtin/date.type.d.ts +0 -2
  359. package/esm/schema/implementation/data-type/builtin/date.type.js +0 -12
  360. package/esm/schema/implementation/data-type/builtin/guid.type.d.ts +0 -2
  361. package/esm/schema/implementation/data-type/builtin/guid.type.js +0 -12
  362. package/esm/schema/implementation/data-type/builtin/integer.type.d.ts +0 -2
  363. package/esm/schema/implementation/data-type/builtin/integer.type.js +0 -12
  364. package/esm/schema/implementation/data-type/builtin/number.type.d.ts +0 -2
  365. package/esm/schema/implementation/data-type/builtin/number.type.js +0 -12
  366. package/esm/schema/implementation/data-type/builtin/object.type.d.ts +0 -2
  367. package/esm/schema/implementation/data-type/builtin/object.type.js +0 -12
  368. package/esm/schema/implementation/data-type/builtin/string.type.d.ts +0 -2
  369. package/esm/schema/implementation/data-type/builtin/string.type.js +0 -12
  370. package/esm/schema/implementation/data-type/builtin-data-types.d.ts +0 -4
  371. package/esm/schema/implementation/data-type/builtin-data-types.js +0 -34
  372. package/esm/schema/implementation/data-type/complex-type.d.ts +0 -29
  373. package/esm/schema/implementation/data-type/complex-type.js +0 -106
  374. package/esm/schema/implementation/data-type/data-type.d.ts +0 -17
  375. package/esm/schema/implementation/data-type/data-type.js +0 -33
  376. package/esm/schema/implementation/data-type/simple-type.d.ts +0 -12
  377. package/esm/schema/implementation/data-type/simple-type.js +0 -17
  378. package/esm/schema/implementation/data-type/union-type.d.ts +0 -16
  379. package/esm/schema/implementation/data-type/union-type.js +0 -19
  380. package/esm/schema/implementation/document-builder.d.ts +0 -16
  381. package/esm/schema/implementation/document-builder.js +0 -135
  382. package/esm/schema/implementation/opra-document.d.ts +0 -44
  383. package/esm/schema/implementation/opra-document.js +0 -178
  384. package/esm/schema/implementation/query/collection-count-query.d.ts +0 -14
  385. package/esm/schema/implementation/query/collection-count-query.js +0 -13
  386. package/esm/schema/implementation/query/collection-create-query.d.ts +0 -18
  387. package/esm/schema/implementation/query/collection-create-query.js +0 -19
  388. package/esm/schema/implementation/query/collection-delete-many-query.d.ts +0 -14
  389. package/esm/schema/implementation/query/collection-delete-many-query.js +0 -13
  390. package/esm/schema/implementation/query/collection-delete-query.d.ts +0 -10
  391. package/esm/schema/implementation/query/collection-delete-query.js +0 -21
  392. package/esm/schema/implementation/query/collection-get-query.d.ts +0 -21
  393. package/esm/schema/implementation/query/collection-get-query.js +0 -28
  394. package/esm/schema/implementation/query/collection-search-query.d.ts +0 -30
  395. package/esm/schema/implementation/query/collection-search-query.js +0 -41
  396. package/esm/schema/implementation/query/collection-update-many-query.d.ts +0 -15
  397. package/esm/schema/implementation/query/collection-update-many-query.js +0 -14
  398. package/esm/schema/implementation/query/collection-update-query.d.ts +0 -19
  399. package/esm/schema/implementation/query/collection-update-query.js +0 -29
  400. package/esm/schema/implementation/query/field-get-query.d.ts +0 -30
  401. package/esm/schema/implementation/query/field-get-query.js +0 -30
  402. package/esm/schema/implementation/query/index.d.ts +0 -27
  403. package/esm/schema/implementation/query/index.js +0 -17
  404. package/esm/schema/implementation/query/singleton-get-query.d.ts +0 -20
  405. package/esm/schema/implementation/query/singleton-get-query.js +0 -18
  406. package/esm/schema/implementation/resource/collection-resource-info.d.ts +0 -22
  407. package/esm/schema/implementation/resource/collection-resource-info.js +0 -68
  408. package/esm/schema/implementation/resource/container-resource-info.d.ts +0 -13
  409. package/esm/schema/implementation/resource/container-resource-info.js +0 -26
  410. package/esm/schema/implementation/resource/resource-info.d.ts +0 -17
  411. package/esm/schema/implementation/resource/resource-info.js +0 -31
  412. package/esm/schema/implementation/resource/singleton-resource-info.d.ts +0 -15
  413. package/esm/schema/implementation/resource/singleton-resource-info.js +0 -40
  414. package/esm/schema/implementation/schema-builder/extract-resource-metadata.util.d.ts +0 -3
  415. package/esm/schema/implementation/schema-builder/extract-resource-metadata.util.js +0 -80
  416. package/esm/schema/implementation/schema-builder/extract-type-metadata.util.d.ts +0 -4
  417. package/esm/schema/implementation/schema-builder/extract-type-metadata.util.js +0 -90
  418. package/esm/schema/interfaces/child-field-query.interface.d.ts +0 -4
  419. package/esm/schema/interfaces/data-type.metadata.d.ts +0 -18
  420. package/esm/schema/interfaces/resource-container.interface.d.ts +0 -8
  421. package/esm/schema/interfaces/resource.metadata.d.ts +0 -18
  422. package/esm/schema/opra-schema.definition.d.ts +0 -178
  423. package/esm/schema/opra-schema.definition.js +0 -46
  424. package/esm/schema/type-helpers/extend-type.helper.d.ts +0 -3
  425. package/esm/schema/type-helpers/extend-type.helper.js +0 -60
  426. package/esm/schema/type-helpers/mixin-type.helper.d.ts +0 -2
  427. package/esm/schema/type-helpers/mixin-type.helper.js +0 -42
  428. package/esm/schema/utils/class.utils.d.ts +0 -2
  429. package/esm/schema/utils/class.utils.js +0 -4
  430. package/esm/schema/utils/normalize-field-array.util.d.ts +0 -3
  431. package/esm/schema/utils/normalize-field-array.util.js +0 -40
  432. package/esm/schema/utils/path-to-tree.util.d.ts +0 -4
  433. package/esm/schema/utils/path-to-tree.util.js +0 -22
  434. package/esm/url/formats/boolean-format.d.ts +0 -5
  435. package/esm/url/formats/boolean-format.js +0 -21
  436. package/esm/url/formats/date-format.d.ts +0 -16
  437. package/esm/url/formats/date-format.js +0 -40
  438. package/esm/url/formats/filter-format.d.ts +0 -6
  439. package/esm/url/formats/filter-format.js +0 -14
  440. package/esm/url/formats/format.d.ts +0 -4
  441. package/esm/url/formats/format.js +0 -2
  442. package/esm/url/formats/integer-format.d.ts +0 -9
  443. package/esm/url/formats/integer-format.js +0 -15
  444. package/esm/url/formats/number-format.d.ts +0 -12
  445. package/esm/url/formats/number-format.js +0 -22
  446. package/esm/url/formats/string-format.d.ts +0 -14
  447. package/esm/url/formats/string-format.js +0 -21
  448. package/esm/url/opra-url-search-params.d.ts +0 -5
  449. package/esm/url/opra-url-search-params.js +0 -24
  450. package/esm/url/utils/path-utils.d.ts +0 -8
  451. package/esm/utils/index.d.ts +0 -3
  452. package/esm/utils/index.js +0 -3
  453. package/esm/utils/is-url.d.ts +0 -1
  454. package/esm/utils/is-url.js +0 -4
  455. package/esm/utils/path-to-tree.d.ts +0 -4
  456. /package/cjs/{schema → document}/utils/inspect.util.js +0 -0
  457. /package/cjs/{schema → document}/utils/string-compare.util.js +0 -0
  458. /package/cjs/{schema/type-helpers/mixin.utils.js → helpers/mixin-utils.js} +0 -0
  459. /package/cjs/http/{param-codec → codecs}/integer-codec.js +0 -0
  460. /package/cjs/{schema/interfaces/child-field-query.interface.js → http/interfaces/cookie-options.interface.js} +0 -0
  461. /package/cjs/schema/{interfaces/data-type.metadata.js → data-type/data-type.interface.js} +0 -0
  462. /package/cjs/schema/{interfaces/resource-container.interface.js → data-type/field.interface.js} +0 -0
  463. /package/cjs/schema/{interfaces/resource.metadata.js → document.interface.js} +0 -0
  464. /package/cjs/schema/{types.js → resource/endpoint.interface.js} +0 -0
  465. /package/esm/{schema → document}/utils/inspect.util.d.ts +0 -0
  466. /package/esm/{schema → document}/utils/inspect.util.js +0 -0
  467. /package/esm/{schema → document}/utils/string-compare.util.d.ts +0 -0
  468. /package/esm/{schema → document}/utils/string-compare.util.js +0 -0
  469. /package/esm/{schema/type-helpers/mixin.utils.d.ts → helpers/mixin-utils.d.ts} +0 -0
  470. /package/esm/{schema/type-helpers/mixin.utils.js → helpers/mixin-utils.js} +0 -0
  471. /package/esm/http/{param-codec → codecs}/integer-codec.js +0 -0
  472. /package/esm/{schema/interfaces/child-field-query.interface.js → http/interfaces/cookie-options.interface.js} +0 -0
  473. /package/esm/schema/{interfaces/data-type.metadata.js → data-type/data-type.interface.js} +0 -0
  474. /package/esm/schema/{interfaces/resource-container.interface.js → data-type/field.interface.js} +0 -0
  475. /package/esm/schema/{interfaces/resource.metadata.js → document.interface.js} +0 -0
  476. /package/esm/schema/{types.js → resource/endpoint.interface.js} +0 -0
@@ -1,41 +0,0 @@
1
- import { HttpHeaders, HttpHeadersInit } from './http-headers.js';
2
- export interface HttpResponseInit {
3
- headers?: HttpHeadersInit;
4
- status?: number;
5
- statusText?: string;
6
- url?: string;
7
- body?: any;
8
- hasBody?: boolean;
9
- }
10
- export declare class HttpResponse<TBody = any> {
11
- /**
12
- * Contains the Headers object associated with the response.
13
- */
14
- readonly headers: HttpHeaders;
15
- /**
16
- * Contains a Boolean stating whether the response was successful (status in the range 200-299) or not.
17
- */
18
- readonly ok: boolean;
19
- /**
20
- * Contains the HTTP status codes of the response
21
- */
22
- readonly status: number;
23
- /**
24
- * Contains the status message corresponding to the HTTP status code in status property
25
- */
26
- readonly statusText: string;
27
- /**
28
- * Contains the URL of the response
29
- */
30
- readonly url: string | null;
31
- /**
32
- * Body contents
33
- */
34
- readonly body: TBody | null;
35
- /**
36
- * Returns true if response has body to be received
37
- */
38
- readonly hasBody: boolean;
39
- constructor(init?: HttpResponseInit);
40
- clone(update?: HttpResponseInit): HttpResponse;
41
- }
@@ -1,19 +0,0 @@
1
- import { HttpHeaders } from './http-headers.js';
2
- export class HttpResponse {
3
- constructor(init) {
4
- /**
5
- * Returns true if response has body to be received
6
- */
7
- this.hasBody = false;
8
- this.headers = new HttpHeaders(init?.headers);
9
- this.status = init?.status || 200;
10
- this.statusText = init?.statusText || 'OK';
11
- this.url = init?.url || null;
12
- this.ok = this.status >= 200 && this.status < 300;
13
- this.body = init?.body;
14
- this.hasBody = init?.body != null || !!init?.hasBody;
15
- }
16
- clone(update) {
17
- return new HttpResponse({ ...this, ...update });
18
- }
19
- }
@@ -1,5 +0,0 @@
1
- import { HttpParamCodec } from '../http-param-codec.js';
2
- export declare class BooleanCodec extends HttpParamCodec {
3
- decode(value: string): boolean;
4
- encode(value: any): string;
5
- }
@@ -1,9 +0,0 @@
1
- import { NumberCodec, NumberFormatOptions } from './number-codec.js';
2
- export interface IntegerFormatOptions extends NumberFormatOptions {
3
- enum?: number[];
4
- }
5
- export declare class IntegerCodec extends NumberCodec {
6
- enum?: number[];
7
- constructor(options?: IntegerFormatOptions);
8
- decode(value: string): number;
9
- }
@@ -1,12 +0,0 @@
1
- import { HttpParamCodec } from '../http-param-codec.js';
2
- export interface NumberFormatOptions {
3
- max?: number;
4
- min?: number;
5
- }
6
- export declare class NumberCodec extends HttpParamCodec {
7
- max?: number;
8
- min?: number;
9
- constructor(options?: NumberFormatOptions);
10
- decode(value: string): number;
11
- encode(value: any): string;
12
- }
@@ -1,14 +0,0 @@
1
- import { HttpParamCodec } from '../http-param-codec.js';
2
- export interface StringFormatOptions {
3
- maxLength?: number;
4
- minLength?: number;
5
- enum?: string[];
6
- }
7
- export declare class StringCodec extends HttpParamCodec {
8
- maxLength?: number;
9
- minLength?: number;
10
- enum?: string[];
11
- constructor(options?: StringFormatOptions);
12
- decode(value: string): string;
13
- encode(value: any): string;
14
- }
@@ -1 +0,0 @@
1
- export declare function encodeURIParam(v: string): string;
@@ -1,17 +0,0 @@
1
- /**
2
- * Encode input string with standard encodeURIComponent and then un-encode specific characters.
3
- */
4
- const ENCODING_REGEX = /%(\d[a-f0-9])/gi;
5
- const ENCODING_REPLACEMENTS = {
6
- '2C': ',',
7
- '2F': '/',
8
- '24': '$',
9
- '3A': ':',
10
- '3B': ';',
11
- '3D': '=',
12
- '3F': '?',
13
- '40': '@'
14
- };
15
- export function encodeURIParam(v) {
16
- return encodeURIComponent(v).replace(ENCODING_REGEX, (s, t) => ENCODING_REPLACEMENTS[t] ?? s);
17
- }
@@ -1 +0,0 @@
1
- export declare function normalizeHeaders(headers: any, normalCase?: boolean): Record<string, string | string[]>;
@@ -1,24 +0,0 @@
1
- import { HttpHeaderCodes } from '../enums/http-headers-codes.enum.js';
2
- const knownKeys = Object.keys(HttpHeaderCodes);
3
- const knownKeysLower = knownKeys.map(x => x.toLowerCase());
4
- export function normalizeHeaders(headers, normalCase) {
5
- if (!headers)
6
- return {};
7
- return Object.keys(headers).reduce((o, k) => {
8
- const v = headers[k];
9
- const key = normalCase
10
- ? knownKeys[knownKeysLower.indexOf(k.toLowerCase())] || camelize(k) :
11
- k.toLowerCase();
12
- if (k.toLowerCase() === 'set-cookie')
13
- o[key] = Array.isArray(v) ? v : [v];
14
- else {
15
- o[key] = Array.isArray(v) ? v.join(';') : v;
16
- }
17
- return o;
18
- }, {}) || {};
19
- }
20
- function camelize(str) {
21
- return str.replace(/(^\w|[A-Z]|\b\w)/g, function (word) {
22
- return word.toUpperCase();
23
- });
24
- }
@@ -1,8 +0,0 @@
1
- import "reflect-metadata";
2
- import { PartialSome, StrictOmit } from 'ts-gems';
3
- import { CollectionResourceMetadata } from '../interfaces/resource.metadata.js';
4
- import { TypeThunkAsync } from '../types.js';
5
- export type CollectionResourceOptions = PartialSome<StrictOmit<CollectionResourceMetadata, 'name' | 'kind' | 'type' | 'instance' | 'create' | 'count' | 'get' | 'update' | 'updateMany' | 'delete' | 'deleteMany' | 'search'>, 'keyFields'> & {
6
- name?: string;
7
- };
8
- export declare function OprCollectionResource(entityFunc: TypeThunkAsync, options?: CollectionResourceOptions): (target: Function) => void;
@@ -1,19 +0,0 @@
1
- import "reflect-metadata";
2
- import omit from 'lodash.omit';
3
- import { RESOURCE_METADATA } from '../constants.js';
4
- const NESTJS_INJECTABLE_WATERMARK = '__injectable__';
5
- const NAME_PATTERN = /^(.*)Resource$/;
6
- export function OprCollectionResource(entityFunc, options) {
7
- return function (target) {
8
- const name = options?.name || target.name.match(NAME_PATTERN)?.[1] || target.name;
9
- const meta = {
10
- kind: 'CollectionResource',
11
- type: entityFunc,
12
- name
13
- };
14
- Object.assign(meta, omit(options, Object.keys(meta)));
15
- Reflect.defineMetadata(RESOURCE_METADATA, meta, target);
16
- /* Define Injectable metadata for NestJS support*/
17
- Reflect.defineMetadata(NESTJS_INJECTABLE_WATERMARK, true, target);
18
- };
19
- }
@@ -1,6 +0,0 @@
1
- import { StrictOmit } from 'ts-gems';
2
- import { ComplexTypeMetadata } from '../interfaces/data-type.metadata.js';
3
- export type ComplexTypeDecoratorOptions = Partial<StrictOmit<ComplexTypeMetadata, 'name' | 'kind' | 'ctor' | 'fields' | 'extends'>> & {
4
- name?: string;
5
- };
6
- export declare function OprComplexType(options?: ComplexTypeDecoratorOptions): ClassDecorator;
@@ -1,23 +0,0 @@
1
- import omit from 'lodash.omit';
2
- import { DATATYPE_METADATA } from '../constants.js';
3
- const NAME_PATTERN = /^(.*)Type$/;
4
- export function OprComplexType(options) {
5
- return (target) => {
6
- const name = options?.name || target.name.match(NAME_PATTERN)?.[1] || target.name;
7
- const meta = {
8
- kind: 'ComplexType',
9
- name,
10
- };
11
- Object.assign(meta, omit(options, Object.keys(meta)));
12
- const base = Object.getPrototypeOf(target);
13
- const baseMeta = Reflect.getMetadata(DATATYPE_METADATA, base);
14
- if (baseMeta) {
15
- if (baseMeta.additionalFields && meta.additionalFields == null)
16
- meta.additionalFields = true;
17
- meta.extends = [{
18
- type: base
19
- }];
20
- }
21
- Reflect.defineMetadata(DATATYPE_METADATA, meta, target);
22
- };
23
- }
@@ -1,3 +0,0 @@
1
- import { StrictOmit } from 'ts-gems';
2
- import { FieldMetadata } from '../interfaces/data-type.metadata.js';
3
- export declare function OprField(args?: Partial<StrictOmit<FieldMetadata, 'isArray'>>): PropertyDecorator;
@@ -1,24 +0,0 @@
1
- import omit from 'lodash.omit';
2
- import { COMPLEXTYPE_FIELDS } from '../constants.js';
3
- export function OprField(args) {
4
- return (target, propertyKey) => {
5
- if (typeof propertyKey !== 'string')
6
- throw new TypeError(`Symbol properties can't be used as field`);
7
- const designType = Reflect.getMetadata('design:type', target, propertyKey);
8
- const metadata = {
9
- type: args?.type
10
- };
11
- Object.assign(metadata, omit(args, Object.keys(metadata)));
12
- if (designType === Array) {
13
- metadata.isArray = true;
14
- metadata.type = metadata.type || 'any';
15
- }
16
- else {
17
- delete metadata.isArray;
18
- metadata.type = metadata.type || designType;
19
- }
20
- const fields = Reflect.getOwnMetadata(COMPLEXTYPE_FIELDS, target.constructor) || {};
21
- fields[propertyKey] = metadata;
22
- Reflect.defineMetadata(COMPLEXTYPE_FIELDS, fields, target.constructor);
23
- };
24
- }
@@ -1,8 +0,0 @@
1
- import { ICreateResolverMetadata, IDeleteManyResolverMetadata, IDeleteResolverMetadata, IGetResolverMetadata, ISearchResolverMetadata, IUpdateManyResolverMetadata, IUpdateResolverMetadata } from '../interfaces/resource.metadata.js';
2
- export declare function OprCreateResolver(options?: ICreateResolverMetadata): (target: Object, propertyKey: 'create') => void;
3
- export declare function OprDeleteResolver(options?: IDeleteResolverMetadata): (target: Object, propertyKey: 'delete') => void;
4
- export declare function OprDeleteManyResolver(options?: IDeleteManyResolverMetadata): (target: Object, propertyKey: 'deleteMany') => void;
5
- export declare function OprUpdateResolver(options?: IUpdateResolverMetadata): (target: Object, propertyKey: 'update') => void;
6
- export declare function OprUpdateManyResolver(options?: IUpdateManyResolverMetadata): (target: Object, propertyKey: 'updateMany') => void;
7
- export declare function OprGetResolver(options?: IGetResolverMetadata): (target: Object, propertyKey: 'get') => void;
8
- export declare function OprSearchResolver(options?: ISearchResolverMetadata): (target: Object, propertyKey: 'search') => void;
@@ -1,71 +0,0 @@
1
- import { RESOLVER_METADATA } from '../constants.js';
2
- export function OprCreateResolver(options) {
3
- return (target, propertyKey) => {
4
- if (propertyKey !== 'create')
5
- throw new TypeError('This decorator can only be applied for the "create" property');
6
- const metadata = {
7
- ...options
8
- };
9
- Reflect.defineMetadata(RESOLVER_METADATA, metadata, target, propertyKey);
10
- };
11
- }
12
- export function OprDeleteResolver(options) {
13
- return (target, propertyKey) => {
14
- if (propertyKey !== 'delete')
15
- throw new TypeError('This decorator can only be applied for the "delete" property');
16
- const metadata = {
17
- ...options
18
- };
19
- Reflect.defineMetadata(RESOLVER_METADATA, metadata, target, propertyKey);
20
- };
21
- }
22
- export function OprDeleteManyResolver(options) {
23
- return (target, propertyKey) => {
24
- if (propertyKey !== 'deleteMany')
25
- throw new TypeError('This decorator can only be applied for the "deleteMany" property');
26
- const metadata = {
27
- ...options
28
- };
29
- Reflect.defineMetadata(RESOLVER_METADATA, metadata, target, propertyKey);
30
- };
31
- }
32
- export function OprUpdateResolver(options) {
33
- return (target, propertyKey) => {
34
- if (propertyKey !== 'update')
35
- throw new TypeError('This decorator can only be applied for the "update" property');
36
- const metadata = {
37
- ...options
38
- };
39
- Reflect.defineMetadata(RESOLVER_METADATA, metadata, target, propertyKey);
40
- };
41
- }
42
- export function OprUpdateManyResolver(options) {
43
- return (target, propertyKey) => {
44
- if (propertyKey !== 'updateMany')
45
- throw new TypeError('This decorator can only be applied for the "updateMany" property');
46
- const metadata = {
47
- ...options
48
- };
49
- Reflect.defineMetadata(RESOLVER_METADATA, metadata, target, propertyKey);
50
- };
51
- }
52
- export function OprGetResolver(options) {
53
- return (target, propertyKey) => {
54
- if (propertyKey !== 'get')
55
- throw new TypeError('This decorator can only be applied for the "get" property');
56
- const metadata = {
57
- ...options
58
- };
59
- Reflect.defineMetadata(RESOLVER_METADATA, metadata, target, propertyKey);
60
- };
61
- }
62
- export function OprSearchResolver(options) {
63
- return (target, propertyKey) => {
64
- if (propertyKey !== 'search')
65
- throw new TypeError('This decorator can only be applied for the "search" property');
66
- const metadata = {
67
- ...options
68
- };
69
- Reflect.defineMetadata(RESOLVER_METADATA, metadata, target, propertyKey);
70
- };
71
- }
@@ -1,6 +0,0 @@
1
- import { StrictOmit } from 'ts-gems';
2
- import { SimpleTypeMetadata } from '../interfaces/data-type.metadata.js';
3
- export type SimpleTypeDecoratorOptions = Partial<StrictOmit<SimpleTypeMetadata, 'name' | 'kind'>> & {
4
- name?: string;
5
- };
6
- export declare function OprSimpleType(options?: SimpleTypeDecoratorOptions): ClassDecorator;
@@ -1,14 +0,0 @@
1
- import omit from 'lodash.omit';
2
- import { DATATYPE_METADATA } from '../constants.js';
3
- const NAME_PATTERN = /^(.*)Type$/;
4
- export function OprSimpleType(options) {
5
- return (target) => {
6
- const name = options?.name || target.name.match(NAME_PATTERN)?.[1] || target.name;
7
- const meta = {
8
- kind: 'SimpleType',
9
- name
10
- };
11
- Object.assign(meta, omit(options, Object.keys(meta)));
12
- Reflect.defineMetadata(DATATYPE_METADATA, meta, target);
13
- };
14
- }
@@ -1,8 +0,0 @@
1
- import "reflect-metadata";
2
- import { StrictOmit } from 'ts-gems';
3
- import { SingletonResourceMetadata } from '../interfaces/resource.metadata.js';
4
- import { TypeThunkAsync } from '../types.js';
5
- export type SingletonResourceOptions = StrictOmit<SingletonResourceMetadata, 'name' | 'kind' | 'type' | 'instance' | 'create' | 'get' | 'update' | 'delete'> & {
6
- name?: string;
7
- };
8
- export declare function OprSingletonResource(type: TypeThunkAsync | string, options?: SingletonResourceOptions): (target: Function) => void;
@@ -1,19 +0,0 @@
1
- import "reflect-metadata";
2
- import omit from 'lodash.omit';
3
- import { RESOURCE_METADATA } from '../constants.js';
4
- const NESTJS_INJECTABLE_WATERMARK = '__injectable__';
5
- const NAME_PATTERN = /^(.*)Resource$/;
6
- export function OprSingletonResource(type, options) {
7
- return function (target) {
8
- const name = options?.name || target.name.match(NAME_PATTERN)?.[1] || target.name;
9
- const meta = {
10
- kind: 'SingletonResource',
11
- type,
12
- name
13
- };
14
- Object.assign(meta, omit(options, Object.keys(meta)));
15
- Reflect.defineMetadata(RESOURCE_METADATA, meta, target);
16
- /* Define Injectable metadata for NestJS support*/
17
- Reflect.defineMetadata(NESTJS_INJECTABLE_WATERMARK, true, target);
18
- };
19
- }
@@ -1,2 +0,0 @@
1
- import { OpraSchema } from '../../../opra-schema.definition.js';
2
- export declare const AnyType: OpraSchema.UnionType;
@@ -1,6 +0,0 @@
1
- export const AnyType = {
2
- kind: 'UnionType',
3
- description: 'Any value',
4
- ctor: Object,
5
- types: []
6
- };
@@ -1,2 +0,0 @@
1
- import { OpraSchema } from '../../../opra-schema.definition.js';
2
- export declare const Base64BinaryType: OpraSchema.SimpleType;
@@ -1,12 +0,0 @@
1
- const BufferConstructor = Object.getPrototypeOf(Buffer.from('')).constructor;
2
- export const Base64BinaryType = {
3
- kind: 'SimpleType',
4
- description: 'A stream of bytes, base64 encoded',
5
- ctor: BufferConstructor,
6
- parse(v) {
7
- return Buffer.from(v);
8
- },
9
- serialize(v) {
10
- return Buffer.isBuffer(v) ? v.toString('base64') : undefined;
11
- }
12
- };
@@ -1,2 +0,0 @@
1
- import { OpraSchema } from '../../../opra-schema.definition.js';
2
- export declare const BigIntType: OpraSchema.SimpleType;
@@ -1,12 +0,0 @@
1
- const BigIntConstructor = Object.getPrototypeOf(BigInt(0)).constructor;
2
- export const BigIntType = {
3
- kind: 'SimpleType',
4
- description: 'BigInt number',
5
- ctor: BigIntConstructor,
6
- parse(v) {
7
- return BigInt(v);
8
- },
9
- serialize(v) {
10
- return String(v);
11
- }
12
- };
@@ -1,2 +0,0 @@
1
- import { OpraSchema } from '../../../opra-schema.definition.js';
2
- export declare const BooleanType: OpraSchema.SimpleType;
@@ -1,12 +0,0 @@
1
- import { toBoolean } from 'putil-varhelpers';
2
- export const BooleanType = {
3
- kind: 'SimpleType',
4
- description: 'Simple true/false value',
5
- ctor: Boolean,
6
- parse(v) {
7
- return toBoolean(v);
8
- },
9
- serialize(v) {
10
- return toBoolean(v);
11
- }
12
- };
@@ -1,2 +0,0 @@
1
- import { OpraSchema } from '../../../opra-schema.definition.js';
2
- export declare const DateStringType: OpraSchema.SimpleType;
@@ -1,12 +0,0 @@
1
- import { toString } from 'putil-varhelpers';
2
- export const DateStringType = {
3
- kind: 'SimpleType',
4
- description: 'A date, date-time or partial date in string format',
5
- ctor: String,
6
- parse(v) {
7
- return toString(v);
8
- },
9
- serialize(v) {
10
- return toString(v);
11
- }
12
- };
@@ -1,2 +0,0 @@
1
- import { OpraSchema } from '../../../opra-schema.definition.js';
2
- export declare const DateType: OpraSchema.SimpleType;
@@ -1,12 +0,0 @@
1
- import { toDate } from 'putil-varhelpers';
2
- export const DateType = {
3
- kind: 'SimpleType',
4
- description: 'A date, date-time or partial date',
5
- ctor: String,
6
- parse(v) {
7
- return toDate(v);
8
- },
9
- serialize(v) {
10
- return String(v);
11
- }
12
- };
@@ -1,2 +0,0 @@
1
- import { OpraSchema } from '../../../opra-schema.definition.js';
2
- export declare const GuidType: OpraSchema.SimpleType;
@@ -1,12 +0,0 @@
1
- import { toString } from 'putil-varhelpers';
2
- export const GuidType = {
3
- kind: 'SimpleType',
4
- description: 'A guid value',
5
- ctor: String,
6
- parse(v) {
7
- return toString(v);
8
- },
9
- serialize(v) {
10
- return toString(v);
11
- }
12
- };
@@ -1,2 +0,0 @@
1
- import { OpraSchema } from '../../../opra-schema.definition.js';
2
- export declare const IntegerType: OpraSchema.SimpleType;
@@ -1,12 +0,0 @@
1
- import { toInt } from 'putil-varhelpers';
2
- export const IntegerType = {
3
- kind: 'SimpleType',
4
- description: 'An integer number',
5
- ctor: Number,
6
- parse(v) {
7
- return toInt(v);
8
- },
9
- serialize(v) {
10
- return toInt(v);
11
- }
12
- };
@@ -1,2 +0,0 @@
1
- import { OpraSchema } from '../../../opra-schema.definition.js';
2
- export declare const NumberType: OpraSchema.SimpleType;
@@ -1,12 +0,0 @@
1
- import { toNumber } from 'putil-varhelpers';
2
- export const NumberType = {
3
- kind: 'SimpleType',
4
- description: 'Both Integer as well as Floating-Point numbers',
5
- ctor: Number,
6
- parse(v) {
7
- return toNumber(v);
8
- },
9
- serialize(v) {
10
- return toNumber(v);
11
- }
12
- };
@@ -1,2 +0,0 @@
1
- import { OpraSchema } from '../../../opra-schema.definition.js';
2
- export declare const ObjectType: OpraSchema.ComplexType;
@@ -1,12 +0,0 @@
1
- export const ObjectType = {
2
- kind: 'ComplexType',
3
- description: 'A non modelled object',
4
- ctor: Object,
5
- additionalFields: true,
6
- parse(v) {
7
- return v;
8
- },
9
- serialize(v) {
10
- return v;
11
- }
12
- };
@@ -1,2 +0,0 @@
1
- import { OpraSchema } from '../../../opra-schema.definition.js';
2
- export declare const StringType: OpraSchema.SimpleType;
@@ -1,12 +0,0 @@
1
- import { toString } from 'putil-varhelpers';
2
- export const StringType = {
3
- kind: 'SimpleType',
4
- description: 'A sequence of characters',
5
- ctor: String,
6
- parse(v) {
7
- return toString(v);
8
- },
9
- serialize(v) {
10
- return toString(v);
11
- }
12
- };
@@ -1,4 +0,0 @@
1
- import { ResponsiveMap } from '../../../helpers/responsive-map.js';
2
- import { OpraSchema } from '../../opra-schema.definition.js';
3
- export declare const builtInTypes: ResponsiveMap<string, OpraSchema.DataType>;
4
- export declare const primitiveClasses: Map<Function, string>;
@@ -1,34 +0,0 @@
1
- import { ResponsiveMap } from '../../../helpers/responsive-map.js';
2
- import { AnyType } from './builtin/any.type.js';
3
- import { Base64BinaryType } from './builtin/base64-binary.type.js';
4
- import { BigIntType } from './builtin/bigint.type.js';
5
- import { BooleanType } from './builtin/boolean.type.js';
6
- import { DateType } from './builtin/date.type.js';
7
- import { DateStringType } from './builtin/date-string.type.js';
8
- import { GuidType } from './builtin/guid.type.js';
9
- import { IntegerType } from './builtin/integer.type.js';
10
- import { NumberType } from './builtin/number.type.js';
11
- import { ObjectType } from './builtin/object.type.js';
12
- import { StringType } from './builtin/string.type.js';
13
- const BigIntConstructor = Object.getPrototypeOf(BigInt(0)).constructor;
14
- const BufferConstructor = Object.getPrototypeOf(Buffer.from('')).constructor;
15
- export const builtInTypes = new ResponsiveMap();
16
- builtInTypes.set('any', AnyType);
17
- builtInTypes.set('base64Binary', Base64BinaryType);
18
- builtInTypes.set('bigint', BigIntType);
19
- builtInTypes.set('boolean', BooleanType);
20
- builtInTypes.set('date', DateType);
21
- builtInTypes.set('dateString', DateStringType);
22
- builtInTypes.set('guid', GuidType);
23
- builtInTypes.set('integer', IntegerType);
24
- builtInTypes.set('number', NumberType);
25
- builtInTypes.set('object', ObjectType);
26
- builtInTypes.set('string', StringType);
27
- export const primitiveClasses = new Map();
28
- primitiveClasses.set(Boolean, 'boolean');
29
- primitiveClasses.set(String, 'string');
30
- primitiveClasses.set(Number, 'number');
31
- primitiveClasses.set(Date, 'date');
32
- primitiveClasses.set(BigIntConstructor, 'bigint');
33
- primitiveClasses.set(BufferConstructor, 'base64Binary');
34
- primitiveClasses.set(Object, 'object');