gemi 0.24.2 → 0.25.0

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 (132) hide show
  1. package/dist/app/index.js +25 -25
  2. package/dist/app/index.js.map +2 -2
  3. package/dist/bin/gemi.js +1 -1
  4. package/dist/bin/gemi.js.map +2 -2
  5. package/dist/broadcasting/index.js +1 -1
  6. package/dist/chunk-0nqce2y1.js +4 -0
  7. package/dist/{chunk-gx3h2xts.js.map → chunk-0nqce2y1.js.map} +6 -6
  8. package/dist/chunk-2ad1cqtt.js +5 -0
  9. package/dist/{chunk-ebcx322z.js.map → chunk-2ad1cqtt.js.map} +1 -1
  10. package/dist/chunk-33p2e7s6.js +5 -0
  11. package/dist/{chunk-k6kx9bhz.js.map → chunk-33p2e7s6.js.map} +2 -2
  12. package/dist/chunk-34cyjp05.js +4 -0
  13. package/dist/{chunk-9f0dmc0v.js.map → chunk-34cyjp05.js.map} +2 -2
  14. package/dist/{chunk-v6hawzhm.js → chunk-3td0xhnw.js} +4 -3
  15. package/dist/{chunk-v6hawzhm.js.map → chunk-3td0xhnw.js.map} +2 -2
  16. package/dist/chunk-697va9vj.js +15 -0
  17. package/dist/chunk-697va9vj.js.map +40 -0
  18. package/dist/chunk-882vm90z.js +5 -0
  19. package/dist/{chunk-47xbr7nj.js.map → chunk-882vm90z.js.map} +2 -2
  20. package/dist/chunk-8rtdf2cd.js +5 -0
  21. package/dist/chunk-8rtdf2cd.js.map +10 -0
  22. package/dist/{chunk-ta6hb843.js → chunk-9rxwxky2.js} +3 -2
  23. package/dist/{chunk-ta6hb843.js.map → chunk-9rxwxky2.js.map} +2 -2
  24. package/dist/chunk-bv0fq16n.js +5 -0
  25. package/dist/{chunk-cp81a2ga.js.map → chunk-bv0fq16n.js.map} +6 -6
  26. package/dist/chunk-c94tyv0f.js +4 -0
  27. package/dist/{chunk-nyqj9vzt.js.map → chunk-c94tyv0f.js.map} +2 -2
  28. package/dist/{chunk-ebcx322z.js → chunk-cbdnkfkw.js} +3 -2
  29. package/dist/chunk-cbdnkfkw.js.map +9 -0
  30. package/dist/chunk-egaxg13a.js +5 -0
  31. package/dist/{chunk-3pw4hcep.js.map → chunk-egaxg13a.js.map} +2 -2
  32. package/dist/chunk-f2qwngan.js +5 -0
  33. package/dist/chunk-f2qwngan.js.map +11 -0
  34. package/dist/{chunk-kbm8egme.js → chunk-fnc2mrgk.js} +4 -3
  35. package/dist/{chunk-kbm8egme.js.map → chunk-fnc2mrgk.js.map} +2 -2
  36. package/dist/chunk-g0qf8xfk.js +5 -0
  37. package/dist/chunk-g0qf8xfk.js.map +10 -0
  38. package/dist/chunk-h5nygx4m.js +26 -0
  39. package/dist/chunk-h5nygx4m.js.map +65 -0
  40. package/dist/chunk-jb8gvdve.js +7 -0
  41. package/dist/{chunk-c3s0zqhy.js.map → chunk-jb8gvdve.js.map} +2 -2
  42. package/dist/{chunk-hj1wc760.js → chunk-m06xgv2s.js} +4 -3
  43. package/dist/{chunk-hj1wc760.js.map → chunk-m06xgv2s.js.map} +2 -2
  44. package/dist/chunk-pmff7dr2.js +4 -0
  45. package/dist/{chunk-z1kwrnv5.js.map → chunk-pmff7dr2.js.map} +2 -2
  46. package/dist/chunk-q47rsdp4.js +4 -0
  47. package/dist/{chunk-5d9ccndf.js.map → chunk-q47rsdp4.js.map} +5 -5
  48. package/dist/chunk-sz5stqah.js +11 -0
  49. package/dist/{chunk-8ctxajfc.js.map → chunk-sz5stqah.js.map} +2 -2
  50. package/dist/chunk-tm1sbeqy.js +4 -0
  51. package/dist/{chunk-nnrnn2qp.js.map → chunk-tm1sbeqy.js.map} +8 -8
  52. package/dist/chunk-tqbe1gyc.js +8 -0
  53. package/dist/{chunk-xpp9rt2p.js.map → chunk-tqbe1gyc.js.map} +2 -2
  54. package/dist/chunk-ve22ma60.js +5 -0
  55. package/dist/chunk-ve22ma60.js.map +14 -0
  56. package/dist/chunk-wt5ayarp.js +6 -0
  57. package/dist/chunk-wt5ayarp.js.map +13 -0
  58. package/dist/{chunk-r5tsj9vp.js → chunk-x6ntsv3z.js} +4 -3
  59. package/dist/{chunk-r5tsj9vp.js.map → chunk-x6ntsv3z.js.map} +2 -2
  60. package/dist/chunk-z7q23s4c.js +4 -0
  61. package/dist/{chunk-x71srja2.js.map → chunk-z7q23s4c.js.map} +2 -2
  62. package/dist/chunk-zf3gtmrt.js +5 -0
  63. package/dist/{chunk-aj408pdc.js.map → chunk-zf3gtmrt.js.map} +2 -2
  64. package/dist/client/QueryResource.d.ts.map +1 -1
  65. package/dist/client/index.d.ts +1 -0
  66. package/dist/client/index.d.ts.map +1 -1
  67. package/dist/client/index.js +61 -2
  68. package/dist/client/index.js.map +1 -1
  69. package/dist/client/useMutate.d.ts +15 -0
  70. package/dist/client/useMutate.d.ts.map +1 -0
  71. package/dist/client/useQuery.d.ts +1 -0
  72. package/dist/client/useQuery.d.ts.map +1 -1
  73. package/dist/email/index.js +2 -2
  74. package/dist/email/index.js.map +2 -2
  75. package/dist/facades/index.js +31 -31
  76. package/dist/facades/index.js.map +7 -7
  77. package/dist/http/index.js +2 -2
  78. package/dist/http/index.js.map +3 -3
  79. package/dist/i18n/index.js +2 -2
  80. package/dist/i18n/index.js.map +2 -2
  81. package/dist/kernel/index.js +2 -2
  82. package/dist/kernel/index.js.map +2 -2
  83. package/dist/server/index.js +2 -2
  84. package/dist/server/index.js.map +2 -2
  85. package/dist/services/index.js +63 -74
  86. package/dist/services/index.js.map +15 -25
  87. package/dist/services/logging/LoggingServiceContainer.d.ts +1 -1
  88. package/dist/services/logging/LoggingServiceContainer.d.ts.map +1 -1
  89. package/dist/services/queue/QueueServiceProvider.d.ts +1 -1
  90. package/dist/services/queue/QueueServiceProvider.d.ts.map +1 -1
  91. package/dist/services/router/createFlatViewRoutes.d.ts +1 -1
  92. package/dist/services/router/createFlatViewRoutes.d.ts.map +1 -1
  93. package/package.json +1 -1
  94. package/dist/chunk-05v9wdf8.js +0 -4
  95. package/dist/chunk-05v9wdf8.js.map +0 -16
  96. package/dist/chunk-2g4nt8nz.js +0 -27
  97. package/dist/chunk-2g4nt8nz.js.map +0 -47
  98. package/dist/chunk-3pw4hcep.js +0 -4
  99. package/dist/chunk-3tn8zz3h.js +0 -3
  100. package/dist/chunk-3tn8zz3h.js.map +0 -23
  101. package/dist/chunk-47xbr7nj.js +0 -4
  102. package/dist/chunk-5d9ccndf.js +0 -4
  103. package/dist/chunk-5yz4jjwj.js +0 -4
  104. package/dist/chunk-5yz4jjwj.js.map +0 -10
  105. package/dist/chunk-7prh8fq1.js +0 -4
  106. package/dist/chunk-7prh8fq1.js.map +0 -100
  107. package/dist/chunk-7tcvk149.js +0 -3
  108. package/dist/chunk-7tcvk149.js.map +0 -15
  109. package/dist/chunk-8ctxajfc.js +0 -11
  110. package/dist/chunk-9f0dmc0v.js +0 -4
  111. package/dist/chunk-aj408pdc.js +0 -4
  112. package/dist/chunk-c3s0zqhy.js +0 -6
  113. package/dist/chunk-cp81a2ga.js +0 -5
  114. package/dist/chunk-cqgt4nb9.js +0 -5
  115. package/dist/chunk-cqgt4nb9.js.map +0 -23
  116. package/dist/chunk-egd5q5dg.js +0 -12
  117. package/dist/chunk-egd5q5dg.js.map +0 -38
  118. package/dist/chunk-g1pmzbbw.js +0 -5
  119. package/dist/chunk-g1pmzbbw.js.map +0 -11
  120. package/dist/chunk-gx3h2xts.js +0 -4
  121. package/dist/chunk-k6kx9bhz.js +0 -4
  122. package/dist/chunk-nnrnn2qp.js +0 -4
  123. package/dist/chunk-nyqj9vzt.js +0 -4
  124. package/dist/chunk-q2rgbdh1.js +0 -5
  125. package/dist/chunk-q2rgbdh1.js.map +0 -39
  126. package/dist/chunk-trs56wy5.js +0 -9
  127. package/dist/chunk-trs56wy5.js.map +0 -25
  128. package/dist/chunk-x71srja2.js +0 -4
  129. package/dist/chunk-xpp9rt2p.js +0 -8
  130. package/dist/chunk-z09sd6xp.js +0 -7
  131. package/dist/chunk-z09sd6xp.js.map +0 -56
  132. package/dist/chunk-z1kwrnv5.js +0 -4
