@openapi-qraft/react 1.0.0-beta.1 → 1.0.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 (83) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +99 -57
  3. package/dist/QraftContext.d.ts +8 -0
  4. package/dist/QraftContext.d.ts.map +1 -0
  5. package/dist/QraftContext.js +3 -0
  6. package/dist/QraftContext.js.map +1 -0
  7. package/dist/RequestClient.d.ts +19 -0
  8. package/dist/RequestClient.d.ts.map +1 -0
  9. package/dist/RequestClient.js +2 -0
  10. package/dist/RequestClient.js.map +1 -0
  11. package/dist/ServiceOperation.d.ts +122 -0
  12. package/dist/ServiceOperation.d.ts.map +1 -0
  13. package/dist/ServiceOperation.js +2 -0
  14. package/dist/ServiceOperation.js.map +1 -0
  15. package/dist/callbacks/getInfiniteQueryData.d.ts +6 -0
  16. package/dist/callbacks/getInfiniteQueryData.d.ts.map +1 -0
  17. package/dist/callbacks/getInfiniteQueryData.js +8 -0
  18. package/dist/callbacks/getInfiniteQueryData.js.map +1 -0
  19. package/dist/callbacks/getInfiniteQueryKey.d.ts +8 -0
  20. package/dist/callbacks/getInfiniteQueryKey.d.ts.map +1 -0
  21. package/dist/callbacks/getInfiniteQueryKey.js +7 -0
  22. package/dist/callbacks/getInfiniteQueryKey.js.map +1 -0
  23. package/dist/callbacks/getMutationKey.d.ts +5 -0
  24. package/dist/callbacks/getMutationKey.d.ts.map +1 -0
  25. package/dist/callbacks/getMutationKey.js +22 -0
  26. package/dist/callbacks/getMutationKey.js.map +1 -0
  27. package/dist/callbacks/getQueryData.d.ts +5 -0
  28. package/dist/callbacks/getQueryData.d.ts.map +1 -0
  29. package/dist/callbacks/getQueryData.js +8 -0
  30. package/dist/callbacks/getQueryData.js.map +1 -0
  31. package/dist/callbacks/getQueryKey.d.ts +7 -0
  32. package/dist/callbacks/getQueryKey.d.ts.map +1 -0
  33. package/dist/callbacks/getQueryKey.js +4 -0
  34. package/dist/callbacks/getQueryKey.js.map +1 -0
  35. package/dist/callbacks/mutationFn.d.ts +4 -0
  36. package/dist/callbacks/mutationFn.d.ts.map +1 -0
  37. package/dist/callbacks/mutationFn.js +8 -0
  38. package/dist/callbacks/mutationFn.js.map +1 -0
  39. package/dist/callbacks/queryFn.d.ts +15 -0
  40. package/dist/callbacks/queryFn.d.ts.map +1 -0
  41. package/dist/callbacks/queryFn.js +10 -0
  42. package/dist/callbacks/queryFn.js.map +1 -0
  43. package/dist/callbacks/setInfiniteQueryData.d.ts +6 -0
  44. package/dist/callbacks/setInfiniteQueryData.d.ts.map +1 -0
  45. package/dist/callbacks/setInfiniteQueryData.js +6 -0
  46. package/dist/callbacks/setInfiniteQueryData.js.map +1 -0
  47. package/dist/callbacks/setQueryData.d.ts +5 -0
  48. package/dist/callbacks/setQueryData.d.ts.map +1 -0
  49. package/dist/callbacks/setQueryData.js +9 -0
  50. package/dist/callbacks/setQueryData.js.map +1 -0
  51. package/dist/callbacks/useInfiniteQuery.d.ts +13 -0
  52. package/dist/callbacks/useInfiniteQuery.d.ts.map +1 -0
  53. package/dist/callbacks/useInfiniteQuery.js +50 -0
  54. package/dist/callbacks/useInfiniteQuery.js.map +1 -0
  55. package/dist/callbacks/useMutation.d.ts +7 -0
  56. package/dist/callbacks/useMutation.d.ts.map +1 -0
  57. package/dist/callbacks/useMutation.js +51 -0
  58. package/dist/callbacks/useMutation.js.map +1 -0
  59. package/dist/callbacks/useQuery.d.ts +9 -0
  60. package/dist/callbacks/useQuery.d.ts.map +1 -0
  61. package/dist/callbacks/useQuery.js +27 -0
  62. package/dist/callbacks/useQuery.js.map +1 -0
  63. package/dist/index.d.ts +9 -0
  64. package/dist/index.d.ts.map +1 -0
  65. package/dist/index.js +4 -0
  66. package/dist/index.js.map +1 -0
  67. package/dist/lib/createCallbackProxyDecoration.d.ts +5 -0
  68. package/dist/lib/createCallbackProxyDecoration.d.ts.map +1 -0
  69. package/dist/lib/createCallbackProxyDecoration.js +21 -0
  70. package/dist/lib/createCallbackProxyDecoration.js.map +1 -0
  71. package/dist/lib/createRecursiveProxy.d.ts +7 -0
  72. package/dist/lib/createRecursiveProxy.d.ts.map +1 -0
  73. package/dist/lib/createRecursiveProxy.js +24 -0
  74. package/dist/lib/createRecursiveProxy.js.map +1 -0
  75. package/dist/lib/request.d.ts +32 -0
  76. package/dist/lib/request.d.ts.map +1 -0
  77. package/dist/lib/request.js +167 -0
  78. package/dist/lib/request.js.map +1 -0
  79. package/dist/qraftAPIClient.d.ts +25 -0
  80. package/dist/qraftAPIClient.d.ts.map +1 -0
  81. package/dist/qraftAPIClient.js +22 -0
  82. package/dist/qraftAPIClient.js.map +1 -0
  83. package/package.json +2 -2
