gemi 0.85.0 → 0.86.1

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 (42) hide show
  1. package/dist/auth/AuthController.d.ts +5 -0
  2. package/dist/auth/AuthController.d.ts.map +1 -1
  3. package/dist/auth/UserProvider.d.ts.map +1 -1
  4. package/dist/{chunk-5ktfpty1.js → chunk-6nnq3rjj.js} +2 -2
  5. package/dist/{chunk-5ktfpty1.js.map → chunk-6nnq3rjj.js.map} +1 -1
  6. package/dist/{chunk-2k5kyk0h.js → chunk-gs8x0k68.js} +1 -1
  7. package/dist/{chunk-1wby1sr2.js → chunk-hmh79ezn.js} +1 -1
  8. package/dist/chunk-tag4fdmj.js +17 -0
  9. package/dist/{chunk-xx2zg6sk.js.map → chunk-tag4fdmj.js.map} +4 -4
  10. package/dist/{chunk-6k2czkkh.js → chunk-z6cgama8.js} +1 -1
  11. package/dist/client/auth/useForgotPassword.d.ts +2 -1
  12. package/dist/client/auth/useForgotPassword.d.ts.map +1 -1
  13. package/dist/client/auth/useResetPassword.d.ts +2 -1
  14. package/dist/client/auth/useResetPassword.d.ts.map +1 -1
  15. package/dist/client/auth/useSignIn.d.ts +11 -1
  16. package/dist/client/auth/useSignIn.d.ts.map +1 -1
  17. package/dist/client/auth/useSignOut.d.ts +2 -1
  18. package/dist/client/auth/useSignOut.d.ts.map +1 -1
  19. package/dist/client/auth/useSignUp.d.ts +2 -1
  20. package/dist/client/auth/useSignUp.d.ts.map +1 -1
  21. package/dist/client/index.d.ts +1 -0
  22. package/dist/client/index.d.ts.map +1 -1
  23. package/dist/client/index.js +60 -30
  24. package/dist/client/index.js.map +1 -1
  25. package/dist/client/useMutation.d.ts +33 -6
  26. package/dist/client/useMutation.d.ts.map +1 -1
  27. package/dist/facades/index.js +1 -1
  28. package/dist/http/index.js +1 -1
  29. package/dist/i18n/index.js +1 -1
  30. package/dist/kernel/index.js +1 -1
  31. package/dist/orm/compile/unique.d.ts +16 -0
  32. package/dist/orm/compile/unique.d.ts.map +1 -1
  33. package/dist/orm/compile/where.d.ts.map +1 -1
  34. package/dist/orm/index.js +3 -3
  35. package/dist/orm/index.js.map +4 -4
  36. package/dist/server/index.js +1 -1
  37. package/dist/services/index.js +1 -1
  38. package/package.json +1 -1
  39. package/dist/chunk-xx2zg6sk.js +0 -17
  40. /package/dist/{chunk-2k5kyk0h.js.map → chunk-gs8x0k68.js.map} +0 -0
  41. /package/dist/{chunk-1wby1sr2.js.map → chunk-hmh79ezn.js.map} +0 -0
  42. /package/dist/{chunk-6k2czkkh.js.map → chunk-z6cgama8.js.map} +0 -0
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{h as F,j as w}from"./chunk-5ktfpty1.js";import{ia as T,ja as f}from"./chunk-53we503k.js";import"./chunk-zq5m4scz.js";import"./chunk-9a8qz3s7.js";import"./chunk-gvkydx8r.js";import"./chunk-8z37k28d.js";import"./chunk-dadygfkf.js";import{uf as S}from"./chunk-jhe0t7yj.js";import{Hg as b}from"./chunk-ndat0nf0.js";import"./chunk-9tsw1bmt.js";import{join as v}from"path";import{createServer as l}from"vite";import{join as E}from"path";import{IncomingMessage as k,ServerResponse as q}from"http";import{Socket as d}from"net";function P(J){return J.replace(/\x1b\[[0-9;]*m/g,"").replace(/\[[0-9;]*m/g,"").replace(/\n\s*\n/g,`
2
+ import{h as F,j as w}from"./chunk-6nnq3rjj.js";import{ia as T,ja as f}from"./chunk-53we503k.js";import"./chunk-zq5m4scz.js";import"./chunk-9a8qz3s7.js";import"./chunk-gvkydx8r.js";import"./chunk-8z37k28d.js";import"./chunk-dadygfkf.js";import{uf as S}from"./chunk-jhe0t7yj.js";import{Hg as b}from"./chunk-ndat0nf0.js";import"./chunk-9tsw1bmt.js";import{join as v}from"path";import{createServer as l}from"vite";import{join as E}from"path";import{IncomingMessage as k,ServerResponse as q}from"http";import{Socket as d}from"net";function P(J){return J.replace(/\x1b\[[0-9;]*m/g,"").replace(/\[[0-9;]*m/g,"").replace(/\n\s*\n/g,`
3
3
  `).split(`
4
4
  `).map((K)=>K.trim()).filter((K)=>K.length>0).join(`
5
5
  `).trim()}function D(J){return`
@@ -5,12 +5,13 @@ export declare function useForgotPassword(args?: UseForgotPasswordArgs): {
5
5
  data: {};
6
6
  error: import("gemi/client").MutationError;
7
7
  loading: boolean;
8
+ pending: number;
8
9
  formData: FormData;
9
10
  cancel: () => void;
10
11
  trigger: {
11
12
  (input?: {
12
13
  email: string;
13
- }): Promise<{}>;
14
+ }, call?: import("../useMutation").MutationCallConfig<{}>): Promise<{}>;
14
15
  formData(formData: FormData): Promise<{}>;
15
16
  };
16
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useForgotPassword.d.ts","sourceRoot":"","sources":["../../../client/auth/useForgotPassword.ts"],"names":[],"mappings":"AAEA,UAAU,qBAAqB;IAC7B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAMD,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,qBAAmC;;;;;;;;;;;;EAU1E"}
1
+ {"version":3,"file":"useForgotPassword.d.ts","sourceRoot":"","sources":["../../../client/auth/useForgotPassword.ts"],"names":[],"mappings":"AAEA,UAAU,qBAAqB;IAC7B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAMD,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,qBAAmC;;;;;;;;;;;;;EAU1E"}
@@ -5,13 +5,14 @@ export declare function useResetPassword(args?: UseResetPasswordArgs): {
5
5
  data: {};
6
6
  error: import("gemi/client").MutationError;
7
7
  loading: boolean;
8
+ pending: number;
8
9
  formData: FormData;
9
10
  cancel: () => void;
10
11
  trigger: {
11
12
  (input?: {
12
13
  password: string;
13
14
  token: string;
14
- }): Promise<{}>;
15
+ }, call?: import("../useMutation").MutationCallConfig<{}>): Promise<{}>;
15
16
  formData(formData: FormData): Promise<{}>;
16
17
  };
17
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useResetPassword.d.ts","sourceRoot":"","sources":["../../../client/auth/useResetPassword.ts"],"names":[],"mappings":"AAEA,UAAU,oBAAoB;IAC5B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAMD,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,oBAAkC;;;;;;;;;;;;;EAUxE"}
1
+ {"version":3,"file":"useResetPassword.d.ts","sourceRoot":"","sources":["../../../client/auth/useResetPassword.ts"],"names":[],"mappings":"AAEA,UAAU,oBAAoB;IAC5B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAMD,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,oBAAkC;;;;;;;;;;;;;;EAUxE"}
@@ -14,13 +14,23 @@ export declare function useSignIn(args?: UseSignInArgs): {
14
14
  };
15
15
  error: import("gemi/client").MutationError;
16
16
  loading: boolean;
17
+ pending: number;
17
18
  formData: FormData;
18
19
  cancel: () => void;
19
20
  trigger: {
20
21
  (input?: {
21
22
  email: string;
22
23
  password: string;
23
- }): Promise<{
24
+ }, call?: import("../useMutation").MutationCallConfig<{
25
+ id: number;
26
+ publicId: string;
27
+ name: string | null;
28
+ email: string | null;
29
+ emailVerifiedAt: Date | null;
30
+ globalRole: number;
31
+ accounts: import("../../auth/types").Account[];
32
+ extension: Record<string, any>;
33
+ }>): Promise<{
24
34
  id: number;
25
35
  publicId: string;
26
36
  name: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"useSignIn.d.ts","sourceRoot":"","sources":["../../../client/auth/useSignIn.tsx"],"names":[],"mappings":"AAGA,UAAU,aAAa;IACrB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;CACjC;AAMD,wBAAgB,SAAS,CAAC,IAAI,GAAE,aAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAe1D"}
1
+ {"version":3,"file":"useSignIn.d.ts","sourceRoot":"","sources":["../../../client/auth/useSignIn.tsx"],"names":[],"mappings":"AAGA,UAAU,aAAa;IACrB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;CACjC;AAMD,wBAAgB,SAAS,CAAC,IAAI,GAAE,aAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAe1D"}
@@ -5,10 +5,11 @@ export declare function useSignOut(args?: UseSignOutArgs): {
5
5
  data: {};
6
6
  error: import("gemi/client").MutationError;
7
7
  loading: boolean;
8
+ pending: number;
8
9
  formData: FormData;
9
10
  cancel: () => void;
10
11
  trigger: {
11
- (input?: Record<string, never>): Promise<{}>;
12
+ (input?: Record<string, never>, call?: import("../useMutation").MutationCallConfig<{}>): Promise<{}>;
12
13
  formData(formData: FormData): Promise<{}>;
13
14
  };
14
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useSignOut.d.ts","sourceRoot":"","sources":["../../../client/auth/useSignOut.ts"],"names":[],"mappings":"AAGA,UAAU,cAAc;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAMD,wBAAgB,UAAU,CAAC,IAAI,GAAE,cAA4B;;;;;;;;;;EAY5D"}
1
+ {"version":3,"file":"useSignOut.d.ts","sourceRoot":"","sources":["../../../client/auth/useSignOut.ts"],"names":[],"mappings":"AAGA,UAAU,cAAc;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAMD,wBAAgB,UAAU,CAAC,IAAI,GAAE,cAA4B;;;;;;;;;;;EAY5D"}
@@ -2,10 +2,11 @@ export declare function useSignUp(): {
2
2
  data: import("../../auth/types").User;
3
3
  error: import("gemi/client").MutationError;
4
4
  loading: boolean;
5
+ pending: number;
5
6
  formData: FormData;
6
7
  cancel: () => void;
7
8
  trigger: {
8
- (input?: import("../../http/HttpRequest").Body): Promise<import("../../auth/types").User>;
9
+ (input?: import("../../http/HttpRequest").Body, call?: import("../useMutation").MutationCallConfig<import("../../auth/types").User>): Promise<import("../../auth/types").User>;
9
10
  formData(formData: FormData): Promise<import("../../auth/types").User>;
10
11
  };
11
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useSignUp.d.ts","sourceRoot":"","sources":["../../../client/auth/useSignUp.ts"],"names":[],"mappings":"AAEA,wBAAgB,SAAS;;;;;;;;;;EAExB"}
1
+ {"version":3,"file":"useSignUp.d.ts","sourceRoot":"","sources":["../../../client/auth/useSignUp.ts"],"names":[],"mappings":"AAEA,wBAAgB,SAAS;;;;;;;;;;;EAExB"}
@@ -7,6 +7,7 @@ export { QueryError } from "./QueryError";
7
7
  export { isRetryableQueryError } from "./retryPolicy";
8
8
  export type { QueryFailure, RetryOption, RetryDelayOption, } from "./retryPolicy";
9
9
  export { useMutation, useDelete, usePatch, usePost, usePut, useUpload } from "./useMutation";
10
+ export type { MutationCallConfig, MutationConcurrency } from "./useMutation";
10
11
  export { useMutate } from "./useMutate";
11
12
  export { isValidationError, isFormError, isAuthenticationError, isPermissionError, isCsrfError, isNotFoundError, isRateLimitError, isServerError, isNetworkError, mutationErrorKind, } from "./MutationError";
12
13
  export type { MutationError, MutationErrorKind, MutationValidationError, MutationFormError, MutationServerError, MutationRefusal, MutationRefusalKind, MutationMessageError, } from "./MutationError";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../client/index.ts"],"names":[],"mappings":"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"}
@@ -652,26 +652,49 @@ function useMutation(method, url, ...args) {
652
652
  const [state, setState] = useState({
653
653
  data: null,
654
654
  error: null,
655
- loading: false
655
+ loading: false,
656
+ pending: 0
656
657
  });
657
658
  const abortController = useRef(new AbortController());
658
659
  const latestRequest = useRef(0);
660
+ const inFlight = useRef(/* @__PURE__ */ new Set());
659
661
  const formData = useRef(new FormData());
660
662
  const [inputs = {}, config] = args ?? [];
661
663
  const options = {
662
664
  ...defaultOptions,
663
665
  ...config
664
666
  };
665
- async function trigger(input) {
667
+ const parallel = options.concurrency === "parallel";
668
+ async function trigger(input, call = {}) {
666
669
  const controller = new AbortController();
667
670
  abortController.current = controller;
671
+ if (parallel) inFlight.current.add(controller);
668
672
  const requestId = ++latestRequest.current;
669
- const isLatest = () => latestRequest.current === requestId;
673
+ const isSuperseded = () => !parallel && latestRequest.current !== requestId;
670
674
  setState((prev) => ({
671
675
  data: prev.data,
672
- error: null,
673
- loading: true
676
+ error: parallel ? prev.error : null,
677
+ loading: true,
678
+ pending: prev.pending + 1
674
679
  }));
680
+ let left = false;
681
+ const settle = (update, superseded = false) => {
682
+ inFlight.current.delete(controller);
683
+ const leaving = !left;
684
+ left = true;
685
+ setState((prev) => {
686
+ const pending = leaving ? prev.pending - 1 : prev.pending;
687
+ return {
688
+ ...update(prev),
689
+ pending,
690
+ loading: parallel ? pending > 0 : superseded ? prev.loading : false
691
+ };
692
+ });
693
+ };
694
+ const sentFormData = typeof input === "undefined" ? formData.current : null;
695
+ const resetFormData = () => {
696
+ if (!parallel || formData.current === sentFormData) formData.current = new FormData();
697
+ };
675
698
  const params = "params" in inputs ? {
676
699
  ..._params,
677
700
  ...inputs.params
@@ -692,42 +715,45 @@ function useMutation(method, url, ...args) {
692
715
  signal: controller.signal
693
716
  });
694
717
  const data = await response.json();
695
- if (!isLatest()) return;
696
- formData.current = new FormData();
718
+ if (isSuperseded()) {
719
+ settle((prev) => prev, true);
720
+ return;
721
+ }
722
+ resetFormData();
697
723
  if (!response.ok) {
698
724
  const error = mutationErrorFromBody(data, response.status);
699
- setState((prev) => ({
725
+ settle((prev) => ({
700
726
  data: prev.data,
701
- error,
702
- loading: false
727
+ error
703
728
  }));
704
729
  options.onError(error);
730
+ call.onError?.(error);
705
731
  return;
706
732
  }
707
733
  clearPrefetchCache?.();
708
734
  options.onSuccess(data);
709
- setState({
735
+ call.onSuccess?.(data);
736
+ settle(() => ({
710
737
  data,
711
- error: null,
712
- loading: false
713
- });
738
+ error: null
739
+ }));
714
740
  return data;
715
741
  } catch (error) {
716
- if (!isLatest()) return;
717
- formData.current = new FormData();
742
+ if (isSuperseded()) {
743
+ settle((prev) => prev, true);
744
+ return;
745
+ }
746
+ resetFormData();
718
747
  if (error?.name === "AbortError") {
719
- setState((prev) => ({
720
- ...prev,
721
- loading: false
722
- }));
748
+ settle((prev) => prev);
723
749
  return;
724
750
  }
725
751
  options.onError(error);
726
- setState({
727
- data: null,
728
- error,
729
- loading: false
730
- });
752
+ call.onError?.(error);
753
+ settle((prev) => ({
754
+ data: parallel ? prev.data : null,
755
+ error
756
+ }));
731
757
  }
732
758
  }
733
759
  trigger.formData = (formData) => {
@@ -737,13 +763,17 @@ function useMutation(method, url, ...args) {
737
763
  data: state.data,
738
764
  error: state.error,
739
765
  loading: state.loading,
766
+ pending: state.pending,
740
767
  formData: formData.current,
741
768
  cancel: () => {
742
- abortController.current.abort();
743
- setState((prev) => ({
744
- ...prev,
745
- loading: false
746
- }));
769
+ if (parallel) for (const controller of inFlight.current) controller.abort();
770
+ else {
771
+ abortController.current.abort();
772
+ setState((prev) => ({
773
+ ...prev,
774
+ loading: false
775
+ }));
776
+ }
747
777
  formData.current = new FormData();
748
778
  options.onCanceled?.();
749
779
  },