@blueprint-ts/core 4.1.0-beta.1 → 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 (507) 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 -213
  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 -105
  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 -61
  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/FormDataBody.ts +0 -81
  375. package/src/requests/bodies/JsonBody.ts +0 -16
  376. package/src/requests/contracts/BaseRequestContract.ts +0 -39
  377. package/src/requests/contracts/BodyContract.ts +0 -7
  378. package/src/requests/contracts/BodyFactoryContract.ts +0 -5
  379. package/src/requests/contracts/DriverConfigContract.ts +0 -9
  380. package/src/requests/contracts/HeadersContract.ts +0 -5
  381. package/src/requests/contracts/RequestDriverContract.ts +0 -15
  382. package/src/requests/contracts/RequestLoaderContract.ts +0 -5
  383. package/src/requests/contracts/ResponseContract.ts +0 -7
  384. package/src/requests/drivers/contracts/ResponseHandlerContract.ts +0 -10
  385. package/src/requests/drivers/fetch/FetchDriver.ts +0 -115
  386. package/src/requests/drivers/fetch/FetchResponse.ts +0 -30
  387. package/src/requests/drivers/xhr/XMLHttpRequestDriver.ts +0 -138
  388. package/src/requests/drivers/xhr/XMLHttpRequestResponse.ts +0 -95
  389. package/src/requests/exceptions/BadGatewayException.ts +0 -3
  390. package/src/requests/exceptions/BadRequestException.ts +0 -3
  391. package/src/requests/exceptions/ConflictException.ts +0 -3
  392. package/src/requests/exceptions/ForbiddenException.ts +0 -3
  393. package/src/requests/exceptions/GatewayTimeoutException.ts +0 -3
  394. package/src/requests/exceptions/GoneException.ts +0 -3
  395. package/src/requests/exceptions/InvalidJsonException.ts +0 -15
  396. package/src/requests/exceptions/LockedException.ts +0 -3
  397. package/src/requests/exceptions/MethodNotAllowedException.ts +0 -3
  398. package/src/requests/exceptions/NotFoundException.ts +0 -3
  399. package/src/requests/exceptions/NotImplementedException.ts +0 -3
  400. package/src/requests/exceptions/PageExpiredException.ts +0 -3
  401. package/src/requests/exceptions/PayloadTooLargeException.ts +0 -3
  402. package/src/requests/exceptions/PreconditionFailedException.ts +0 -3
  403. package/src/requests/exceptions/RequestTimeoutException.ts +0 -3
  404. package/src/requests/exceptions/ResponseBodyException.ts +0 -15
  405. package/src/requests/exceptions/ResponseException.ts +0 -11
  406. package/src/requests/exceptions/ServerErrorException.ts +0 -3
  407. package/src/requests/exceptions/ServiceUnavailableException.ts +0 -3
  408. package/src/requests/exceptions/StaleResponseException.ts +0 -13
  409. package/src/requests/exceptions/TooManyRequestsException.ts +0 -3
  410. package/src/requests/exceptions/UnauthorizedException.ts +0 -3
  411. package/src/requests/exceptions/UnsupportedMediaTypeException.ts +0 -3
  412. package/src/requests/exceptions/ValidationException.ts +0 -3
  413. package/src/requests/exceptions/index.ts +0 -51
  414. package/src/requests/factories/FormDataFactory.ts +0 -17
  415. package/src/requests/factories/JsonBodyFactory.ts +0 -9
  416. package/src/requests/index.ts +0 -61
  417. package/src/requests/responses/BaseResponse.ts +0 -41
  418. package/src/requests/responses/BlobResponse.ts +0 -19
  419. package/src/requests/responses/JsonResponse.ts +0 -15
  420. package/src/requests/responses/PlainTextResponse.ts +0 -15
  421. package/src/requests/types/RequestUploadProgress.ts +0 -6
  422. package/src/support/DeferredPromise.ts +0 -67
  423. package/src/support/helpers.ts +0 -78
  424. package/src/vue/composables/useConfirmDialog.ts +0 -63
  425. package/src/vue/composables/useGlobalCheckbox.ts +0 -145
  426. package/src/vue/composables/useIsEmpty.ts +0 -34
  427. package/src/vue/composables/useIsOpen.ts +0 -37
  428. package/src/vue/composables/useIsOpenFromVar.ts +0 -61
  429. package/src/vue/composables/useModelWrapper.ts +0 -27
  430. package/src/vue/composables/useOnOpen.ts +0 -34
  431. package/src/vue/contracts/ModelValueProps.ts +0 -3
  432. package/src/vue/forms/BaseForm.ts +0 -1192
  433. package/src/vue/forms/PropertyAwareArray.ts +0 -81
  434. package/src/vue/forms/types/PersistedForm.ts +0 -6
  435. package/src/vue/forms/validation/ValidationMode.enum.ts +0 -14
  436. package/src/vue/forms/validation/index.ts +0 -15
  437. package/src/vue/forms/validation/rules/BaseRule.ts +0 -7
  438. package/src/vue/forms/validation/rules/ConfirmedRule.ts +0 -39
  439. package/src/vue/forms/validation/rules/EmailRule.ts +0 -23
  440. package/src/vue/forms/validation/rules/JsonRule.ts +0 -28
  441. package/src/vue/forms/validation/rules/MinRule.ts +0 -61
  442. package/src/vue/forms/validation/rules/RequiredRule.ts +0 -19
  443. package/src/vue/forms/validation/rules/UrlRule.ts +0 -24
  444. package/src/vue/forms/validation/types/ValidationRules.ts +0 -15
  445. package/src/vue/index.ts +0 -14
  446. package/src/vue/requests/factories/VueRequestLoaderFactory.ts +0 -10
  447. package/src/vue/requests/loaders/VueRequestBatchLoader.ts +0 -35
  448. package/src/vue/requests/loaders/VueRequestLoader.ts +0 -18
  449. package/src/vue/router/routeResourceBinding/RouteResourceBoundView.ts +0 -145
  450. package/src/vue/router/routeResourceBinding/RouteResourceRequestResolver.ts +0 -11
  451. package/src/vue/router/routeResourceBinding/defineRoute.ts +0 -59
  452. package/src/vue/router/routeResourceBinding/index.ts +0 -11
  453. package/src/vue/router/routeResourceBinding/installRouteInjection.ts +0 -164
  454. package/src/vue/router/routeResourceBinding/types.ts +0 -53
  455. package/src/vue/router/routeResourceBinding/useRouteResource.ts +0 -24
  456. package/src/vue/state/State.ts +0 -380
  457. package/src/vue/state/index.ts +0 -3
  458. package/tests/service/bulkRequests/BulkRequestSender.test.ts +0 -76
  459. package/tests/service/bulkRequests/BulkRequestWrapper.test.ts +0 -51
  460. package/tests/service/helpers/mergeDeep.test.ts +0 -53
  461. package/tests/service/laravel/pagination/dataDrivers/RequestDriver.test.ts +0 -84
  462. package/tests/service/laravel/requests/JsonBaseRequest.test.ts +0 -43
  463. package/tests/service/laravel/requests/PaginationJsonBaseRequest.test.ts +0 -58
  464. package/tests/service/laravel/requests/responses/JsonResponse.test.ts +0 -59
  465. package/tests/service/laravel/requests/responses/PaginationResponse.test.ts +0 -127
  466. package/tests/service/pagination/BasePaginator.test.ts +0 -100
  467. package/tests/service/pagination/InfiniteScroller.test.ts +0 -101
  468. package/tests/service/pagination/PageAwarePaginator.test.ts +0 -133
  469. package/tests/service/pagination/StatePaginator.test.ts +0 -76
  470. package/tests/service/pagination/VueViewDrivers.test.ts +0 -46
  471. package/tests/service/pagination/dtos/PaginationDataDto.test.ts +0 -35
  472. package/tests/service/pagination/dtos/StatePaginationDataDto.test.ts +0 -14
  473. package/tests/service/pagination/factories/VuePaginationDriverFactory.test.ts +0 -32
  474. package/tests/service/pagination/frontendDrivers/VuePaginationDriver.test.ts +0 -66
  475. package/tests/service/persistenceDrivers/PersistenceDrivers.test.ts +0 -56
  476. package/tests/service/requests/BaseRequest.test.ts +0 -250
  477. package/tests/service/requests/BodiesAndFactories.test.ts +0 -28
  478. package/tests/service/requests/Enums.test.ts +0 -20
  479. package/tests/service/requests/ErrorHandler.test.ts +0 -188
  480. package/tests/service/requests/FormDataBody.test.ts +0 -63
  481. package/tests/service/requests/RequestErrorRouter.test.ts +0 -44
  482. package/tests/service/requests/Responses.test.ts +0 -83
  483. package/tests/service/requests/exceptions/Exceptions.test.ts +0 -43
  484. package/tests/service/requests/fetch/FetchDriver.test.ts +0 -76
  485. package/tests/service/requests/fetch/FetchResponse.test.ts +0 -21
  486. package/tests/service/requests/xhr/XMLHttpRequestDriver.test.ts +0 -178
  487. package/tests/service/support/DeferredPromise.test.ts +0 -40
  488. package/tests/service/support/helpers.test.ts +0 -37
  489. package/tests/vue/composables/useConfirmDialog.test.ts +0 -77
  490. package/tests/vue/composables/useGlobalCheckbox.test.ts +0 -126
  491. package/tests/vue/composables/useIsEmpty.test.ts +0 -18
  492. package/tests/vue/composables/useIsOpen.test.ts +0 -25
  493. package/tests/vue/composables/useIsOpenFromVar.test.ts +0 -22
  494. package/tests/vue/composables/useModelWrapper.test.ts +0 -30
  495. package/tests/vue/composables/useOnOpen.test.ts +0 -26
  496. package/tests/vue/forms/BaseForm.behavior.test.ts +0 -98
  497. package/tests/vue/forms/BaseForm.transformers.test.ts +0 -109
  498. package/tests/vue/forms/PropertyAwareArray.test.ts +0 -30
  499. package/tests/vue/forms/validation/ValidationRules.test.ts +0 -79
  500. package/tests/vue/requests/VueRequestLoaders.test.ts +0 -48
  501. package/tests/vue/router/routeResourceBinding/RouteResourceBoundView.test.ts +0 -344
  502. package/tests/vue/router/routeResourceBinding/RouteResourceUtils.test.ts +0 -70
  503. package/tests/vue/router/routeResourceBinding/installRouteInjection.test.ts +0 -450
  504. package/tests/vue/state/State.test.ts +0 -151
  505. package/tsconfig.json +0 -114
  506. package/vite.config.ts +0 -34
  507. package/vitest.config.ts +0 -23
