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

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 (509) 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 +62 -0
  78. package/dist/requests/BaseRequest.js +224 -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 +23 -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 +162 -0
  222. package/dist/vue/forms/BaseForm.js +997 -0
  223. package/dist/vue/forms/PropertyAwareArray.d.ts +53 -0
  224. package/dist/vue/forms/PropertyAwareArray.js +54 -0
  225. package/{src/vue/forms/index.ts → dist/vue/forms/index.d.ts} +9 -11
  226. package/dist/vue/forms/index.js +6 -0
  227. package/dist/vue/forms/types/PersistedForm.d.ts +6 -0
  228. package/dist/vue/forms/types/PersistedForm.js +1 -0
  229. package/dist/vue/forms/validation/ValidationMode.enum.d.ts +11 -0
  230. package/dist/vue/forms/validation/ValidationMode.enum.js +14 -0
  231. package/dist/vue/forms/validation/index.d.ts +12 -0
  232. package/dist/vue/forms/validation/index.js +9 -0
  233. package/dist/vue/forms/validation/rules/BaseRule.d.ts +5 -0
  234. package/dist/vue/forms/validation/rules/BaseRule.js +5 -0
  235. package/dist/vue/forms/validation/rules/ConfirmedRule.d.ts +10 -0
  236. package/dist/vue/forms/validation/rules/ConfirmedRule.js +26 -0
  237. package/dist/vue/forms/validation/rules/EmailRule.d.ts +7 -0
  238. package/dist/vue/forms/validation/rules/EmailRule.js +19 -0
  239. package/dist/vue/forms/validation/rules/JsonRule.d.ts +7 -0
  240. package/dist/vue/forms/validation/rules/JsonRule.js +25 -0
  241. package/dist/vue/forms/validation/rules/MinRule.d.ts +26 -0
  242. package/dist/vue/forms/validation/rules/MinRule.js +52 -0
  243. package/dist/vue/forms/validation/rules/RequiredRule.d.ts +7 -0
  244. package/dist/vue/forms/validation/rules/RequiredRule.js +16 -0
  245. package/dist/vue/forms/validation/rules/UrlRule.d.ts +7 -0
  246. package/dist/vue/forms/validation/rules/UrlRule.js +22 -0
  247. package/{src/vue/forms/validation/types/BidirectionalRule.ts → dist/vue/forms/validation/types/BidirectionalRule.d.ts} +4 -4
  248. package/dist/vue/forms/validation/types/BidirectionalRule.js +1 -0
  249. package/dist/vue/forms/validation/types/ValidationRules.d.ts +11 -0
  250. package/dist/vue/forms/validation/types/ValidationRules.js +1 -0
  251. package/dist/vue/index.d.ts +11 -0
  252. package/dist/vue/index.js +10 -0
  253. package/dist/vue/requests/factories/VueRequestLoaderFactory.d.ts +6 -0
  254. package/dist/vue/requests/factories/VueRequestLoaderFactory.js +6 -0
  255. package/{src/vue/requests/index.ts → dist/vue/requests/index.d.ts} +4 -5
  256. package/dist/vue/requests/index.js +4 -0
  257. package/dist/vue/requests/loaders/VueRequestBatchLoader.d.ts +12 -0
  258. package/dist/vue/requests/loaders/VueRequestBatchLoader.js +29 -0
  259. package/dist/vue/requests/loaders/VueRequestLoader.d.ts +8 -0
  260. package/dist/vue/requests/loaders/VueRequestLoader.js +12 -0
  261. package/dist/vue/router/routeResourceBinding/RouteResourceBoundView.d.ts +57 -0
  262. package/dist/vue/router/routeResourceBinding/RouteResourceBoundView.js +135 -0
  263. package/dist/vue/router/routeResourceBinding/RouteResourceRequestResolver.d.ts +6 -0
  264. package/dist/vue/router/routeResourceBinding/RouteResourceRequestResolver.js +20 -0
  265. package/dist/vue/router/routeResourceBinding/defineRoute.d.ts +23 -0
  266. package/dist/vue/router/routeResourceBinding/defineRoute.js +42 -0
  267. package/dist/vue/router/routeResourceBinding/index.d.ts +8 -0
  268. package/dist/vue/router/routeResourceBinding/index.js +6 -0
  269. package/dist/vue/router/routeResourceBinding/installRouteInjection.d.ts +14 -0
  270. package/dist/vue/router/routeResourceBinding/installRouteInjection.js +133 -0
  271. package/dist/vue/router/routeResourceBinding/types.d.ts +55 -0
  272. package/dist/vue/router/routeResourceBinding/types.js +1 -0
  273. package/dist/vue/router/routeResourceBinding/useRouteResource.d.ts +8 -0
  274. package/dist/vue/router/routeResourceBinding/useRouteResource.js +29 -0
  275. package/dist/vue/state/State.d.ts +75 -0
  276. package/dist/vue/state/State.js +267 -0
  277. package/dist/vue/state/index.d.ts +2 -0
  278. package/dist/vue/state/index.js +2 -0
  279. package/package.json +81 -23
  280. package/.editorconfig +0 -508
  281. package/.eslintrc.cjs +0 -15
  282. package/.prettierrc.json +0 -8
  283. package/CHANGELOG.md +0 -226
  284. package/docker-compose.yaml +0 -8
  285. package/docs/.vitepress/config.ts +0 -124
  286. package/docs/index.md +0 -13
  287. package/docs/laravel/pagination.md +0 -67
  288. package/docs/laravel/requests.md +0 -62
  289. package/docs/services/pagination/index.md +0 -46
  290. package/docs/services/pagination/infinite-scroller.md +0 -20
  291. package/docs/services/pagination/page-aware.md +0 -51
  292. package/docs/services/pagination/state-pagination.md +0 -77
  293. package/docs/services/pagination/updating-rows.md +0 -52
  294. package/docs/services/persistence/index.md +0 -46
  295. package/docs/services/requests/abort-requests.md +0 -29
  296. package/docs/services/requests/bulk-requests.md +0 -70
  297. package/docs/services/requests/concurrency.md +0 -58
  298. package/docs/services/requests/drivers.md +0 -115
  299. package/docs/services/requests/error-handling.md +0 -153
  300. package/docs/services/requests/events.md +0 -53
  301. package/docs/services/requests/file-uploads.md +0 -168
  302. package/docs/services/requests/getting-started.md +0 -201
  303. package/docs/services/requests/headers.md +0 -40
  304. package/docs/services/requests/loading.md +0 -63
  305. package/docs/services/requests/request-bodies.md +0 -89
  306. package/docs/services/requests/responses.md +0 -34
  307. package/docs/services/support/deferred-promise.md +0 -63
  308. package/docs/services/support/helpers.md +0 -77
  309. package/docs/services/support/index.md +0 -6
  310. package/docs/upgrading/v1-to-v2.md +0 -64
  311. package/docs/upgrading/v2-to-v3.md +0 -52
  312. package/docs/upgrading/v3-to-v4.md +0 -214
  313. package/docs/upgrading.md +0 -0
  314. package/docs/vue/composables/use-confirm-dialog.md +0 -96
  315. package/docs/vue/composables/use-global-checkbox.md +0 -73
  316. package/docs/vue/composables/use-is-empty.md +0 -26
  317. package/docs/vue/composables/use-is-open-from-var.md +0 -32
  318. package/docs/vue/composables/use-is-open.md +0 -28
  319. package/docs/vue/composables/use-model-wrapper.md +0 -29
  320. package/docs/vue/composables/use-on-open.md +0 -26
  321. package/docs/vue/forms/arrays.md +0 -102
  322. package/docs/vue/forms/errors.md +0 -52
  323. package/docs/vue/forms/index.md +0 -99
  324. package/docs/vue/forms/payloads.md +0 -99
  325. package/docs/vue/forms/persistence.md +0 -19
  326. package/docs/vue/forms/state-and-properties.md +0 -26
  327. package/docs/vue/forms/utilities.md +0 -27
  328. package/docs/vue/forms/validation.md +0 -189
  329. package/docs/vue/requests/loading.md +0 -51
  330. package/docs/vue/router/route-resource-binding.md +0 -240
  331. package/docs/vue/state.md +0 -309
  332. package/env.d.ts +0 -1
  333. package/eslint.config.js +0 -15
  334. package/release-tool.json +0 -26
  335. package/src/bulkRequests/BulkRequestEvent.enum.ts +0 -4
  336. package/src/bulkRequests/BulkRequestSender.ts +0 -196
  337. package/src/bulkRequests/BulkRequestWrapper.ts +0 -49
  338. package/src/bulkRequests/index.ts +0 -6
  339. package/src/laravel/pagination/dataDrivers/RequestDriver.ts +0 -30
  340. package/src/laravel/pagination/index.ts +0 -6
  341. package/src/laravel/requests/JsonBaseRequest.ts +0 -35
  342. package/src/laravel/requests/PaginationJsonBaseRequest.ts +0 -29
  343. package/src/laravel/requests/index.ts +0 -9
  344. package/src/laravel/requests/responses/JsonResponse.ts +0 -8
  345. package/src/laravel/requests/responses/PaginationResponse.ts +0 -16
  346. package/src/pagination/BasePaginator.ts +0 -94
  347. package/src/pagination/InfiniteScroller.ts +0 -22
  348. package/src/pagination/PageAwarePaginator.ts +0 -132
  349. package/src/pagination/StatePaginator.ts +0 -86
  350. package/src/pagination/contracts/BaseViewDriverContract.ts +0 -6
  351. package/src/pagination/contracts/PaginateableRequestContract.ts +0 -13
  352. package/src/pagination/contracts/PaginationDataDriverContract.ts +0 -5
  353. package/src/pagination/contracts/ViewDriverContract.ts +0 -10
  354. package/src/pagination/contracts/ViewDriverFactoryContract.ts +0 -5
  355. package/src/pagination/dataDrivers/ArrayDriver.ts +0 -28
  356. package/src/pagination/dtos/PaginationDataDto.ts +0 -14
  357. package/src/pagination/dtos/StatePaginationDataDto.ts +0 -19
  358. package/src/pagination/factories/VueBaseViewDriverFactory.ts +0 -9
  359. package/src/pagination/factories/VuePaginationDriverFactory.ts +0 -9
  360. package/src/pagination/frontendDrivers/VueBaseViewDriver.ts +0 -28
  361. package/src/pagination/frontendDrivers/VuePaginationDriver.ts +0 -61
  362. package/src/pagination/index.ts +0 -46
  363. package/src/persistenceDrivers/LocalStorageDriver.ts +0 -22
  364. package/src/persistenceDrivers/NonPersistentDriver.ts +0 -12
  365. package/src/persistenceDrivers/SessionStorageDriver.ts +0 -22
  366. package/src/persistenceDrivers/index.ts +0 -8
  367. package/src/persistenceDrivers/types/PersistenceDriver.ts +0 -5
  368. package/src/requests/BaseRequest.ts +0 -321
  369. package/src/requests/ErrorHandler.ts +0 -144
  370. package/src/requests/RequestConcurrencyMode.enum.ts +0 -6
  371. package/src/requests/RequestErrorRouter.ts +0 -89
  372. package/src/requests/RequestEvents.enum.ts +0 -4
  373. package/src/requests/RequestMethod.enum.ts +0 -8
  374. package/src/requests/bodies/BinaryBody.ts +0 -31
  375. package/src/requests/bodies/FormDataBody.ts +0 -81
  376. package/src/requests/bodies/JsonBody.ts +0 -16
  377. package/src/requests/contracts/BaseRequestContract.ts +0 -39
  378. package/src/requests/contracts/BodyContract.ts +0 -9
  379. package/src/requests/contracts/BodyFactoryContract.ts +0 -5
  380. package/src/requests/contracts/DriverConfigContract.ts +0 -9
  381. package/src/requests/contracts/HeadersContract.ts +0 -9
  382. package/src/requests/contracts/RequestDriverContract.ts +0 -15
  383. package/src/requests/contracts/RequestLoaderContract.ts +0 -5
  384. package/src/requests/contracts/ResponseContract.ts +0 -7
  385. package/src/requests/drivers/contracts/ResponseHandlerContract.ts +0 -10
  386. package/src/requests/drivers/fetch/FetchDriver.ts +0 -115
  387. package/src/requests/drivers/fetch/FetchResponse.ts +0 -30
  388. package/src/requests/drivers/xhr/XMLHttpRequestDriver.ts +0 -138
  389. package/src/requests/drivers/xhr/XMLHttpRequestResponse.ts +0 -95
  390. package/src/requests/exceptions/BadGatewayException.ts +0 -3
  391. package/src/requests/exceptions/BadRequestException.ts +0 -3
  392. package/src/requests/exceptions/ConflictException.ts +0 -3
  393. package/src/requests/exceptions/ForbiddenException.ts +0 -3
  394. package/src/requests/exceptions/GatewayTimeoutException.ts +0 -3
  395. package/src/requests/exceptions/GoneException.ts +0 -3
  396. package/src/requests/exceptions/InvalidJsonException.ts +0 -15
  397. package/src/requests/exceptions/LockedException.ts +0 -3
  398. package/src/requests/exceptions/MethodNotAllowedException.ts +0 -3
  399. package/src/requests/exceptions/NotFoundException.ts +0 -3
  400. package/src/requests/exceptions/NotImplementedException.ts +0 -3
  401. package/src/requests/exceptions/PageExpiredException.ts +0 -3
  402. package/src/requests/exceptions/PayloadTooLargeException.ts +0 -3
  403. package/src/requests/exceptions/PreconditionFailedException.ts +0 -3
  404. package/src/requests/exceptions/RequestTimeoutException.ts +0 -3
  405. package/src/requests/exceptions/ResponseBodyException.ts +0 -15
  406. package/src/requests/exceptions/ResponseException.ts +0 -11
  407. package/src/requests/exceptions/ServerErrorException.ts +0 -3
  408. package/src/requests/exceptions/ServiceUnavailableException.ts +0 -3
  409. package/src/requests/exceptions/StaleResponseException.ts +0 -13
  410. package/src/requests/exceptions/TooManyRequestsException.ts +0 -3
  411. package/src/requests/exceptions/UnauthorizedException.ts +0 -3
  412. package/src/requests/exceptions/UnsupportedMediaTypeException.ts +0 -3
  413. package/src/requests/exceptions/ValidationException.ts +0 -3
  414. package/src/requests/exceptions/index.ts +0 -51
  415. package/src/requests/factories/BinaryBodyFactory.ts +0 -13
  416. package/src/requests/factories/FormDataFactory.ts +0 -17
  417. package/src/requests/factories/JsonBodyFactory.ts +0 -9
  418. package/src/requests/index.ts +0 -68
  419. package/src/requests/responses/BaseResponse.ts +0 -41
  420. package/src/requests/responses/BlobResponse.ts +0 -19
  421. package/src/requests/responses/JsonResponse.ts +0 -15
  422. package/src/requests/responses/PlainTextResponse.ts +0 -15
  423. package/src/requests/types/RequestUploadProgress.ts +0 -6
  424. package/src/support/DeferredPromise.ts +0 -67
  425. package/src/support/helpers.ts +0 -78
  426. package/src/vue/composables/useConfirmDialog.ts +0 -63
  427. package/src/vue/composables/useGlobalCheckbox.ts +0 -145
  428. package/src/vue/composables/useIsEmpty.ts +0 -34
  429. package/src/vue/composables/useIsOpen.ts +0 -37
  430. package/src/vue/composables/useIsOpenFromVar.ts +0 -61
  431. package/src/vue/composables/useModelWrapper.ts +0 -27
  432. package/src/vue/composables/useOnOpen.ts +0 -34
  433. package/src/vue/contracts/ModelValueProps.ts +0 -3
  434. package/src/vue/forms/BaseForm.ts +0 -1192
  435. package/src/vue/forms/PropertyAwareArray.ts +0 -81
  436. package/src/vue/forms/types/PersistedForm.ts +0 -6
  437. package/src/vue/forms/validation/ValidationMode.enum.ts +0 -14
  438. package/src/vue/forms/validation/index.ts +0 -15
  439. package/src/vue/forms/validation/rules/BaseRule.ts +0 -7
  440. package/src/vue/forms/validation/rules/ConfirmedRule.ts +0 -39
  441. package/src/vue/forms/validation/rules/EmailRule.ts +0 -23
  442. package/src/vue/forms/validation/rules/JsonRule.ts +0 -28
  443. package/src/vue/forms/validation/rules/MinRule.ts +0 -61
  444. package/src/vue/forms/validation/rules/RequiredRule.ts +0 -19
  445. package/src/vue/forms/validation/rules/UrlRule.ts +0 -24
  446. package/src/vue/forms/validation/types/ValidationRules.ts +0 -15
  447. package/src/vue/index.ts +0 -14
  448. package/src/vue/requests/factories/VueRequestLoaderFactory.ts +0 -10
  449. package/src/vue/requests/loaders/VueRequestBatchLoader.ts +0 -35
  450. package/src/vue/requests/loaders/VueRequestLoader.ts +0 -18
  451. package/src/vue/router/routeResourceBinding/RouteResourceBoundView.ts +0 -145
  452. package/src/vue/router/routeResourceBinding/RouteResourceRequestResolver.ts +0 -11
  453. package/src/vue/router/routeResourceBinding/defineRoute.ts +0 -59
  454. package/src/vue/router/routeResourceBinding/index.ts +0 -11
  455. package/src/vue/router/routeResourceBinding/installRouteInjection.ts +0 -164
  456. package/src/vue/router/routeResourceBinding/types.ts +0 -53
  457. package/src/vue/router/routeResourceBinding/useRouteResource.ts +0 -24
  458. package/src/vue/state/State.ts +0 -380
  459. package/src/vue/state/index.ts +0 -3
  460. package/tests/service/bulkRequests/BulkRequestSender.test.ts +0 -76
  461. package/tests/service/bulkRequests/BulkRequestWrapper.test.ts +0 -51
  462. package/tests/service/helpers/mergeDeep.test.ts +0 -53
  463. package/tests/service/laravel/pagination/dataDrivers/RequestDriver.test.ts +0 -84
  464. package/tests/service/laravel/requests/JsonBaseRequest.test.ts +0 -43
  465. package/tests/service/laravel/requests/PaginationJsonBaseRequest.test.ts +0 -58
  466. package/tests/service/laravel/requests/responses/JsonResponse.test.ts +0 -59
  467. package/tests/service/laravel/requests/responses/PaginationResponse.test.ts +0 -127
  468. package/tests/service/pagination/BasePaginator.test.ts +0 -100
  469. package/tests/service/pagination/InfiniteScroller.test.ts +0 -101
  470. package/tests/service/pagination/PageAwarePaginator.test.ts +0 -133
  471. package/tests/service/pagination/StatePaginator.test.ts +0 -76
  472. package/tests/service/pagination/VueViewDrivers.test.ts +0 -46
  473. package/tests/service/pagination/dtos/PaginationDataDto.test.ts +0 -35
  474. package/tests/service/pagination/dtos/StatePaginationDataDto.test.ts +0 -14
  475. package/tests/service/pagination/factories/VuePaginationDriverFactory.test.ts +0 -32
  476. package/tests/service/pagination/frontendDrivers/VuePaginationDriver.test.ts +0 -66
  477. package/tests/service/persistenceDrivers/PersistenceDrivers.test.ts +0 -56
  478. package/tests/service/requests/BaseRequest.test.ts +0 -250
  479. package/tests/service/requests/BodiesAndFactories.test.ts +0 -52
  480. package/tests/service/requests/Enums.test.ts +0 -20
  481. package/tests/service/requests/ErrorHandler.test.ts +0 -188
  482. package/tests/service/requests/FormDataBody.test.ts +0 -63
  483. package/tests/service/requests/RequestErrorRouter.test.ts +0 -44
  484. package/tests/service/requests/Responses.test.ts +0 -83
  485. package/tests/service/requests/exceptions/Exceptions.test.ts +0 -43
  486. package/tests/service/requests/fetch/FetchDriver.test.ts +0 -94
  487. package/tests/service/requests/fetch/FetchResponse.test.ts +0 -21
  488. package/tests/service/requests/xhr/XMLHttpRequestDriver.test.ts +0 -197
  489. package/tests/service/support/DeferredPromise.test.ts +0 -40
  490. package/tests/service/support/helpers.test.ts +0 -37
  491. package/tests/vue/composables/useConfirmDialog.test.ts +0 -77
  492. package/tests/vue/composables/useGlobalCheckbox.test.ts +0 -126
  493. package/tests/vue/composables/useIsEmpty.test.ts +0 -18
  494. package/tests/vue/composables/useIsOpen.test.ts +0 -25
  495. package/tests/vue/composables/useIsOpenFromVar.test.ts +0 -22
  496. package/tests/vue/composables/useModelWrapper.test.ts +0 -30
  497. package/tests/vue/composables/useOnOpen.test.ts +0 -26
  498. package/tests/vue/forms/BaseForm.behavior.test.ts +0 -98
  499. package/tests/vue/forms/BaseForm.transformers.test.ts +0 -109
  500. package/tests/vue/forms/PropertyAwareArray.test.ts +0 -30
  501. package/tests/vue/forms/validation/ValidationRules.test.ts +0 -79
  502. package/tests/vue/requests/VueRequestLoaders.test.ts +0 -48
  503. package/tests/vue/router/routeResourceBinding/RouteResourceBoundView.test.ts +0 -344
  504. package/tests/vue/router/routeResourceBinding/RouteResourceUtils.test.ts +0 -70
  505. package/tests/vue/router/routeResourceBinding/installRouteInjection.test.ts +0 -450
  506. package/tests/vue/state/State.test.ts +0 -151
  507. package/tsconfig.json +0 -114
  508. package/vite.config.ts +0 -34
  509. 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
- })