@blueprint-ts/core 4.1.0-beta.2 → 4.1.0-beta.4

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 (514) hide show
  1. package/dist/bulkRequests/BulkRequestEvent.enum.d.ts +4 -0
  2. package/dist/bulkRequests/BulkRequestEvent.enum.js +5 -0
  3. package/dist/bulkRequests/BulkRequestSender.d.ts +31 -0
  4. package/dist/bulkRequests/BulkRequestSender.js +161 -0
  5. package/dist/bulkRequests/BulkRequestWrapper.d.ts +15 -0
  6. package/dist/bulkRequests/BulkRequestWrapper.js +50 -0
  7. package/dist/bulkRequests/index.d.ts +5 -0
  8. package/dist/bulkRequests/index.js +5 -0
  9. package/{src/laravel/pagination/contracts/PaginationResponseBodyContract.ts → dist/laravel/pagination/contracts/PaginationResponseBodyContract.d.ts} +4 -4
  10. package/dist/laravel/pagination/contracts/PaginationResponseBodyContract.js +1 -0
  11. package/dist/laravel/pagination/dataDrivers/RequestDriver.d.ts +10 -0
  12. package/dist/laravel/pagination/dataDrivers/RequestDriver.js +18 -0
  13. package/dist/laravel/pagination/index.d.ts +4 -0
  14. package/dist/laravel/pagination/index.js +2 -0
  15. package/dist/laravel/requests/JsonBaseRequest.d.ts +14 -0
  16. package/dist/laravel/requests/JsonBaseRequest.js +15 -0
  17. package/dist/laravel/requests/PaginationJsonBaseRequest.d.ts +8 -0
  18. package/dist/laravel/requests/PaginationJsonBaseRequest.js +13 -0
  19. package/dist/laravel/requests/index.d.ts +7 -0
  20. package/dist/laravel/requests/index.js +5 -0
  21. package/dist/laravel/requests/responses/JsonResponse.d.ts +5 -0
  22. package/dist/laravel/requests/responses/JsonResponse.js +6 -0
  23. package/dist/laravel/requests/responses/PaginationResponse.d.ts +7 -0
  24. package/dist/laravel/requests/responses/PaginationResponse.js +9 -0
  25. package/dist/pagination/BasePaginator.d.ts +19 -0
  26. package/dist/pagination/BasePaginator.js +65 -0
  27. package/dist/pagination/InfiniteScroller.d.ts +6 -0
  28. package/dist/pagination/InfiniteScroller.js +17 -0
  29. package/dist/pagination/PageAwarePaginator.d.ts +32 -0
  30. package/dist/pagination/PageAwarePaginator.js +86 -0
  31. package/dist/pagination/StatePaginator.d.ts +25 -0
  32. package/dist/pagination/StatePaginator.js +55 -0
  33. package/dist/pagination/contracts/BaseViewDriverContract.d.ts +6 -0
  34. package/dist/pagination/contracts/BaseViewDriverContract.js +1 -0
  35. package/{src/pagination/contracts/BaseViewDriverFactoryContract.ts → dist/pagination/contracts/BaseViewDriverFactoryContract.d.ts} +2 -3
  36. package/dist/pagination/contracts/BaseViewDriverFactoryContract.js +1 -0
  37. package/dist/pagination/contracts/PaginateableRequestContract.d.ts +4 -0
  38. package/dist/pagination/contracts/PaginateableRequestContract.js +1 -0
  39. package/dist/pagination/contracts/PaginationDataDriverContract.d.ts +4 -0
  40. package/dist/pagination/contracts/PaginationDataDriverContract.js +1 -0
  41. package/{src/pagination/contracts/PaginationResponseContract.ts → dist/pagination/contracts/PaginationResponseContract.d.ts} +3 -5
  42. package/dist/pagination/contracts/PaginationResponseContract.js +1 -0
  43. package/{src/pagination/contracts/PaginatorLoadDataOptions.ts → dist/pagination/contracts/PaginatorLoadDataOptions.d.ts} +2 -2
  44. package/dist/pagination/contracts/PaginatorLoadDataOptions.js +1 -0
  45. package/{src/pagination/contracts/StatePaginationDataDriverContract.ts → dist/pagination/contracts/StatePaginationDataDriverContract.d.ts} +2 -3
  46. package/dist/pagination/contracts/StatePaginationDataDriverContract.js +1 -0
  47. package/dist/pagination/contracts/ViewDriverContract.d.ts +9 -0
  48. package/dist/pagination/contracts/ViewDriverContract.js +1 -0
  49. package/dist/pagination/contracts/ViewDriverFactoryContract.d.ts +4 -0
  50. package/dist/pagination/contracts/ViewDriverFactoryContract.js +1 -0
  51. package/dist/pagination/dataDrivers/ArrayDriver.d.ts +9 -0
  52. package/dist/pagination/dataDrivers/ArrayDriver.js +20 -0
  53. package/dist/pagination/dtos/PaginationDataDto.d.ts +7 -0
  54. package/dist/pagination/dtos/PaginationDataDto.js +12 -0
  55. package/dist/pagination/dtos/StatePaginationDataDto.d.ts +7 -0
  56. package/dist/pagination/dtos/StatePaginationDataDto.js +13 -0
  57. package/dist/pagination/factories/VueBaseViewDriverFactory.d.ts +5 -0
  58. package/dist/pagination/factories/VueBaseViewDriverFactory.js +6 -0
  59. package/dist/pagination/factories/VuePaginationDriverFactory.d.ts +5 -0
  60. package/dist/pagination/factories/VuePaginationDriverFactory.js +6 -0
  61. package/dist/pagination/frontendDrivers/VueBaseViewDriver.d.ts +11 -0
  62. package/dist/pagination/frontendDrivers/VueBaseViewDriver.js +19 -0
  63. package/dist/pagination/frontendDrivers/VuePaginationDriver.d.ts +21 -0
  64. package/dist/pagination/frontendDrivers/VuePaginationDriver.js +41 -0
  65. package/dist/pagination/index.d.ts +22 -0
  66. package/dist/pagination/index.js +13 -0
  67. package/dist/persistenceDrivers/LocalStorageDriver.d.ts +9 -0
  68. package/dist/persistenceDrivers/LocalStorageDriver.js +18 -0
  69. package/dist/persistenceDrivers/NonPersistentDriver.d.ts +7 -0
  70. package/dist/persistenceDrivers/NonPersistentDriver.js +8 -0
  71. package/dist/persistenceDrivers/SessionStorageDriver.d.ts +9 -0
  72. package/dist/persistenceDrivers/SessionStorageDriver.js +18 -0
  73. package/dist/persistenceDrivers/index.d.ts +6 -0
  74. package/dist/persistenceDrivers/index.js +4 -0
  75. package/dist/persistenceDrivers/types/PersistenceDriver.d.ts +5 -0
  76. package/dist/persistenceDrivers/types/PersistenceDriver.js +1 -0
  77. package/dist/requests/BaseRequest.d.ts +71 -0
  78. package/dist/requests/BaseRequest.js +239 -0
  79. package/dist/requests/ErrorHandler.d.ts +11 -0
  80. package/dist/requests/ErrorHandler.js +127 -0
  81. package/dist/requests/RequestConcurrencyMode.enum.d.ts +6 -0
  82. package/dist/requests/RequestConcurrencyMode.enum.js +7 -0
  83. package/dist/requests/RequestErrorRouter.d.ts +38 -0
  84. package/dist/requests/RequestErrorRouter.js +38 -0
  85. package/dist/requests/RequestEvents.enum.d.ts +4 -0
  86. package/dist/requests/RequestEvents.enum.js +5 -0
  87. package/dist/requests/RequestMethod.enum.d.ts +8 -0
  88. package/dist/requests/RequestMethod.enum.js +9 -0
  89. package/dist/requests/bodies/BinaryBody.d.ts +10 -0
  90. package/dist/requests/bodies/BinaryBody.js +22 -0
  91. package/dist/requests/bodies/FormDataBody.d.ts +14 -0
  92. package/dist/requests/bodies/FormDataBody.js +60 -0
  93. package/dist/requests/bodies/JsonBody.d.ts +8 -0
  94. package/dist/requests/bodies/JsonBody.js +13 -0
  95. package/{src/requests/contracts/AbortableRequestContract.ts → dist/requests/contracts/AbortableRequestContract.d.ts} +1 -1
  96. package/dist/requests/contracts/AbortableRequestContract.js +1 -0
  97. package/dist/requests/contracts/BaseRequestContract.d.ts +33 -0
  98. package/dist/requests/contracts/BaseRequestContract.js +1 -0
  99. package/dist/requests/contracts/BodyContract.d.ts +6 -0
  100. package/dist/requests/contracts/BodyContract.js +1 -0
  101. package/dist/requests/contracts/BodyFactoryContract.d.ts +4 -0
  102. package/dist/requests/contracts/BodyFactoryContract.js +1 -0
  103. package/dist/requests/contracts/DriverConfigContract.d.ts +8 -0
  104. package/dist/requests/contracts/DriverConfigContract.js +1 -0
  105. package/dist/requests/contracts/HeadersContract.d.ts +7 -0
  106. package/dist/requests/contracts/HeadersContract.js +1 -0
  107. package/dist/requests/contracts/RequestDriverContract.d.ts +8 -0
  108. package/dist/requests/contracts/RequestDriverContract.js +1 -0
  109. package/dist/requests/contracts/RequestLoaderContract.d.ts +4 -0
  110. package/dist/requests/contracts/RequestLoaderContract.js +1 -0
  111. package/{src/requests/contracts/RequestLoaderFactoryContract.ts → dist/requests/contracts/RequestLoaderFactoryContract.d.ts} +2 -3
  112. package/dist/requests/contracts/RequestLoaderFactoryContract.js +1 -0
  113. package/dist/requests/contracts/ResponseContract.d.ts +5 -0
  114. package/dist/requests/contracts/ResponseContract.js +1 -0
  115. package/dist/requests/drivers/contracts/ResponseHandlerContract.d.ts +9 -0
  116. package/dist/requests/drivers/contracts/ResponseHandlerContract.js +1 -0
  117. package/dist/requests/drivers/fetch/FetchDriver.d.ts +26 -0
  118. package/dist/requests/drivers/fetch/FetchDriver.js +73 -0
  119. package/dist/requests/drivers/fetch/FetchResponse.d.ts +12 -0
  120. package/dist/requests/drivers/fetch/FetchResponse.js +38 -0
  121. package/dist/requests/drivers/xhr/XMLHttpRequestDriver.d.ts +13 -0
  122. package/dist/requests/drivers/xhr/XMLHttpRequestDriver.js +107 -0
  123. package/dist/requests/drivers/xhr/XMLHttpRequestResponse.d.ts +17 -0
  124. package/dist/requests/drivers/xhr/XMLHttpRequestResponse.js +84 -0
  125. package/dist/requests/exceptions/BadGatewayException.d.ts +3 -0
  126. package/dist/requests/exceptions/BadGatewayException.js +3 -0
  127. package/dist/requests/exceptions/BadRequestException.d.ts +3 -0
  128. package/dist/requests/exceptions/BadRequestException.js +3 -0
  129. package/dist/requests/exceptions/ConflictException.d.ts +3 -0
  130. package/dist/requests/exceptions/ConflictException.js +3 -0
  131. package/dist/requests/exceptions/ForbiddenException.d.ts +3 -0
  132. package/dist/requests/exceptions/ForbiddenException.js +3 -0
  133. package/dist/requests/exceptions/GatewayTimeoutException.d.ts +3 -0
  134. package/dist/requests/exceptions/GatewayTimeoutException.js +3 -0
  135. package/dist/requests/exceptions/GoneException.d.ts +3 -0
  136. package/dist/requests/exceptions/GoneException.js +3 -0
  137. package/dist/requests/exceptions/InvalidJsonException.d.ts +7 -0
  138. package/dist/requests/exceptions/InvalidJsonException.js +10 -0
  139. package/dist/requests/exceptions/LockedException.d.ts +3 -0
  140. package/dist/requests/exceptions/LockedException.js +3 -0
  141. package/dist/requests/exceptions/MethodNotAllowedException.d.ts +3 -0
  142. package/dist/requests/exceptions/MethodNotAllowedException.js +3 -0
  143. package/dist/requests/exceptions/NoResponseReceivedException.d.ts +3 -0
  144. package/{src/requests/exceptions/NoResponseReceivedException.ts → dist/requests/exceptions/NoResponseReceivedException.js} +3 -3
  145. package/dist/requests/exceptions/NotFoundException.d.ts +3 -0
  146. package/dist/requests/exceptions/NotFoundException.js +3 -0
  147. package/dist/requests/exceptions/NotImplementedException.d.ts +3 -0
  148. package/dist/requests/exceptions/NotImplementedException.js +3 -0
  149. package/dist/requests/exceptions/PageExpiredException.d.ts +3 -0
  150. package/dist/requests/exceptions/PageExpiredException.js +3 -0
  151. package/dist/requests/exceptions/PayloadTooLargeException.d.ts +3 -0
  152. package/dist/requests/exceptions/PayloadTooLargeException.js +3 -0
  153. package/dist/requests/exceptions/PreconditionFailedException.d.ts +3 -0
  154. package/dist/requests/exceptions/PreconditionFailedException.js +3 -0
  155. package/dist/requests/exceptions/RequestTimeoutException.d.ts +3 -0
  156. package/dist/requests/exceptions/RequestTimeoutException.js +3 -0
  157. package/dist/requests/exceptions/ResponseBodyException.d.ts +7 -0
  158. package/dist/requests/exceptions/ResponseBodyException.js +10 -0
  159. package/dist/requests/exceptions/ResponseException.d.ts +6 -0
  160. package/dist/requests/exceptions/ResponseException.js +9 -0
  161. package/dist/requests/exceptions/ServerErrorException.d.ts +3 -0
  162. package/dist/requests/exceptions/ServerErrorException.js +3 -0
  163. package/dist/requests/exceptions/ServiceUnavailableException.d.ts +3 -0
  164. package/dist/requests/exceptions/ServiceUnavailableException.js +3 -0
  165. package/dist/requests/exceptions/StaleResponseException.d.ts +5 -0
  166. package/dist/requests/exceptions/StaleResponseException.js +10 -0
  167. package/dist/requests/exceptions/TooManyRequestsException.d.ts +3 -0
  168. package/dist/requests/exceptions/TooManyRequestsException.js +3 -0
  169. package/dist/requests/exceptions/UnauthorizedException.d.ts +3 -0
  170. package/dist/requests/exceptions/UnauthorizedException.js +3 -0
  171. package/dist/requests/exceptions/UnsupportedMediaTypeException.d.ts +3 -0
  172. package/dist/requests/exceptions/UnsupportedMediaTypeException.js +3 -0
  173. package/dist/requests/exceptions/ValidationException.d.ts +3 -0
  174. package/dist/requests/exceptions/ValidationException.js +3 -0
  175. package/dist/requests/exceptions/index.d.ts +25 -0
  176. package/dist/requests/exceptions/index.js +25 -0
  177. package/dist/requests/factories/BinaryBodyFactory.d.ts +8 -0
  178. package/dist/requests/factories/BinaryBodyFactory.js +9 -0
  179. package/dist/requests/factories/FormDataFactory.d.ts +12 -0
  180. package/dist/requests/factories/FormDataFactory.js +6 -0
  181. package/dist/requests/factories/JsonBodyFactory.d.ts +5 -0
  182. package/dist/requests/factories/JsonBodyFactory.js +6 -0
  183. package/dist/requests/index.d.ts +31 -0
  184. package/dist/requests/index.js +19 -0
  185. package/dist/requests/responses/BaseResponse.d.ts +14 -0
  186. package/dist/requests/responses/BaseResponse.js +36 -0
  187. package/dist/requests/responses/BlobResponse.d.ts +7 -0
  188. package/dist/requests/responses/BlobResponse.js +16 -0
  189. package/dist/requests/responses/JsonResponse.d.ts +5 -0
  190. package/dist/requests/responses/JsonResponse.js +12 -0
  191. package/dist/requests/responses/PlainTextResponse.d.ts +5 -0
  192. package/dist/requests/responses/PlainTextResponse.js +12 -0
  193. package/{src/requests/types/RequestConcurrencyOptions.ts → dist/requests/types/RequestConcurrencyOptions.d.ts} +4 -5
  194. package/dist/requests/types/RequestConcurrencyOptions.js +1 -0
  195. package/dist/requests/types/RequestUploadProgress.d.ts +6 -0
  196. package/dist/requests/types/RequestUploadProgress.js +1 -0
  197. package/dist/support/DeferredPromise.d.ts +37 -0
  198. package/dist/support/DeferredPromise.js +55 -0
  199. package/dist/support/helpers.d.ts +5 -0
  200. package/dist/support/helpers.js +69 -0
  201. package/{src/support/index.ts → dist/support/index.d.ts} +3 -4
  202. package/dist/support/index.js +3 -0
  203. package/dist/vue/composables/useConfirmDialog.d.ts +20 -0
  204. package/dist/vue/composables/useConfirmDialog.js +52 -0
  205. package/dist/vue/composables/useGlobalCheckbox.d.ts +13 -0
  206. package/dist/vue/composables/useGlobalCheckbox.js +123 -0
  207. package/dist/vue/composables/useIsEmpty.d.ts +4 -0
  208. package/dist/vue/composables/useIsEmpty.js +27 -0
  209. package/dist/vue/composables/useIsOpen.d.ts +5 -0
  210. package/dist/vue/composables/useIsOpen.js +25 -0
  211. package/dist/vue/composables/useIsOpenFromVar.d.ts +6 -0
  212. package/dist/vue/composables/useIsOpenFromVar.js +45 -0
  213. package/dist/vue/composables/useModelWrapper.d.ts +9 -0
  214. package/dist/vue/composables/useModelWrapper.js +18 -0
  215. package/dist/vue/composables/useOnOpen.d.ts +7 -0
  216. package/dist/vue/composables/useOnOpen.js +25 -0
  217. package/{src/vue/contracts/ModelValueOptions.ts → dist/vue/contracts/ModelValueOptions.d.ts} +1 -1
  218. package/dist/vue/contracts/ModelValueOptions.js +1 -0
  219. package/dist/vue/contracts/ModelValueProps.d.ts +3 -0
  220. package/dist/vue/contracts/ModelValueProps.js +1 -0
  221. package/dist/vue/forms/BaseForm.d.ts +224 -0
  222. package/dist/vue/forms/BaseForm.js +1569 -0
  223. package/dist/vue/forms/PropertyAwareArray.d.ts +54 -0
  224. package/dist/vue/forms/PropertyAwareArray.js +54 -0
  225. package/dist/vue/forms/PropertyAwareObject.d.ts +13 -0
  226. package/dist/vue/forms/PropertyAwareObject.js +18 -0
  227. package/dist/vue/forms/index.d.ts +10 -0
  228. package/dist/vue/forms/index.js +7 -0
  229. package/dist/vue/forms/types/PersistedForm.d.ts +6 -0
  230. package/dist/vue/forms/types/PersistedForm.js +1 -0
  231. package/dist/vue/forms/validation/ValidationMode.enum.d.ts +11 -0
  232. package/dist/vue/forms/validation/ValidationMode.enum.js +14 -0
  233. package/dist/vue/forms/validation/index.d.ts +13 -0
  234. package/dist/vue/forms/validation/index.js +10 -0
  235. package/dist/vue/forms/validation/rules/BaseRule.d.ts +12 -0
  236. package/dist/vue/forms/validation/rules/BaseRule.js +24 -0
  237. package/dist/vue/forms/validation/rules/ConfirmedRule.d.ts +10 -0
  238. package/dist/vue/forms/validation/rules/ConfirmedRule.js +26 -0
  239. package/dist/vue/forms/validation/rules/EmailRule.d.ts +7 -0
  240. package/dist/vue/forms/validation/rules/EmailRule.js +19 -0
  241. package/dist/vue/forms/validation/rules/JsonRule.d.ts +7 -0
  242. package/dist/vue/forms/validation/rules/JsonRule.js +25 -0
  243. package/dist/vue/forms/validation/rules/MinRule.d.ts +26 -0
  244. package/dist/vue/forms/validation/rules/MinRule.js +52 -0
  245. package/dist/vue/forms/validation/rules/PrecognitiveRule.d.ts +22 -0
  246. package/dist/vue/forms/validation/rules/PrecognitiveRule.js +58 -0
  247. package/dist/vue/forms/validation/rules/RequiredRule.d.ts +7 -0
  248. package/dist/vue/forms/validation/rules/RequiredRule.js +16 -0
  249. package/dist/vue/forms/validation/rules/UrlRule.d.ts +7 -0
  250. package/dist/vue/forms/validation/rules/UrlRule.js +22 -0
  251. package/{src/vue/forms/validation/types/BidirectionalRule.ts → dist/vue/forms/validation/types/BidirectionalRule.d.ts} +4 -4
  252. package/dist/vue/forms/validation/types/BidirectionalRule.js +1 -0
  253. package/dist/vue/forms/validation/types/ValidationRules.d.ts +14 -0
  254. package/dist/vue/forms/validation/types/ValidationRules.js +1 -0
  255. package/dist/vue/index.d.ts +11 -0
  256. package/dist/vue/index.js +10 -0
  257. package/dist/vue/requests/factories/VueRequestLoaderFactory.d.ts +6 -0
  258. package/dist/vue/requests/factories/VueRequestLoaderFactory.js +6 -0
  259. package/{src/vue/requests/index.ts → dist/vue/requests/index.d.ts} +4 -5
  260. package/dist/vue/requests/index.js +4 -0
  261. package/dist/vue/requests/loaders/VueRequestBatchLoader.d.ts +12 -0
  262. package/dist/vue/requests/loaders/VueRequestBatchLoader.js +29 -0
  263. package/dist/vue/requests/loaders/VueRequestLoader.d.ts +8 -0
  264. package/dist/vue/requests/loaders/VueRequestLoader.js +12 -0
  265. package/dist/vue/router/routeResourceBinding/RouteResourceBoundView.d.ts +57 -0
  266. package/dist/vue/router/routeResourceBinding/RouteResourceBoundView.js +135 -0
  267. package/dist/vue/router/routeResourceBinding/RouteResourceRequestResolver.d.ts +6 -0
  268. package/dist/vue/router/routeResourceBinding/RouteResourceRequestResolver.js +20 -0
  269. package/dist/vue/router/routeResourceBinding/defineRoute.d.ts +23 -0
  270. package/dist/vue/router/routeResourceBinding/defineRoute.js +42 -0
  271. package/dist/vue/router/routeResourceBinding/index.d.ts +8 -0
  272. package/dist/vue/router/routeResourceBinding/index.js +6 -0
  273. package/dist/vue/router/routeResourceBinding/installRouteInjection.d.ts +14 -0
  274. package/dist/vue/router/routeResourceBinding/installRouteInjection.js +133 -0
  275. package/dist/vue/router/routeResourceBinding/types.d.ts +55 -0
  276. package/dist/vue/router/routeResourceBinding/types.js +1 -0
  277. package/dist/vue/router/routeResourceBinding/useRouteResource.d.ts +8 -0
  278. package/dist/vue/router/routeResourceBinding/useRouteResource.js +29 -0
  279. package/dist/vue/state/State.d.ts +75 -0
  280. package/dist/vue/state/State.js +267 -0
  281. package/dist/vue/state/index.d.ts +2 -0
  282. package/dist/vue/state/index.js +2 -0
  283. package/package.json +81 -23
  284. package/.editorconfig +0 -508
  285. package/.eslintrc.cjs +0 -15
  286. package/.prettierrc.json +0 -8
  287. package/CHANGELOG.md +0 -226
  288. package/docker-compose.yaml +0 -8
  289. package/docs/.vitepress/config.ts +0 -124
  290. package/docs/index.md +0 -13
  291. package/docs/laravel/pagination.md +0 -67
  292. package/docs/laravel/requests.md +0 -62
  293. package/docs/services/pagination/index.md +0 -46
  294. package/docs/services/pagination/infinite-scroller.md +0 -20
  295. package/docs/services/pagination/page-aware.md +0 -51
  296. package/docs/services/pagination/state-pagination.md +0 -77
  297. package/docs/services/pagination/updating-rows.md +0 -52
  298. package/docs/services/persistence/index.md +0 -46
  299. package/docs/services/requests/abort-requests.md +0 -29
  300. package/docs/services/requests/bulk-requests.md +0 -70
  301. package/docs/services/requests/concurrency.md +0 -58
  302. package/docs/services/requests/drivers.md +0 -115
  303. package/docs/services/requests/error-handling.md +0 -153
  304. package/docs/services/requests/events.md +0 -53
  305. package/docs/services/requests/file-uploads.md +0 -168
  306. package/docs/services/requests/getting-started.md +0 -201
  307. package/docs/services/requests/headers.md +0 -40
  308. package/docs/services/requests/loading.md +0 -63
  309. package/docs/services/requests/request-bodies.md +0 -89
  310. package/docs/services/requests/responses.md +0 -34
  311. package/docs/services/support/deferred-promise.md +0 -63
  312. package/docs/services/support/helpers.md +0 -77
  313. package/docs/services/support/index.md +0 -6
  314. package/docs/upgrading/v1-to-v2.md +0 -64
  315. package/docs/upgrading/v2-to-v3.md +0 -52
  316. package/docs/upgrading/v3-to-v4.md +0 -214
  317. package/docs/upgrading.md +0 -0
  318. package/docs/vue/composables/use-confirm-dialog.md +0 -96
  319. package/docs/vue/composables/use-global-checkbox.md +0 -73
  320. package/docs/vue/composables/use-is-empty.md +0 -26
  321. package/docs/vue/composables/use-is-open-from-var.md +0 -32
  322. package/docs/vue/composables/use-is-open.md +0 -28
  323. package/docs/vue/composables/use-model-wrapper.md +0 -29
  324. package/docs/vue/composables/use-on-open.md +0 -26
  325. package/docs/vue/forms/arrays.md +0 -102
  326. package/docs/vue/forms/errors.md +0 -52
  327. package/docs/vue/forms/index.md +0 -99
  328. package/docs/vue/forms/payloads.md +0 -99
  329. package/docs/vue/forms/persistence.md +0 -19
  330. package/docs/vue/forms/state-and-properties.md +0 -26
  331. package/docs/vue/forms/utilities.md +0 -27
  332. package/docs/vue/forms/validation.md +0 -189
  333. package/docs/vue/requests/loading.md +0 -51
  334. package/docs/vue/router/route-resource-binding.md +0 -240
  335. package/docs/vue/state.md +0 -309
  336. package/env.d.ts +0 -1
  337. package/eslint.config.js +0 -15
  338. package/release-tool.json +0 -26
  339. package/src/bulkRequests/BulkRequestEvent.enum.ts +0 -4
  340. package/src/bulkRequests/BulkRequestSender.ts +0 -196
  341. package/src/bulkRequests/BulkRequestWrapper.ts +0 -49
  342. package/src/bulkRequests/index.ts +0 -6
  343. package/src/laravel/pagination/dataDrivers/RequestDriver.ts +0 -30
  344. package/src/laravel/pagination/index.ts +0 -6
  345. package/src/laravel/requests/JsonBaseRequest.ts +0 -35
  346. package/src/laravel/requests/PaginationJsonBaseRequest.ts +0 -29
  347. package/src/laravel/requests/index.ts +0 -9
  348. package/src/laravel/requests/responses/JsonResponse.ts +0 -8
  349. package/src/laravel/requests/responses/PaginationResponse.ts +0 -16
  350. package/src/pagination/BasePaginator.ts +0 -94
  351. package/src/pagination/InfiniteScroller.ts +0 -22
  352. package/src/pagination/PageAwarePaginator.ts +0 -132
  353. package/src/pagination/StatePaginator.ts +0 -86
  354. package/src/pagination/contracts/BaseViewDriverContract.ts +0 -6
  355. package/src/pagination/contracts/PaginateableRequestContract.ts +0 -13
  356. package/src/pagination/contracts/PaginationDataDriverContract.ts +0 -5
  357. package/src/pagination/contracts/ViewDriverContract.ts +0 -10
  358. package/src/pagination/contracts/ViewDriverFactoryContract.ts +0 -5
  359. package/src/pagination/dataDrivers/ArrayDriver.ts +0 -28
  360. package/src/pagination/dtos/PaginationDataDto.ts +0 -14
  361. package/src/pagination/dtos/StatePaginationDataDto.ts +0 -19
  362. package/src/pagination/factories/VueBaseViewDriverFactory.ts +0 -9
  363. package/src/pagination/factories/VuePaginationDriverFactory.ts +0 -9
  364. package/src/pagination/frontendDrivers/VueBaseViewDriver.ts +0 -28
  365. package/src/pagination/frontendDrivers/VuePaginationDriver.ts +0 -61
  366. package/src/pagination/index.ts +0 -46
  367. package/src/persistenceDrivers/LocalStorageDriver.ts +0 -22
  368. package/src/persistenceDrivers/NonPersistentDriver.ts +0 -12
  369. package/src/persistenceDrivers/SessionStorageDriver.ts +0 -22
  370. package/src/persistenceDrivers/index.ts +0 -8
  371. package/src/persistenceDrivers/types/PersistenceDriver.ts +0 -5
  372. package/src/requests/BaseRequest.ts +0 -321
  373. package/src/requests/ErrorHandler.ts +0 -144
  374. package/src/requests/RequestConcurrencyMode.enum.ts +0 -6
  375. package/src/requests/RequestErrorRouter.ts +0 -89
  376. package/src/requests/RequestEvents.enum.ts +0 -4
  377. package/src/requests/RequestMethod.enum.ts +0 -8
  378. package/src/requests/bodies/BinaryBody.ts +0 -31
  379. package/src/requests/bodies/FormDataBody.ts +0 -81
  380. package/src/requests/bodies/JsonBody.ts +0 -16
  381. package/src/requests/contracts/BaseRequestContract.ts +0 -39
  382. package/src/requests/contracts/BodyContract.ts +0 -9
  383. package/src/requests/contracts/BodyFactoryContract.ts +0 -5
  384. package/src/requests/contracts/DriverConfigContract.ts +0 -9
  385. package/src/requests/contracts/HeadersContract.ts +0 -9
  386. package/src/requests/contracts/RequestDriverContract.ts +0 -15
  387. package/src/requests/contracts/RequestLoaderContract.ts +0 -5
  388. package/src/requests/contracts/ResponseContract.ts +0 -7
  389. package/src/requests/drivers/contracts/ResponseHandlerContract.ts +0 -10
  390. package/src/requests/drivers/fetch/FetchDriver.ts +0 -115
  391. package/src/requests/drivers/fetch/FetchResponse.ts +0 -30
  392. package/src/requests/drivers/xhr/XMLHttpRequestDriver.ts +0 -138
  393. package/src/requests/drivers/xhr/XMLHttpRequestResponse.ts +0 -95
  394. package/src/requests/exceptions/BadGatewayException.ts +0 -3
  395. package/src/requests/exceptions/BadRequestException.ts +0 -3
  396. package/src/requests/exceptions/ConflictException.ts +0 -3
  397. package/src/requests/exceptions/ForbiddenException.ts +0 -3
  398. package/src/requests/exceptions/GatewayTimeoutException.ts +0 -3
  399. package/src/requests/exceptions/GoneException.ts +0 -3
  400. package/src/requests/exceptions/InvalidJsonException.ts +0 -15
  401. package/src/requests/exceptions/LockedException.ts +0 -3
  402. package/src/requests/exceptions/MethodNotAllowedException.ts +0 -3
  403. package/src/requests/exceptions/NotFoundException.ts +0 -3
  404. package/src/requests/exceptions/NotImplementedException.ts +0 -3
  405. package/src/requests/exceptions/PageExpiredException.ts +0 -3
  406. package/src/requests/exceptions/PayloadTooLargeException.ts +0 -3
  407. package/src/requests/exceptions/PreconditionFailedException.ts +0 -3
  408. package/src/requests/exceptions/RequestTimeoutException.ts +0 -3
  409. package/src/requests/exceptions/ResponseBodyException.ts +0 -15
  410. package/src/requests/exceptions/ResponseException.ts +0 -11
  411. package/src/requests/exceptions/ServerErrorException.ts +0 -3
  412. package/src/requests/exceptions/ServiceUnavailableException.ts +0 -3
  413. package/src/requests/exceptions/StaleResponseException.ts +0 -13
  414. package/src/requests/exceptions/TooManyRequestsException.ts +0 -3
  415. package/src/requests/exceptions/UnauthorizedException.ts +0 -3
  416. package/src/requests/exceptions/UnsupportedMediaTypeException.ts +0 -3
  417. package/src/requests/exceptions/ValidationException.ts +0 -3
  418. package/src/requests/exceptions/index.ts +0 -51
  419. package/src/requests/factories/BinaryBodyFactory.ts +0 -13
  420. package/src/requests/factories/FormDataFactory.ts +0 -17
  421. package/src/requests/factories/JsonBodyFactory.ts +0 -9
  422. package/src/requests/index.ts +0 -68
  423. package/src/requests/responses/BaseResponse.ts +0 -41
  424. package/src/requests/responses/BlobResponse.ts +0 -19
  425. package/src/requests/responses/JsonResponse.ts +0 -15
  426. package/src/requests/responses/PlainTextResponse.ts +0 -15
  427. package/src/requests/types/RequestUploadProgress.ts +0 -6
  428. package/src/support/DeferredPromise.ts +0 -67
  429. package/src/support/helpers.ts +0 -78
  430. package/src/vue/composables/useConfirmDialog.ts +0 -63
  431. package/src/vue/composables/useGlobalCheckbox.ts +0 -145
  432. package/src/vue/composables/useIsEmpty.ts +0 -34
  433. package/src/vue/composables/useIsOpen.ts +0 -37
  434. package/src/vue/composables/useIsOpenFromVar.ts +0 -61
  435. package/src/vue/composables/useModelWrapper.ts +0 -27
  436. package/src/vue/composables/useOnOpen.ts +0 -34
  437. package/src/vue/contracts/ModelValueProps.ts +0 -3
  438. package/src/vue/forms/BaseForm.ts +0 -1192
  439. package/src/vue/forms/PropertyAwareArray.ts +0 -81
  440. package/src/vue/forms/index.ts +0 -11
  441. package/src/vue/forms/types/PersistedForm.ts +0 -6
  442. package/src/vue/forms/validation/ValidationMode.enum.ts +0 -14
  443. package/src/vue/forms/validation/index.ts +0 -15
  444. package/src/vue/forms/validation/rules/BaseRule.ts +0 -7
  445. package/src/vue/forms/validation/rules/ConfirmedRule.ts +0 -39
  446. package/src/vue/forms/validation/rules/EmailRule.ts +0 -23
  447. package/src/vue/forms/validation/rules/JsonRule.ts +0 -28
  448. package/src/vue/forms/validation/rules/MinRule.ts +0 -61
  449. package/src/vue/forms/validation/rules/RequiredRule.ts +0 -19
  450. package/src/vue/forms/validation/rules/UrlRule.ts +0 -24
  451. package/src/vue/forms/validation/types/ValidationRules.ts +0 -15
  452. package/src/vue/index.ts +0 -14
  453. package/src/vue/requests/factories/VueRequestLoaderFactory.ts +0 -10
  454. package/src/vue/requests/loaders/VueRequestBatchLoader.ts +0 -35
  455. package/src/vue/requests/loaders/VueRequestLoader.ts +0 -18
  456. package/src/vue/router/routeResourceBinding/RouteResourceBoundView.ts +0 -145
  457. package/src/vue/router/routeResourceBinding/RouteResourceRequestResolver.ts +0 -11
  458. package/src/vue/router/routeResourceBinding/defineRoute.ts +0 -59
  459. package/src/vue/router/routeResourceBinding/index.ts +0 -11
  460. package/src/vue/router/routeResourceBinding/installRouteInjection.ts +0 -164
  461. package/src/vue/router/routeResourceBinding/types.ts +0 -53
  462. package/src/vue/router/routeResourceBinding/useRouteResource.ts +0 -24
  463. package/src/vue/state/State.ts +0 -380
  464. package/src/vue/state/index.ts +0 -3
  465. package/tests/service/bulkRequests/BulkRequestSender.test.ts +0 -76
  466. package/tests/service/bulkRequests/BulkRequestWrapper.test.ts +0 -51
  467. package/tests/service/helpers/mergeDeep.test.ts +0 -53
  468. package/tests/service/laravel/pagination/dataDrivers/RequestDriver.test.ts +0 -84
  469. package/tests/service/laravel/requests/JsonBaseRequest.test.ts +0 -43
  470. package/tests/service/laravel/requests/PaginationJsonBaseRequest.test.ts +0 -58
  471. package/tests/service/laravel/requests/responses/JsonResponse.test.ts +0 -59
  472. package/tests/service/laravel/requests/responses/PaginationResponse.test.ts +0 -127
  473. package/tests/service/pagination/BasePaginator.test.ts +0 -100
  474. package/tests/service/pagination/InfiniteScroller.test.ts +0 -101
  475. package/tests/service/pagination/PageAwarePaginator.test.ts +0 -133
  476. package/tests/service/pagination/StatePaginator.test.ts +0 -76
  477. package/tests/service/pagination/VueViewDrivers.test.ts +0 -46
  478. package/tests/service/pagination/dtos/PaginationDataDto.test.ts +0 -35
  479. package/tests/service/pagination/dtos/StatePaginationDataDto.test.ts +0 -14
  480. package/tests/service/pagination/factories/VuePaginationDriverFactory.test.ts +0 -32
  481. package/tests/service/pagination/frontendDrivers/VuePaginationDriver.test.ts +0 -66
  482. package/tests/service/persistenceDrivers/PersistenceDrivers.test.ts +0 -56
  483. package/tests/service/requests/BaseRequest.test.ts +0 -250
  484. package/tests/service/requests/BodiesAndFactories.test.ts +0 -52
  485. package/tests/service/requests/Enums.test.ts +0 -20
  486. package/tests/service/requests/ErrorHandler.test.ts +0 -188
  487. package/tests/service/requests/FormDataBody.test.ts +0 -63
  488. package/tests/service/requests/RequestErrorRouter.test.ts +0 -44
  489. package/tests/service/requests/Responses.test.ts +0 -83
  490. package/tests/service/requests/exceptions/Exceptions.test.ts +0 -43
  491. package/tests/service/requests/fetch/FetchDriver.test.ts +0 -94
  492. package/tests/service/requests/fetch/FetchResponse.test.ts +0 -21
  493. package/tests/service/requests/xhr/XMLHttpRequestDriver.test.ts +0 -197
  494. package/tests/service/support/DeferredPromise.test.ts +0 -40
  495. package/tests/service/support/helpers.test.ts +0 -37
  496. package/tests/vue/composables/useConfirmDialog.test.ts +0 -77
  497. package/tests/vue/composables/useGlobalCheckbox.test.ts +0 -126
  498. package/tests/vue/composables/useIsEmpty.test.ts +0 -18
  499. package/tests/vue/composables/useIsOpen.test.ts +0 -25
  500. package/tests/vue/composables/useIsOpenFromVar.test.ts +0 -22
  501. package/tests/vue/composables/useModelWrapper.test.ts +0 -30
  502. package/tests/vue/composables/useOnOpen.test.ts +0 -26
  503. package/tests/vue/forms/BaseForm.behavior.test.ts +0 -98
  504. package/tests/vue/forms/BaseForm.transformers.test.ts +0 -109
  505. package/tests/vue/forms/PropertyAwareArray.test.ts +0 -30
  506. package/tests/vue/forms/validation/ValidationRules.test.ts +0 -79
  507. package/tests/vue/requests/VueRequestLoaders.test.ts +0 -48
  508. package/tests/vue/router/routeResourceBinding/RouteResourceBoundView.test.ts +0 -344
  509. package/tests/vue/router/routeResourceBinding/RouteResourceUtils.test.ts +0 -70
  510. package/tests/vue/router/routeResourceBinding/installRouteInjection.test.ts +0 -450
  511. package/tests/vue/state/State.test.ts +0 -151
  512. package/tsconfig.json +0 -114
  513. package/vite.config.ts +0 -34
  514. package/vitest.config.ts +0 -23