@@ -1,51 +0,0 @@
1
- import { describe, expect, it, vi } from 'vitest'
2
- import { BulkRequestWrapper } from '../../../src/bulkRequests/BulkRequestWrapper'
3
-
4
- const createRequest = (behavior: { shouldFail?: boolean } = {}) => {
5
- return {
6
- send: vi.fn().mockImplementation(() => {
7
- if (behavior.shouldFail) {
8
- return Promise.reject(new Error('fail'))
9
- }
10
- return Promise.resolve('ok')
11
- }),
12
- isLoading: vi.fn().mockReturnValue(false),
13
- setAbortSignal: vi.fn(),
14
- }
15
- }
16
-
17
- describe('BulkRequestWrapper', () => {
18
- it('stores response on success', async () => {
19
- const request = createRequest()
20
- const wrapper = new BulkRequestWrapper(request as any)
21
-
22
- await wrapper.send()
23
-
24
- expect(wrapper.getResponse()).toBe('ok')
25
- expect(wrapper.getError()).toBeNull()
26
- expect(wrapper.hasError()).toBe(false)
27
- expect(wrapper.wasSent()).toBe(true)
28
- })
29
-
30
- it('stores error on failure', async () => {
31
- const request = createRequest({ shouldFail: true })
32
- const wrapper = new BulkRequestWrapper(request as any)
33
-
34
- await wrapper.send()
35
-
36
- expect(wrapper.getResponse()).toBeNull()
37
- expect(wrapper.getError()).toBeInstanceOf(Error)
38
- expect(wrapper.hasError()).toBe(true)
39
- expect(wrapper.wasSent()).toBe(true)
40
- })
41
-
42
- it('passes abort signal to request', async () => {
43
- const request = createRequest()
44
- const wrapper = new BulkRequestWrapper(request as any)
45
- const controller = new AbortController()
46
-
47
- await wrapper.send(controller.signal)
48
-
49
- expect(request.setAbortSignal).toHaveBeenCalledWith(controller.signal)
50
- })
51
- })
@@ -1,53 +0,0 @@
1
- import { mergeDeep } from '../../../src/support/helpers'
2
- import { describe, it, expect } from 'vitest';
3
-
4
- describe('mergeDeep', () => {
5
- it('should merge nested objects and replace primitive values', () => {
6
- const previous = {
7
- filter: {
8
- role: 'supplier',
9
- search_text: ''
10
- }
11
- }
12
-
13
- const params = {
14
- filter: {
15
- search_text: 'ad'
16
- }
17
- }
18
-
19
- const result = mergeDeep(previous, params)
20
-
21
- expect(result).toEqual({
22
- filter: {
23
- role: 'supplier',
24
- search_text: 'ad'
25
- }
26
- })
27
- })
28
-
29
- it('should deeply merge multiple levels', () => {
30
- const a = { a: { b: { c: 1 }, d: 2 } }
31
- const b = { a: { b: { c: 3 }, e: 4 } }
32
-
33
- const result = mergeDeep( a, b)
34
-
35
- expect(result).toEqual({
36
- a: {
37
- b: { c: 3 },
38
- d: 2,
39
- e: 4
40
- }
41
- })
42
- })
43
-
44
- it('should not mutate the original objects', () => {
45
- const a = { foo: { bar: 'baz' } }
46
- const b = { foo: { bar: 'qux' } }
47
-
48
- const result = mergeDeep({}, a, b)
49
-
50
- expect(result).toEqual({ foo: { bar: 'qux' } })
51
- expect(a.foo.bar).toBe('baz') // confirm a was not mutated
52
- })
53
- })
@@ -1,84 +0,0 @@
1
- import { describe, test, expect, vi, beforeEach } from 'vitest'
2
- import { RequestDriver } from '../../../../../src/laravel/pagination'
3
- import { PaginationDataDto } from '../../../../../src/pagination'
4
- import { PaginationResponse } from '../../../../../src/laravel/requests'
5
-
6
- // Mocks für Schnittstellen und Klassen
7
- class MockRequest {
8
- setPaginationParams = vi.fn().mockReturnThis()
9
- send = vi.fn()
10
- }
11
-
12
- class MockPaginationResponse extends PaginationResponse<any> {
13
- protected resolveBody = vi.fn().mockResolvedValue(this.mockBody)
14
- private mockBody
15
-
16
- constructor(data: any[]) {
17
- super()
18
- this.mockBody = data
19
- }
20
-
21
- getTotal() {
22
- return this.mockBody.length
23
- }
24
-
25
- getData() {
26
- return this.mockBody
27
- }
28
- }
29
-
30
- describe('RequestDriver', () => {
31
- let mockRequest: MockRequest
32
- let requestDriver: RequestDriver<typeof mockRequest>
33
-
34
- beforeEach(() => {
35
- mockRequest = new MockRequest()
36
- requestDriver = new RequestDriver(mockRequest as any)
37
- })
38
-
39
- test('should call setPaginationParams with correct parameters', async () => {
40
- const pageNumber = 1
41
- const pageSize = 10
42
-
43
- // Mock PaginationResponse
44
- const mockResponse = new MockPaginationResponse([{ id: 1 }, { id: 2 }])
45
-
46
- // Mock send method to resolve to a mock PaginationResponse
47
- mockRequest.send.mockResolvedValue(mockResponse)
48
- await requestDriver.get(pageNumber, pageSize)
49
-
50
- expect(mockRequest.setPaginationParams).toHaveBeenCalledWith(
51
- pageNumber,
52
- pageSize
53
- )
54
- })
55
-
56
- test('should correctly map response to PaginationDataDto', async () => {
57
- const pageNumber = 1
58
- const pageSize = 10
59
-
60
- const mockData = [{ id: 1 }, { id: 2 }]
61
- const mockResponse = new MockPaginationResponse(mockData)
62
-
63
- // Mock send method to resolve to a mock PaginationResponse
64
- mockRequest.send.mockResolvedValue(mockResponse)
65
-
66
- const result = await requestDriver.get(pageNumber, pageSize)
67
-
68
- expect(result).toBeInstanceOf(PaginationDataDto)
69
- expect(result.data).toEqual(mockData)
70
- expect(result.total).toBe(mockData.length)
71
- })
72
-
73
- test('should handle request errors gracefully', async () => {
74
- const pageNumber = 1
75
- const pageSize = 10
76
-
77
- const error = new Error('Request failed')
78
- mockRequest.send.mockRejectedValue(error)
79
-
80
- await expect(requestDriver.get(pageNumber, pageSize)).rejects.toThrowError(
81
- 'Request failed'
82
- )
83
- })
84
- })
@@ -1,43 +0,0 @@
1
- import { describe, test, expect, beforeEach } from 'vitest';
2
- import { JsonBaseRequest } from '../../../../src/laravel/requests'
3
- import { JsonResponse } from '../../../../src/laravel/requests'
4
- import { JsonBodyFactory } from '../../../../src/requests'
5
-
6
- interface TestResource {
7
- id: number;
8
- name: string;
9
- }
10
-
11
- class TestJsonBaseRequest extends JsonBaseRequest<TestResource> {
12
- // Abstrakte Klasse muss hier für Tests konkretisiert werden
13
- }
14
-
15
- describe('JsonBaseRequest', () => {
16
- let request: TestJsonBaseRequest;
17
-
18
- beforeEach(() => {
19
- // Instanziiere die Testklasse vor jedem Test
20
- request = new TestJsonBaseRequest();
21
- });
22
-
23
- test('should return a JsonResponse instance from getResponse', () => {
24
- const response = request.getResponse();
25
- // Überprüfe, ob getResponse eine JsonResponse-Instanz zurückgibt
26
- expect(response).toBeInstanceOf(JsonResponse);
27
- });
28
-
29
- test('should return a JsonBodyFactory instance from getRequestBodyFactory', () => {
30
- const bodyFactory = request.getRequestBodyFactory();
31
- // Überprüfe, ob getRequestBodyFactory eine JsonBodyFactory-Instanz zurückgibt
32
- expect(bodyFactory).toBeInstanceOf(JsonBodyFactory);
33
- });
34
-
35
- test('should handle generic type definitions for JsonResponse and factory', () => {
36
- // Testen des generischen Typsystems
37
- const response = request.getResponse();
38
- const bodyFactory = request.getRequestBodyFactory();
39
-
40
- expect(response).toBeInstanceOf(JsonResponse<TestResource>);
41
- expect(bodyFactory).toBeInstanceOf(JsonBodyFactory);
42
- });
43
- });
@@ -1,58 +0,0 @@
1
- import { describe, test, expect, beforeEach, vi } from 'vitest';
2
- import { PaginationJsonBaseRequest } from '../../../../src/laravel/requests'
3
- import { PaginationResponse } from '../../../../src/laravel/requests'
4
-
5
- interface TestResource {
6
- id: number;
7
- name: string;
8
- }
9
-
10
- interface TestRequestParams {
11
- page_number: number;
12
- page_size: number;
13
- }
14
-
15
- class TestPaginationJsonBaseRequest extends PaginationJsonBaseRequest<TestResource, TestRequestParams> {
16
- // Abstrakte Klasse für Tests konkretisiert
17
- }
18
-
19
- describe('PaginationJsonBaseRequest', () => {
20
- let request: TestPaginationJsonBaseRequest;
21
-
22
- beforeEach(() => {
23
- // Instanziiere die Testklasse vor jedem Test
24
- request = new TestPaginationJsonBaseRequest();
25
- });
26
-
27
- test('should return a PaginationResponse instance from getResponse', () => {
28
- const response = request.getResponse();
29
- // Überprüfe, ob getResponse eine PaginationResponse-Instanz zurückgibt
30
- expect(response).toBeInstanceOf(PaginationResponse);
31
- });
32
-
33
- test('should correctly set pagination parameters with setPaginationParams', () => {
34
- const page = 2;
35
- const size = 50;
36
-
37
- // Mock der `withParams`-Methode, falls sie von `BaseRequest` stammt
38
- const mockWithParams = vi.spyOn(request, 'withParams');
39
-
40
- // Rufe `setPaginationParams` auf
41
- const updatedRequest = request.setPaginationParams(page, size);
42
-
43
- expect(updatedRequest).toBe(request); // Überprüft die fluente API
44
- expect(mockWithParams).toHaveBeenCalledWith({
45
- page_number: page,
46
- page_size: size,
47
- });
48
-
49
- // Aufräumen von Mocks
50
- mockWithParams.mockRestore();
51
- });
52
-
53
- test('should handle generic type definitions for getResponse', () => {
54
- // Testen des generischen Typsystems
55
- const response = request.getResponse();
56
- expect(response).toBeInstanceOf(PaginationResponse<TestResource>);
57
- });
58
- });
@@ -1,59 +0,0 @@
1
- import { describe, test, expect, beforeEach, vi } from 'vitest';
2
- import { JsonResponse } from '../../../../../src/laravel/requests'
3
-
4
- describe('JsonResponse', () => {
5
- let jsonResponse: JsonResponse<any>; // Generische Instanz für flexibles Testen
6
-
7
- beforeEach(() => {
8
- jsonResponse = new JsonResponse();
9
- });
10
-
11
- test('should correctly return data from response body', async () => {
12
- const mockBody = {
13
- data: { id: 1, name: 'Test Resource' },
14
- };
15
-
16
- // Simuliere die Methode `setResponse` mit einem Mock-ResponseHandler
17
- const mockResponseHandler = {
18
- async json() {
19
- return mockBody;
20
- },
21
- getRawResponse: vi.fn(),
22
- getStatusCode: vi.fn(),
23
- getHeaders: vi.fn(),
24
- };
25
-
26
- await jsonResponse.setResponse(mockResponseHandler as any);
27
-
28
- // Rufe die Methode `getData` auf und erwarte die korrekten Daten
29
- const data = jsonResponse.getData();
30
- expect(data).toEqual(mockBody.data);
31
- });
32
-
33
- test('should throw error if body is not set before calling getData', () => {
34
- // Direkt getData aufrufen ohne vorher einen Response-Body zu setzen
35
- expect(() => jsonResponse.getData()).toThrowError('Response body is not set');
36
- });
37
-
38
- test('should correctly handle nested resource data', async () => {
39
- const mockBody = {
40
- data: { id: 42, attributes: { title: 'Nested Test' } },
41
- };
42
-
43
- // Simuliere die Methode `setResponse` mit einem Mock-ResponseHandler
44
- const mockResponseHandler = {
45
- async json() {
46
- return mockBody;
47
- },
48
- getRawResponse: vi.fn(),
49
- getStatusCode: vi.fn(),
50
- getHeaders: vi.fn(),
51
- };
52
-
53
- await jsonResponse.setResponse(mockResponseHandler as any);
54
-
55
- // Rufe die Methode `getData` auf und überprüfe, ob die geschachtelten Daten korrekt verarbeitet werden
56
- const data = jsonResponse.getData();
57
- expect(data).toEqual(mockBody.data);
58
- });
59
- });
@@ -1,127 +0,0 @@
1
- import { describe, test, expect, beforeEach, vi } from 'vitest';
2
- import { PaginationResponse } from '../../../../../src/laravel/requests'
3
-
4
- describe('PaginationResponse', () => {
5
- let paginationResponse: PaginationResponse<{ id: number; name: string }>;
6
-
7
- beforeEach(() => {
8
- // Erstelle für jeden Test eine neue Instanz
9
- paginationResponse = new PaginationResponse();
10
- });
11
-
12
- test('should correctly return total from the response body meta', async () => {
13
- const mockBody = {
14
- data: { id: 1, name: 'Test Data' },
15
- meta: { total: 42 },
16
- };
17
-
18
- // Simuliere den ResponseHandler mit einem Mock
19
- const mockResponseHandler = {
20
- async json() {
21
- return mockBody;
22
- },
23
- getRawResponse: vi.fn(),
24
- getStatusCode: vi.fn(),
25
- getHeaders: vi.fn(),
26
- };
27
-
28
- // Setze die Response und überprüfe getTotal
29
- await paginationResponse.setResponse(mockResponseHandler as any);
30
-
31
- const total = paginationResponse.getTotal();
32
- expect(total).toBe(mockBody.meta.total);
33
- });
34
-
35
- test('should correctly return data from the response body data', async () => {
36
- const mockBody = {
37
- data: { id: 1, name: 'Test Data' },
38
- meta: { total: 42 },
39
- };
40
-
41
- // Simuliere den ResponseHandler
42
- const mockResponseHandler = {
43
- async json() {
44
- return mockBody;
45
- },
46
- getRawResponse: vi.fn(),
47
- getStatusCode: vi.fn(),
48
- getHeaders: vi.fn(),
49
- };
50
-
51
- // Setze die Response und überprüfe die Methode getData
52
- await paginationResponse.setResponse(mockResponseHandler as any);
53
-
54
- const data = paginationResponse.getData();
55
- expect(data).toEqual(mockBody.data);
56
- });
57
-
58
- test('should throw error when body is not set before calling getTotal', () => {
59
- // Rufe getTotal auf, ohne den Body zu setzen
60
- expect(() => paginationResponse.getTotal()).toThrowError(
61
- 'Response body is not set'
62
- );
63
- });
64
-
65
- test('should throw error when body is not set before calling getData', () => {
66
- // Rufe getData auf, ohne den Body zu setzen
67
- expect(() => paginationResponse.getData()).toThrowError(
68
- 'Response body is not set'
69
- );
70
- });
71
-
72
- test('should preserve raw response, headers, and status code', async () => {
73
- const mockBody = {
74
- data: { id: 3, name: 'Test Headers' },
75
- meta: { total: 15 },
76
- };
77
-
78
- const mockRawResponse = { ok: true };
79
- const mockHeaders = { 'content-type': 'application/json' };
80
- const mockStatusCode = 200;
81
-
82
- const mockResponseHandler = {
83
- async json() {
84
- return mockBody;
85
- },
86
- getRawResponse: () => mockRawResponse,
87
- getStatusCode: () => mockStatusCode,
88
- getHeaders: () => mockHeaders,
89
- };
90
-
91
- // Setze die Response
92
- await paginationResponse.setResponse(mockResponseHandler as any);
93
-
94
- // Prüfe getRawResponse, getHeaders und getStatusCode
95
- expect(paginationResponse.getData()).toEqual(mockBody.data);
96
- expect(paginationResponse.getTotal()).toBe(mockBody.meta.total);
97
- expect(paginationResponse.getRawResponse()).toEqual(mockRawResponse);
98
- expect(paginationResponse.getHeaders()).toEqual(mockHeaders);
99
- expect(paginationResponse.getStatusCode()).toBe(mockStatusCode);
100
- });
101
-
102
- test('should handle responses with no meta data gracefully', async () => {
103
- const mockBody = {
104
- data: { id: 1, name: 'Test Data without Meta' },
105
- meta: null, // Keine meta-Daten
106
- };
107
-
108
- const mockResponseHandler = {
109
- async json() {
110
- return mockBody;
111
- },
112
- getRawResponse: vi.fn(),
113
- getStatusCode: vi.fn(),
114
- getHeaders: vi.fn(),
115
- };
116
-
117
- // Setze die Response, auch wenn meta null ist
118
- await paginationResponse.setResponse(mockResponseHandler as any);
119
-
120
- const data = paginationResponse.getData();
121
- expect(data).toEqual(mockBody.data);
122
-
123
- expect(() => paginationResponse.getTotal()).toThrowError(
124
- "Cannot read properties of null (reading 'total')"
125
- );
126
- });
127
- });
@@ -1,100 +0,0 @@
1
- import { describe, expect, it } from 'vitest'
2
- import { BasePaginator } from '../../../src/pagination/BasePaginator'
3
- import { PaginationDataDto } from '../../../src/pagination/dtos/PaginationDataDto'
4
- import type { BaseViewDriverContract } from '../../../src/pagination/contracts/BaseViewDriverContract'
5
-
6
- class TestViewDriver implements BaseViewDriverContract<number[]> {
7
- private data: number[] = []
8
- private total = 0
9
-
10
- setData(data: number[]): void {
11
- this.data = data
12
- }
13
-
14
- getData(): number[] {
15
- return this.data
16
- }
17
-
18
- setTotal(value: number): void {
19
- this.total = value
20
- }
21
-
22
- getTotal(): number {
23
- return this.total
24
- }
25
- }
26
-
27
- class TestPaginator extends BasePaginator<number, TestViewDriver> {
28
- protected override viewDriver = new TestViewDriver()
29
-
30
- public exposePass(dto: PaginationDataDto<number[]>, options?: { flush?: boolean }) {
31
- this.passDataToViewDriver(dto, options)
32
- }
33
-
34
- public exposeHandleStale() {
35
- return this.handleStaleResponse()
36
- }
37
-
38
- public getViewDriver() {
39
- return this.viewDriver
40
- }
41
- }
42
-
43
- describe('BasePaginator', () => {
44
- it('updates rows and returns updated count', () => {
45
- const paginator = new TestPaginator(null)
46
- paginator.getViewDriver().setData([1, 2, 3])
47
-
48
- const updated = paginator.updateRows(
49
- (row) => row % 2 === 0,
50
- (row) => row * 10
51
- )
52
-
53
- expect(updated).toBe(1)
54
- expect(paginator.getPageData()).toEqual([1, 20, 3])
55
- })
56
-
57
- it('removes rows and adjusts total', () => {
58
- const paginator = new TestPaginator(null)
59
- paginator.getViewDriver().setData([1, 2, 3])
60
- paginator.getViewDriver().setTotal(3)
61
-
62
- const removed = paginator.removeRows((row) => row > 1)
63
-
64
- expect(removed).toBe(2)
65
- expect(paginator.getPageData()).toEqual([1])
66
- expect(paginator.getTotal()).toBe(1)
67
- })
68
-
69
- it('can remove rows without adjusting total', () => {
70
- const paginator = new TestPaginator(null)
71
- paginator.getViewDriver().setData([1, 2, 3])
72
- paginator.getViewDriver().setTotal(3)
73
-
74
- paginator.removeRows((row) => row === 1, { adjustTotal: false })
75
-
76
- expect(paginator.getPageData()).toEqual([2, 3])
77
- expect(paginator.getTotal()).toBe(3)
78
- })
79
-
80
- it('passes data to view driver and marks initialized', () => {
81
- const paginator = new TestPaginator(null)
82
-
83
- paginator.exposePass(new PaginationDataDto([4, 5], 2), { flush: true })
84
-
85
- expect(paginator.getPageData()).toEqual([4, 5])
86
- expect(paginator.getTotal()).toBe(2)
87
- expect(paginator.isInitialized()).toBe(true)
88
- })
89
-
90
- it('handles stale response by returning current data/total', () => {
91
- const paginator = new TestPaginator(null)
92
- paginator.getViewDriver().setData([7])
93
- paginator.getViewDriver().setTotal(9)
94
-
95
- const dto = paginator.exposeHandleStale()
96
-
97
- expect(dto.getData()).toEqual([7])
98
- expect(dto.getTotal()).toBe(9)
99
- })
100
- })
@@ -1,101 +0,0 @@
1
- import { describe, expect, it } from 'vitest'
2
- import { InfiniteScroller } from '../../../src/pagination/InfiniteScroller'
3
- import { PaginationDataDto } from '../../../src/pagination/dtos/PaginationDataDto'
4
- import type { PaginationDataDriverContract } from '../../../src/pagination/contracts/PaginationDataDriverContract'
5
- import type { ViewDriverFactoryContract } from '../../../src/pagination/contracts/ViewDriverFactoryContract'
6
- import type { ViewDriverContract } from '../../../src/pagination/contracts/ViewDriverContract'
7
-
8
- class StubViewDriver implements ViewDriverContract<number[]> {
9
- private data: number[] = []
10
- private total = 0
11
- private currentPage: number
12
- private pageSize: number
13
-
14
- constructor(pageNumber: number, pageSize: number) {
15
- this.currentPage = pageNumber
16
- this.pageSize = pageSize
17
- }
18
-
19
- setData(data: number[]): void {
20
- this.data = data
21
- }
22
-
23
- getData(): number[] {
24
- return this.data
25
- }
26
-
27
- setTotal(value: number): void {
28
- this.total = value
29
- }
30
-
31
- getTotal(): number {
32
- return this.total
33
- }
34
-
35
- getCurrentPage(): number {
36
- return this.currentPage
37
- }
38
-
39
- setPage(value: number): void {
40
- this.currentPage = value
41
- }
42
-
43
- setPageSize(value: number): void {
44
- this.pageSize = value
45
- }
46
-
47
- getPageSize(): number {
48
- return this.pageSize
49
- }
50
-
51
- getLastPage(): number {
52
- return Math.max(1, Math.ceil(this.total / this.pageSize))
53
- }
54
-
55
- getPages(): number[] {
56
- return Array.from({ length: this.getLastPage() }, (_, i) => i + 1)
57
- }
58
- }
59
-
60
- class StubViewDriverFactory implements ViewDriverFactoryContract {
61
- public make<ResourceInterface>(pageNumber: number, pageSize: number): ViewDriverContract<ResourceInterface[]> {
62
- return new StubViewDriver(pageNumber, pageSize) as ViewDriverContract<ResourceInterface[]>
63
- }
64
- }
65
-
66
- describe('InfiniteScroller', () => {
67
- it('concatenates data by default', async () => {
68
- let call = 0
69
- const dataDriver: PaginationDataDriverContract<number[]> = {
70
- get: async () => {
71
- call += 1
72
- return new PaginationDataDto(call === 1 ? [1, 2] : [3], 3)
73
- },
74
- }
75
-
76
- const paginator = new InfiniteScroller<number[]>(dataDriver, 1, 2, {
77
- viewDriverFactory: new StubViewDriverFactory(),
78
- })
79
-
80
- await paginator.load()
81
- await paginator.load()
82
-
83
- expect(paginator.getPageData()).toEqual([1, 2, 3])
84
- })
85
-
86
- it('replaces data when replace is true', async () => {
87
- const dataDriver: PaginationDataDriverContract<number[]> = {
88
- get: async () => new PaginationDataDto([9], 1),
89
- }
90
-
91
- const paginator = new InfiniteScroller<number[]>(dataDriver, 1, 2, {
92
- viewDriverFactory: new StubViewDriverFactory(),
93
- })
94
-
95
- ;(paginator as any).viewDriver.setData([1, 2])
96
-
97
- await paginator.load(1, { replace: true })
98
-
99
- expect(paginator.getPageData()).toEqual([9])
100
- })
101
- })