@zeroin.earth/appwrite-graphql 0.14.1 → 0.14.2

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.
package/dist/index.d.mts CHANGED
@@ -370,7 +370,9 @@ declare function useCreateEmailToken(): {
370
370
  }>, unknown>;
371
371
  };
372
372
 
373
- declare function useCreateJWT(): {
373
+ declare function useCreateJWT({ gcTime }?: {
374
+ gcTime?: number;
375
+ }): {
374
376
  data: undefined;
375
377
  variables: undefined;
376
378
  error: null;
@@ -382,9 +384,7 @@ declare function useCreateJWT(): {
382
384
  mutate: _tanstack_react_query.UseMutateFunction<{
383
385
  __typename?: "JWT";
384
386
  jwt?: string;
385
- }, AppwriteException, Exact<{
386
- [key: string]: never;
387
- }>, unknown>;
387
+ }, AppwriteException, void, unknown>;
388
388
  reset: () => void;
389
389
  context: unknown;
390
390
  failureCount: number;
@@ -394,14 +394,10 @@ declare function useCreateJWT(): {
394
394
  mutateAsync: _tanstack_react_query.UseMutateAsyncFunction<{
395
395
  __typename?: "JWT";
396
396
  jwt?: string;
397
- }, AppwriteException, Exact<{
398
- [key: string]: never;
399
- }>, unknown>;
397
+ }, AppwriteException, void, unknown>;
400
398
  } | {
401
399
  data: undefined;
402
- variables: Exact<{
403
- [key: string]: never;
404
- }>;
400
+ variables: void;
405
401
  error: null;
406
402
  isError: false;
407
403
  isIdle: false;
@@ -411,9 +407,7 @@ declare function useCreateJWT(): {
411
407
  mutate: _tanstack_react_query.UseMutateFunction<{
412
408
  __typename?: "JWT";
413
409
  jwt?: string;
414
- }, AppwriteException, Exact<{
415
- [key: string]: never;
416
- }>, unknown>;
410
+ }, AppwriteException, void, unknown>;
417
411
  reset: () => void;
418
412
  context: unknown;
419
413
  failureCount: number;
@@ -423,15 +417,11 @@ declare function useCreateJWT(): {
423
417
  mutateAsync: _tanstack_react_query.UseMutateAsyncFunction<{
424
418
  __typename?: "JWT";
425
419
  jwt?: string;
426
- }, AppwriteException, Exact<{
427
- [key: string]: never;
428
- }>, unknown>;
420
+ }, AppwriteException, void, unknown>;
429
421
  } | {
430
422
  data: undefined;
431
423
  error: AppwriteException;
432
- variables: Exact<{
433
- [key: string]: never;
434
- }>;
424
+ variables: void;
435
425
  isError: true;
436
426
  isIdle: false;
437
427
  isPending: false;
@@ -440,9 +430,7 @@ declare function useCreateJWT(): {
440
430
  mutate: _tanstack_react_query.UseMutateFunction<{
441
431
  __typename?: "JWT";
442
432
  jwt?: string;
443
- }, AppwriteException, Exact<{
444
- [key: string]: never;
445
- }>, unknown>;
433
+ }, AppwriteException, void, unknown>;
446
434
  reset: () => void;
447
435
  context: unknown;
448
436
  failureCount: number;
@@ -452,18 +440,14 @@ declare function useCreateJWT(): {
452
440
  mutateAsync: _tanstack_react_query.UseMutateAsyncFunction<{
453
441
  __typename?: "JWT";
454
442
  jwt?: string;
455
- }, AppwriteException, Exact<{
456
- [key: string]: never;
457
- }>, unknown>;
443
+ }, AppwriteException, void, unknown>;
458
444
  } | {
459
445
  data: {
460
446
  __typename?: "JWT";
461
447
  jwt?: string;
462
448
  };
463
449
  error: null;
464
- variables: Exact<{
465
- [key: string]: never;
466
- }>;
450
+ variables: void;
467
451
  isError: false;
468
452
  isIdle: false;
469
453
  isPending: false;
@@ -472,9 +456,7 @@ declare function useCreateJWT(): {
472
456
  mutate: _tanstack_react_query.UseMutateFunction<{
473
457
  __typename?: "JWT";
474
458
  jwt?: string;
475
- }, AppwriteException, Exact<{
476
- [key: string]: never;
477
- }>, unknown>;
459
+ }, AppwriteException, void, unknown>;
478
460
  reset: () => void;
479
461
  context: unknown;
480
462
  failureCount: number;
@@ -484,9 +466,40 @@ declare function useCreateJWT(): {
484
466
  mutateAsync: _tanstack_react_query.UseMutateAsyncFunction<{
485
467
  __typename?: "JWT";
486
468
  jwt?: string;
487
- }, AppwriteException, Exact<{
488
- [key: string]: never;
489
- }>, unknown>;
469
+ }, AppwriteException, void, unknown>;
470
+ };
471
+ declare function useSuspenseCreateJWT({ gcTime }?: {
472
+ gcTime?: number;
473
+ }): {
474
+ data: {
475
+ __typename?: "JWT";
476
+ jwt?: string;
477
+ };
478
+ status: "error" | "success";
479
+ error: AppwriteException;
480
+ isError: boolean;
481
+ isPending: false;
482
+ isSuccess: boolean;
483
+ failureCount: number;
484
+ failureReason: AppwriteException;
485
+ isPaused: boolean;
486
+ isLoading: false;
487
+ isLoadingError: false;
488
+ isRefetchError: boolean;
489
+ dataUpdatedAt: number;
490
+ errorUpdatedAt: number;
491
+ errorUpdateCount: number;
492
+ isFetched: boolean;
493
+ isFetchedAfterMount: boolean;
494
+ isFetching: boolean;
495
+ isInitialLoading: boolean;
496
+ isRefetching: boolean;
497
+ isStale: boolean;
498
+ refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<{
499
+ __typename?: "JWT";
500
+ jwt?: string;
501
+ }, AppwriteException>>;
502
+ fetchStatus: _tanstack_query_core.FetchStatus;
490
503
  };
491
504
 
492
505
  declare function useCreateMagicURLToken(): {
@@ -5400,6 +5413,37 @@ declare function useCollection<TDocument>({ databaseId, collectionId, queries, }
5400
5413
  refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<Collection<TDocument>, AppwriteException>>;
5401
5414
  fetchStatus: _tanstack_query_core.FetchStatus;
5402
5415
  };
5416
+ declare function useSuspenseCollection<TDocument>({ databaseId, collectionId, queries, }: {
5417
+ databaseId: string;
5418
+ collectionId: string;
5419
+ queries: string[];
5420
+ }): {
5421
+ documents: Document<TDocument>[];
5422
+ total: number;
5423
+ data: Collection<TDocument>;
5424
+ status: "error" | "success";
5425
+ error: AppwriteException;
5426
+ isError: boolean;
5427
+ isPending: false;
5428
+ isSuccess: boolean;
5429
+ failureCount: number;
5430
+ failureReason: AppwriteException;
5431
+ isPaused: boolean;
5432
+ isLoading: false;
5433
+ isLoadingError: false;
5434
+ isRefetchError: boolean;
5435
+ dataUpdatedAt: number;
5436
+ errorUpdatedAt: number;
5437
+ errorUpdateCount: number;
5438
+ isFetched: boolean;
5439
+ isFetchedAfterMount: boolean;
5440
+ isFetching: boolean;
5441
+ isInitialLoading: boolean;
5442
+ isRefetching: boolean;
5443
+ isStale: boolean;
5444
+ refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<Collection<TDocument>, AppwriteException>>;
5445
+ fetchStatus: _tanstack_query_core.FetchStatus;
5446
+ };
5403
5447
 
5404
5448
  declare function useCreateDocument(): _tanstack_react_query.UseMutationResult<{
5405
5449
  __typename?: "Document";
@@ -5846,4 +5890,4 @@ declare const fragments: {
5846
5890
  Identity_ProviderFragment: _graphql_typed_document_node_core.TypedDocumentNode<Identity_ProviderFragmentFragment, unknown>;
5847
5891
  };
5848
5892
 
5849
- export { fragments, getFragmentData, useAccount, useAppwrite, useCollection, useCreateAnonymousSession, useCreateDocument, useCreateEmailToken, useCreateJWT, useCreateMagicURLToken, useCreateMfaAuthenticator, useCreateMfaChallenge, useCreateMfaRecoveryCodes, useCreatePhoneToken, useCreatePhoneVerification, useCreateSession, useDeleteDocument, useDeleteIdentity, useDeleteMfaAuthenticator, useDeleteSession, useDeleteSessions, useDocument, useFunction, useGetMfaRecoveryCodes, useGetPrefs, useGetSession, useListIdentities, useListMfaFactors, useListSessions, useLogin, useLogout, useLogs, useMutation, usePasswordRecovery, useQuery, useQueryClient, useResetPassword, useSignUp, useUpdateDocument, useUpdateEmail, useUpdateMagicURLSession, useUpdateMfa, useUpdateMfaAuthenticator, useUpdateMfaChallenge, useUpdateMfaRecoveryCodes, useUpdateName, useUpdatePassword, useUpdatePhone, useUpdatePhoneSession, useUpdatePhoneVerification, useUpdatePrefs, useUpdateSession, useVerification };
5893
+ export { fragments, getFragmentData, useAccount, useAppwrite, useCollection, useCreateAnonymousSession, useCreateDocument, useCreateEmailToken, useCreateJWT, useCreateMagicURLToken, useCreateMfaAuthenticator, useCreateMfaChallenge, useCreateMfaRecoveryCodes, useCreatePhoneToken, useCreatePhoneVerification, useCreateSession, useDeleteDocument, useDeleteIdentity, useDeleteMfaAuthenticator, useDeleteSession, useDeleteSessions, useDocument, useFunction, useGetMfaRecoveryCodes, useGetPrefs, useGetSession, useListIdentities, useListMfaFactors, useListSessions, useLogin, useLogout, useLogs, useMutation, usePasswordRecovery, useQuery, useQueryClient, useResetPassword, useSignUp, useSuspenseCollection, useSuspenseCreateJWT, useUpdateDocument, useUpdateEmail, useUpdateMagicURLSession, useUpdateMfa, useUpdateMfaAuthenticator, useUpdateMfaChallenge, useUpdateMfaRecoveryCodes, useUpdateName, useUpdatePassword, useUpdatePhone, useUpdatePhoneSession, useUpdatePhoneVerification, useUpdatePrefs, useUpdateSession, useVerification };
package/dist/index.d.ts CHANGED
@@ -370,7 +370,9 @@ declare function useCreateEmailToken(): {
370
370
  }>, unknown>;
371
371
  };
372
372
 
373
- declare function useCreateJWT(): {
373
+ declare function useCreateJWT({ gcTime }?: {
374
+ gcTime?: number;
375
+ }): {
374
376
  data: undefined;
375
377
  variables: undefined;
376
378
  error: null;
@@ -382,9 +384,7 @@ declare function useCreateJWT(): {
382
384
  mutate: _tanstack_react_query.UseMutateFunction<{
383
385
  __typename?: "JWT";
384
386
  jwt?: string;
385
- }, AppwriteException, Exact<{
386
- [key: string]: never;
387
- }>, unknown>;
387
+ }, AppwriteException, void, unknown>;
388
388
  reset: () => void;
389
389
  context: unknown;
390
390
  failureCount: number;
@@ -394,14 +394,10 @@ declare function useCreateJWT(): {
394
394
  mutateAsync: _tanstack_react_query.UseMutateAsyncFunction<{
395
395
  __typename?: "JWT";
396
396
  jwt?: string;
397
- }, AppwriteException, Exact<{
398
- [key: string]: never;
399
- }>, unknown>;
397
+ }, AppwriteException, void, unknown>;
400
398
  } | {
401
399
  data: undefined;
402
- variables: Exact<{
403
- [key: string]: never;
404
- }>;
400
+ variables: void;
405
401
  error: null;
406
402
  isError: false;
407
403
  isIdle: false;
@@ -411,9 +407,7 @@ declare function useCreateJWT(): {
411
407
  mutate: _tanstack_react_query.UseMutateFunction<{
412
408
  __typename?: "JWT";
413
409
  jwt?: string;
414
- }, AppwriteException, Exact<{
415
- [key: string]: never;
416
- }>, unknown>;
410
+ }, AppwriteException, void, unknown>;
417
411
  reset: () => void;
418
412
  context: unknown;
419
413
  failureCount: number;
@@ -423,15 +417,11 @@ declare function useCreateJWT(): {
423
417
  mutateAsync: _tanstack_react_query.UseMutateAsyncFunction<{
424
418
  __typename?: "JWT";
425
419
  jwt?: string;
426
- }, AppwriteException, Exact<{
427
- [key: string]: never;
428
- }>, unknown>;
420
+ }, AppwriteException, void, unknown>;
429
421
  } | {
430
422
  data: undefined;
431
423
  error: AppwriteException;
432
- variables: Exact<{
433
- [key: string]: never;
434
- }>;
424
+ variables: void;
435
425
  isError: true;
436
426
  isIdle: false;
437
427
  isPending: false;
@@ -440,9 +430,7 @@ declare function useCreateJWT(): {
440
430
  mutate: _tanstack_react_query.UseMutateFunction<{
441
431
  __typename?: "JWT";
442
432
  jwt?: string;
443
- }, AppwriteException, Exact<{
444
- [key: string]: never;
445
- }>, unknown>;
433
+ }, AppwriteException, void, unknown>;
446
434
  reset: () => void;
447
435
  context: unknown;
448
436
  failureCount: number;
@@ -452,18 +440,14 @@ declare function useCreateJWT(): {
452
440
  mutateAsync: _tanstack_react_query.UseMutateAsyncFunction<{
453
441
  __typename?: "JWT";
454
442
  jwt?: string;
455
- }, AppwriteException, Exact<{
456
- [key: string]: never;
457
- }>, unknown>;
443
+ }, AppwriteException, void, unknown>;
458
444
  } | {
459
445
  data: {
460
446
  __typename?: "JWT";
461
447
  jwt?: string;
462
448
  };
463
449
  error: null;
464
- variables: Exact<{
465
- [key: string]: never;
466
- }>;
450
+ variables: void;
467
451
  isError: false;
468
452
  isIdle: false;
469
453
  isPending: false;
@@ -472,9 +456,7 @@ declare function useCreateJWT(): {
472
456
  mutate: _tanstack_react_query.UseMutateFunction<{
473
457
  __typename?: "JWT";
474
458
  jwt?: string;
475
- }, AppwriteException, Exact<{
476
- [key: string]: never;
477
- }>, unknown>;
459
+ }, AppwriteException, void, unknown>;
478
460
  reset: () => void;
479
461
  context: unknown;
480
462
  failureCount: number;
@@ -484,9 +466,40 @@ declare function useCreateJWT(): {
484
466
  mutateAsync: _tanstack_react_query.UseMutateAsyncFunction<{
485
467
  __typename?: "JWT";
486
468
  jwt?: string;
487
- }, AppwriteException, Exact<{
488
- [key: string]: never;
489
- }>, unknown>;
469
+ }, AppwriteException, void, unknown>;
470
+ };
471
+ declare function useSuspenseCreateJWT({ gcTime }?: {
472
+ gcTime?: number;
473
+ }): {
474
+ data: {
475
+ __typename?: "JWT";
476
+ jwt?: string;
477
+ };
478
+ status: "error" | "success";
479
+ error: AppwriteException;
480
+ isError: boolean;
481
+ isPending: false;
482
+ isSuccess: boolean;
483
+ failureCount: number;
484
+ failureReason: AppwriteException;
485
+ isPaused: boolean;
486
+ isLoading: false;
487
+ isLoadingError: false;
488
+ isRefetchError: boolean;
489
+ dataUpdatedAt: number;
490
+ errorUpdatedAt: number;
491
+ errorUpdateCount: number;
492
+ isFetched: boolean;
493
+ isFetchedAfterMount: boolean;
494
+ isFetching: boolean;
495
+ isInitialLoading: boolean;
496
+ isRefetching: boolean;
497
+ isStale: boolean;
498
+ refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<{
499
+ __typename?: "JWT";
500
+ jwt?: string;
501
+ }, AppwriteException>>;
502
+ fetchStatus: _tanstack_query_core.FetchStatus;
490
503
  };
491
504
 
492
505
  declare function useCreateMagicURLToken(): {
@@ -5400,6 +5413,37 @@ declare function useCollection<TDocument>({ databaseId, collectionId, queries, }
5400
5413
  refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<Collection<TDocument>, AppwriteException>>;
5401
5414
  fetchStatus: _tanstack_query_core.FetchStatus;
5402
5415
  };
5416
+ declare function useSuspenseCollection<TDocument>({ databaseId, collectionId, queries, }: {
5417
+ databaseId: string;
5418
+ collectionId: string;
5419
+ queries: string[];
5420
+ }): {
5421
+ documents: Document<TDocument>[];
5422
+ total: number;
5423
+ data: Collection<TDocument>;
5424
+ status: "error" | "success";
5425
+ error: AppwriteException;
5426
+ isError: boolean;
5427
+ isPending: false;
5428
+ isSuccess: boolean;
5429
+ failureCount: number;
5430
+ failureReason: AppwriteException;
5431
+ isPaused: boolean;
5432
+ isLoading: false;
5433
+ isLoadingError: false;
5434
+ isRefetchError: boolean;
5435
+ dataUpdatedAt: number;
5436
+ errorUpdatedAt: number;
5437
+ errorUpdateCount: number;
5438
+ isFetched: boolean;
5439
+ isFetchedAfterMount: boolean;
5440
+ isFetching: boolean;
5441
+ isInitialLoading: boolean;
5442
+ isRefetching: boolean;
5443
+ isStale: boolean;
5444
+ refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<Collection<TDocument>, AppwriteException>>;
5445
+ fetchStatus: _tanstack_query_core.FetchStatus;
5446
+ };
5403
5447
 
5404
5448
  declare function useCreateDocument(): _tanstack_react_query.UseMutationResult<{
5405
5449
  __typename?: "Document";
@@ -5846,4 +5890,4 @@ declare const fragments: {
5846
5890
  Identity_ProviderFragment: _graphql_typed_document_node_core.TypedDocumentNode<Identity_ProviderFragmentFragment, unknown>;
5847
5891
  };
5848
5892
 
5849
- export { fragments, getFragmentData, useAccount, useAppwrite, useCollection, useCreateAnonymousSession, useCreateDocument, useCreateEmailToken, useCreateJWT, useCreateMagicURLToken, useCreateMfaAuthenticator, useCreateMfaChallenge, useCreateMfaRecoveryCodes, useCreatePhoneToken, useCreatePhoneVerification, useCreateSession, useDeleteDocument, useDeleteIdentity, useDeleteMfaAuthenticator, useDeleteSession, useDeleteSessions, useDocument, useFunction, useGetMfaRecoveryCodes, useGetPrefs, useGetSession, useListIdentities, useListMfaFactors, useListSessions, useLogin, useLogout, useLogs, useMutation, usePasswordRecovery, useQuery, useQueryClient, useResetPassword, useSignUp, useUpdateDocument, useUpdateEmail, useUpdateMagicURLSession, useUpdateMfa, useUpdateMfaAuthenticator, useUpdateMfaChallenge, useUpdateMfaRecoveryCodes, useUpdateName, useUpdatePassword, useUpdatePhone, useUpdatePhoneSession, useUpdatePhoneVerification, useUpdatePrefs, useUpdateSession, useVerification };
5893
+ export { fragments, getFragmentData, useAccount, useAppwrite, useCollection, useCreateAnonymousSession, useCreateDocument, useCreateEmailToken, useCreateJWT, useCreateMagicURLToken, useCreateMfaAuthenticator, useCreateMfaChallenge, useCreateMfaRecoveryCodes, useCreatePhoneToken, useCreatePhoneVerification, useCreateSession, useDeleteDocument, useDeleteIdentity, useDeleteMfaAuthenticator, useDeleteSession, useDeleteSessions, useDocument, useFunction, useGetMfaRecoveryCodes, useGetPrefs, useGetSession, useListIdentities, useListMfaFactors, useListSessions, useLogin, useLogout, useLogs, useMutation, usePasswordRecovery, useQuery, useQueryClient, useResetPassword, useSignUp, useSuspenseCollection, useSuspenseCreateJWT, useUpdateDocument, useUpdateEmail, useUpdateMagicURLSession, useUpdateMfa, useUpdateMfaAuthenticator, useUpdateMfaChallenge, useUpdateMfaRecoveryCodes, useUpdateName, useUpdatePassword, useUpdatePhone, useUpdatePhoneSession, useUpdatePhoneVerification, useUpdatePrefs, useUpdateSession, useVerification };
package/dist/index.js CHANGED
@@ -57,6 +57,8 @@ __export(src_exports, {
57
57
  useQueryClient: () => useQueryClient,
58
58
  useResetPassword: () => useResetPassword,
59
59
  useSignUp: () => useSignUp,
60
+ useSuspenseCollection: () => useSuspenseCollection,
61
+ useSuspenseCreateJWT: () => useSuspenseCreateJWT,
60
62
  useUpdateDocument: () => useUpdateDocument,
61
63
  useUpdateEmail: () => useUpdateEmail,
62
64
  useUpdateMagicURLSession: () => useUpdateMagicURLSession,
@@ -393,6 +395,13 @@ function useCreateEmailToken() {
393
395
  return { ...queryResult };
394
396
  }
395
397
 
398
+ // src/useSuspenseQuery.ts
399
+ var import_react_query4 = require("@tanstack/react-query");
400
+ function useSuspenseQuery(options) {
401
+ const queryClient2 = useQueryClient();
402
+ return (0, import_react_query4.useSuspenseQuery)(options, queryClient2);
403
+ }
404
+
396
405
  // src/account/useCreateJWT.ts
397
406
  var accountCreateJWT = gql(
398
407
  /* GraphQL */
@@ -404,9 +413,12 @@ var accountCreateJWT = gql(
404
413
  }
405
414
  `
406
415
  );
407
- function useCreateJWT() {
416
+ function useCreateJWT({ gcTime = 6e5 } = {}) {
408
417
  const { graphql: graphql2 } = useAppwrite();
418
+ const queryClient2 = useQueryClient();
409
419
  const queryResult = useMutation({
420
+ gcTime,
421
+ mutationKey: ["appwrite", "jwt"],
410
422
  mutationFn: async () => {
411
423
  const { data, errors } = await graphql2.mutation({
412
424
  query: accountCreateJWT
@@ -415,6 +427,26 @@ function useCreateJWT() {
415
427
  throw errors;
416
428
  }
417
429
  return data.accountCreateJWT;
430
+ },
431
+ onSuccess: (data) => {
432
+ queryClient2.setQueryData(["appwrite", "jwt"], data.jwt, { updatedAt: Date.now() });
433
+ }
434
+ });
435
+ return { ...queryResult };
436
+ }
437
+ function useSuspenseCreateJWT({ gcTime = 6e5 } = {}) {
438
+ const { graphql: graphql2 } = useAppwrite();
439
+ const queryResult = useSuspenseQuery({
440
+ gcTime,
441
+ queryKey: ["appwrite", "jwt"],
442
+ queryFn: async () => {
443
+ const { data, errors } = await graphql2.mutation({
444
+ query: accountCreateJWT
445
+ });
446
+ if (errors) {
447
+ throw errors;
448
+ }
449
+ return data.accountCreateJWT;
418
450
  }
419
451
  });
420
452
  return { ...queryResult };
@@ -1007,8 +1039,9 @@ function useLogout() {
1007
1039
  return data?.accountDeleteSession;
1008
1040
  },
1009
1041
  onSuccess: async () => {
1010
- queryClient2.setQueryData(["appwrite", "account"], null);
1011
- queryClient2.removeQueries({ queryKey: ["appwrite", "account"] });
1042
+ queryClient2.setQueryData(["appwrite"], null);
1043
+ queryClient2.removeQueries({ queryKey: ["appwrite"] });
1044
+ queryClient2.clear();
1012
1045
  }
1013
1046
  });
1014
1047
  return { ...queryResult, mutate: queryResult.mutate };
@@ -1727,6 +1760,67 @@ function useCollection({
1727
1760
  total: collection.data?.total
1728
1761
  };
1729
1762
  }
1763
+ function useSuspenseCollection({
1764
+ databaseId,
1765
+ collectionId,
1766
+ queries
1767
+ }) {
1768
+ const { graphql: graphql2 } = useAppwrite();
1769
+ const queryClient2 = useQueryClient();
1770
+ const collection = useSuspenseQuery({
1771
+ queryKey: ["appwrite", "databases", databaseId, collectionId, { queries }],
1772
+ queryFn: async () => {
1773
+ const { data, errors } = await graphql2.query({
1774
+ query: listDocuments,
1775
+ variables: {
1776
+ databaseId,
1777
+ collectionId,
1778
+ queries
1779
+ }
1780
+ });
1781
+ if (errors) {
1782
+ throw errors;
1783
+ }
1784
+ const documents2 = data.databasesListDocuments?.documents?.map((document) => ({
1785
+ ...document,
1786
+ ...document ? JSON.parse(document.data) : {}
1787
+ })) ?? [];
1788
+ return {
1789
+ total: data.databasesListDocuments?.total ?? 0,
1790
+ documents: documents2
1791
+ };
1792
+ }
1793
+ });
1794
+ (0, import_react3.useEffect)(() => {
1795
+ const unsubscribe = graphql2.client.subscribe(
1796
+ `databases.${databaseId}.collections.${collectionId}.documents`,
1797
+ (response) => {
1798
+ const [, operation] = response.events[0].match(/\.(\w+)$/);
1799
+ const document = response.payload;
1800
+ switch (operation) {
1801
+ case "create":
1802
+ case "update":
1803
+ case "delete":
1804
+ queryClient2.setQueryData(
1805
+ ["appwrite", "databases", databaseId, collectionId, "documents", document.$id],
1806
+ document
1807
+ );
1808
+ queryClient2.invalidateQueries({
1809
+ queryKey: ["appwrite", "databases", databaseId, collectionId, { queries }],
1810
+ exact: true
1811
+ });
1812
+ break;
1813
+ }
1814
+ }
1815
+ );
1816
+ return unsubscribe;
1817
+ }, [databaseId, collectionId, graphql2.client, queryClient2, queries]);
1818
+ return {
1819
+ ...collection,
1820
+ documents: collection.data?.documents,
1821
+ total: collection.data?.total
1822
+ };
1823
+ }
1730
1824
 
1731
1825
  // src/databases/useCreateDocument.ts
1732
1826
  var createDocument = gql(
@@ -2129,6 +2223,8 @@ var fragments = {
2129
2223
  useQueryClient,
2130
2224
  useResetPassword,
2131
2225
  useSignUp,
2226
+ useSuspenseCollection,
2227
+ useSuspenseCreateJWT,
2132
2228
  useUpdateDocument,
2133
2229
  useUpdateEmail,
2134
2230
  useUpdateMagicURLSession,