@@ -1,6 +1,7 @@
1
1
  export { useQuery } from "./useQuery";
2
2
  export type { QueryResult } from "./useQuery";
3
3
  export { useMutation, useDelete, usePatch, usePost, usePut, useUpload, } from "./useMutation";
4
+ export { useMutate } from "./useMutate";
4
5
  export { Form, FormError, useMutationStatus, useFormStatus, useFormData, FormFieldContainer, ValidationErrors, } from "./Mutation";
5
6
  export { QueryManagerProvider } from "./QueryManagerContext";
6
7
  export { useParams } from "./useParams";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EACL,WAAW,EACX,SAAS,EACT,QAAQ,EACR,OAAO,EACP,MAAM,EACN,SAAS,GACV,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,IAAI,EACJ,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC1D,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtD,YAAY,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAG5E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EACL,WAAW,EACX,SAAS,EACT,QAAQ,EACR,OAAO,EACP,MAAM,EACN,SAAS,GACV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACL,IAAI,EACJ,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC1D,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtD,YAAY,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAG5E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC"}
@@ -34,7 +34,7 @@ class Subject {
34
34
  }
35
35
  }
36
36
  class QueryResource {
37
- constructor(key, initialState2 = {}, fetch2, host) {
37
+ constructor(key, initialState2, fetch2, host) {
38
38
  __publicField(this, "store");
39
39
  __publicField(this, "staleVariants", /* @__PURE__ */ new Set());
40
40
  __publicField(this, "lastFetchRecord", /* @__PURE__ */ new Map());
@@ -46,7 +46,7 @@ class QueryResource {
46
46
  this.key = key;
47
47
  const store = /* @__PURE__ */ new Map();
48
48
  const now = Date.now();
49
- for (const [variantKey, data] of Object.entries(initialState2)) {
49
+ for (const [variantKey, data] of Object.entries(initialState2 ?? {})) {
50
50
  if (data) {
51
51
  store.set(variantKey, {
52
52
  loading: false,
@@ -222,6 +222,7 @@ const defaultConfig = {
222
222
  fallbackData: null,
223
223
  keepPreviousData: true,
224
224
  retryIntervalOnError: 1e4,
225
+ refreshInterval: 999999,
225
226
  debug: false
226
227
  };
227
228
  const defaultOptions$1 = {
@@ -243,9 +244,13 @@ function useQuery(url, ...args) {
243
244
  const variantKey = searchParams.toString();
244
245
  const { prefetchedData } = useRouteData();
245
246
  const fallbackData = config.fallbackData ?? (prefetchedData == null ? void 0 : prefetchedData[normalPath]) ?? null;
247
+ const refreshInterval = config.refreshInterval;
246
248
  const [resource, setResource] = useState(
247
249
  () => getResource(normalPath, fallbackData)
248
250
  );
251
+ const refreshIntervalRef = useRef(
252
+ null
253
+ );
249
254
  const retryIntervalRef = useRef(null);
250
255
  const retryingMap = useRef(/* @__PURE__ */ new Map());
251
256
  const [state, setState] = useState(() => resource.getVariant(variantKey));
@@ -277,6 +282,16 @@ function useQuery(url, ...args) {
277
282
  const data = resource.getVariant(variantKey).data;
278
283
  resource.mutate.call(resource, variantKey, () => data);
279
284
  }, [variantKey, resource, config.debug]);
285
+ useEffect(() => {
286
+ refreshIntervalRef.current = setInterval(() => {
287
+ handleReload();
288
+ }, refreshInterval);
289
+ return () => {
290
+ if (refreshIntervalRef.current) {
291
+ clearInterval(refreshIntervalRef.current);
292
+ }
293
+ };
294
+ }, [refreshInterval, handleReload]);
280
295
  useEffect(() => {
281
296
  if (import.meta.hot) {
282
297
  import.meta.hot.on("http-reload", handleReload);
@@ -573,6 +588,49 @@ function useUpload(url, ...args) {
573
588
  cancel
574
589
  };
575
590
  }
591
+ function useMutate() {
592
+ const { getResource } = useContext(QueryManagerContext);
593
+ return function mutate(options, fn) {
594
+ const { path, params = {}, search = {} } = options ?? {};
595
+ const normalPath = applyParams$1(path, params);
596
+ const resource = getResource(normalPath);
597
+ const searchParams = new URLSearchParams(omitNullishValues(search));
598
+ searchParams.sort();
599
+ const variantKey = searchParams.toString();
600
+ return resource.mutate.call(resource, variantKey, (data) => {
601
+ if (data === void 0 || data === null) {
602
+ console.warn("Mutate function called before the query.");
603
+ return;
604
+ }
605
+ if (!fn) {
606
+ return data;
607
+ }
608
+ const updatedData = typeof fn === "function" ? fn(data) : fn;
609
+ if (isPlainObject(data)) {
610
+ if (isPlainObject(updatedData)) {
611
+ return { ...data, ...updatedData };
612
+ }
613
+ throw new Error(
614
+ "Mutate function must return an object when the current data is an object."
615
+ );
616
+ }
617
+ if (Array.isArray(data)) {
618
+ if (Array.isArray(updatedData)) {
619
+ return [...data, ...updatedData];
620
+ }
621
+ throw new Error(
622
+ "Mutate function must return an array when the current data is an array."
623
+ );
624
+ }
625
+ if (typeof data !== typeof updatedData) {
626
+ throw new Error(
627
+ "Mutate function must return the same type as the current data."
628
+ );
629
+ }
630
+ return updatedData;
631
+ });
632
+ };
633
+ }
576
634
  const ServerDataContext = createContext({});
577
635
  const ServerDataProvider = (props) => {
578
636
  let _value = props.value;
@@ -32734,6 +32792,7 @@ export {
32734
32792
  useIsNavigationPending,
32735
32793
  useLocale,
32736
32794
  useLocation,
32795
+ useMutate,
32737
32796
  useMutation,
32738
32797
  useMutationStatus,
32739
32798
  useNavigate,