@@ -0,0 +1,60 @@
1
+ import { isObject } from '../../support/helpers';
2
+ export class FormDataBody {
3
+ constructor(data) {
4
+ this.data = this.toFormData(data);
5
+ }
6
+ getContent() {
7
+ return this.data;
8
+ }
9
+ getHeaders() {
10
+ return {};
11
+ }
12
+ toFormData(data, form = new FormData(), namespace = null) {
13
+ for (const property in data) {
14
+ if (Object.prototype.hasOwnProperty.call(data, property)) {
15
+ const formKey = namespace ? namespace + '[' + property + ']' : property;
16
+ const value = data[property];
17
+ // Null is a valid "explicitly empty" value in many APIs.
18
+ // In multipart FormData we encode it as an empty string so the key is still present.
19
+ if (value === null) {
20
+ form.append(formKey, '');
21
+ continue;
22
+ }
23
+ // Undefined values should not reach the request layer (BaseForm omits them).
24
+ // Reject explicitly to avoid silently dropping keys.
25
+ if (value === undefined) {
26
+ throw new Error('Unexpected value');
27
+ }
28
+ if (value instanceof Date) {
29
+ form.append(formKey, value.toISOString());
30
+ continue;
31
+ }
32
+ // Support arrays via bracket notation: key[0], key[1], ...
33
+ if (Array.isArray(value)) {
34
+ for (let i = 0; i < value.length; i++) {
35
+ const indexed = { [String(i)]: value[i] };
36
+ this.toFormData(indexed, form, formKey);
37
+ }
38
+ continue;
39
+ }
40
+ // Files/Blobs should be appended directly (File extends Blob)
41
+ if (typeof Blob !== 'undefined' && value instanceof Blob) {
42
+ form.append(formKey, value);
43
+ continue;
44
+ }
45
+ // if the property is an object, use recursivity.
46
+ if (isObject(value)) {
47
+ this.toFormData(value, form, formKey);
48
+ continue;
49
+ }
50
+ // Primitives: append as strings
51
+ if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
52
+ form.append(formKey, String(value));
53
+ continue;
54
+ }
55
+ throw new Error('Unexpected value');
56
+ }
57
+ }
58
+ return form;
59
+ }
60
+ }
@@ -0,0 +1,8 @@
1
+ import { type BodyContract } from '../contracts/BodyContract';
2
+ import { type HeadersContract } from '../contracts/HeadersContract';
3
+ export declare class JsonBody<RequestBody> implements BodyContract {
4
+ protected data: RequestBody;
5
+ constructor(data: RequestBody);
6
+ getHeaders(): HeadersContract;
7
+ getContent(): string;
8
+ }
@@ -0,0 +1,13 @@
1
+ export class JsonBody {
2
+ constructor(data) {
3
+ this.data = data;
4
+ }
5
+ getHeaders() {
6
+ return {
7
+ 'Content-Type': 'application/json'
8
+ };
9
+ }
10
+ getContent() {
11
+ return JSON.stringify(this.data);
12
+ }
13
+ }
@@ -1,3 +1,3 @@
1
1
  export interface AbortableRequestContract {
2
- setSignal(): void
2
+ setSignal(): void;
3
3
  }
