@planningcenter/chat-react-native 3.21.2-rc.1 → 3.21.2-rc.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 (40) hide show
  1. package/build/contexts/chat_context.d.ts +3 -2
  2. package/build/contexts/chat_context.d.ts.map +1 -1
  3. package/build/contexts/chat_context.js.map +1 -1
  4. package/build/hooks/services/use_team_members_for_new_conversation.d.ts +14 -14
  5. package/build/hooks/use_api.d.ts +41 -41
  6. package/build/hooks/use_api.d.ts.map +1 -1
  7. package/build/hooks/use_api.js.map +1 -1
  8. package/build/hooks/use_chat_permissions.d.ts +14 -14
  9. package/build/hooks/use_conversation.d.ts +3 -3
  10. package/build/hooks/use_groups.d.ts +26 -26
  11. package/build/hooks/use_groups_groups.d.ts +26 -26
  12. package/build/hooks/use_jolt.d.ts.map +1 -1
  13. package/build/hooks/use_jolt.js +6 -8
  14. package/build/hooks/use_jolt.js.map +1 -1
  15. package/build/hooks/use_organization.d.ts +3 -3
  16. package/build/hooks/use_suspense_api.d.ts +5 -5
  17. package/build/hooks/use_suspense_api.d.ts.map +1 -1
  18. package/build/hooks/use_suspense_api.js.map +1 -1
  19. package/build/hooks/use_teams.d.ts +26 -26
  20. package/build/screens/conversation_filter_recipients/hooks/use_service_types_with_teams.d.ts +14 -14
  21. package/build/screens/conversation_filters/hooks/filters.d.ts +40 -40
  22. package/build/types/api_primitives.d.ts +1 -1
  23. package/build/types/api_primitives.d.ts.map +1 -1
  24. package/build/types/api_primitives.js.map +1 -1
  25. package/build/utils/client/client.d.ts +3 -6
  26. package/build/utils/client/client.d.ts.map +1 -1
  27. package/build/utils/client/client.js +2 -2
  28. package/build/utils/client/client.js.map +1 -1
  29. package/build/utils/response_error.d.ts +4 -4
  30. package/build/utils/response_error.d.ts.map +1 -1
  31. package/build/utils/response_error.js.map +1 -1
  32. package/package.json +2 -2
  33. package/src/__tests__/utils/client.ts +2 -2
  34. package/src/contexts/chat_context.tsx +3 -2
  35. package/src/hooks/use_api.ts +3 -3
  36. package/src/hooks/use_jolt.ts +6 -9
  37. package/src/hooks/use_suspense_api.ts +4 -4
  38. package/src/types/api_primitives.ts +1 -1
  39. package/src/utils/client/client.ts +7 -11
  40. package/src/utils/response_error.ts +5 -5
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
2
  import { ColorSchemeName } from 'react-native';
3
3
  import { DeepPartial } from '../types';
4
- import { ENV, OauthType, PartialToken, ResponseError, Session } from '../utils';
4
+ import { ENV, OauthType, PartialToken, Session } from '../utils';
5
+ import { FailedResponse } from '../types';
5
6
  import { ChatTheme, DefaultTheme } from '../utils/theme';
6
7
  import { AgeCheckContactInfo } from '../screens/age_check/screen_props';
7
8
  import { ProductAnalyticsConfig } from '../types/product_analytics';
