@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
@@ -1,83 +0,0 @@
1
- import { describe, expect, it } from 'vitest'
2
- import { BaseResponse } from '../../../src/requests/responses/BaseResponse'
3
- import { JsonResponse } from '../../../src/requests/responses/JsonResponse'
4
- import { PlainTextResponse } from '../../../src/requests/responses/PlainTextResponse'
5
- import { BlobResponse } from '../../../src/requests/responses/BlobResponse'
6
- import type { ResponseHandlerContract } from '../../../src/requests/drivers/contracts/ResponseHandlerContract'
7
-
8
- class TestResponse extends BaseResponse<string> {
9
- public getAcceptHeader(): string {
10
- return 'text/plain'
11
- }
12
-
13
- protected resolveBody(): Promise<string> {
14
- return Promise.resolve('ok')
15
- }
16
- }
17
-
18
- const mockResponseHandler: ResponseHandlerContract = {
19
- getStatusCode: () => 200,
20
- getHeaders: () => ({ 'x-test': 'yes' }),
21
- getRawResponse: () => new Response('raw'),
22
- json: async () => ({ ok: true }),
23
- text: async () => 'plain',
24
- blob: async () => new Blob(['blob'], { type: 'text/plain' }),
25
- }
26
-
27
- describe('Response classes', () => {
28
- it('BaseResponse throws if body not set', () => {
29
- const response = new TestResponse()
30
-
31
- expect(() => response.getBody()).toThrow('Response body is not set')
32
- })
33
-
34
- it('BaseResponse stores response metadata and body', async () => {
35
- const response = new TestResponse()
36
-
37
- await response.setResponse(mockResponseHandler)
38
-
39
- expect(response.getBody()).toBe('ok')
40
- expect(response.getStatusCode()).toBe(200)
41
- expect(response.getHeaders()).toEqual({ 'x-test': 'yes' })
42
- expect(response.getRawResponse()).toBeInstanceOf(Response)
43
- })
44
-
45
- it('JsonResponse resolves JSON body', async () => {
46
- const response = new JsonResponse<{ ok: boolean }>()
47
-
48
- await response.setResponse(mockResponseHandler)
49
-
50
- expect(response.getAcceptHeader()).toBe('application/json')
51
- expect(response.getBody()).toEqual({ ok: true })
52
- })
53
-
54
- it('PlainTextResponse resolves text body', async () => {
55
- const response = new PlainTextResponse()
56
-
57
- await response.setResponse(mockResponseHandler)
58
-
59
- expect(response.getAcceptHeader()).toBe('text/plain')
60
- expect(response.getBody()).toBe('plain')
61
- })
62
-
63
- it('BlobResponse resolves blob body and uses mime type', async () => {
64
- const response = new BlobResponse('application/pdf')
65
-
66
- await response.setResponse(mockResponseHandler)
67
-
68
- expect(response.getAcceptHeader()).toBe('application/pdf')
69
- expect(response.getBody()).toBeInstanceOf(Blob)
70
- })
71
-
72
- it('throws when resolveBody is called without a response', () => {
73
- const response = new JsonResponse()
74
-
75
- expect(() => (response as any).resolveBody()).toThrow('Response is not set')
76
-
77
- const plain = new PlainTextResponse()
78
- expect(() => (plain as any).resolveBody()).toThrow('Response is not set')
79
-
80
- const blob = new BlobResponse()
81
- expect(() => (blob as any).resolveBody()).toThrow('Response is not set')
82
- })
83
- })
@@ -1,43 +0,0 @@
1
- import { describe, expect, it } from 'vitest'
2
- import { ResponseException } from '../../../../src/requests/exceptions/ResponseException'
3
- import { ResponseBodyException } from '../../../../src/requests/exceptions/ResponseBodyException'
4
- import { BadRequestException } from '../../../../src/requests/exceptions/BadRequestException'
5
- import { StaleResponseException } from '../../../../src/requests/exceptions/StaleResponseException'
6
-
7
- const mockResponse = {
8
- getStatusCode: () => 400,
9
- getHeaders: () => ({}),
10
- getRawResponse: () => new Response(),
11
- json: async () => ({}),
12
- text: async () => '',
13
- blob: async () => new Blob(),
14
- }
15
-
16
- describe('Request exceptions', () => {
17
- it('ResponseException stores response', () => {
18
- const exception = new ResponseException(mockResponse as any)
19
-
20
- expect(exception.getResponse()).toBe(mockResponse)
21
- })
22
-
23
- it('ResponseBodyException stores response and body', () => {
24
- const exception = new ResponseBodyException(mockResponse as any, { error: 'bad' })
25
-
26
- expect(exception.getResponse()).toBe(mockResponse)
27
- expect(exception.getBody()).toEqual({ error: 'bad' })
28
- })
29
-
30
- it('BadRequestException extends ResponseBodyException', () => {
31
- const exception = new BadRequestException(mockResponse as any, { error: 'bad' })
32
-
33
- expect(exception).toBeInstanceOf(ResponseBodyException)
34
- })
35
-
36
- it('StaleResponseException exposes cause', () => {
37
- const cause = new Error('root')
38
- const exception = new StaleResponseException('stale', cause)
39
-
40
- expect(exception.message).toBe('stale')
41
- expect(exception.getCause()).toBe(cause)
42
- })
43
- })
@@ -1,94 +0,0 @@
1
- import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
2
- import { FetchDriver } from '../../../../src/requests/drivers/fetch/FetchDriver'
3
- import { FetchResponse } from '../../../../src/requests/drivers/fetch/FetchResponse'
4
- import { RequestMethodEnum } from '../../../../src/requests/RequestMethod.enum'
5
- import { ResponseException } from '../../../../src/requests/exceptions/ResponseException'
6
- import type { BodyContent, BodyContract } from '../../../../src/requests/contracts/BodyContract'
7
-
8
- const createBody = (content: BodyContent, headers: Record<string, string> = { 'Content-Type': 'application/json' }): BodyContract => ({
9
- getHeaders: () => headers,
10
- getContent: () => content,
11
- })
12
-
13
- describe('FetchDriver', () => {
14
- const originalFetch = global.fetch
15
-
16
- beforeEach(() => {
17
- global.fetch = vi.fn()
18
- })
19
-
20
- afterEach(() => {
21
- global.fetch = originalFetch
22
- vi.restoreAllMocks()
23
- })
24
-
25
- it('sends requests with merged headers and body', async () => {
26
- const response = new Response('{"ok":true}', {
27
- status: 200,
28
- headers: { 'X-Response': 'yes' },
29
- })
30
-
31
- ;(global.fetch as unknown as ReturnType<typeof vi.fn>).mockResolvedValue(response)
32
-
33
- const driver = new FetchDriver({ headers: { 'X-Global': 'a' }, corsWithCredentials: true })
34
-
35
- const result = await driver.send(
36
- 'https://example.com',
37
- RequestMethodEnum.POST,
38
- { 'X-Req': 'b', 'X-Fn': () => 'c', 'X-Ignore': undefined },
39
- createBody('{"name":"test"}')
40
- )
41
-
42
- expect(result).toBeInstanceOf(FetchResponse)
43
-
44
- const [, config] = (global.fetch as unknown as ReturnType<typeof vi.fn>).mock.calls[0]
45
- expect(config.method).toBe('POST')
46
- expect(config.credentials).toBe('include')
47
- expect(config.headers).toEqual({
48
- 'X-Global': 'a',
49
- 'X-Req': 'b',
50
- 'X-Fn': 'c',
51
- 'Content-Type': 'application/json',
52
- })
53
- expect(config.body).toBe('{"name":"test"}')
54
- })
55
-
56
- it('omits body for GET/HEAD requests', async () => {
57
- const response = new Response('ok', { status: 200 })
58
- ;(global.fetch as unknown as ReturnType<typeof vi.fn>).mockResolvedValue(response)
59
-
60
- const driver = new FetchDriver()
61
-
62
- await driver.send('https://example.com', RequestMethodEnum.GET, {}, createBody('data'))
63
-
64
- const [, config] = (global.fetch as unknown as ReturnType<typeof vi.fn>).mock.calls[0]
65
- expect(config.body).toBeUndefined()
66
- })
67
-
68
- it('passes Blob bodies through to fetch unchanged', async () => {
69
- const response = new Response('ok', { status: 200 })
70
- ;(global.fetch as unknown as ReturnType<typeof vi.fn>).mockResolvedValue(response)
71
-
72
- const blob = new Blob(['chunk'], { type: 'application/octet-stream' })
73
- const driver = new FetchDriver()
74
-
75
- await driver.send(
76
- 'https://example.com',
77
- RequestMethodEnum.PUT,
78
- {},
79
- createBody(blob, { 'Content-Type': 'application/octet-stream' })
80
- )
81
-
82
- const [, config] = (global.fetch as unknown as ReturnType<typeof vi.fn>).mock.calls[0]
83
- expect(config.body).toBe(blob)
84
- })
85
-
86
- it('throws ResponseException when response is not ok', async () => {
87
- const response = new Response('fail', { status: 500 })
88
- ;(global.fetch as unknown as ReturnType<typeof vi.fn>).mockResolvedValue(response)
89
-
90
- const driver = new FetchDriver()
91
-
92
- await expect(driver.send('https://example.com', RequestMethodEnum.GET, {})).rejects.toBeInstanceOf(ResponseException)
93
- })
94
- })
@@ -1,21 +0,0 @@
1
- import { describe, expect, it } from 'vitest'
2
- import { FetchResponse } from '../../../../src/requests/drivers/fetch/FetchResponse'
3
-
4
- describe('FetchResponse', () => {
5
- it('exposes response data', async () => {
6
- const response = new Response('{"name":"Ada"}', {
7
- status: 201,
8
- headers: { 'X-Test': 'yes' },
9
- })
10
-
11
- const fetchResponse = new FetchResponse(response)
12
-
13
- expect(fetchResponse.getStatusCode()).toBe(201)
14
- expect(fetchResponse.getHeaders()).toEqual({
15
- 'content-type': 'text/plain;charset=UTF-8',
16
- 'x-test': 'yes',
17
- })
18
- expect(fetchResponse.getRawResponse()).toBe(response)
19
- await expect(fetchResponse.json()).resolves.toEqual({ name: 'Ada' })
20
- })
21
- })
@@ -1,197 +0,0 @@
1
- import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
2
- import { XMLHttpRequestDriver } from '../../../../src/requests/drivers/xhr/XMLHttpRequestDriver'
3
- import { XMLHttpRequestResponse } from '../../../../src/requests/drivers/xhr/XMLHttpRequestResponse'
4
- import { RequestMethodEnum } from '../../../../src/requests/RequestMethod.enum'
5
- import { ResponseException } from '../../../../src/requests/exceptions/ResponseException'
6
- import type { BodyContent, BodyContract } from '../../../../src/requests/contracts/BodyContract'
7
-
8
- const createBody = (content: BodyContent, headers: Record<string, string> = { 'Content-Type': 'application/json' }): BodyContract => ({
9
- getHeaders: () => headers,
10
- getContent: () => content,
11
- })
12
-
13
- class MockXMLHttpRequestUpload {
14
- public onprogress: ((event: ProgressEvent<EventTarget>) => void) | null = null
15
- }
16
-
17
- class MockXMLHttpRequest {
18
- public static instances: MockXMLHttpRequest[] = []
19
-
20
- public method?: string
21
- public url?: string
22
- public async?: boolean
23
- public responseType: XMLHttpRequestResponseType = ''
24
- public withCredentials = false
25
- public status = 200
26
- public statusText = 'OK'
27
- public response: Blob | string | ArrayBuffer | null = '{"ok":true}'
28
- public onload: (() => void) | null = null
29
- public onerror: (() => void) | null = null
30
- public onabort: (() => void) | null = null
31
- public upload = new MockXMLHttpRequestUpload()
32
- public headers: Record<string, string> = {}
33
- public responseHeaders: Record<string, string> = {}
34
- public sentBody: Document | XMLHttpRequestBodyInit | null | undefined = undefined
35
- public aborted = false
36
-
37
- public constructor() {
38
- MockXMLHttpRequest.instances.push(this)
39
- }
40
-
41
- public open(method: string, url: string, async: boolean): void {
42
- this.method = method
43
- this.url = url
44
- this.async = async
45
- }
46
-
47
- public setRequestHeader(key: string, value: string): void {
48
- this.headers[key] = value
49
- }
50
-
51
- public send(body?: Document | XMLHttpRequestBodyInit | null): void {
52
- this.sentBody = body
53
- }
54
-
55
- public abort(): void {
56
- this.aborted = true
57
- this.onabort?.()
58
- }
59
-
60
- public getAllResponseHeaders(): string {
61
- return Object.entries(this.responseHeaders)
62
- .map(([key, value]) => `${key}: ${value}`)
63
- .join('\r\n')
64
- }
65
-
66
- public triggerLoad(): void {
67
- this.onload?.()
68
- }
69
-
70
- public triggerError(): void {
71
- this.onerror?.()
72
- }
73
-
74
- public triggerUploadProgress(loaded: number, total: number, lengthComputable: boolean = true): void {
75
- this.upload.onprogress?.({
76
- loaded,
77
- total,
78
- lengthComputable,
79
- } as ProgressEvent<EventTarget>)
80
- }
81
- }
82
-
83
- describe('XMLHttpRequestDriver', () => {
84
- const originalXMLHttpRequest = global.XMLHttpRequest
85
-
86
- beforeEach(() => {
87
- MockXMLHttpRequest.instances = []
88
- global.XMLHttpRequest = MockXMLHttpRequest as unknown as typeof XMLHttpRequest
89
- })
90
-
91
- afterEach(() => {
92
- global.XMLHttpRequest = originalXMLHttpRequest
93
- vi.restoreAllMocks()
94
- })
95
-
96
- it('sends requests with merged headers, body, and upload progress callbacks', async () => {
97
- const onUploadProgress = vi.fn()
98
- const driver = new XMLHttpRequestDriver({ headers: { 'X-Global': 'a' }, corsWithCredentials: true })
99
-
100
- const promise = driver.send(
101
- 'https://example.com',
102
- RequestMethodEnum.POST,
103
- { 'X-Req': 'b', 'X-Fn': () => 'c', 'X-Ignore': undefined },
104
- createBody('{"name":"test"}'),
105
- { onUploadProgress }
106
- )
107
-
108
- const request = MockXMLHttpRequest.instances[0]
109
- request.status = 201
110
- request.responseHeaders = { 'X-Response': 'yes' }
111
- request.triggerUploadProgress(5, 10)
112
- request.triggerLoad()
113
-
114
- const result = await promise
115
-
116
- expect(result).toBeInstanceOf(XMLHttpRequestResponse)
117
- expect(request.method).toBe('POST')
118
- expect(request.url).toBe('https://example.com')
119
- expect(request.async).toBe(true)
120
- expect(request.responseType).toBe('blob')
121
- expect(request.withCredentials).toBe(true)
122
- expect(request.headers).toEqual({
123
- 'X-Global': 'a',
124
- 'X-Req': 'b',
125
- 'X-Fn': 'c',
126
- 'Content-Type': 'application/json',
127
- })
128
- expect(request.sentBody).toBe('{"name":"test"}')
129
- expect(onUploadProgress).toHaveBeenCalledWith({
130
- loaded: 5,
131
- total: 10,
132
- lengthComputable: true,
133
- progress: 0.5,
134
- })
135
- await expect(result.json()).resolves.toEqual({ ok: true })
136
- })
137
-
138
- it('omits body for GET and HEAD requests', async () => {
139
- const driver = new XMLHttpRequestDriver()
140
-
141
- const promise = driver.send('https://example.com', RequestMethodEnum.GET, {}, createBody('data'))
142
-
143
- const request = MockXMLHttpRequest.instances[0]
144
- request.triggerLoad()
145
-
146
- await promise
147
-
148
- expect(request.sentBody).toBeUndefined()
149
- })
150
-
151
- it('passes typed array bodies through to xhr unchanged', async () => {
152
- const driver = new XMLHttpRequestDriver()
153
- const chunk = new Uint8Array([1, 2, 3, 4])
154
-
155
- const promise = driver.send(
156
- 'https://example.com',
157
- RequestMethodEnum.PUT,
158
- {},
159
- createBody(chunk, { 'Content-Type': 'application/octet-stream' })
160
- )
161
-
162
- const request = MockXMLHttpRequest.instances[0]
163
- request.triggerLoad()
164
-
165
- await promise
166
-
167
- expect(request.sentBody).toBe(chunk)
168
- })
169
-
170
- it('throws ResponseException when the response status is not ok', async () => {
171
- const driver = new XMLHttpRequestDriver()
172
-
173
- const promise = driver.send('https://example.com', RequestMethodEnum.GET, {})
174
-
175
- const request = MockXMLHttpRequest.instances[0]
176
- request.status = 500
177
- request.response = 'fail'
178
- request.triggerLoad()
179
-
180
- await expect(promise).rejects.toBeInstanceOf(ResponseException)
181
- })
182
-
183
- it('aborts requests when the AbortSignal is triggered', async () => {
184
- const controller = new AbortController()
185
- const driver = new XMLHttpRequestDriver()
186
-
187
- const promise = driver.send('https://example.com', RequestMethodEnum.POST, {}, createBody('{"name":"test"}'), {
188
- abortSignal: controller.signal,
189
- })
190
-
191
- const request = MockXMLHttpRequest.instances[0]
192
- controller.abort()
193
-
194
- await expect(promise).rejects.toMatchObject({ name: 'AbortError' })
195
- expect(request.aborted).toBe(true)
196
- })
197
- })
@@ -1,40 +0,0 @@
1
- import { describe, expect, it } from 'vitest'
2
- import { DeferredPromise } from '../../../src/support/DeferredPromise'
3
-
4
- describe('DeferredPromise', () => {
5
- it('resolves and updates state', async () => {
6
- const deferred = new DeferredPromise<string>()
7
-
8
- expect(deferred.state).toBe('pending')
9
-
10
- const resultPromise = deferred.then((value) => `value:${value}`)
11
- deferred.resolve('ok')
12
-
13
- await expect(resultPromise).resolves.toBe('value:ok')
14
- expect(deferred.state).toBe('fulfilled')
15
- })
16
-
17
- it('rejects and updates state', async () => {
18
- const deferred = new DeferredPromise<string>()
19
-
20
- const resultPromise = deferred.catch((error) => `error:${String(error)}`)
21
- deferred.reject('boom')
22
-
23
- await expect(resultPromise).resolves.toBe('error:boom')
24
- expect(deferred.state).toBe('rejected')
25
- })
26
-
27
- it('supports finally', async () => {
28
- const deferred = new DeferredPromise<string>()
29
- let ran = false
30
-
31
- const promise = deferred.finally(() => {
32
- ran = true
33
- })
34
-
35
- deferred.resolve('ok')
36
- await promise
37
-
38
- expect(ran).toBe(true)
39
- })
40
- })
@@ -1,37 +0,0 @@
1
- import { beforeEach, describe, expect, it } from 'vitest'
2
- import { getCookie, getDisplayablePages, isAtBottom, isObject } from '../../../src/support/helpers'
3
-
4
- describe('support helpers', () => {
5
- beforeEach(() => {
6
- document.cookie = ''
7
- })
8
-
9
- it('reads cookies by name and trims spaces', () => {
10
- document.cookie = 'first=one'
11
- document.cookie = 'second=two'
12
-
13
- expect(getCookie('first')).toBe('one')
14
- expect(getCookie('second')).toBe('two')
15
- expect(getCookie('missing')).toBe('')
16
- })
17
-
18
- it('detects objects and excludes arrays/null', () => {
19
- expect(isObject({})).toBe(true)
20
- expect(isObject({ a: 1 })).toBe(true)
21
- expect(isObject([])).toBe(false)
22
- expect(isObject(null)).toBe(false)
23
- expect(isObject(undefined)).toBe(false)
24
- })
25
-
26
- it('calculates displayable pages with bounds', () => {
27
- expect(getDisplayablePages(3, 1, 4)).toEqual([1, 2, 3])
28
- expect(getDisplayablePages(10, 1, 4)).toEqual([1, 2, 3, 4])
29
- expect(getDisplayablePages(10, 5, 4)).toEqual([4, 5, 6, 7])
30
- expect(getDisplayablePages(10, 10, 4)).toEqual([7, 8, 9, 10])
31
- })
32
-
33
- it('detects near-bottom scroll positions', () => {
34
- expect(isAtBottom(100, 97, 3)).toBe(true)
35
- expect(isAtBottom(100, 90, 3)).toBe(false)
36
- })
37
- })
@@ -1,77 +0,0 @@
1
- import { describe, expect, it } from 'vitest'
2
- import { createApp, defineComponent, h } from 'vue'
3
- import useConfirmDialog, { ConfirmDialogSeverity, type ConfirmDialogOptions } from '../../../src/vue/composables/useConfirmDialog'
4
-
5
- const options: ConfirmDialogOptions = {
6
- getMessage: () => 'Are you sure?',
7
- getSeverity: () => ConfirmDialogSeverity.INFO,
8
- getTitle: () => 'Confirm',
9
- getOkText: () => 'OK',
10
- getCancelText: () => 'Cancel',
11
- }
12
-
13
- describe('useConfirmDialog', () => {
14
- it('throws when called outside setup', async () => {
15
- const Dialog = defineComponent({ setup: () => () => h('div') })
16
- const { openConfirmDialog } = useConfirmDialog(Dialog, '#dialog')
17
-
18
- await expect(openConfirmDialog(options)).rejects.toThrow('useConfirmDialog must be called inside a setup function')
19
- })
20
-
21
- it('opens dialog and returns exposed result', async () => {
22
- const dialogTarget = document.createElement('div')
23
- dialogTarget.id = 'dialog'
24
- document.body.appendChild(dialogTarget)
25
-
26
- const Dialog = defineComponent({
27
- setup(_, { expose }) {
28
- expose({ open: Promise.resolve(true) })
29
- return () => h('div')
30
- },
31
- })
32
-
33
- let openConfirmDialog: (opts: ConfirmDialogOptions) => Promise<boolean>
34
-
35
- const App = defineComponent({
36
- setup() {
37
- ;({ openConfirmDialog } = useConfirmDialog(Dialog, '#dialog'))
38
- return () => h('div')
39
- },
40
- })
41
-
42
- const root = document.createElement('div')
43
- document.body.appendChild(root)
44
-
45
- createApp(App).mount(root)
46
-
47
- await expect(openConfirmDialog(options)).resolves.toBe(true)
48
- })
49
-
50
- it('throws when dialog does not expose open', async () => {
51
- const dialogTarget = document.createElement('div')
52
- dialogTarget.id = 'dialog-2'
53
- document.body.appendChild(dialogTarget)
54
-
55
- const Dialog = defineComponent({
56
- setup() {
57
- return () => h('div')
58
- },
59
- })
60
-
61
- let openConfirmDialog: (opts: ConfirmDialogOptions) => Promise<boolean>
62
-
63
- const App = defineComponent({
64
- setup() {
65
- ;({ openConfirmDialog } = useConfirmDialog(Dialog, '#dialog-2'))
66
- return () => h('div')
67
- },
68
- })
69
-
70
- const root = document.createElement('div')
71
- document.body.appendChild(root)
72
-
73
- createApp(App).mount(root)
74
-
75
- await expect(openConfirmDialog(options)).rejects.toThrow('Provided component does not expose an "open" method')
76
- })
77
- })