@@ -0,0 +1,33 @@
1
+ import { RequestMethodEnum } from '../RequestMethod.enum';
2
+ import { RequestEvents } from '../RequestEvents.enum';
3
+ import { type BodyFactoryContract } from './BodyFactoryContract';
4
+ import { type HeadersContract } from './HeadersContract';
5
+ import { type RequestConcurrencyOptions } from '../types/RequestConcurrencyOptions';
6
+ import { type ResponseHandlerContract } from '../drivers/contracts/ResponseHandlerContract';
7
+ export type EventHandlerCallback<T> = (value: T) => void;
8
+ export interface SendRequestOptions {
9
+ resolveBody?: boolean;
10
+ }
11
+ export interface BaseRequestContract<RequestLoaderLoadingType, RequestBodyInterface, ResponseClass, RequestParamsInterface extends object> {
12
+ method(): RequestMethodEnum;
13
+ url(): URL | string;
14
+ setParams(params?: RequestParamsInterface): this;
15
+ withParams(params?: RequestParamsInterface): this;
16
+ getParams(): RequestParamsInterface | undefined;
17
+ setBody(requestBody: RequestBodyInterface | undefined): this;
18
+ requestHeaders(): HeadersContract;
19
+ buildUrl(): URL;
20
+ on<T>(event: RequestEvents, handler: EventHandlerCallback<T>): this;
21
+ send(): Promise<ResponseClass>;
22
+ send(options: {
23
+ resolveBody?: true;
24
+ }): Promise<ResponseClass>;
25
+ send(options: {
26
+ resolveBody: false;
27
+ }): Promise<ResponseHandlerContract>;
28
+ isLoading(): RequestLoaderLoadingType;
29
+ getRequestBodyFactory(): BodyFactoryContract<RequestBodyInterface> | undefined;
30
+ getResponse(): ResponseClass;
31
+ setAbortSignal(signal: AbortSignal): this;
32
+ setConcurrency(options?: RequestConcurrencyOptions): this;
33
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import { type HeadersContract } from './HeadersContract';
2
+ export type BodyContent = string | FormData | Blob | BufferSource;
3
+ export interface BodyContract {
4
+ getContent(): BodyContent;
5
+ getHeaders(): HeadersContract;
6
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ import { type BodyContract } from './BodyContract';
2
+ export interface BodyFactoryContract<RequestBodyInterface> {
3
+ make(body: RequestBodyInterface): BodyContract;
4
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ import { type HeadersContract } from './HeadersContract';
2
+ import { type RequestUploadProgress } from '../types/RequestUploadProgress';
3
+ export interface DriverConfigContract {
4
+ corsWithCredentials?: boolean | undefined;
5
+ abortSignal?: AbortSignal | undefined;
6
+ headers?: HeadersContract | undefined;
7
+ onUploadProgress?: ((progress: RequestUploadProgress) => void) | undefined;
8
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ export type HeaderValue = string | (() => string);
2
+ export interface HeadersContract {
3
+ [key: string]: HeaderValue;
4
+ }
5
+ export interface ResolvedHeadersContract {
6
+ [key: string]: string;
7
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ import { RequestMethodEnum } from '../RequestMethod.enum';
2
+ import { type HeadersContract } from './HeadersContract';
3
+ import { type BodyContract } from './BodyContract';
4
+ import { type ResponseHandlerContract } from '../drivers/contracts/ResponseHandlerContract';
5
+ import { type DriverConfigContract } from './DriverConfigContract';
6
+ export interface RequestDriverContract {
7
+ send(url: URL | string, method: RequestMethodEnum, headers: HeadersContract, body?: BodyContract, requestConfig?: DriverConfigContract): Promise<ResponseHandlerContract>;
8
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ export interface RequestLoaderContract<T> {
2
+ isLoading(): T;
3
+ setLoading(value: boolean): void;
4
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,4 @@
1
- import { type RequestLoaderContract } from './RequestLoaderContract'
2
-
1
+ import { type RequestLoaderContract } from './RequestLoaderContract';
3
2
  export interface RequestLoaderFactoryContract<T> {
4
- make(): RequestLoaderContract<T>
3
+ make(): RequestLoaderContract<T>;
5
4
  }
@@ -0,0 +1,5 @@
1
+ import type { ResponseHandlerContract } from '../drivers/contracts/ResponseHandlerContract';
2
+ export interface ResponseContract<ResponseBodyInterface> {
3
+ getAcceptHeader(): string;
4
+ setResponse(response: ResponseHandlerContract): Promise<ResponseBodyInterface>;
5
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ import { type ResolvedHeadersContract } from '../../contracts/HeadersContract';
2
+ export interface ResponseHandlerContract {
3
+ getStatusCode(): number | undefined;
4
+ getHeaders(): ResolvedHeadersContract;
5
+ getRawResponse(): Response;
6
+ json<ResponseBodyInterface>(): Promise<ResponseBodyInterface>;
7
+ text(): Promise<string>;
8
+ blob(): Promise<Blob>;
9
+ }
@@ -0,0 +1,26 @@
1
+ import { RequestMethodEnum } from '../../RequestMethod.enum';
2
+ import { type HeadersContract } from '../../contracts/HeadersContract';
3
+ import { type BodyContent, type BodyContract } from '../../contracts/BodyContract';
4
+ import { type RequestDriverContract } from '../../contracts/RequestDriverContract';
5
+ import { type DriverConfigContract } from '../../contracts/DriverConfigContract';
6
+ import { type ResponseHandlerContract } from '../contracts/ResponseHandlerContract';
7
+ declare enum FetchDriverCredentialConfigEnum {
8
+ OMIT = "omit",
9
+ INCLUDE = "include"
10
+ }
11
+ interface FetchDriverConfig {
12
+ method: RequestMethodEnum;
13
+ headers: HeadersContract;
14
+ credentials?: FetchDriverCredentialConfigEnum | undefined;
15
+ signal?: AbortSignal | undefined;
16
+ body?: BodyContent | URLSearchParams | undefined;
17
+ }
18
+ export declare class FetchDriver implements RequestDriverContract {
19
+ protected config?: DriverConfigContract | undefined;
20
+ constructor(config?: DriverConfigContract | undefined);
21
+ send(url: URL | string, method: RequestMethodEnum, headers: HeadersContract, body?: BodyContract, requestConfig?: DriverConfigContract): Promise<ResponseHandlerContract>;
22
+ protected buildRequestConfig(config: DriverConfigContract, method: RequestMethodEnum, headers: HeadersContract, body?: BodyContract): FetchDriverConfig;
23
+ protected getCorsWithCredentials(corsWithCredentials: boolean | undefined): FetchDriverCredentialConfigEnum;
24
+ protected resolveHeaders(headers: HeadersContract): HeadersContract;
25
+ }
26
+ export {};
@@ -0,0 +1,73 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { ResponseException } from '../../exceptions/ResponseException';
11
+ import { FetchResponse } from './FetchResponse';
12
+ import { RequestMethodEnum } from '../../RequestMethod.enum';
13
+ var FetchDriverCredentialConfigEnum;
14
+ (function (FetchDriverCredentialConfigEnum) {
15
+ FetchDriverCredentialConfigEnum["OMIT"] = "omit";
16
+ FetchDriverCredentialConfigEnum["INCLUDE"] = "include";
17
+ })(FetchDriverCredentialConfigEnum || (FetchDriverCredentialConfigEnum = {}));
18
+ export class FetchDriver {
19
+ constructor(config) {
20
+ this.config = config;
21
+ }
22
+ send(url, method, headers, body, requestConfig) {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ var _a;
25
+ const mergedConfig = Object.assign(Object.assign({}, this.config), (requestConfig !== null && requestConfig !== void 0 ? requestConfig : {}));
26
+ const mergedHeaders = Object.assign(Object.assign(Object.assign({}, (_a = this.config) === null || _a === void 0 ? void 0 : _a.headers), headers), body === null || body === void 0 ? void 0 : body.getHeaders());
27
+ const resolvedHeaders = this.resolveHeaders(mergedHeaders);
28
+ const fetchConfig = this.buildRequestConfig(mergedConfig, method, resolvedHeaders, body);
29
+ const response = yield fetch(url, fetchConfig);
30
+ const fetchResponse = new FetchResponse(response);
31
+ if (!response.ok) {
32
+ throw new ResponseException(fetchResponse);
33
+ }
34
+ return fetchResponse;
35
+ });
36
+ }
37
+ buildRequestConfig(config, method, headers, body) {
38
+ var _a;
39
+ return {
40
+ method: method,
41
+ headers: headers,
42
+ credentials: this.getCorsWithCredentials(config.corsWithCredentials),
43
+ signal: (_a = config.abortSignal) !== null && _a !== void 0 ? _a : undefined,
44
+ body: [RequestMethodEnum.GET, RequestMethodEnum.HEAD].includes(method) ? undefined : body === null || body === void 0 ? void 0 : body.getContent()
45
+ };
46
+ }
47
+ getCorsWithCredentials(corsWithCredentials) {
48
+ // Request takes precedence
49
+ if (corsWithCredentials === true) {
50
+ return FetchDriverCredentialConfigEnum.INCLUDE;
51
+ }
52
+ if (corsWithCredentials === false) {
53
+ return FetchDriverCredentialConfigEnum.OMIT;
54
+ }
55
+ // Fallback to default config
56
+ if (this.config) {
57
+ return this.config.corsWithCredentials ? FetchDriverCredentialConfigEnum.INCLUDE : FetchDriverCredentialConfigEnum.OMIT;
58
+ }
59
+ // Fallback to safe option if no default set
60
+ return FetchDriverCredentialConfigEnum.OMIT;
61
+ }
62
+ resolveHeaders(headers) {
63
+ const resolved = {};
64
+ for (const key in headers) {
65
+ const value = headers[key];
66
+ if (value === undefined) {
67
+ continue;
68
+ }
69
+ resolved[key] = typeof value === 'function' ? value() : value;
70
+ }
71
+ return resolved;
72
+ }
73
+ }
@@ -0,0 +1,12 @@
1
+ import { type ResolvedHeadersContract } from '../../contracts/HeadersContract';
2
+ import { type ResponseHandlerContract } from '../contracts/ResponseHandlerContract';
3
+ export declare class FetchResponse implements ResponseHandlerContract {
4
+ protected response: Response;
5
+ constructor(response: Response);
6
+ getStatusCode(): number | undefined;
7
+ getHeaders(): ResolvedHeadersContract;
8
+ getRawResponse(): Response;
9
+ json<ResponseBodyInterface>(): Promise<ResponseBodyInterface>;
10
+ text(): Promise<string>;
11
+ blob(): Promise<Blob>;
12
+ }
@@ -0,0 +1,38 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ export class FetchResponse {
11
+ constructor(response) {
12
+ this.response = response;
13
+ }
14
+ getStatusCode() {
15
+ return this.response.status;
16
+ }
17
+ getHeaders() {
18
+ return Object.fromEntries(this.response.headers);
19
+ }
20
+ getRawResponse() {
21
+ return this.response;
22
+ }
23
+ json() {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ return yield this.response.json();
26
+ });
27
+ }
28
+ text() {
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ return yield this.response.text();
31
+ });
32
+ }
33
+ blob() {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ return yield this.response.blob();
36
+ });
37
+ }
38
+ }
@@ -0,0 +1,13 @@
1
+ import { RequestMethodEnum } from '../../RequestMethod.enum';
2
+ import { type HeadersContract } from '../../contracts/HeadersContract';
3
+ import { type BodyContract } from '../../contracts/BodyContract';
4
+ import { type RequestDriverContract } from '../../contracts/RequestDriverContract';
5
+ import { type DriverConfigContract } from '../../contracts/DriverConfigContract';
6
+ import { type ResponseHandlerContract } from '../contracts/ResponseHandlerContract';
7
+ export declare class XMLHttpRequestDriver implements RequestDriverContract {
8
+ protected config?: DriverConfigContract | undefined;
9
+ constructor(config?: DriverConfigContract | undefined);
10
+ send(url: URL | string, method: RequestMethodEnum, headers: HeadersContract, body?: BodyContract, requestConfig?: DriverConfigContract): Promise<ResponseHandlerContract>;
11
+ protected getCorsWithCredentials(corsWithCredentials: boolean | undefined): boolean;
12
+ protected resolveHeaders(headers: HeadersContract): HeadersContract;
13
+ }
@@ -0,0 +1,107 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { ResponseException } from '../../exceptions/ResponseException';
11
+ import { RequestMethodEnum } from '../../RequestMethod.enum';
12
+ import { XMLHttpRequestResponse } from './XMLHttpRequestResponse';
13
+ export class XMLHttpRequestDriver {
14
+ constructor(config) {
15
+ this.config = config;
16
+ }
17
+ send(url, method, headers, body, requestConfig) {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ var _a;
20
+ const mergedConfig = Object.assign(Object.assign({}, this.config), (requestConfig !== null && requestConfig !== void 0 ? requestConfig : {}));
21
+ const mergedHeaders = Object.assign(Object.assign(Object.assign({}, (_a = this.config) === null || _a === void 0 ? void 0 : _a.headers), headers), body === null || body === void 0 ? void 0 : body.getHeaders());
22
+ const resolvedHeaders = this.resolveHeaders(mergedHeaders);
23
+ return yield new Promise((resolve, reject) => {
24
+ const request = new XMLHttpRequest();
25
+ const requestUrl = url instanceof URL ? url.toString() : url;
26
+ const requestBody = [RequestMethodEnum.GET, RequestMethodEnum.HEAD].includes(method) ? undefined : body === null || body === void 0 ? void 0 : body.getContent();
27
+ const abortSignal = mergedConfig.abortSignal;
28
+ const handleAbortSignal = () => request.abort();
29
+ const cleanup = () => {
30
+ request.onload = null;
31
+ request.onerror = null;
32
+ request.onabort = null;
33
+ if (request.upload) {
34
+ request.upload.onprogress = null;
35
+ }
36
+ abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.removeEventListener('abort', handleAbortSignal);
37
+ };
38
+ request.open(method, requestUrl, true);
39
+ request.responseType = 'blob';
40
+ request.withCredentials = this.getCorsWithCredentials(mergedConfig.corsWithCredentials);
41
+ for (const key in resolvedHeaders) {
42
+ request.setRequestHeader(key, resolvedHeaders[key]);
43
+ }
44
+ request.onload = () => {
45
+ cleanup();
46
+ if (request.status === 0) {
47
+ reject(new Error('No response received.'));
48
+ return;
49
+ }
50
+ const response = new XMLHttpRequestResponse(request);
51
+ if (request.status < 200 || request.status >= 300) {
52
+ reject(new ResponseException(response));
53
+ return;
54
+ }
55
+ resolve(response);
56
+ };
57
+ request.onerror = () => {
58
+ cleanup();
59
+ reject(new Error('Network request failed.'));
60
+ };
61
+ request.onabort = () => {
62
+ cleanup();
63
+ reject(new DOMException('The operation was aborted.', 'AbortError'));
64
+ };
65
+ if (request.upload) {
66
+ request.upload.onprogress = (event) => {
67
+ var _a;
68
+ const total = event.lengthComputable ? event.total : undefined;
69
+ (_a = mergedConfig.onUploadProgress) === null || _a === void 0 ? void 0 : _a.call(mergedConfig, {
70
+ loaded: event.loaded,
71
+ total: total,
72
+ lengthComputable: event.lengthComputable,
73
+ progress: total === undefined || total === 0 ? undefined : event.loaded / total
74
+ });
75
+ };
76
+ }
77
+ if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) {
78
+ handleAbortSignal();
79
+ return;
80
+ }
81
+ abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.addEventListener('abort', handleAbortSignal, { once: true });
82
+ request.send(requestBody);
83
+ });
84
+ });
85
+ }
86
+ getCorsWithCredentials(corsWithCredentials) {
87
+ var _a, _b;
88
+ if (corsWithCredentials === true) {
89
+ return true;
90
+ }
91
+ if (corsWithCredentials === false) {
92
+ return false;
93
+ }
94
+ return (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.corsWithCredentials) !== null && _b !== void 0 ? _b : false;
95
+ }
96
+ resolveHeaders(headers) {
97
+ const resolved = {};
98
+ for (const key in headers) {
99
+ const value = headers[key];
100
+ if (value === undefined) {
101
+ continue;
102
+ }
103
+ resolved[key] = typeof value === 'function' ? value() : value;
104
+ }
105
+ return resolved;
106
+ }
107
+ }
@@ -0,0 +1,17 @@
1
+ import { type ResolvedHeadersContract } from '../../contracts/HeadersContract';
2
+ import { type ResponseHandlerContract } from '../contracts/ResponseHandlerContract';
3
+ export declare class XMLHttpRequestResponse implements ResponseHandlerContract {
4
+ protected request: XMLHttpRequest;
5
+ protected response: Response;
6
+ protected headers: ResolvedHeadersContract;
7
+ constructor(request: XMLHttpRequest);
8
+ getStatusCode(): number | undefined;
9
+ getHeaders(): ResolvedHeadersContract;
10
+ getRawResponse(): Response;
11
+ json<ResponseBodyInterface>(): Promise<ResponseBodyInterface>;
12
+ text(): Promise<string>;
13
+ blob(): Promise<Blob>;
14
+ protected getResponseBody(): Blob | string | null;
15
+ protected isBlobLike(value: unknown): value is Blob;
16
+ protected parseHeaders(rawHeaders: string): ResolvedHeadersContract;
17
+ }
@@ -0,0 +1,84 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ export class XMLHttpRequestResponse {
11
+ constructor(request) {
12
+ this.request = request;
13
+ this.headers = this.parseHeaders(request.getAllResponseHeaders());
14
+ this.response = new Response(this.getResponseBody(), {
15
+ status: request.status,
16
+ statusText: request.statusText,
17
+ headers: this.headers
18
+ });
19
+ }
20
+ getStatusCode() {
21
+ return this.request.status;
22
+ }
23
+ getHeaders() {
24
+ return this.headers;
25
+ }
26
+ getRawResponse() {
27
+ return this.response;
28
+ }
29
+ json() {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ return yield this.response.json();
32
+ });
33
+ }
34
+ text() {
35
+ return __awaiter(this, void 0, void 0, function* () {
36
+ return yield this.response.text();
37
+ });
38
+ }
39
+ blob() {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ return yield this.response.blob();
42
+ });
43
+ }
44
+ getResponseBody() {
45
+ if ([204, 205, 304].includes(this.request.status)) {
46
+ return null;
47
+ }
48
+ if (this.request.response === null || this.request.response === undefined) {
49
+ return null;
50
+ }
51
+ if (this.isBlobLike(this.request.response) || typeof this.request.response === 'string') {
52
+ return this.request.response;
53
+ }
54
+ return new Blob([this.request.response]);
55
+ }
56
+ isBlobLike(value) {
57
+ return (value instanceof Blob ||
58
+ (typeof value === 'object' &&
59
+ value !== null &&
60
+ typeof value.arrayBuffer === 'function' &&
61
+ typeof value.stream === 'function' &&
62
+ typeof value.text === 'function'));
63
+ }
64
+ parseHeaders(rawHeaders) {
65
+ const headers = {};
66
+ const lines = rawHeaders.trim();
67
+ if (lines.length === 0) {
68
+ return headers;
69
+ }
70
+ for (const line of lines.split(/\r?\n/)) {
71
+ const separatorIndex = line.indexOf(':');
72
+ if (separatorIndex === -1) {
73
+ continue;
74
+ }
75
+ const key = line.slice(0, separatorIndex).trim();
76
+ const value = line.slice(separatorIndex + 1).trim();
77
+ if (key.length === 0) {
78
+ continue;
79
+ }
80
+ headers[key] = key in headers ? `${String(headers[key])}, ${value}` : value;
81
+ }
82
+ return headers;
83
+ }
84
+ }
@@ -0,0 +1,3 @@
1
+ import { ResponseBodyException } from './ResponseBodyException';
2
+ export declare class BadGatewayException<ResponseErrorBody> extends ResponseBodyException<ResponseErrorBody> {
3
+ }
@@ -0,0 +1,3 @@
1
+ import { ResponseBodyException } from './ResponseBodyException';
2
+ export class BadGatewayException extends ResponseBodyException {
3
+ }
@@ -0,0 +1,3 @@
1
+ import { ResponseBodyException } from './ResponseBodyException';
2
+ export declare class BadRequestException<ResponseErrorBody> extends ResponseBodyException<ResponseErrorBody> {
3
+ }
@@ -0,0 +1,3 @@
1
+ import { ResponseBodyException } from './ResponseBodyException';
2
+ export class BadRequestException extends ResponseBodyException {
3
+ }
@@ -0,0 +1,3 @@
1
+ import { ResponseBodyException } from './ResponseBodyException';
2
+ export declare class ConflictException<ResponseErrorBody> extends ResponseBodyException<ResponseErrorBody> {
3
+ }
@@ -0,0 +1,3 @@
1
+ import { ResponseBodyException } from './ResponseBodyException';
2
+ export class ConflictException extends ResponseBodyException {
3
+ }