@@ -9,7 +10,7 @@ export interface ChatProviderProps {
9
10
  env?: ENV;
10
11
  giphyApiKey?: string;
11
12
  onAgeDisqualification?: (params: AgeCheckContactInfo) => void;
12
- onUnauthorizedResponse: (_response: ResponseError) => void;
13
+ onUnauthorizedResponse: (_response: FailedResponse) => void;
13
14
  token?: PartialToken;
14
15
  tokenType?: OauthType;
15
16
  theme: CreateChatThemeProps;
@@ -1 +1 @@
1
- {"version":3,"file":"chat_context.d.ts","sourceRoot":"","sources":["../../src/contexts/chat_context.tsx"],"names":[],"mappings":"AACA,OAAO,KAAiC,MAAM,OAAO,CAAA;AACrD,OAAO,EAAE,eAAe,EAAkB,MAAM,cAAc,CAAA;AAE9D,OAAO,EAAe,WAAW,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAU,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAO,MAAM,UAAU,CAAA;AAC5F,OAAO,EAAE,SAAS,EAAgB,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAEnE,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,GAAG,CAAA;IACT,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAA;IAC7D,sBAAsB,EAAE,CAAC,SAAS,EAAE,aAAa,KAAK,IAAI,CAAA;IAC1D,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,KAAK,EAAE,oBAAoB,CAAA;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACxE,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,SAAS,CAAA;IAChB,qBAAqB,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAA;IAC5D,sBAAsB,EAAE,sBAAsB,GAAG,SAAS,CAAA;CAC3D;AAED,eAAO,MAAM,WAAW,iCAUtB,CAAA;AAEF,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;IAAE,QAAQ,EAAE,GAAG,CAAC;IAAC,KAAK,EAAE,iBAAiB,CAAA;CAAE,qBA+B5F;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAA;IACjC,WAAW,CAAC,EAAE,eAAe,CAAA;CAC9B;AAED,eAAO,MAAM,cAAc,wBAE1B,CAAA;AAED,eAAO,MAAM,kBAAkB,yDAG5B,oBAAoB,KAAG,SAYzB,CAAA"}
1
+ {"version":3,"file":"chat_context.d.ts","sourceRoot":"","sources":["../../src/contexts/chat_context.tsx"],"names":[],"mappings":"AACA,OAAO,KAAiC,MAAM,OAAO,CAAA;AACrD,OAAO,EAAE,eAAe,EAAkB,MAAM,cAAc,CAAA;AAE9D,OAAO,EAAe,WAAW,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAU,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAO,MAAM,UAAU,CAAA;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,EAAE,SAAS,EAAgB,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAEnE,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,GAAG,CAAA;IACT,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAA;IAC7D,sBAAsB,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,IAAI,CAAA;IAC3D,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,KAAK,EAAE,oBAAoB,CAAA;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACxE,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,SAAS,CAAA;IAChB,qBAAqB,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAA;IAC5D,sBAAsB,EAAE,sBAAsB,GAAG,SAAS,CAAA;CAC3D;AAED,eAAO,MAAM,WAAW,iCAUtB,CAAA;AAEF,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;IAAE,QAAQ,EAAE,GAAG,CAAC;IAAC,KAAK,EAAE,iBAAiB,CAAA;CAAE,qBA+B5F;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAA;IACjC,WAAW,CAAC,EAAE,eAAe,CAAA;CAC9B;AAED,eAAO,MAAM,cAAc,wBAE1B,CAAA;AAED,eAAO,MAAM,kBAAkB,yDAG5B,oBAAoB,KAAG,SAYzB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat_context.js","sourceRoot":"","sources":["../../src/contexts/chat_context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC9B,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACrD,OAAO,EAAmB,cAAc,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAEhD,OAAO,EAAE,MAAM,EAA+C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC5F,OAAO,EAAa,YAAY,EAAgB,MAAM,gBAAgB,CAAA;AAsBtE,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAmB;IACzD,GAAG,EAAE,SAAS;IACd,WAAW,EAAE,SAAS;IACtB,qBAAqB,EAAE,CAAC,OAA4B,EAAE,EAAE,GAAE,CAAC;IAC3D,sBAAsB,EAAE,GAAG,EAAE,GAAE,CAAC;IAChC,OAAO,EAAE,IAAI,OAAO,EAAE;IACtB,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC;IAC5B,KAAK,EAAE,SAAS;IAChB,UAAU,EAAE,IAAI;IAChB,sBAAsB,EAAE,SAAS;CAClC,CAAC,CAAA;AAEF,MAAM,UAAU,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAK,EAA+C;IAC3F,MAAM,EACJ,GAAG,EACH,KAAK,EACL,qBAAqB,GAAG,CAAC,OAA4B,EAAE,EAAE,GAAE,CAAC,EAC5D,sBAAsB,EACtB,WAAW,EACX,SAAS,EACT,UAAU,GAAG,IAAI,GAClB,GAAG,KAAK,CAAA;IACT,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IACnD,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAClD,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CACxB,CAAA;IAED,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAA;IACjE,MAAM,YAAY,GAAqB;QACrC,GAAG,KAAK;QACR,UAAU;QACV,GAAG;QACH,WAAW;QACX,qBAAqB;QACrB,sBAAsB;QACtB,OAAO;QACP,KAAK;QACL,KAAK;QACL,sBAAsB;KACvB,CAAA;IAED,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;AACrF,CAAC;AAOD,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,OAAO,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;AACtC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EACjC,KAAK,EAAE,WAAW,GAAG,EAAE,EACvB,WAAW,EAAE,cAAc,GACN,EAAa,EAAE;IACpC,MAAM,mBAAmB,GAAG,cAAc,EAAE,IAAI,OAAO,CAAA;IACvD,MAAM,WAAW,GAAG,cAAc,IAAI,mBAAmB,CAAA;IAEzD,MAAM,KAAK,GAAG;QACZ,GAAG,KAAK,CAAC,EAAE,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;QACpD,MAAM,EAAE;YACN,GAAG,KAAK,CAAC,EAAE,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC;SACpE;KACF,CAAA;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AASD,+BAA+B;AAC/B,+JAA+J;AAC/J,MAAM,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAAA,CAAC,yBAAyB;AAEjE,MAAM,yBAAyB,GAAG,CAAC,OAAgB,EAAsC,EAAE;IACzF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAC1D,MAAM,SAAS,GAAG,OAAO,CACvB,GAAG,EAAE,CACH,IAAI,MAAM,CAAC;QACT,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC;QACzB,cAAc,EAAE,GAAG,CAAC,OAAO;QAC3B,OAAO,EAAE,YAAY;KACtB,CAAC,EACJ,CAAC,GAAG,CAAC,CACN,CAAA;IAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAyB;QACxD,QAAQ,EAAE,CAAC,yBAAyB,CAAC;QACrC,OAAO,EAAE,GAAG,EAAE,CACZ,SAAS;aACN,IAAI,CAA6C;YAChD,GAAG,EAAE,iCAAiC;YACtC,IAAI,EAAE;gBACJ,IAAI,EAAE;oBACJ,IAAI,EAAE,uBAAuB;oBAC7B,UAAU,EAAE,EAAE;iBACf;aACF;SACF,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACZ,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE;YAClB,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG;YACtB,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ;SAC5B,CAAC,CAAC;QACP,SAAS,EAAE,iBAAiB;QAC5B,MAAM,EAAE,iBAAiB;QACzB,eAAe,EAAE,iBAAiB;QAClC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM;KACzC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC,CAAA","sourcesContent":["import { merge } from 'lodash'\nimport React, { createContext, useMemo } from 'react'\nimport { ColorSchemeName, useColorScheme } from 'react-native'\nimport { useQuery } from '@tanstack/react-query'\nimport { ApiResource, DeepPartial } from '../types'\nimport { Client, ENV, OauthType, PartialToken, ResponseError, Session, Uri } from '../utils'\nimport { ChatTheme, defaultTheme, DefaultTheme } from '../utils/theme'\nimport { AgeCheckContactInfo } from '../screens/age_check/screen_props'\nimport { ProductAnalyticsConfig } from '../types/product_analytics'\n\nexport interface ChatProviderProps {\n env?: ENV\n giphyApiKey?: string\n onAgeDisqualification?: (params: AgeCheckContactInfo) => void\n onUnauthorizedResponse: (_response: ResponseError) => void\n token?: PartialToken\n tokenType?: OauthType\n theme: CreateChatThemeProps\n edgeToEdge?: boolean\n}\n\nexport interface ChatContextValue extends Omit<ChatProviderProps, 'theme'> {\n session: Session\n theme: ChatTheme\n onAgeDisqualification: (params: AgeCheckContactInfo) => void\n productAnalyticsConfig: ProductAnalyticsConfig | undefined\n}\n\nexport const ChatContext = createContext<ChatContextValue>({\n env: undefined,\n giphyApiKey: undefined,\n onAgeDisqualification: (_params: AgeCheckContactInfo) => {},\n onUnauthorizedResponse: () => {},\n session: new Session(),\n theme: defaultTheme('light'),\n token: undefined,\n edgeToEdge: true,\n productAnalyticsConfig: undefined,\n})\n\nexport function ChatProvider({ children, value }: { children: any; value: ChatProviderProps }) {\n const {\n env,\n token,\n onAgeDisqualification = (_params: AgeCheckContactInfo) => {},\n onUnauthorizedResponse,\n giphyApiKey,\n tokenType,\n edgeToEdge = true,\n } = value\n const theme = useCreateChatTheme(value.theme || {})\n const session = useMemo(\n () => new Session({ token, env, type: tokenType }),\n [env, token, tokenType]\n )\n\n const productAnalyticsConfig = useProductAnalyticsConfig(session)\n const contextValue: ChatContextValue = {\n ...value,\n edgeToEdge,\n env,\n giphyApiKey,\n onAgeDisqualification,\n onUnauthorizedResponse,\n session,\n theme,\n token,\n productAnalyticsConfig,\n }\n\n return <ChatContext.Provider value={contextValue}>{children}</ChatContext.Provider>\n}\n\nexport interface CreateChatThemeProps {\n theme?: DeepPartial<DefaultTheme>\n colorScheme?: ColorSchemeName\n}\n\nexport const useChatContext = () => {\n return React.useContext(ChatContext)\n}\n\nexport const useCreateChatTheme = ({\n theme: customTheme = {},\n colorScheme: appColorScheme,\n}: CreateChatThemeProps): ChatTheme => {\n const internalColorScheme = useColorScheme() || 'light'\n const colorScheme = appColorScheme || internalColorScheme\n\n const theme = {\n ...merge({}, defaultTheme(colorScheme), customTheme),\n colors: {\n ...merge({}, defaultTheme(colorScheme).colors, customTheme?.colors),\n },\n }\n\n return theme\n}\n\ninterface ProductAnalyticsTokenResponse {\n type: 'ProductAnalyticsToken'\n id: string\n url: string\n metadata: Record<string, unknown>\n}\n\n// expiry time comes from here:\n// https://github.com/planningcenter/pco-product-analytics/blob/e5bbc4c31b715b3c329c06a162829ee6967d3094/lib/pco/product/analytics/client_token_provider.rb#L24\nconst TOKEN_EXPIRY_TIME = 604800 * 1000 // 7 days in milliseconds\n\nconst useProductAnalyticsConfig = (session: Session): ProductAnalyticsConfig | undefined => {\n const uri = useMemo(() => new Uri({ session }), [session])\n const apiClient = useMemo(\n () =>\n new Client({\n root: uri.api(`/chat/v2`),\n defaultHeaders: uri.headers,\n version: '2018-11-01',\n }),\n [uri]\n )\n\n const { data: config } = useQuery<ProductAnalyticsConfig>({\n queryKey: ['product-analytics-token'],\n queryFn: () =>\n apiClient\n .post<ApiResource<ProductAnalyticsTokenResponse>>({\n url: '/me/product_analytics_authorize',\n data: {\n data: {\n type: 'ProductAnalyticsToken',\n attributes: {},\n },\n },\n })\n .then(res => ({\n token: res.data.id,\n endpoint: res.data.url,\n metadata: res.data.metadata,\n })),\n staleTime: TOKEN_EXPIRY_TIME,\n gcTime: TOKEN_EXPIRY_TIME,\n refetchInterval: TOKEN_EXPIRY_TIME,\n enabled: process.env.NODE_ENV !== 'test',\n })\n\n return config\n}\n"]}
1
+ {"version":3,"file":"chat_context.js","sourceRoot":"","sources":["../../src/contexts/chat_context.tsx"],"names":[],"mappings":"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","sourcesContent":["import { merge } from 'lodash'\nimport React, { createContext, useMemo } from 'react'\nimport { ColorSchemeName, useColorScheme } from 'react-native'\nimport { useQuery } from '@tanstack/react-query'\nimport { ApiResource, DeepPartial } from '../types'\nimport { Client, ENV, OauthType, PartialToken, Session, Uri } from '../utils'\nimport { FailedResponse } from '../types'\nimport { ChatTheme, defaultTheme, DefaultTheme } from '../utils/theme'\nimport { AgeCheckContactInfo } from '../screens/age_check/screen_props'\nimport { ProductAnalyticsConfig } from '../types/product_analytics'\n\nexport interface ChatProviderProps {\n env?: ENV\n giphyApiKey?: string\n onAgeDisqualification?: (params: AgeCheckContactInfo) => void\n onUnauthorizedResponse: (_response: FailedResponse) => void\n token?: PartialToken\n tokenType?: OauthType\n theme: CreateChatThemeProps\n edgeToEdge?: boolean\n}\n\nexport interface ChatContextValue extends Omit<ChatProviderProps, 'theme'> {\n session: Session\n theme: ChatTheme\n onAgeDisqualification: (params: AgeCheckContactInfo) => void\n productAnalyticsConfig: ProductAnalyticsConfig | undefined\n}\n\nexport const ChatContext = createContext<ChatContextValue>({\n env: undefined,\n giphyApiKey: undefined,\n onAgeDisqualification: (_params: AgeCheckContactInfo) => {},\n onUnauthorizedResponse: () => {},\n session: new Session(),\n theme: defaultTheme('light'),\n token: undefined,\n edgeToEdge: true,\n productAnalyticsConfig: undefined,\n})\n\nexport function ChatProvider({ children, value }: { children: any; value: ChatProviderProps }) {\n const {\n env,\n token,\n onAgeDisqualification = (_params: AgeCheckContactInfo) => {},\n onUnauthorizedResponse,\n giphyApiKey,\n tokenType,\n edgeToEdge = true,\n } = value\n const theme = useCreateChatTheme(value.theme || {})\n const session = useMemo(\n () => new Session({ token, env, type: tokenType }),\n [env, token, tokenType]\n )\n\n const productAnalyticsConfig = useProductAnalyticsConfig(session)\n const contextValue: ChatContextValue = {\n ...value,\n edgeToEdge,\n env,\n giphyApiKey,\n onAgeDisqualification,\n onUnauthorizedResponse,\n session,\n theme,\n token,\n productAnalyticsConfig,\n }\n\n return <ChatContext.Provider value={contextValue}>{children}</ChatContext.Provider>\n}\n\nexport interface CreateChatThemeProps {\n theme?: DeepPartial<DefaultTheme>\n colorScheme?: ColorSchemeName\n}\n\nexport const useChatContext = () => {\n return React.useContext(ChatContext)\n}\n\nexport const useCreateChatTheme = ({\n theme: customTheme = {},\n colorScheme: appColorScheme,\n}: CreateChatThemeProps): ChatTheme => {\n const internalColorScheme = useColorScheme() || 'light'\n const colorScheme = appColorScheme || internalColorScheme\n\n const theme = {\n ...merge({}, defaultTheme(colorScheme), customTheme),\n colors: {\n ...merge({}, defaultTheme(colorScheme).colors, customTheme?.colors),\n },\n }\n\n return theme\n}\n\ninterface ProductAnalyticsTokenResponse {\n type: 'ProductAnalyticsToken'\n id: string\n url: string\n metadata: Record<string, unknown>\n}\n\n// expiry time comes from here:\n// https://github.com/planningcenter/pco-product-analytics/blob/e5bbc4c31b715b3c329c06a162829ee6967d3094/lib/pco/product/analytics/client_token_provider.rb#L24\nconst TOKEN_EXPIRY_TIME = 604800 * 1000 // 7 days in milliseconds\n\nconst useProductAnalyticsConfig = (session: Session): ProductAnalyticsConfig | undefined => {\n const uri = useMemo(() => new Uri({ session }), [session])\n const apiClient = useMemo(\n () =>\n new Client({\n root: uri.api(`/chat/v2`),\n defaultHeaders: uri.headers,\n version: '2018-11-01',\n }),\n [uri]\n )\n\n const { data: config } = useQuery<ProductAnalyticsConfig>({\n queryKey: ['product-analytics-token'],\n queryFn: () =>\n apiClient\n .post<ApiResource<ProductAnalyticsTokenResponse>>({\n url: '/me/product_analytics_authorize',\n data: {\n data: {\n type: 'ProductAnalyticsToken',\n attributes: {},\n },\n },\n })\n .then(res => ({\n token: res.data.id,\n endpoint: res.data.url,\n metadata: res.data.metadata,\n })),\n staleTime: TOKEN_EXPIRY_TIME,\n gcTime: TOKEN_EXPIRY_TIME,\n refetchInterval: TOKEN_EXPIRY_TIME,\n enabled: process.env.NODE_ENV !== 'test',\n })\n\n return config\n}\n"]}
@@ -4,7 +4,7 @@ interface Props {
4
4
  planId?: number;
5
5
  }
6
6
  export declare function useTeamMembersForNewConversation({ teamIds, planId }: Props): {
7
- error: import("../../types").ApiError;
7
+ error: import("../../types").FailedResponse;
8
8
  isError: true;
9
9
  isPending: false;
10
10
  isLoading: false;
@@ -16,7 +16,7 @@ export declare function useTeamMembersForNewConversation({ teamIds, planId }: Pr
16
16
  dataUpdatedAt: number;
17
17
  errorUpdatedAt: number;
18
18
  failureCount: number;
19
- failureReason: import("../../types").ApiError | null;
19
+ failureReason: import("../../types").FailedResponse | null;
20
20
  errorUpdateCount: number;
21
21
  isFetched: boolean;
22
22
  isFetchedAfterMount: boolean;
@@ -25,7 +25,7 @@ export declare function useTeamMembersForNewConversation({ teamIds, planId }: Pr
25
25
  isPaused: boolean;
26
26
  isRefetching: boolean;
27
27
  isStale: boolean;
28
- refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("../../types").ApiResource<TeamPeopleResource>, import("../../types").ApiError>>;
28
+ refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("../../types").ApiResource<TeamPeopleResource>, import("../../types").FailedResponse>>;
29
29
  fetchStatus: import("@tanstack/query-core").FetchStatus;
30
30
  promise: Promise<import("../../types").ApiResource<TeamPeopleResource>>;
31
31
  links?: Record<string, string> | undefined;
@@ -44,7 +44,7 @@ export declare function useTeamMembersForNewConversation({ teamIds, planId }: Pr
44
44
  dataUpdatedAt: number;
45
45
  errorUpdatedAt: number;
46
46
  failureCount: number;
47
- failureReason: import("../../types").ApiError | null;
47
+ failureReason: import("../../types").FailedResponse | null;
48
48
  errorUpdateCount: number;
49
49
  isFetched: boolean;
50
50
  isFetchedAfterMount: boolean;
@@ -53,14 +53,14 @@ export declare function useTeamMembersForNewConversation({ teamIds, planId }: Pr
53
53
  isPaused: boolean;
54
54
  isRefetching: boolean;
55
55
  isStale: boolean;
56
- refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("../../types").ApiResource<TeamPeopleResource>, import("../../types").ApiError>>;
56
+ refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("../../types").ApiResource<TeamPeopleResource>, import("../../types").FailedResponse>>;
57
57
  fetchStatus: import("@tanstack/query-core").FetchStatus;
58
58
  promise: Promise<import("../../types").ApiResource<TeamPeopleResource>>;
59
59
  links?: Record<string, string> | undefined;
60
60
  meta?: Record<string, unknown> | undefined;
61
61
  members: MemberResource[];
62
62
  } | {
63
- error: import("../../types").ApiError;
63
+ error: import("../../types").FailedResponse;
64
64
  isError: true;
65
65
  isPending: false;
66
66
  isLoading: false;
@@ -72,7 +72,7 @@ export declare function useTeamMembersForNewConversation({ teamIds, planId }: Pr
72
72
  dataUpdatedAt: number;
73
73
  errorUpdatedAt: number;
74
74
  failureCount: number;
75
- failureReason: import("../../types").ApiError | null;
75
+ failureReason: import("../../types").FailedResponse | null;
76
76
  errorUpdateCount: number;
77
77
  isFetched: boolean;
78
78
  isFetchedAfterMount: boolean;
@@ -81,7 +81,7 @@ export declare function useTeamMembersForNewConversation({ teamIds, planId }: Pr
81
81
  isPaused: boolean;
82
82
  isRefetching: boolean;
83
83
  isStale: boolean;
84
- refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("../../types").ApiResource<TeamPeopleResource>, import("../../types").ApiError>>;
84
+ refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("../../types").ApiResource<TeamPeopleResource>, import("../../types").FailedResponse>>;
85
85
  fetchStatus: import("@tanstack/query-core").FetchStatus;
86
86
  promise: Promise<import("../../types").ApiResource<TeamPeopleResource>>;
87
87
  links?: Record<string, string> | undefined;
@@ -100,7 +100,7 @@ export declare function useTeamMembersForNewConversation({ teamIds, planId }: Pr
100
100
  dataUpdatedAt: number;
101
101
  errorUpdatedAt: number;
102
102
  failureCount: number;
103
- failureReason: import("../../types").ApiError | null;
103
+ failureReason: import("../../types").FailedResponse | null;
104
104
  errorUpdateCount: number;
105
105
  isFetched: boolean;
106
106
  isFetchedAfterMount: boolean;
@@ -109,7 +109,7 @@ export declare function useTeamMembersForNewConversation({ teamIds, planId }: Pr
109
109
  isPaused: boolean;
110
110
  isRefetching: boolean;
111
111
  isStale: boolean;
112
- refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("../../types").ApiResource<TeamPeopleResource>, import("../../types").ApiError>>;
112
+ refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("../../types").ApiResource<TeamPeopleResource>, import("../../types").FailedResponse>>;
113
113
  fetchStatus: import("@tanstack/query-core").FetchStatus;
114
114
  promise: Promise<import("../../types").ApiResource<TeamPeopleResource>>;
115
115
  links?: Record<string, string> | undefined;
@@ -127,7 +127,7 @@ export declare function useTeamMembersForNewConversation({ teamIds, planId }: Pr
127
127
  dataUpdatedAt: number;
128
128
  errorUpdatedAt: number;
129
129
  failureCount: number;
130
- failureReason: import("../../types").ApiError | null;
130
+ failureReason: import("../../types").FailedResponse | null;
131
131
  errorUpdateCount: number;
132
132
  isFetched: boolean;
133
133
  isFetchedAfterMount: boolean;
@@ -137,7 +137,7 @@ export declare function useTeamMembersForNewConversation({ teamIds, planId }: Pr
137
137
  isPaused: boolean;
138
138
  isRefetching: boolean;
139
139
  isStale: boolean;
140
- refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("../../types").ApiResource<TeamPeopleResource>, import("../../types").ApiError>>;
140
+ refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("../../types").ApiResource<TeamPeopleResource>, import("../../types").FailedResponse>>;
141
141
  fetchStatus: import("@tanstack/query-core").FetchStatus;
142
142
  promise: Promise<import("../../types").ApiResource<TeamPeopleResource>>;
143
143
  links?: Record<string, string> | undefined;
@@ -156,7 +156,7 @@ export declare function useTeamMembersForNewConversation({ teamIds, planId }: Pr
156
156
  dataUpdatedAt: number;
157
157
  errorUpdatedAt: number;
158
158
  failureCount: number;
159
- failureReason: import("../../types").ApiError | null;
159
+ failureReason: import("../../types").FailedResponse | null;
160
160
  errorUpdateCount: number;
161
161
  isFetched: boolean;
162
162
  isFetchedAfterMount: boolean;
@@ -165,7 +165,7 @@ export declare function useTeamMembersForNewConversation({ teamIds, planId }: Pr
165
165
  isPaused: boolean;
166
166
  isRefetching: boolean;
167
167
  isStale: boolean;
168
- refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("../../types").ApiResource<TeamPeopleResource>, import("../../types").ApiError>>;
168
+ refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("../../types").ApiResource<TeamPeopleResource>, import("../../types").FailedResponse>>;
169
169
  fetchStatus: import("@tanstack/query-core").FetchStatus;
170
170
  promise: Promise<import("../../types").ApiResource<TeamPeopleResource>>;
171
171
  links?: Record<string, string> | undefined;
@@ -1,5 +1,5 @@
1
1
  import { AnyUseSuspenseInfiniteQueryOptions, InfiniteData } from '@tanstack/react-query';
2
- import { ApiCollection, ApiError, ApiResource, ResourceObject } from '../types';
2
+ import { ApiCollection, ApiResource, FailedResponse, ResourceObject } from '../types';
3
3
  import { GetRequest } from '../utils/client';
4
4
  import { App } from './use_api_client';
5
5
  interface ApiGetOptions extends GetRequest {
@@ -7,7 +7,7 @@ interface ApiGetOptions extends GetRequest {
7
7
  enabled?: boolean;
8
8
  }
9
9
  export declare const useApiGet: <T extends ResourceObject | ResourceObject[]>(args: ApiGetOptions) => {
10
- error: ApiError;
10
+ error: FailedResponse;
11
11
  isError: true;
12
12
  isPending: false;
13
13
  isLoading: false;
@@ -19,7 +19,7 @@ export declare const useApiGet: <T extends ResourceObject | ResourceObject[]>(ar
19
19
  dataUpdatedAt: number;
20
20
  errorUpdatedAt: number;
21
21
  failureCount: number;
22
- failureReason: ApiError | null;
22
+ failureReason: FailedResponse | null;
23
23
  errorUpdateCount: number;
24
24
  isFetched: boolean;
25
25
  isFetchedAfterMount: boolean;
@@ -28,7 +28,7 @@ export declare const useApiGet: <T extends ResourceObject | ResourceObject[]>(ar
28
28
  isPaused: boolean;
29
29
  isRefetching: boolean;
30
30
  isStale: boolean;
31
- refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<ApiResource<T>, ApiError>>;
31
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<ApiResource<T>, FailedResponse>>;
32
32
  fetchStatus: import("@tanstack/react-query").FetchStatus;
33
33
  promise: Promise<ApiResource<T>>;
34
34
  data?: T | undefined;
@@ -47,7 +47,7 @@ export declare const useApiGet: <T extends ResourceObject | ResourceObject[]>(ar
47
47
  dataUpdatedAt: number;
48
48
  errorUpdatedAt: number;
49
49
  failureCount: number;
50
- failureReason: ApiError | null;
50
+ failureReason: FailedResponse | null;
51
51
  errorUpdateCount: number;
52
52
  isFetched: boolean;
53
53
  isFetchedAfterMount: boolean;
@@ -56,14 +56,14 @@ export declare const useApiGet: <T extends ResourceObject | ResourceObject[]>(ar
56
56
  isPaused: boolean;
57
57
  isRefetching: boolean;
58
58
  isStale: boolean;
59
- refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<ApiResource<T>, ApiError>>;
59
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<ApiResource<T>, FailedResponse>>;
60
60
  fetchStatus: import("@tanstack/react-query").FetchStatus;
61
61
  promise: Promise<ApiResource<T>>;
62
62
  data?: T | undefined;
63
63
  links?: Record<string, string> | undefined;
64
64
  meta?: Record<string, unknown> | undefined;
65
65
  } | {
66
- error: ApiError;
66
+ error: FailedResponse;
67
67
  isError: true;
68
68
  isPending: false;
69
69
  isLoading: false;
@@ -75,7 +75,7 @@ export declare const useApiGet: <T extends ResourceObject | ResourceObject[]>(ar
75
75
  dataUpdatedAt: number;
76
76
  errorUpdatedAt: number;
77
77
  failureCount: number;
78
- failureReason: ApiError | null;
78
+ failureReason: FailedResponse | null;
79
79
  errorUpdateCount: number;
80
80
  isFetched: boolean;
81
81
  isFetchedAfterMount: boolean;
@@ -84,7 +84,7 @@ export declare const useApiGet: <T extends ResourceObject | ResourceObject[]>(ar
84
84
  isPaused: boolean;
85
85
  isRefetching: boolean;
86
86
  isStale: boolean;
87
- refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<ApiResource<T>, ApiError>>;
87
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<ApiResource<T>, FailedResponse>>;
88
88
  fetchStatus: import("@tanstack/react-query").FetchStatus;
89
89
  promise: Promise<ApiResource<T>>;
90
90
  data?: T | undefined;
@@ -103,7 +103,7 @@ export declare const useApiGet: <T extends ResourceObject | ResourceObject[]>(ar
103
103
  dataUpdatedAt: number;
104
104
  errorUpdatedAt: number;
105
105
  failureCount: number;
106
- failureReason: ApiError | null;
106
+ failureReason: FailedResponse | null;
107
107
  errorUpdateCount: number;
108
108
  isFetched: boolean;
109
109
  isFetchedAfterMount: boolean;
@@ -112,7 +112,7 @@ export declare const useApiGet: <T extends ResourceObject | ResourceObject[]>(ar
112
112
  isPaused: boolean;
113
113
  isRefetching: boolean;
114
114
  isStale: boolean;
115
- refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<ApiResource<T>, ApiError>>;
115
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<ApiResource<T>, FailedResponse>>;
116
116
  fetchStatus: import("@tanstack/react-query").FetchStatus;
117
117
  promise: Promise<ApiResource<T>>;
118
118
  data?: T | undefined;
@@ -130,7 +130,7 @@ export declare const useApiGet: <T extends ResourceObject | ResourceObject[]>(ar
130
130
  dataUpdatedAt: number;
131
131
  errorUpdatedAt: number;
132
132
  failureCount: number;
133
- failureReason: ApiError | null;
133
+ failureReason: FailedResponse | null;
134
134
  errorUpdateCount: number;
135
135
  isFetched: boolean;
136
136
  isFetchedAfterMount: boolean;
@@ -140,7 +140,7 @@ export declare const useApiGet: <T extends ResourceObject | ResourceObject[]>(ar
140
140
  isPaused: boolean;
141
141
  isRefetching: boolean;
142
142
  isStale: boolean;
143
- refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<ApiResource<T>, ApiError>>;
143
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<ApiResource<T>, FailedResponse>>;
144
144
  fetchStatus: import("@tanstack/react-query").FetchStatus;
145
145
  promise: Promise<ApiResource<T>>;
146
146
  data?: T | undefined;
@@ -159,7 +159,7 @@ export declare const useApiGet: <T extends ResourceObject | ResourceObject[]>(ar
159
159
  dataUpdatedAt: number;
160
160
  errorUpdatedAt: number;
161
161
  failureCount: number;
162
- failureReason: ApiError | null;
162
+ failureReason: FailedResponse | null;
163
163
  errorUpdateCount: number;
164
164
  isFetched: boolean;
165
165
  isFetchedAfterMount: boolean;
@@ -168,7 +168,7 @@ export declare const useApiGet: <T extends ResourceObject | ResourceObject[]>(ar
168
168
  isPaused: boolean;
169
169
  isRefetching: boolean;
170
170
  isStale: boolean;
171
- refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<ApiResource<T>, ApiError>>;
171
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<ApiResource<T>, FailedResponse>>;
172
172
  fetchStatus: import("@tanstack/react-query").FetchStatus;
173
173
  promise: Promise<ApiResource<T>>;
174
174
  data?: T | undefined;
@@ -178,7 +178,7 @@ export declare const useApiGet: <T extends ResourceObject | ResourceObject[]>(ar
178
178
  export type PaginatorOptions = Omit<AnyUseSuspenseInfiniteQueryOptions, 'getNextPageParam' | 'initialPageParam' | 'queryFn' | 'queryKey'>;
179
179
  export declare const useApiPaginator: <T extends ResourceObject>(args: ApiGetOptions, opts?: PaginatorOptions) => {
180
180
  data: T[];
181
- error: ApiError;
181
+ error: FailedResponse;
182
182
  isError: true;
183
183
  isPending: false;
184
184
  isLoading: false;
@@ -187,8 +187,8 @@ export declare const useApiPaginator: <T extends ResourceObject>(args: ApiGetOpt
187
187
  isSuccess: false;
188
188
  isPlaceholderData: false;
189
189
  status: "error";
190
- fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, ApiError>>;
191
- fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, ApiError>>;
190
+ fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, FailedResponse>>;
191
+ fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, FailedResponse>>;
192
192
  hasNextPage: boolean;
193
193
  hasPreviousPage: boolean;
194
194
  isFetchNextPageError: boolean;
@@ -198,7 +198,7 @@ export declare const useApiPaginator: <T extends ResourceObject>(args: ApiGetOpt
198
198
  dataUpdatedAt: number;
199
199
  errorUpdatedAt: number;
200
200
  failureCount: number;
201
- failureReason: ApiError | null;
201
+ failureReason: FailedResponse | null;
202
202
  errorUpdateCount: number;
203
203
  isFetched: boolean;
204
204
  isFetchedAfterMount: boolean;
@@ -207,7 +207,7 @@ export declare const useApiPaginator: <T extends ResourceObject>(args: ApiGetOpt
207
207
  isPaused: boolean;
208
208
  isRefetching: boolean;
209
209
  isStale: boolean;
210
- refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, ApiError>>;
210
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, FailedResponse>>;
211
211
  fetchStatus: import("@tanstack/react-query").FetchStatus;
212
212
  promise: Promise<InfiniteData<ApiCollection<T>, unknown>>;
213
213
  } | {
@@ -223,8 +223,8 @@ export declare const useApiPaginator: <T extends ResourceObject>(args: ApiGetOpt
223
223
  isSuccess: true;
224
224
  isPlaceholderData: false;
225
225
  status: "success";
226
- fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, ApiError>>;
227
- fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, ApiError>>;
226
+ fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, FailedResponse>>;
227
+ fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, FailedResponse>>;
228
228
  hasNextPage: boolean;
229
229
  hasPreviousPage: boolean;
230
230
  isFetchingNextPage: boolean;
@@ -232,7 +232,7 @@ export declare const useApiPaginator: <T extends ResourceObject>(args: ApiGetOpt
232
232
  dataUpdatedAt: number;
233
233
  errorUpdatedAt: number;
234
234
  failureCount: number;
235
- failureReason: ApiError | null;
235
+ failureReason: FailedResponse | null;
236
236
  errorUpdateCount: number;
237
237
  isFetched: boolean;
238
238
  isFetchedAfterMount: boolean;
@@ -241,12 +241,12 @@ export declare const useApiPaginator: <T extends ResourceObject>(args: ApiGetOpt
241
241
  isPaused: boolean;
242
242
  isRefetching: boolean;
243
243
  isStale: boolean;
244
- refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, ApiError>>;
244
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, FailedResponse>>;
245
245
  fetchStatus: import("@tanstack/react-query").FetchStatus;
246
246
  promise: Promise<InfiniteData<ApiCollection<T>, unknown>>;
247
247
  } | {
248
248
  data: T[];
249
- error: ApiError;
249
+ error: FailedResponse;
250
250
  isError: true;
251
251
  isPending: false;
252
252
  isLoading: false;
@@ -257,8 +257,8 @@ export declare const useApiPaginator: <T extends ResourceObject>(args: ApiGetOpt
257
257
  isSuccess: false;
258
258
  isPlaceholderData: false;
259
259
  status: "error";
260
- fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, ApiError>>;
261
- fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, ApiError>>;
260
+ fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, FailedResponse>>;
261
+ fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, FailedResponse>>;
262
262
  hasNextPage: boolean;
263
263
  hasPreviousPage: boolean;
264
264
  isFetchingNextPage: boolean;
@@ -266,7 +266,7 @@ export declare const useApiPaginator: <T extends ResourceObject>(args: ApiGetOpt
266
266
  dataUpdatedAt: number;
267
267
  errorUpdatedAt: number;
268
268
  failureCount: number;
269
- failureReason: ApiError | null;
269
+ failureReason: FailedResponse | null;
270
270
  errorUpdateCount: number;
271
271
  isFetched: boolean;
272
272
  isFetchedAfterMount: boolean;
@@ -275,7 +275,7 @@ export declare const useApiPaginator: <T extends ResourceObject>(args: ApiGetOpt
275
275
  isPaused: boolean;
276
276
  isRefetching: boolean;
277
277
  isStale: boolean;
278
- refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, ApiError>>;
278
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, FailedResponse>>;
279
279
  fetchStatus: import("@tanstack/react-query").FetchStatus;
280
280
  promise: Promise<InfiniteData<ApiCollection<T>, unknown>>;
281
281
  } | {
@@ -291,8 +291,8 @@ export declare const useApiPaginator: <T extends ResourceObject>(args: ApiGetOpt
291
291
  isSuccess: false;
292
292
  isPlaceholderData: false;
293
293
  status: "pending";
294
- fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, ApiError>>;
295
- fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, ApiError>>;
294
+ fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, FailedResponse>>;
295
+ fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, FailedResponse>>;
296
296
  hasNextPage: boolean;
297
297
  hasPreviousPage: boolean;
298
298
  isFetchingNextPage: boolean;
@@ -300,7 +300,7 @@ export declare const useApiPaginator: <T extends ResourceObject>(args: ApiGetOpt
300
300
  dataUpdatedAt: number;
301
301
  errorUpdatedAt: number;
302
302
  failureCount: number;
303
- failureReason: ApiError | null;
303
+ failureReason: FailedResponse | null;
304
304
  errorUpdateCount: number;
305
305
  isFetched: boolean;
306
306
  isFetchedAfterMount: boolean;
@@ -309,7 +309,7 @@ export declare const useApiPaginator: <T extends ResourceObject>(args: ApiGetOpt
309
309
  isPaused: boolean;
310
310
  isRefetching: boolean;
311
311
  isStale: boolean;
312
- refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, ApiError>>;
312
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, FailedResponse>>;
313
313
  fetchStatus: import("@tanstack/react-query").FetchStatus;
314
314
  promise: Promise<InfiniteData<ApiCollection<T>, unknown>>;
315
315
  } | {
@@ -324,8 +324,8 @@ export declare const useApiPaginator: <T extends ResourceObject>(args: ApiGetOpt
324
324
  isSuccess: false;
325
325
  isPlaceholderData: false;
326
326
  status: "pending";
327
- fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, ApiError>>;
328
- fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, ApiError>>;
327
+ fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, FailedResponse>>;
328
+ fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, FailedResponse>>;
329
329
  hasNextPage: boolean;
330
330
  hasPreviousPage: boolean;
331
331
  isFetchingNextPage: boolean;
@@ -333,7 +333,7 @@ export declare const useApiPaginator: <T extends ResourceObject>(args: ApiGetOpt
333
333
  dataUpdatedAt: number;
334
334
  errorUpdatedAt: number;
335
335
  failureCount: number;
336
- failureReason: ApiError | null;
336
+ failureReason: FailedResponse | null;
337
337
  errorUpdateCount: number;
338
338
  isFetched: boolean;
339
339
  isFetchedAfterMount: boolean;
@@ -343,7 +343,7 @@ export declare const useApiPaginator: <T extends ResourceObject>(args: ApiGetOpt
343
343
  isPaused: boolean;
344
344
  isRefetching: boolean;
345
345
  isStale: boolean;
346
- refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, ApiError>>;
346
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, FailedResponse>>;
347
347
  fetchStatus: import("@tanstack/react-query").FetchStatus;
348
348
  promise: Promise<InfiniteData<ApiCollection<T>, unknown>>;
349
349
  } | {
@@ -359,8 +359,8 @@ export declare const useApiPaginator: <T extends ResourceObject>(args: ApiGetOpt
359
359
  isFetchNextPageError: false;
360
360
  isFetchPreviousPageError: false;
361
361
  status: "success";
362
- fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, ApiError>>;
363
- fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, ApiError>>;
362
+ fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, FailedResponse>>;
363
+ fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, FailedResponse>>;
364
364
  hasNextPage: boolean;
365
365
  hasPreviousPage: boolean;
366
366
  isFetchingNextPage: boolean;
@@ -368,7 +368,7 @@ export declare const useApiPaginator: <T extends ResourceObject>(args: ApiGetOpt
368
368
  dataUpdatedAt: number;
369
369
  errorUpdatedAt: number;
370
370
  failureCount: number;
371
- failureReason: ApiError | null;
371
+ failureReason: FailedResponse | null;
372
372
  errorUpdateCount: number;
373
373
  isFetched: boolean;
374
374
  isFetchedAfterMount: boolean;
@@ -377,7 +377,7 @@ export declare const useApiPaginator: <T extends ResourceObject>(args: ApiGetOpt
377
377
  isPaused: boolean;
378
378
  isRefetching: boolean;
379
379
  isStale: boolean;
380
- refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, ApiError>>;
380
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<InfiniteData<ApiCollection<T>, unknown>, FailedResponse>>;
381
381
  fetchStatus: import("@tanstack/react-query").FetchStatus;
382
382
  promise: Promise<InfiniteData<ApiCollection<T>, unknown>>;
383
383
  };
@@ -1 +1 @@
1
- {"version":3,"file":"use_api.d.ts","sourceRoot":"","sources":["../../src/hooks/use_api.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,EAClC,YAAY,EAGb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC/E,OAAO,EAAE,UAAU,EAAe,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,GAAG,EAAgB,MAAM,kBAAkB,CAAA;AAGpD,UAAU,aAAc,SAAQ,UAAU;IACxC,GAAG,CAAC,EAAE,GAAG,CAAA;IACT,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,QAAQ,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAezF,CAAA;AAOD,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,kCAAkC,EAClC,kBAAkB,GAAG,kBAAkB,GAAG,SAAS,GAAG,UAAU,CACjE,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,cAAc,QAChD,aAAa,SACZ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCxB,CAAA"}
1
+ {"version":3,"file":"use_api.d.ts","sourceRoot":"","sources":["../../src/hooks/use_api.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,EAClC,YAAY,EAGb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACrF,OAAO,EAAE,UAAU,EAAe,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,GAAG,EAAgB,MAAM,kBAAkB,CAAA;AAGpD,UAAU,aAAc,SAAQ,UAAU;IACxC,GAAG,CAAC,EAAE,GAAG,CAAA;IACT,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,QAAQ,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAezF,CAAA;AAOD,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,kCAAkC,EAClC,kBAAkB,GAAG,kBAAkB,GAAG,SAAS,GAAG,UAAU,CACjE,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,cAAc,QAChD,aAAa,SACZ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCxB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"use_api.js","sourceRoot":"","sources":["../../src/hooks/use_api.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,gBAAgB,EAChB,QAAQ,GACT,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAO,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAmB,MAAM,oBAAoB,CAAA;AAOxE,MAAM,CAAC,MAAM,SAAS,GAAG,CAA8C,IAAmB,EAAE,EAAE;IAE5F,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAEhC,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAqB;QACtD,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC;QAClC,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;YACxB,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,QAA2B,CAAA;YAEnE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAsB,CAAA;QAC3E,CAAC;QACD,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC,CAAA;IAEF,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,EAAE,CAAA;AAC9B,CAAC,CAAA;AAYD,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,IAAmB,EACnB,IAAuB,EACvB,EAAE;IACF,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAChC,MAAM,KAAK,GAAG,gBAAgB,CAM5B;QACA,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC;QAClC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;YACzB,MAAM,aAAa,GAAG,SAAS,EAAE,KAAK,IAAI,EAAE,CAAA;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAA;YACvC,MAAM,KAAK,GAAG,EAAE,GAAG,SAAS,EAAE,GAAG,aAAa,EAAE,CAAA;YAChD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,MAAM,CAAA;YAC9B,MAAM,MAAM,GAAG,SAAS,EAAE,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;YACpD,MAAM,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;YAE5C,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAmB;gBAC1C,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,IAAI;aACL,CAAC,CAAA;QACJ,CAAC;QACD,gBAAgB,EAAE,EAA0B;QAC5C,gBAAgB,EAAE,QAAQ,CAAC,EAAE;YAC3B,MAAM,IAAI,GAAa,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAA;YAChD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;YAE7B,IAAI,IAAI;gBAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAA;YAC3C,IAAI,MAAM;gBAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAA;YAE7C,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;KAChB,CAAC,CAAA;IAEF,MAAM,IAAI,GAAQ,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IAErE,OAAO,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAA;AAC3B,CAAC,CAAA","sourcesContent":["import {\n AnyUseSuspenseInfiniteQueryOptions,\n InfiniteData,\n useInfiniteQuery,\n useQuery,\n} from '@tanstack/react-query'\nimport { ApiCollection, ApiError, ApiResource, ResourceObject } from '../types'\nimport { GetRequest, RequestData } from '../utils/client'\nimport { App, useApiClient } from './use_api_client'\nimport { getRequestQueryKey, RequestQueryKey } from './use_suspense_api'\n\ninterface ApiGetOptions extends GetRequest {\n app?: App\n enabled?: boolean\n}\n\nexport const useApiGet = <T extends ResourceObject | ResourceObject[]>(args: ApiGetOptions) => {\n type Resource = ApiResource<T>\n const apiClient = useApiClient()\n\n const { data, ...query } = useQuery<Resource, ApiError>({\n queryKey: getRequestQueryKey(args),\n queryFn: ({ queryKey }) => {\n const [url, d, headers, app = 'chat'] = queryKey as RequestQueryKey\n\n return apiClient[app].get({ url, data: d, headers }) as Promise<Resource>\n },\n enabled: args.enabled,\n })\n\n return { ...data, ...query }\n}\n\ntype NextMeta = Partial<{\n offset: string\n idLt: string\n}>\n\nexport type PaginatorOptions = Omit<\n AnyUseSuspenseInfiniteQueryOptions,\n 'getNextPageParam' | 'initialPageParam' | 'queryFn' | 'queryKey'\n>\n\nexport const useApiPaginator = <T extends ResourceObject>(\n args: ApiGetOptions,\n opts?: PaginatorOptions\n) => {\n const apiClient = useApiClient()\n const query = useInfiniteQuery<\n ApiCollection<T>,\n ApiError,\n InfiniteData<ApiCollection<T>>,\n any,\n Partial<RequestData> | undefined\n >({\n queryKey: getRequestQueryKey(args),\n queryFn: ({ pageParam }) => {\n const pageParmWhere = pageParam?.where || {}\n const argsWhere = args.data.where || {}\n const where = { ...argsWhere, ...pageParmWhere }\n const app = args.app || 'chat'\n const offset = pageParam?.offset || args.data.offset\n const data = { ...args.data, where, offset }\n\n return apiClient[app].get<ApiCollection<T>>({\n url: args.url,\n data,\n })\n },\n initialPageParam: {} as Partial<RequestData>,\n getNextPageParam: lastPage => {\n const next: NextMeta = lastPage.meta?.next || {}\n const { offset, idLt } = next\n\n if (idLt) return { where: { id_lt: idLt } }\n if (offset) return { offset: Number(offset) }\n\n return undefined\n },\n enabled: args.enabled,\n ...(opts || {}),\n })\n\n const data: T[] = query.data?.pages?.flatMap(page => page.data) || []\n\n return { ...query, data }\n}\n"]}
1
+ {"version":3,"file":"use_api.js","sourceRoot":"","sources":["../../src/hooks/use_api.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,gBAAgB,EAChB,QAAQ,GACT,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAO,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAmB,MAAM,oBAAoB,CAAA;AAOxE,MAAM,CAAC,MAAM,SAAS,GAAG,CAA8C,IAAmB,EAAE,EAAE;IAE5F,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAEhC,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,QAAQ,CAA2B;QAC5D,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC;QAClC,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;YACxB,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,QAA2B,CAAA;YAEnE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAsB,CAAA;QAC3E,CAAC;QACD,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC,CAAA;IAEF,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,EAAE,CAAA;AAC9B,CAAC,CAAA;AAYD,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,IAAmB,EACnB,IAAuB,EACvB,EAAE;IACF,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAChC,MAAM,KAAK,GAAG,gBAAgB,CAM5B;QACA,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC;QAClC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;YACzB,MAAM,aAAa,GAAG,SAAS,EAAE,KAAK,IAAI,EAAE,CAAA;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAA;YACvC,MAAM,KAAK,GAAG,EAAE,GAAG,SAAS,EAAE,GAAG,aAAa,EAAE,CAAA;YAChD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,MAAM,CAAA;YAC9B,MAAM,MAAM,GAAG,SAAS,EAAE,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;YACpD,MAAM,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;YAE5C,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAmB;gBAC1C,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,IAAI;aACL,CAAC,CAAA;QACJ,CAAC;QACD,gBAAgB,EAAE,EAA0B;QAC5C,gBAAgB,EAAE,QAAQ,CAAC,EAAE;YAC3B,MAAM,IAAI,GAAa,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAA;YAChD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;YAE7B,IAAI,IAAI;gBAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAA;YAC3C,IAAI,MAAM;gBAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAA;YAE7C,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;KAChB,CAAC,CAAA;IAEF,MAAM,IAAI,GAAQ,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IAErE,OAAO,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAA;AAC3B,CAAC,CAAA","sourcesContent":["import {\n AnyUseSuspenseInfiniteQueryOptions,\n InfiniteData,\n useInfiniteQuery,\n useQuery,\n} from '@tanstack/react-query'\nimport { ApiCollection, ApiResource, FailedResponse, ResourceObject } from '../types'\nimport { GetRequest, RequestData } from '../utils/client'\nimport { App, useApiClient } from './use_api_client'\nimport { getRequestQueryKey, RequestQueryKey } from './use_suspense_api'\n\ninterface ApiGetOptions extends GetRequest {\n app?: App\n enabled?: boolean\n}\n\nexport const useApiGet = <T extends ResourceObject | ResourceObject[]>(args: ApiGetOptions) => {\n type Resource = ApiResource<T>\n const apiClient = useApiClient()\n\n const { data, ...query } = useQuery<Resource, FailedResponse>({\n queryKey: getRequestQueryKey(args),\n queryFn: ({ queryKey }) => {\n const [url, d, headers, app = 'chat'] = queryKey as RequestQueryKey\n\n return apiClient[app].get({ url, data: d, headers }) as Promise<Resource>\n },\n enabled: args.enabled,\n })\n\n return { ...data, ...query }\n}\n\ntype NextMeta = Partial<{\n offset: string\n idLt: string\n}>\n\nexport type PaginatorOptions = Omit<\n AnyUseSuspenseInfiniteQueryOptions,\n 'getNextPageParam' | 'initialPageParam' | 'queryFn' | 'queryKey'\n>\n\nexport const useApiPaginator = <T extends ResourceObject>(\n args: ApiGetOptions,\n opts?: PaginatorOptions\n) => {\n const apiClient = useApiClient()\n const query = useInfiniteQuery<\n ApiCollection<T>,\n FailedResponse,\n InfiniteData<ApiCollection<T>>,\n any,\n Partial<RequestData> | undefined\n >({\n queryKey: getRequestQueryKey(args),\n queryFn: ({ pageParam }) => {\n const pageParmWhere = pageParam?.where || {}\n const argsWhere = args.data.where || {}\n const where = { ...argsWhere, ...pageParmWhere }\n const app = args.app || 'chat'\n const offset = pageParam?.offset || args.data.offset\n const data = { ...args.data, where, offset }\n\n return apiClient[app].get<ApiCollection<T>>({\n url: args.url,\n data,\n })\n },\n initialPageParam: {} as Partial<RequestData>,\n getNextPageParam: lastPage => {\n const next: NextMeta = lastPage.meta?.next || {}\n const { offset, idLt } = next\n\n if (idLt) return { where: { id_lt: idLt } }\n if (offset) return { offset: Number(offset) }\n\n return undefined\n },\n enabled: args.enabled,\n ...(opts || {}),\n })\n\n const data: T[] = query.data?.pages?.flatMap(page => page.data) || []\n\n return { ...query, data }\n}\n"]}