@@ -0,0 +1,25 @@
1
+ import { Context } from 'react';
2
+ import { QraftContextValue } from './QraftContext.js';
3
+ import type { RequestClientSchema } from './RequestClient.js';
4
+ export type QraftClientOptions = {
5
+ context?: Context<QraftContextValue>;
6
+ };
7
+ export declare const qraftAPIClient: <Services extends { [service in keyof Services]: { [method in keyof Services[service]]: {
8
+ schema: RequestClientSchema;
9
+ }; }; }, Callbacks extends Record<string, (...rest: any[]) => any>>(services: { [service_1 in keyof Services]: { [method_1 in keyof Services[service_1]]: {
10
+ schema: Services[service_1][method_1]["schema"];
11
+ }; }; }, callbacks: Callbacks, options?: QraftClientOptions) => ServicesCallbacksFilter<Services, keyof Callbacks>;
12
+ type ServicesCallbacksFilter<Services, Callbacks> = Services extends {
13
+ [serviceName in keyof Services]: {
14
+ [method in keyof Services[serviceName]]: {
15
+ schema: RequestClientSchema;
16
+ };
17
+ };
18
+ } ? {
19
+ [serviceName in keyof Services]: {
20
+ [method in keyof Services[serviceName]]: Pick<Services[serviceName][method], FilterKeys<keyof Services[serviceName][method], Callbacks | 'schema'>>;
21
+ };
22
+ } : never;
23
+ type FilterKeys<T, K> = K extends T ? K : never;
24
+ export {};
25
+ //# sourceMappingURL=qraftAPIClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qraftAPIClient.d.ts","sourceRoot":"","sources":["../src/qraftAPIClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,cAAc;YAG0B,mBAAmB;oDAG3B,GAAG,EAAE,KAAK,GAAG;;yCAU9C,kBAAkB,uDAoB7B,CAAC;AAeF,KAAK,uBAAuB,CAAC,QAAQ,EAAE,SAAS,IAAI,QAAQ,SAAS;KAClE,WAAW,IAAI,MAAM,QAAQ,GAAG;SAC9B,MAAM,IAAI,MAAM,QAAQ,CAAC,WAAW,CAAC,GAAG;YAAE,MAAM,EAAE,mBAAmB,CAAA;SAAE;KACzE;CACF,GACG;KACG,WAAW,IAAI,MAAM,QAAQ,GAAG;SAC9B,MAAM,IAAI,MAAM,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAC3C,QAAQ,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,EAC7B,UAAU,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC,CACtE;KACF;CACF,GACD,KAAK,CAAC;AAEV,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { createCallbackProxyDecoration } from './lib/createCallbackProxyDecoration.js';
2
+ export const qraftAPIClient = (services, callbacks, options) => {
3
+ return createCallbackProxyDecoration(Object.keys(callbacks), (path, functionName, args) => {
4
+ const serviceOperation = getByPath(services, path);
5
+ if (!isServiceOperation(serviceOperation))
6
+ throw new Error(`Service operation not found: ${path.join('.')}`);
7
+ if (functionName in callbacks) {
8
+ return callbacks[functionName](options, serviceOperation.schema, args);
9
+ }
10
+ throw new Error(`Not supported API method: ${String(functionName)}`);
11
+ });
12
+ };
13
+ function isServiceOperation(input) {
14
+ return input !== null && typeof input === 'object' && 'schema' in input;
15
+ }
16
+ function getByPath(obj, path) {
17
+ return path.reduce((acc, key) => {
18
+ if (acc && typeof acc === 'object' && key in acc)
19
+ return acc[key];
20
+ }, obj);
21
+ }
22
+ //# sourceMappingURL=qraftAPIClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qraftAPIClient.js","sourceRoot":"","sources":["../src/qraftAPIClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AAQvF,MAAM,CAAC,MAAM,cAAc,GAAG,CAQ5B,QAMC,EACD,SAAoB,EACpB,OAA4B,EACwB,EAAE;IACtD,OAAO,6BAA6B,CAClC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EACtB,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpE,IAAI,YAAY,IAAI,SAAS,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC,YAA+B,CAAC,CAC/C,OAAO,EACP,gBAAgB,CAAC,MAAM,EACvB,IAAI,CACL,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC,CACO,CAAC;AACb,CAAC,CAAC;AAEF,SAAS,kBAAkB,CACzB,KAAc;IAEd,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK,CAAC;AAC1E,CAAC;AAED,SAAS,SAAS,CAAC,GAA4B,EAAE,IAAc;IAC7D,OAAO,IAAI,CAAC,MAAM,CAAU,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACvC,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,IAAI,GAAG;YAC9C,OAAO,GAAG,CAAC,GAAuB,CAAC,CAAC;IACxC,CAAC,EAAE,GAAG,CAAC,CAAC;AACV,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openapi-qraft/react",
3
- "version": "1.0.0-beta.1",
3
+ "version": "1.0.0-beta.3",
4
4
  "description": "API client for React, providing type-safe requests and dynamic Tanstack Query React Hooks via a modular, Proxy-based architecture.",
5
5
  "scripts": {
6
6
  "build": "rimraf dist/ && tsc --project tsconfig.build.json",
@@ -13,7 +13,7 @@
13
13
  "type": "module",
14
14
  "sideEffects": false,
15
15
  "devDependencies": {
16
- "@openapi-qraft/cli": "~1.0.0-beta.1",
16
+ "@openapi-qraft/cli": "~1.0.0-beta.2",
17
17
  "@openapi-qraft/openapi-typescript": "^1.0.0-beta.1",
18
18
  "@tanstack/react-query": "^5.17.3",
19
19
  "@testing-library/jest-dom": "^5.17.0",