@gravity-ui/data-source 0.8.0 → 0.8.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.
Files changed (65) hide show
  1. package/build/cjs/react-query/ClientDataManager.d.ts +7 -3
  2. package/build/cjs/react-query/ClientDataManager.js +107 -29
  3. package/build/cjs/react-query/ClientDataManager.js.map +1 -1
  4. package/build/cjs/react-query/__tests__/threeLevelIntegration.test.js +145 -0
  5. package/build/cjs/react-query/__tests__/threeLevelIntegration.test.js.map +1 -1
  6. package/build/cjs/react-query/impl/infinite/hooks.js +1 -4
  7. package/build/cjs/react-query/impl/infinite/hooks.js.map +1 -1
  8. package/build/cjs/react-query/impl/infinite/utils.js +6 -1
  9. package/build/cjs/react-query/impl/infinite/utils.js.map +1 -1
  10. package/build/cjs/react-query/impl/plain/hooks.js +1 -4
  11. package/build/cjs/react-query/impl/plain/hooks.js.map +1 -1
  12. package/build/cjs/react-query/impl/plain/utils.js +6 -1
  13. package/build/cjs/react-query/impl/plain/utils.js.map +1 -1
  14. package/build/cjs/react-query/types/options.d.ts +0 -5
  15. package/build/cjs/react-query/types/options.js.map +1 -1
  16. package/build/cjs/react-query/types/query-meta.d.ts +12 -0
  17. package/build/cjs/react-query/utils/__tests__/checkMutationObjectsKeys.test.js +295 -0
  18. package/build/cjs/react-query/utils/__tests__/checkMutationObjectsKeys.test.js.map +1 -0
  19. package/build/cjs/react-query/utils/checkMutationObjectsKeys.d.ts +17 -0
  20. package/build/cjs/react-query/utils/checkMutationObjectsKeys.js +88 -0
  21. package/build/cjs/react-query/utils/checkMutationObjectsKeys.js.map +1 -0
  22. package/build/cjs/react-query/utils/parseQueryKey.d.ts +2 -0
  23. package/build/cjs/react-query/utils/parseQueryKey.js +10 -0
  24. package/build/cjs/react-query/utils/parseQueryKey.js.map +1 -0
  25. package/build/esm/react-query/ClientDataManager.d.ts +7 -3
  26. package/build/esm/react-query/ClientDataManager.js +107 -29
  27. package/build/esm/react-query/ClientDataManager.js.map +1 -1
  28. package/build/esm/react-query/__tests__/threeLevelIntegration.test.js +145 -0
  29. package/build/esm/react-query/__tests__/threeLevelIntegration.test.js.map +1 -1
  30. package/build/esm/react-query/impl/infinite/hooks.js +2 -5
  31. package/build/esm/react-query/impl/infinite/hooks.js.map +1 -1
  32. package/build/esm/react-query/impl/infinite/utils.js +6 -1
  33. package/build/esm/react-query/impl/infinite/utils.js.map +1 -1
  34. package/build/esm/react-query/impl/plain/hooks.js +2 -5
  35. package/build/esm/react-query/impl/plain/hooks.js.map +1 -1
  36. package/build/esm/react-query/impl/plain/utils.js +6 -1
  37. package/build/esm/react-query/impl/plain/utils.js.map +1 -1
  38. package/build/esm/react-query/types/options.d.ts +0 -5
  39. package/build/esm/react-query/types/options.js.map +1 -1
  40. package/build/esm/react-query/types/query-meta.d.ts +12 -0
  41. package/build/esm/react-query/utils/__tests__/checkMutationObjectsKeys.test.js +292 -0
  42. package/build/esm/react-query/utils/__tests__/checkMutationObjectsKeys.test.js.map +1 -0
  43. package/build/esm/react-query/utils/checkMutationObjectsKeys.d.ts +17 -0
  44. package/build/esm/react-query/utils/checkMutationObjectsKeys.js +81 -0
  45. package/build/esm/react-query/utils/checkMutationObjectsKeys.js.map +1 -0
  46. package/build/esm/react-query/utils/parseQueryKey.d.ts +2 -0
  47. package/build/esm/react-query/utils/parseQueryKey.js +4 -0
  48. package/build/esm/react-query/utils/parseQueryKey.js.map +1 -0
  49. package/package.json +1 -1
  50. package/build/cjs/react-query/hooks/__tests__/useQueryData.refetch.test.js +0 -195
  51. package/build/cjs/react-query/hooks/__tests__/useQueryData.refetch.test.js.map +0 -1
  52. package/build/cjs/react-query/utils/warn.d.ts +0 -1
  53. package/build/cjs/react-query/utils/warn.js +0 -15
  54. package/build/cjs/react-query/utils/warn.js.map +0 -1
  55. package/build/cjs/react-query/utils/warnDisabledRefetch.d.ts +0 -1
  56. package/build/cjs/react-query/utils/warnDisabledRefetch.js +0 -11
  57. package/build/cjs/react-query/utils/warnDisabledRefetch.js.map +0 -1
  58. package/build/esm/react-query/hooks/__tests__/useQueryData.refetch.test.js +0 -192
  59. package/build/esm/react-query/hooks/__tests__/useQueryData.refetch.test.js.map +0 -1
  60. package/build/esm/react-query/utils/warn.d.ts +0 -1
  61. package/build/esm/react-query/utils/warn.js +0 -9
  62. package/build/esm/react-query/utils/warn.js.map +0 -1
  63. package/build/esm/react-query/utils/warnDisabledRefetch.d.ts +0 -1
  64. package/build/esm/react-query/utils/warnDisabledRefetch.js +0 -5
  65. package/build/esm/react-query/utils/warnDisabledRefetch.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","renderHook","waitFor","ClientDataManager","DataSourceProvider","useQueryData","makePlainQueryDataSource","jsx","_jsx","describe","queryClient","dataManager","beforeEach","normalizerConfig","devLogging","afterEach","_dataManager$queryNor","queryNormalizer","unsubscribe","clear","it","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","customGetKey","customDataManager","queryKey","normalized","wrap","_callee2$","_context2","prev","next","jest","fn","obj","concat","id","getNormalizationObjectKey","subscribe","fetchQuery","queryFn","_queryFn","_callee","_callee$","_context","abrupt","name","stop","apply","arguments","normalize","getNormalizedData","expect","objects","toBeDefined","toHaveBeenCalled","_callee4","customGetArrayType","_callee4$","_context4","_ref3","arrayKey","getArrayType","_queryFn2","_callee3","_callee3$","_context3","items","_callee6","_callee6$","_context6","_queryFn3","_callee5","_callee5$","_context5","_callee8","_callee8$","_context8","_queryFn4","_callee7","_callee7$","_context7","toBeUndefined","_callee10","_callee10$","_context10","_queryFn5","_callee9","_callee9$","_context9","_callee12","wrapper","dataSource","_renderHook","result","_callee12$","_context12","_ref8","children","fetch","_fetch","_callee11","_callee11$","_context11","options","current","status","toBe","_callee15","dataSource1","dataSource2","_renderHook2","result1","_renderHook3","result2","_callee15$","_context15","_ref10","_fetch2","_callee13","_callee13$","_context13","_fetch3","_callee14","_callee14$","_context14","title","_callee16","dmWithOptimistic","initialData","data","_callee16$","_context16","optimistic","setQueryData","normalizer","setQuery","JSON","stringify","setNormalizedData","getQueryData","_callee17","dmWithOptimisticConfig","_callee17$","_context17","autoCalculateRollback","_callee18","dmWithInvalidate","_callee18$","_context18","invalidate","_callee19","dmWithBoth","_callee19$","_context19"],"sources":["threeLevelIntegration.test.tsx"],"sourcesContent":["import React from 'react';\n\nimport type {QueryClient} from '@tanstack/react-query';\nimport {renderHook, waitFor} from '@testing-library/react';\n\nimport {ClientDataManager} from '../ClientDataManager';\nimport {DataSourceProvider} from '../DataSourceProvider';\nimport {useQueryData} from '../hooks/useQueryData';\nimport {makePlainQueryDataSource} from '../impl/plain/factory';\n\ndescribe('Normalization Configuration Integration', () => {\n let queryClient: QueryClient;\n let dataManager: ClientDataManager;\n\n beforeEach(() => {\n dataManager = new ClientDataManager({\n normalizerConfig: {\n devLogging: false,\n },\n });\n queryClient = dataManager.queryClient;\n });\n\n afterEach(() => {\n dataManager.queryNormalizer?.unsubscribe();\n queryClient.clear();\n });\n\n describe('ClientDataManager configuration', () => {\n it('should use custom getNormalizationObjectKey from config', async () => {\n const customGetKey = jest.fn((obj) => `custom:${obj.id}`);\n\n const customDataManager = new ClientDataManager({\n normalizerConfig: {\n getNormalizationObjectKey: customGetKey,\n devLogging: false,\n },\n });\n\n customDataManager.queryNormalizer!.subscribe();\n\n const queryKey = ['users'];\n\n await customDataManager.queryClient.fetchQuery({\n queryKey,\n queryFn: async () => [{id: '1', name: 'User 1'}],\n normalize: true,\n } as Parameters<typeof customDataManager.queryClient.fetchQuery>[0] & {\n normalize: boolean;\n });\n\n const normalized = customDataManager.queryNormalizer!.getNormalizedData();\n\n expect(normalized.objects['@@custom:1']).toBeDefined();\n expect(customGetKey).toHaveBeenCalled();\n\n customDataManager.queryNormalizer!.unsubscribe();\n customDataManager.queryClient.clear();\n });\n\n it('should use custom getArrayType from config', async () => {\n const customGetArrayType = jest.fn(({arrayKey}) => `custom:${arrayKey}`);\n\n const customDataManager = new ClientDataManager({\n normalizerConfig: {\n getArrayType: customGetArrayType,\n devLogging: false,\n },\n });\n\n customDataManager.queryNormalizer!.subscribe();\n\n const queryKey = ['items'];\n\n await customDataManager.queryClient.fetchQuery({\n queryKey,\n queryFn: async () => ({\n items: [{id: '1', name: 'Item 1'}],\n }),\n normalize: true,\n } as Parameters<typeof customDataManager.queryClient.fetchQuery>[0] & {\n normalize: boolean;\n });\n\n expect(customGetArrayType).toHaveBeenCalled();\n\n customDataManager.queryNormalizer!.unsubscribe();\n customDataManager.queryClient.clear();\n });\n });\n\n describe('Query-level normalization control', () => {\n it('should normalize when query has normalize: true', async () => {\n dataManager.queryNormalizer!.subscribe();\n\n const queryKey = ['users-normalized'];\n\n await dataManager.queryClient.fetchQuery({\n queryKey,\n queryFn: async () => [{id: '1', name: 'User 1'}],\n normalize: true,\n } as Parameters<typeof dataManager.queryClient.fetchQuery>[0] & {normalize: boolean});\n\n const normalized = dataManager.queryNormalizer!.getNormalizedData();\n\n // Data SHOULD be normalized\n expect(normalized.objects['@@1']).toBeDefined();\n });\n\n it('should NOT normalize when query has normalize: false', async () => {\n dataManager.queryNormalizer!.subscribe();\n\n const queryKey = ['users-not-normalized'];\n\n await dataManager.queryClient.fetchQuery({\n queryKey,\n queryFn: async () => [{id: '2', name: 'User 2'}],\n normalize: false,\n } as Parameters<typeof dataManager.queryClient.fetchQuery>[0] & {normalize: boolean});\n\n const normalized = dataManager.queryNormalizer!.getNormalizedData();\n\n // Data should NOT be normalized\n expect(normalized.objects['@@2']).toBeUndefined();\n });\n\n it('should normalize by default when normalize option is not provided', async () => {\n dataManager.queryNormalizer!.subscribe();\n\n const queryKey = ['users-default'];\n\n await dataManager.queryClient.fetchQuery({\n queryKey,\n queryFn: async () => [{id: '3', name: 'User 3'}],\n });\n\n const normalized = dataManager.queryNormalizer!.getNormalizedData();\n\n // Data SHOULD be normalized (default behavior is now true)\n expect(normalized.objects['@@3']).toBeDefined();\n });\n });\n\n describe('DataSourceProvider integration', () => {\n it('should auto-subscribe queryNormalizer on mount', async () => {\n const wrapper = ({children}: {children: React.ReactNode}) => (\n <DataSourceProvider dataManager={dataManager}>{children}</DataSourceProvider>\n );\n\n const dataSource = makePlainQueryDataSource({\n name: 'users',\n fetch: async () => [{id: '1', name: 'User 1'}],\n options: {\n normalize: true,\n },\n });\n\n const {result} = renderHook(() => useQueryData(dataSource, {}), {wrapper});\n\n await waitFor(() => expect(result.current.status).toBe('success'));\n\n const normalized = dataManager.queryNormalizer!.getNormalizedData();\n\n // Data should be normalized because DataSourceProvider subscribes automatically\n expect(normalized.objects['@@1']).toBeDefined();\n });\n\n it('should work with multiple queries', async () => {\n const wrapper = ({children}: {children: React.ReactNode}) => (\n <DataSourceProvider dataManager={dataManager}>{children}</DataSourceProvider>\n );\n\n const dataSource1 = makePlainQueryDataSource({\n name: 'users',\n fetch: async () => [{id: '1', name: 'User 1'}],\n options: {\n normalize: true,\n },\n });\n\n const dataSource2 = makePlainQueryDataSource({\n name: 'posts',\n fetch: async () => [{id: '2', title: 'Post 1'}],\n options: {\n normalize: true,\n },\n });\n\n const {result: result1} = renderHook(() => useQueryData(dataSource1, {}), {wrapper});\n const {result: result2} = renderHook(() => useQueryData(dataSource2, {}), {wrapper});\n\n await waitFor(() => {\n expect(result1.current.status).toBe('success');\n expect(result2.current.status).toBe('success');\n });\n\n const normalized = dataManager.queryNormalizer!.getNormalizedData();\n\n expect(normalized.objects['@@1']).toBeDefined();\n expect(normalized.objects['@@2']).toBeDefined();\n });\n });\n\n describe('Optimistic updates configuration', () => {\n it('should enable optimistic updates when configured', async () => {\n const dmWithOptimistic = new ClientDataManager({\n normalizerConfig: {\n devLogging: false,\n optimistic: true,\n },\n });\n\n expect(dmWithOptimistic.queryNormalizer).toBeDefined();\n\n dmWithOptimistic.queryNormalizer!.subscribe();\n\n const queryKey = ['users'];\n const initialData = [{id: '1', name: 'Old'}];\n\n dmWithOptimistic.queryClient.setQueryData(queryKey, initialData);\n dmWithOptimistic.normalizer!.setQuery(JSON.stringify(queryKey), initialData);\n\n // Manual optimistic update via setNormalizedData\n dmWithOptimistic.queryNormalizer!.setNormalizedData({id: '1', name: 'New'});\n\n const data = dmWithOptimistic.queryClient.getQueryData(queryKey) as Array<{\n id: string;\n name: string;\n }>;\n expect(data[0].name).toBe('New');\n\n dmWithOptimistic.queryNormalizer!.unsubscribe();\n dmWithOptimistic.queryClient.clear();\n });\n\n it('should work with optimistic config object', async () => {\n const dmWithOptimisticConfig = new ClientDataManager({\n normalizerConfig: {\n devLogging: false,\n optimistic: {\n autoCalculateRollback: true,\n devLogging: false,\n },\n },\n });\n\n expect(dmWithOptimisticConfig.queryNormalizer).toBeDefined();\n expect(dmWithOptimisticConfig.normalizer).toBeDefined();\n\n dmWithOptimisticConfig.queryClient.clear();\n });\n });\n\n describe('Invalidate configuration', () => {\n it('should support invalidate option in global config', async () => {\n const dmWithInvalidate = new ClientDataManager({\n normalizerConfig: {\n devLogging: false,\n invalidate: true,\n },\n });\n\n expect(dmWithInvalidate.queryNormalizer).toBeDefined();\n expect(dmWithInvalidate.normalizer).toBeDefined();\n\n dmWithInvalidate.queryClient.clear();\n });\n\n it('should support both optimistic and invalidate options', async () => {\n const dmWithBoth = new ClientDataManager({\n normalizerConfig: {\n devLogging: false,\n optimistic: true,\n invalidate: true,\n },\n });\n\n expect(dmWithBoth.queryNormalizer).toBeDefined();\n expect(dmWithBoth.normalizer).toBeDefined();\n\n dmWithBoth.queryClient.clear();\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","renderHook","waitFor","ClientDataManager","DataSourceProvider","useQueryData","makePlainQueryDataSource","jsx","_jsx","describe","queryClient","dataManager","beforeEach","normalizerConfig","devLogging","afterEach","_dataManager$queryNor","queryNormalizer","unsubscribe","clear","it","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","customGetKey","customDataManager","queryKey","normalized","wrap","_callee2$","_context2","prev","next","jest","fn","obj","concat","id","getNormalizationObjectKey","subscribe","fetchQuery","queryFn","_queryFn","_callee","_callee$","_context","abrupt","name","stop","apply","arguments","normalize","getNormalizedData","expect","objects","toBeDefined","toHaveBeenCalled","_callee4","customGetArrayType","_callee4$","_context4","_ref3","arrayKey","getArrayType","_queryFn2","_callee3","_callee3$","_context3","items","_callee6","_callee6$","_context6","_queryFn3","_callee5","_callee5$","_context5","_callee8","_callee8$","_context8","_queryFn4","_callee7","_callee7$","_context7","toBeUndefined","_callee10","_callee10$","_context10","_queryFn5","_callee9","_callee9$","_context9","_callee12","wrapper","dataSource","_renderHook","result","_callee12$","_context12","_ref8","children","fetch","_fetch","_callee11","_callee11$","_context11","options","current","status","toBe","_callee15","dataSource1","dataSource2","_renderHook2","result1","_renderHook3","result2","_callee15$","_context15","_ref10","_fetch2","_callee13","_callee13$","_context13","_fetch3","_callee14","_callee14$","_context14","title","_callee16","dmWithOptimistic","initialData","data","_callee16$","_context16","optimistic","setQueryData","normalizer","setQuery","JSON","stringify","setNormalizedData","getQueryData","_callee17","dmWithOptimisticConfig","_callee17$","_context17","autoCalculateRollback","_callee18","dmWithInvalidate","_callee18$","_context18","invalidate","_callee19","dmWithBoth","_callee19$","_context19","_callee20","dm","_callee20$","_context20","update","_callee21","cache","invalidateSpy","_callee21$","_context21","getQueryCache","find","setState","fetchStatus","isInvalidated","spyOn","mockRestore","_callee22","originalGetQueriesToUpdate","_callee22$","_context22","email","age","getQueriesToUpdate","mockReturnValue"],"sources":["threeLevelIntegration.test.tsx"],"sourcesContent":["import React from 'react';\n\nimport type {QueryClient} from '@tanstack/react-query';\nimport {renderHook, waitFor} from '@testing-library/react';\n\nimport {ClientDataManager} from '../ClientDataManager';\nimport {DataSourceProvider} from '../DataSourceProvider';\nimport {useQueryData} from '../hooks/useQueryData';\nimport {makePlainQueryDataSource} from '../impl/plain/factory';\n\ndescribe('Normalization Configuration Integration', () => {\n let queryClient: QueryClient;\n let dataManager: ClientDataManager;\n\n beforeEach(() => {\n dataManager = new ClientDataManager({\n normalizerConfig: {\n devLogging: false,\n },\n });\n queryClient = dataManager.queryClient;\n });\n\n afterEach(() => {\n dataManager.queryNormalizer?.unsubscribe();\n queryClient.clear();\n });\n\n describe('ClientDataManager configuration', () => {\n it('should use custom getNormalizationObjectKey from config', async () => {\n const customGetKey = jest.fn((obj) => `custom:${obj.id}`);\n\n const customDataManager = new ClientDataManager({\n normalizerConfig: {\n getNormalizationObjectKey: customGetKey,\n devLogging: false,\n },\n });\n\n customDataManager.queryNormalizer!.subscribe();\n\n const queryKey = ['users'];\n\n await customDataManager.queryClient.fetchQuery({\n queryKey,\n queryFn: async () => [{id: '1', name: 'User 1'}],\n normalize: true,\n } as Parameters<typeof customDataManager.queryClient.fetchQuery>[0] & {\n normalize: boolean;\n });\n\n const normalized = customDataManager.queryNormalizer!.getNormalizedData();\n\n expect(normalized.objects['@@custom:1']).toBeDefined();\n expect(customGetKey).toHaveBeenCalled();\n\n customDataManager.queryNormalizer!.unsubscribe();\n customDataManager.queryClient.clear();\n });\n\n it('should use custom getArrayType from config', async () => {\n const customGetArrayType = jest.fn(({arrayKey}) => `custom:${arrayKey}`);\n\n const customDataManager = new ClientDataManager({\n normalizerConfig: {\n getArrayType: customGetArrayType,\n devLogging: false,\n },\n });\n\n customDataManager.queryNormalizer!.subscribe();\n\n const queryKey = ['items'];\n\n await customDataManager.queryClient.fetchQuery({\n queryKey,\n queryFn: async () => ({\n items: [{id: '1', name: 'Item 1'}],\n }),\n normalize: true,\n } as Parameters<typeof customDataManager.queryClient.fetchQuery>[0] & {\n normalize: boolean;\n });\n\n expect(customGetArrayType).toHaveBeenCalled();\n\n customDataManager.queryNormalizer!.unsubscribe();\n customDataManager.queryClient.clear();\n });\n });\n\n describe('Query-level normalization control', () => {\n it('should normalize when query has normalize: true', async () => {\n dataManager.queryNormalizer!.subscribe();\n\n const queryKey = ['users-normalized'];\n\n await dataManager.queryClient.fetchQuery({\n queryKey,\n queryFn: async () => [{id: '1', name: 'User 1'}],\n normalize: true,\n } as Parameters<typeof dataManager.queryClient.fetchQuery>[0] & {normalize: boolean});\n\n const normalized = dataManager.queryNormalizer!.getNormalizedData();\n\n // Data SHOULD be normalized\n expect(normalized.objects['@@1']).toBeDefined();\n });\n\n it('should NOT normalize when query has normalize: false', async () => {\n dataManager.queryNormalizer!.subscribe();\n\n const queryKey = ['users-not-normalized'];\n\n await dataManager.queryClient.fetchQuery({\n queryKey,\n queryFn: async () => [{id: '2', name: 'User 2'}],\n normalize: false,\n } as Parameters<typeof dataManager.queryClient.fetchQuery>[0] & {normalize: boolean});\n\n const normalized = dataManager.queryNormalizer!.getNormalizedData();\n\n // Data should NOT be normalized\n expect(normalized.objects['@@2']).toBeUndefined();\n });\n\n it('should normalize by default when normalize option is not provided', async () => {\n dataManager.queryNormalizer!.subscribe();\n\n const queryKey = ['users-default'];\n\n await dataManager.queryClient.fetchQuery({\n queryKey,\n queryFn: async () => [{id: '3', name: 'User 3'}],\n });\n\n const normalized = dataManager.queryNormalizer!.getNormalizedData();\n\n // Data SHOULD be normalized (default behavior is now true)\n expect(normalized.objects['@@3']).toBeDefined();\n });\n });\n\n describe('DataSourceProvider integration', () => {\n it('should auto-subscribe queryNormalizer on mount', async () => {\n const wrapper = ({children}: {children: React.ReactNode}) => (\n <DataSourceProvider dataManager={dataManager}>{children}</DataSourceProvider>\n );\n\n const dataSource = makePlainQueryDataSource({\n name: 'users',\n fetch: async () => [{id: '1', name: 'User 1'}],\n options: {\n normalize: true,\n },\n });\n\n const {result} = renderHook(() => useQueryData(dataSource, {}), {wrapper});\n\n await waitFor(() => expect(result.current.status).toBe('success'));\n\n const normalized = dataManager.queryNormalizer!.getNormalizedData();\n\n // Data should be normalized because DataSourceProvider subscribes automatically\n expect(normalized.objects['@@1']).toBeDefined();\n });\n\n it('should work with multiple queries', async () => {\n const wrapper = ({children}: {children: React.ReactNode}) => (\n <DataSourceProvider dataManager={dataManager}>{children}</DataSourceProvider>\n );\n\n const dataSource1 = makePlainQueryDataSource({\n name: 'users',\n fetch: async () => [{id: '1', name: 'User 1'}],\n options: {\n normalize: true,\n },\n });\n\n const dataSource2 = makePlainQueryDataSource({\n name: 'posts',\n fetch: async () => [{id: '2', title: 'Post 1'}],\n options: {\n normalize: true,\n },\n });\n\n const {result: result1} = renderHook(() => useQueryData(dataSource1, {}), {wrapper});\n const {result: result2} = renderHook(() => useQueryData(dataSource2, {}), {wrapper});\n\n await waitFor(() => {\n expect(result1.current.status).toBe('success');\n expect(result2.current.status).toBe('success');\n });\n\n const normalized = dataManager.queryNormalizer!.getNormalizedData();\n\n expect(normalized.objects['@@1']).toBeDefined();\n expect(normalized.objects['@@2']).toBeDefined();\n });\n });\n\n describe('Optimistic updates configuration', () => {\n it('should enable optimistic updates when configured', async () => {\n const dmWithOptimistic = new ClientDataManager({\n normalizerConfig: {\n devLogging: false,\n optimistic: true,\n },\n });\n\n expect(dmWithOptimistic.queryNormalizer).toBeDefined();\n\n dmWithOptimistic.queryNormalizer!.subscribe();\n\n const queryKey = ['users'];\n const initialData = [{id: '1', name: 'Old'}];\n\n dmWithOptimistic.queryClient.setQueryData(queryKey, initialData);\n dmWithOptimistic.normalizer!.setQuery(JSON.stringify(queryKey), initialData);\n\n // Manual optimistic update via setNormalizedData\n dmWithOptimistic.queryNormalizer!.setNormalizedData({id: '1', name: 'New'});\n\n const data = dmWithOptimistic.queryClient.getQueryData(queryKey) as Array<{\n id: string;\n name: string;\n }>;\n expect(data[0].name).toBe('New');\n\n dmWithOptimistic.queryNormalizer!.unsubscribe();\n dmWithOptimistic.queryClient.clear();\n });\n\n it('should work with optimistic config object', async () => {\n const dmWithOptimisticConfig = new ClientDataManager({\n normalizerConfig: {\n devLogging: false,\n optimistic: {\n autoCalculateRollback: true,\n devLogging: false,\n },\n },\n });\n\n expect(dmWithOptimisticConfig.queryNormalizer).toBeDefined();\n expect(dmWithOptimisticConfig.normalizer).toBeDefined();\n\n dmWithOptimisticConfig.queryClient.clear();\n });\n });\n\n describe('Invalidate configuration', () => {\n it('should support invalidate option in global config', async () => {\n const dmWithInvalidate = new ClientDataManager({\n normalizerConfig: {\n devLogging: false,\n invalidate: true,\n },\n });\n\n expect(dmWithInvalidate.queryNormalizer).toBeDefined();\n expect(dmWithInvalidate.normalizer).toBeDefined();\n\n dmWithInvalidate.queryClient.clear();\n });\n\n it('should support both optimistic and invalidate options', async () => {\n const dmWithBoth = new ClientDataManager({\n normalizerConfig: {\n devLogging: false,\n optimistic: true,\n invalidate: true,\n },\n });\n\n expect(dmWithBoth.queryNormalizer).toBeDefined();\n expect(dmWithBoth.normalizer).toBeDefined();\n\n dmWithBoth.queryClient.clear();\n });\n });\n\n describe('ClientDataManager.update()', () => {\n it('should work with array of objects for optimistic update', async () => {\n const dm = new ClientDataManager({\n normalizerConfig: {\n devLogging: false,\n optimistic: true,\n },\n });\n\n dm.queryNormalizer!.subscribe();\n\n const queryKey = ['users'];\n const initialData = [\n {id: '1', name: 'User 1'},\n {id: '2', name: 'User 2'},\n ];\n\n dm.queryClient.setQueryData(queryKey, initialData);\n dm.normalizer!.setQuery(JSON.stringify(queryKey), initialData);\n\n // Update both objects\n dm.update([\n {id: '1', name: 'Updated 1'},\n {id: '2', name: 'Updated 2'},\n ]);\n\n const data = dm.queryClient.getQueryData(queryKey) as Array<{\n id: string;\n name: string;\n }>;\n\n expect(data[0].name).toBe('Updated 1');\n expect(data[1].name).toBe('Updated 2');\n\n dm.queryNormalizer!.unsubscribe();\n dm.queryClient.clear();\n });\n\n it('should call invalidateData when invalidate option is enabled', async () => {\n const dm = new ClientDataManager({\n normalizerConfig: {\n devLogging: false,\n invalidate: true,\n },\n });\n\n dm.queryNormalizer!.subscribe();\n\n const queryKey = ['users'];\n const initialData = [{id: '1', name: 'User 1'}];\n\n dm.queryClient.setQueryData(queryKey, initialData);\n dm.normalizer!.setQuery(JSON.stringify(queryKey), initialData);\n\n // Set query state to success so it can be invalidated\n const cache = dm.queryClient.getQueryCache().find({queryKey});\n cache?.setState({status: 'success', fetchStatus: 'idle', isInvalidated: false});\n\n const invalidateSpy = jest.spyOn(dm, 'invalidateData');\n\n dm.update({id: '1', name: 'Updated'});\n\n expect(invalidateSpy).toHaveBeenCalled();\n\n invalidateSpy.mockRestore();\n dm.queryNormalizer!.unsubscribe();\n dm.queryClient.clear();\n });\n\n it('should trigger refetch when mutation has fewer keys and normy returns empty queriesToUpdate', async () => {\n // checkMutationObjectsKeys is called only when getQueriesToUpdate returns []\n // This happens when normy can't compute a diff (e.g., structure mismatch)\n const dm = new ClientDataManager({\n normalizerConfig: {\n devLogging: false,\n invalidate: true, // Need to enable invalidate for refetch to work\n },\n });\n\n dm.queryNormalizer!.subscribe();\n\n const queryKey = ['users'];\n // Store data with more keys\n const initialData = [{id: '1', name: 'User 1', email: 'user@test.com', age: 25}];\n\n dm.queryClient.setQueryData(queryKey, initialData);\n dm.normalizer!.setQuery(JSON.stringify(queryKey), initialData);\n\n // Set query state to success so it can be invalidated\n const cache = dm.queryClient.getQueryCache().find({queryKey});\n cache?.setState({status: 'success', fetchStatus: 'idle', isInvalidated: false});\n\n // Mock getQueriesToUpdate to return empty array (simulating normy can't compute diff)\n const originalGetQueriesToUpdate = dm.normalizer!.getQueriesToUpdate;\n dm.normalizer!.getQueriesToUpdate = jest.fn().mockReturnValue([]);\n\n const invalidateSpy = jest.spyOn(dm.queryClient, 'invalidateQueries');\n\n // Update with fewer keys - should trigger refetch via checkMutationObjectsKeys\n dm.update({id: '1', name: 'Updated'});\n\n // Check if invalidation was triggered due to fewer keys\n expect(invalidateSpy).toHaveBeenCalled();\n\n // Restore mocks\n dm.normalizer!.getQueriesToUpdate = originalGetQueriesToUpdate;\n invalidateSpy.mockRestore();\n dm.queryNormalizer!.unsubscribe();\n dm.queryClient.clear();\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -2,10 +2,9 @@ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
3
  var _excluded = ["queryFn", "refetchInterval"];
4
4
  import { useMemo } from 'react';
5
- import { skipToken, useInfiniteQuery } from '@tanstack/react-query';
5
+ import { useInfiniteQuery } from '@tanstack/react-query';
6
6
  import { useRefetchInterval } from '../../hooks/useRefetchInterval';
7
7
  import { normalizeStatus } from '../../utils/normalizeStatus';
8
- import { warnDisabledRefetch } from '../../utils/warnDisabledRefetch';
9
8
  import { composeOptions } from './utils';
10
9
  var useInfiniteQueryDataOptions = function useInfiniteQueryDataOptions(composedOptions) {
11
10
  var queryFnOption = composedOptions.queryFn,
@@ -27,13 +26,11 @@ export var useInfiniteQueryData = function useInfiniteQueryData(context, dataSou
27
26
  var _state$data$pages$fla, _state$data;
28
27
  return (_state$data$pages$fla = (_state$data = state.data) === null || _state$data === void 0 ? void 0 : _state$data.pages.flat(1)) !== null && _state$data$pages$fla !== void 0 ? _state$data$pages$fla : [];
29
28
  }, [state.data]);
30
- var isDisabled = composedOptions.enabled === false || composedOptions.queryFn === skipToken;
31
29
  return _objectSpread(_objectSpread({}, state), {}, {
32
30
  status: normalizeStatus(state.status, state.fetchStatus),
33
31
  data: transformedData,
34
32
  originalStatus: state.status,
35
- originalData: state.data,
36
- refetch: isDisabled ? warnDisabledRefetch : state.refetch
33
+ originalData: state.data
37
34
  });
38
35
  };
39
36
  // #sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","skipToken","useInfiniteQuery","useRefetchInterval","normalizeStatus","warnDisabledRefetch","composeOptions","useInfiniteQueryDataOptions","composedOptions","queryFnOption","queryFn","refetchIntervalOption","refetchInterval","restOptions","_objectWithoutProperties","_excluded","_useRefetchInterval","_objectSpread","useInfiniteQueryData","context","dataSource","params","options","extendedOptions","state","transformedData","_state$data$pages$fla","_state$data","data","pages","flat","isDisabled","enabled","status","fetchStatus","originalStatus","originalData","refetch"],"sources":["hooks.ts"],"sourcesContent":["import {useMemo} from 'react';\n\nimport {skipToken, useInfiniteQuery} from '@tanstack/react-query';\nimport type {InfiniteData, InfiniteQueryObserverOptions} from '@tanstack/react-query';\n\nimport type {\n DataSourceContext,\n DataSourceData,\n DataSourceError,\n DataSourceKey,\n DataSourceOptions,\n DataSourceParams,\n DataSourceRequest,\n DataSourceResponse,\n DataSourceState,\n} from '../../../core';\nimport {useRefetchInterval} from '../../hooks/useRefetchInterval';\nimport {normalizeStatus} from '../../utils/normalizeStatus';\nimport {warnDisabledRefetch} from '../../utils/warnDisabledRefetch';\n\nimport type {AnyInfiniteQueryDataSource, InfiniteQueryObserverExtendedOptions} from './types';\nimport {composeOptions} from './utils';\n\nconst useInfiniteQueryDataOptions = <TDataSource extends AnyInfiniteQueryDataSource>(\n composedOptions: InfiniteQueryObserverExtendedOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n InfiniteData<DataSourceData<TDataSource>, Partial<DataSourceRequest<TDataSource>>>,\n DataSourceResponse<TDataSource>,\n DataSourceKey,\n Partial<DataSourceRequest<TDataSource>>\n >,\n): InfiniteQueryObserverOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n InfiniteData<DataSourceData<TDataSource>, Partial<DataSourceRequest<TDataSource>>>,\n DataSourceResponse<TDataSource>,\n DataSourceKey,\n Partial<DataSourceRequest<TDataSource>>\n> => {\n const {\n queryFn: queryFnOption,\n refetchInterval: refetchIntervalOption,\n ...restOptions\n } = composedOptions;\n\n const {queryFn, refetchInterval} = useRefetchInterval(refetchIntervalOption, queryFnOption);\n\n return {...restOptions, queryFn, refetchInterval};\n};\n\nexport const useInfiniteQueryData = <TDataSource extends AnyInfiniteQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): DataSourceState<TDataSource> => {\n const extendedOptions = composeOptions(context, dataSource, params, options);\n const composedOptions = useInfiniteQueryDataOptions(extendedOptions);\n const state = useInfiniteQuery(composedOptions);\n\n const transformedData = useMemo<DataSourceState<TDataSource>['data']>(\n () => state.data?.pages.flat(1) ?? [],\n [state.data],\n );\n\n const isDisabled = composedOptions.enabled === false || composedOptions.queryFn === skipToken;\n\n return {\n ...state,\n status: normalizeStatus(state.status, state.fetchStatus),\n data: transformedData,\n originalStatus: state.status,\n originalData: state.data,\n refetch: isDisabled ? warnDisabledRefetch : state.refetch,\n } as DataSourceState<TDataSource>;\n};\n"],"mappings":";;;AAAA,SAAQA,OAAO,QAAO,OAAO;AAE7B,SAAQC,SAAS,EAAEC,gBAAgB,QAAO,uBAAuB;AAcjE,SAAQC,kBAAkB,QAAO,gCAAgC;AACjE,SAAQC,eAAe,QAAO,6BAA6B;AAC3D,SAAQC,mBAAmB,QAAO,iCAAiC;AAGnE,SAAQC,cAAc,QAAO,SAAS;AAEtC,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAC7BC,eAOC,EAQA;EACD,IACaC,aAAa,GAGtBD,eAAe,CAHfE,OAAO;IACUC,qBAAqB,GAEtCH,eAAe,CAFfI,eAAe;IACZC,WAAW,GAAAC,wBAAA,CACdN,eAAe,EAAAO,SAAA;EAEnB,IAAAC,mBAAA,GAAmCb,kBAAkB,CAACQ,qBAAqB,EAAEF,aAAa,CAAC;IAApFC,OAAO,GAAAM,mBAAA,CAAPN,OAAO;IAAEE,eAAe,GAAAI,mBAAA,CAAfJ,eAAe;EAE/B,OAAAK,aAAA,CAAAA,aAAA,KAAWJ,WAAW;IAAEH,OAAO,EAAPA,OAAO;IAAEE,eAAe,EAAfA;EAAe;AACpD,CAAC;AAED,OAAO,IAAMM,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAC7BC,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAClB;EAC/B,IAAMC,eAAe,GAAGjB,cAAc,CAACa,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC5E,IAAMd,eAAe,GAAGD,2BAA2B,CAACgB,eAAe,CAAC;EACpE,IAAMC,KAAK,GAAGtB,gBAAgB,CAACM,eAAe,CAAC;EAE/C,IAAMiB,eAAe,GAAGzB,OAAO,CAC3B;IAAA,IAAA0B,qBAAA,EAAAC,WAAA;IAAA,QAAAD,qBAAA,IAAAC,WAAA,GAAMH,KAAK,CAACI,IAAI,cAAAD,WAAA,uBAAVA,WAAA,CAAYE,KAAK,CAACC,IAAI,CAAC,CAAC,CAAC,cAAAJ,qBAAA,cAAAA,qBAAA,GAAI,EAAE;EAAA,GACrC,CAACF,KAAK,CAACI,IAAI,CACf,CAAC;EAED,IAAMG,UAAU,GAAGvB,eAAe,CAACwB,OAAO,KAAK,KAAK,IAAIxB,eAAe,CAACE,OAAO,KAAKT,SAAS;EAE7F,OAAAgB,aAAA,CAAAA,aAAA,KACOO,KAAK;IACRS,MAAM,EAAE7B,eAAe,CAACoB,KAAK,CAACS,MAAM,EAAET,KAAK,CAACU,WAAW,CAAC;IACxDN,IAAI,EAAEH,eAAe;IACrBU,cAAc,EAAEX,KAAK,CAACS,MAAM;IAC5BG,YAAY,EAAEZ,KAAK,CAACI,IAAI;IACxBS,OAAO,EAAEN,UAAU,GAAG1B,mBAAmB,GAAGmB,KAAK,CAACa;EAAO;AAEjE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","useInfiniteQuery","useRefetchInterval","normalizeStatus","composeOptions","useInfiniteQueryDataOptions","composedOptions","queryFnOption","queryFn","refetchIntervalOption","refetchInterval","restOptions","_objectWithoutProperties","_excluded","_useRefetchInterval","_objectSpread","useInfiniteQueryData","context","dataSource","params","options","extendedOptions","state","transformedData","_state$data$pages$fla","_state$data","data","pages","flat","status","fetchStatus","originalStatus","originalData"],"sources":["hooks.ts"],"sourcesContent":["import {useMemo} from 'react';\n\nimport {useInfiniteQuery} from '@tanstack/react-query';\nimport type {InfiniteData, InfiniteQueryObserverOptions} from '@tanstack/react-query';\n\nimport type {\n DataSourceContext,\n DataSourceData,\n DataSourceError,\n DataSourceKey,\n DataSourceOptions,\n DataSourceParams,\n DataSourceRequest,\n DataSourceResponse,\n DataSourceState,\n} from '../../../core';\nimport {useRefetchInterval} from '../../hooks/useRefetchInterval';\nimport {normalizeStatus} from '../../utils/normalizeStatus';\n\nimport type {AnyInfiniteQueryDataSource, InfiniteQueryObserverExtendedOptions} from './types';\nimport {composeOptions} from './utils';\n\nconst useInfiniteQueryDataOptions = <TDataSource extends AnyInfiniteQueryDataSource>(\n composedOptions: InfiniteQueryObserverExtendedOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n InfiniteData<DataSourceData<TDataSource>, Partial<DataSourceRequest<TDataSource>>>,\n DataSourceResponse<TDataSource>,\n DataSourceKey,\n Partial<DataSourceRequest<TDataSource>>\n >,\n): InfiniteQueryObserverOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n InfiniteData<DataSourceData<TDataSource>, Partial<DataSourceRequest<TDataSource>>>,\n DataSourceResponse<TDataSource>,\n DataSourceKey,\n Partial<DataSourceRequest<TDataSource>>\n> => {\n const {\n queryFn: queryFnOption,\n refetchInterval: refetchIntervalOption,\n ...restOptions\n } = composedOptions;\n\n const {queryFn, refetchInterval} = useRefetchInterval(refetchIntervalOption, queryFnOption);\n\n return {...restOptions, queryFn, refetchInterval};\n};\n\nexport const useInfiniteQueryData = <TDataSource extends AnyInfiniteQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): DataSourceState<TDataSource> => {\n const extendedOptions = composeOptions(context, dataSource, params, options);\n const composedOptions = useInfiniteQueryDataOptions(extendedOptions);\n const state = useInfiniteQuery(composedOptions);\n\n const transformedData = useMemo<DataSourceState<TDataSource>['data']>(\n () => state.data?.pages.flat(1) ?? [],\n [state.data],\n );\n\n return {\n ...state,\n status: normalizeStatus(state.status, state.fetchStatus),\n data: transformedData,\n originalStatus: state.status,\n originalData: state.data,\n } as DataSourceState<TDataSource>;\n};\n"],"mappings":";;;AAAA,SAAQA,OAAO,QAAO,OAAO;AAE7B,SAAQC,gBAAgB,QAAO,uBAAuB;AActD,SAAQC,kBAAkB,QAAO,gCAAgC;AACjE,SAAQC,eAAe,QAAO,6BAA6B;AAG3D,SAAQC,cAAc,QAAO,SAAS;AAEtC,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAC7BC,eAOC,EAQA;EACD,IACaC,aAAa,GAGtBD,eAAe,CAHfE,OAAO;IACUC,qBAAqB,GAEtCH,eAAe,CAFfI,eAAe;IACZC,WAAW,GAAAC,wBAAA,CACdN,eAAe,EAAAO,SAAA;EAEnB,IAAAC,mBAAA,GAAmCZ,kBAAkB,CAACO,qBAAqB,EAAEF,aAAa,CAAC;IAApFC,OAAO,GAAAM,mBAAA,CAAPN,OAAO;IAAEE,eAAe,GAAAI,mBAAA,CAAfJ,eAAe;EAE/B,OAAAK,aAAA,CAAAA,aAAA,KAAWJ,WAAW;IAAEH,OAAO,EAAPA,OAAO;IAAEE,eAAe,EAAfA;EAAe;AACpD,CAAC;AAED,OAAO,IAAMM,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAC7BC,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAClB;EAC/B,IAAMC,eAAe,GAAGjB,cAAc,CAACa,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC5E,IAAMd,eAAe,GAAGD,2BAA2B,CAACgB,eAAe,CAAC;EACpE,IAAMC,KAAK,GAAGrB,gBAAgB,CAACK,eAAe,CAAC;EAE/C,IAAMiB,eAAe,GAAGvB,OAAO,CAC3B;IAAA,IAAAwB,qBAAA,EAAAC,WAAA;IAAA,QAAAD,qBAAA,IAAAC,WAAA,GAAMH,KAAK,CAACI,IAAI,cAAAD,WAAA,uBAAVA,WAAA,CAAYE,KAAK,CAACC,IAAI,CAAC,CAAC,CAAC,cAAAJ,qBAAA,cAAAA,qBAAA,GAAI,EAAE;EAAA,GACrC,CAACF,KAAK,CAACI,IAAI,CACf,CAAC;EAED,OAAAX,aAAA,CAAAA,aAAA,KACOO,KAAK;IACRO,MAAM,EAAE1B,eAAe,CAACmB,KAAK,CAACO,MAAM,EAAEP,KAAK,CAACQ,WAAW,CAAC;IACxDJ,IAAI,EAAEH,eAAe;IACrBQ,cAAc,EAAET,KAAK,CAACO,MAAM;IAC5BG,YAAY,EAAEV,KAAK,CAACI;EAAI;AAEhC,CAAC","ignoreList":[]}
@@ -38,6 +38,10 @@ export var composeOptions = function composeOptions(context, dataSource, params,
38
38
  var actualResponse = parseNullableValue(response);
39
39
  return transformResponse ? transformResponse(actualResponse) : actualResponse;
40
40
  };
41
+ var meta = {
42
+ invalidate: options === null || options === void 0 ? void 0 : options.invalidate,
43
+ optimistic: options === null || options === void 0 ? void 0 : options.optimistic
44
+ };
41
45
  return _objectSpread(_objectSpread({
42
46
  queryKey: composeFullKey(dataSource, params),
43
47
  queryFn: params === idle ? skipToken : queryFn,
@@ -48,7 +52,8 @@ export var composeOptions = function composeOptions(context, dataSource, params,
48
52
  },
49
53
  initialPageParam: EMPTY_OBJECT,
50
54
  getNextPageParam: next,
51
- getPreviousPageParam: prev
55
+ getPreviousPageParam: prev,
56
+ meta: meta
52
57
  }, dataSource.options), options);
53
58
  };
54
59
  // #sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["skipToken","composeFullKey","idle","formatNullableValue","parseNullableValue","EMPTY_OBJECT","composeOptions","context","dataSource","params","options","transformParams","transformResponse","next","prev","queryFn","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","fetchContext","request","paginatedRequest","response","wrap","_callee$","_context","_objectSpread","pageParam","fetch","sent","abrupt","stop","_x","apply","arguments","selectPage","actualResponse","queryKey","select","data","pages","map","initialPageParam","getNextPageParam","getPreviousPageParam"],"sources":["utils.ts"],"sourcesContent":["import {skipToken} from '@tanstack/react-query';\nimport type {InfiniteData, QueryFunctionContext} from '@tanstack/react-query';\n\nimport {composeFullKey, idle} from '../../../core';\nimport type {\n DataSourceContext,\n DataSourceData,\n DataSourceError,\n DataSourceKey,\n DataSourceOptions,\n DataSourceParams,\n DataSourceResponse,\n} from '../../../core';\nimport type {nullSymbol, undefinedSymbol} from '../../constants';\nimport {formatNullableValue} from '../../utils/formatNullableValue';\nimport {parseNullableValue} from '../../utils/parseNullableValue';\n\nimport type {\n AnyInfiniteQueryDataSource,\n AnyPageParam,\n InfiniteQueryObserverExtendedOptions,\n} from './types';\n\nconst EMPTY_OBJECT = {};\n\nexport const composeOptions = <TDataSource extends AnyInfiniteQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): InfiniteQueryObserverExtendedOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n InfiniteData<DataSourceData<TDataSource>, AnyPageParam>,\n DataSourceResponse<TDataSource>,\n DataSourceKey,\n AnyPageParam\n> => {\n const {transformParams, transformResponse, next, prev} = dataSource;\n\n const queryFn = async (\n fetchContext: QueryFunctionContext<DataSourceKey, AnyPageParam>,\n ): Promise<DataSourceResponse<TDataSource> | typeof undefinedSymbol | typeof nullSymbol> => {\n const request = transformParams ? transformParams(params) : params;\n const paginatedRequest = {...request, ...fetchContext.pageParam};\n\n const response = await dataSource.fetch(context, fetchContext, paginatedRequest);\n\n return formatNullableValue(response);\n };\n\n const selectPage = (\n response: DataSourceResponse<TDataSource> | typeof undefinedSymbol | typeof nullSymbol,\n ): DataSourceData<TDataSource> => {\n const actualResponse = parseNullableValue(response) as DataSourceData<TDataSource>;\n\n return transformResponse ? transformResponse(actualResponse) : actualResponse;\n };\n\n return {\n queryKey: composeFullKey(dataSource, params),\n queryFn: params === idle ? skipToken : queryFn,\n select: (data) => ({...data, pages: data.pages.map(selectPage)}),\n initialPageParam: EMPTY_OBJECT,\n getNextPageParam: next,\n getPreviousPageParam: prev,\n ...dataSource.options,\n ...options,\n };\n};\n"],"mappings":";;;AAAA,SAAQA,SAAS,QAAO,uBAAuB;AAG/C,SAAQC,cAAc,EAAEC,IAAI,QAAO,eAAe;AAWlD,SAAQC,mBAAmB,QAAO,iCAAiC;AACnE,SAAQC,kBAAkB,QAAO,gCAAgC;AAQjE,IAAMC,YAAY,GAAG,CAAC,CAAC;AAEvB,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CACvBC,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAQhD;EACD,IAAOC,eAAe,GAAmCH,UAAU,CAA5DG,eAAe;IAAEC,iBAAiB,GAAgBJ,UAAU,CAA3CI,iBAAiB;IAAEC,IAAI,GAAUL,UAAU,CAAxBK,IAAI;IAAEC,IAAI,GAAIN,UAAU,CAAlBM,IAAI;EAErD,IAAMC,OAAO;IAAA,IAAAC,IAAA,GAAAC,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAG,SAAAC,QACZC,YAA+D;MAAA,IAAAC,OAAA,EAAAC,gBAAA,EAAAC,QAAA;MAAA,OAAAN,mBAAA,GAAAO,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAb,IAAA,GAAAa,QAAA,CAAAd,IAAA;UAAA;YAEzDS,OAAO,GAAGX,eAAe,GAAGA,eAAe,CAACF,MAAM,CAAC,GAAGA,MAAM;YAC5Dc,gBAAgB,GAAAK,aAAA,CAAAA,aAAA,KAAON,OAAO,GAAKD,YAAY,CAACQ,SAAS;YAAAF,QAAA,CAAAd,IAAA;YAAA,OAExCL,UAAU,CAACsB,KAAK,CAACvB,OAAO,EAAEc,YAAY,EAAEE,gBAAgB,CAAC;UAAA;YAA1EC,QAAQ,GAAAG,QAAA,CAAAI,IAAA;YAAA,OAAAJ,QAAA,CAAAK,MAAA,WAEP7B,mBAAmB,CAACqB,QAAQ,CAAC;UAAA;UAAA;YAAA,OAAAG,QAAA,CAAAM,IAAA;QAAA;MAAA,GAAAb,OAAA;IAAA,CACvC;IAAA,gBATKL,OAAOA,CAAAmB,EAAA;MAAA,OAAAlB,IAAA,CAAAmB,KAAA,OAAAC,SAAA;IAAA;EAAA,GASZ;EAED,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CACZb,QAAsF,EACxD;IAC9B,IAAMc,cAAc,GAAGlC,kBAAkB,CAACoB,QAAQ,CAAgC;IAElF,OAAOZ,iBAAiB,GAAGA,iBAAiB,CAAC0B,cAAc,CAAC,GAAGA,cAAc;EACjF,CAAC;EAED,OAAAV,aAAA,CAAAA,aAAA;IACIW,QAAQ,EAAEtC,cAAc,CAACO,UAAU,EAAEC,MAAM,CAAC;IAC5CM,OAAO,EAAEN,MAAM,KAAKP,IAAI,GAAGF,SAAS,GAAGe,OAAO;IAC9CyB,MAAM,EAAE,SAARA,MAAMA,CAAGC,IAAI;MAAA,OAAAb,aAAA,CAAAA,aAAA,KAAUa,IAAI;QAAEC,KAAK,EAAED,IAAI,CAACC,KAAK,CAACC,GAAG,CAACN,UAAU;MAAC;IAAA,CAAE;IAChEO,gBAAgB,EAAEvC,YAAY;IAC9BwC,gBAAgB,EAAEhC,IAAI;IACtBiC,oBAAoB,EAAEhC;EAAI,GACvBN,UAAU,CAACE,OAAO,GAClBA,OAAO;AAElB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["skipToken","composeFullKey","idle","formatNullableValue","parseNullableValue","EMPTY_OBJECT","composeOptions","context","dataSource","params","options","transformParams","transformResponse","next","prev","queryFn","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","fetchContext","request","paginatedRequest","response","wrap","_callee$","_context","_objectSpread","pageParam","fetch","sent","abrupt","stop","_x","apply","arguments","selectPage","actualResponse","meta","invalidate","optimistic","queryKey","select","data","pages","map","initialPageParam","getNextPageParam","getPreviousPageParam"],"sources":["utils.ts"],"sourcesContent":["import {skipToken} from '@tanstack/react-query';\nimport type {InfiniteData, QueryFunctionContext} from '@tanstack/react-query';\n\nimport {composeFullKey, idle} from '../../../core';\nimport type {\n DataSourceContext,\n DataSourceData,\n DataSourceError,\n DataSourceKey,\n DataSourceOptions,\n DataSourceParams,\n DataSourceResponse,\n} from '../../../core';\nimport type {nullSymbol, undefinedSymbol} from '../../constants';\nimport {formatNullableValue} from '../../utils/formatNullableValue';\nimport {parseNullableValue} from '../../utils/parseNullableValue';\n\nimport type {\n AnyInfiniteQueryDataSource,\n AnyPageParam,\n InfiniteQueryObserverExtendedOptions,\n} from './types';\n\nconst EMPTY_OBJECT = {};\n\nexport const composeOptions = <TDataSource extends AnyInfiniteQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): InfiniteQueryObserverExtendedOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n InfiniteData<DataSourceData<TDataSource>, AnyPageParam>,\n DataSourceResponse<TDataSource>,\n DataSourceKey,\n AnyPageParam\n> => {\n const {transformParams, transformResponse, next, prev} = dataSource;\n\n const queryFn = async (\n fetchContext: QueryFunctionContext<DataSourceKey, AnyPageParam>,\n ): Promise<DataSourceResponse<TDataSource> | typeof undefinedSymbol | typeof nullSymbol> => {\n const request = transformParams ? transformParams(params) : params;\n const paginatedRequest = {...request, ...fetchContext.pageParam};\n\n const response = await dataSource.fetch(context, fetchContext, paginatedRequest);\n\n return formatNullableValue(response);\n };\n\n const selectPage = (\n response: DataSourceResponse<TDataSource> | typeof undefinedSymbol | typeof nullSymbol,\n ): DataSourceData<TDataSource> => {\n const actualResponse = parseNullableValue(response) as DataSourceData<TDataSource>;\n\n return transformResponse ? transformResponse(actualResponse) : actualResponse;\n };\n\n const meta = {\n invalidate: options?.invalidate,\n optimistic: options?.optimistic,\n };\n\n return {\n queryKey: composeFullKey(dataSource, params),\n queryFn: params === idle ? skipToken : queryFn,\n select: (data) => ({...data, pages: data.pages.map(selectPage)}),\n initialPageParam: EMPTY_OBJECT,\n getNextPageParam: next,\n getPreviousPageParam: prev,\n meta,\n ...dataSource.options,\n ...options,\n };\n};\n"],"mappings":";;;AAAA,SAAQA,SAAS,QAAO,uBAAuB;AAG/C,SAAQC,cAAc,EAAEC,IAAI,QAAO,eAAe;AAWlD,SAAQC,mBAAmB,QAAO,iCAAiC;AACnE,SAAQC,kBAAkB,QAAO,gCAAgC;AAQjE,IAAMC,YAAY,GAAG,CAAC,CAAC;AAEvB,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CACvBC,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAQhD;EACD,IAAOC,eAAe,GAAmCH,UAAU,CAA5DG,eAAe;IAAEC,iBAAiB,GAAgBJ,UAAU,CAA3CI,iBAAiB;IAAEC,IAAI,GAAUL,UAAU,CAAxBK,IAAI;IAAEC,IAAI,GAAIN,UAAU,CAAlBM,IAAI;EAErD,IAAMC,OAAO;IAAA,IAAAC,IAAA,GAAAC,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAG,SAAAC,QACZC,YAA+D;MAAA,IAAAC,OAAA,EAAAC,gBAAA,EAAAC,QAAA;MAAA,OAAAN,mBAAA,GAAAO,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAb,IAAA,GAAAa,QAAA,CAAAd,IAAA;UAAA;YAEzDS,OAAO,GAAGX,eAAe,GAAGA,eAAe,CAACF,MAAM,CAAC,GAAGA,MAAM;YAC5Dc,gBAAgB,GAAAK,aAAA,CAAAA,aAAA,KAAON,OAAO,GAAKD,YAAY,CAACQ,SAAS;YAAAF,QAAA,CAAAd,IAAA;YAAA,OAExCL,UAAU,CAACsB,KAAK,CAACvB,OAAO,EAAEc,YAAY,EAAEE,gBAAgB,CAAC;UAAA;YAA1EC,QAAQ,GAAAG,QAAA,CAAAI,IAAA;YAAA,OAAAJ,QAAA,CAAAK,MAAA,WAEP7B,mBAAmB,CAACqB,QAAQ,CAAC;UAAA;UAAA;YAAA,OAAAG,QAAA,CAAAM,IAAA;QAAA;MAAA,GAAAb,OAAA;IAAA,CACvC;IAAA,gBATKL,OAAOA,CAAAmB,EAAA;MAAA,OAAAlB,IAAA,CAAAmB,KAAA,OAAAC,SAAA;IAAA;EAAA,GASZ;EAED,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CACZb,QAAsF,EACxD;IAC9B,IAAMc,cAAc,GAAGlC,kBAAkB,CAACoB,QAAQ,CAAgC;IAElF,OAAOZ,iBAAiB,GAAGA,iBAAiB,CAAC0B,cAAc,CAAC,GAAGA,cAAc;EACjF,CAAC;EAED,IAAMC,IAAI,GAAG;IACTC,UAAU,EAAE9B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE8B,UAAU;IAC/BC,UAAU,EAAE/B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE+B;EACzB,CAAC;EAED,OAAAb,aAAA,CAAAA,aAAA;IACIc,QAAQ,EAAEzC,cAAc,CAACO,UAAU,EAAEC,MAAM,CAAC;IAC5CM,OAAO,EAAEN,MAAM,KAAKP,IAAI,GAAGF,SAAS,GAAGe,OAAO;IAC9C4B,MAAM,EAAE,SAARA,MAAMA,CAAGC,IAAI;MAAA,OAAAhB,aAAA,CAAAA,aAAA,KAAUgB,IAAI;QAAEC,KAAK,EAAED,IAAI,CAACC,KAAK,CAACC,GAAG,CAACT,UAAU;MAAC;IAAA,CAAE;IAChEU,gBAAgB,EAAE1C,YAAY;IAC9B2C,gBAAgB,EAAEnC,IAAI;IACtBoC,oBAAoB,EAAEnC,IAAI;IAC1ByB,IAAI,EAAJA;EAAI,GACD/B,UAAU,CAACE,OAAO,GAClBA,OAAO;AAElB,CAAC","ignoreList":[]}
@@ -1,10 +1,9 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
3
  var _excluded = ["queryFn", "refetchInterval"];
4
- import { skipToken, useQuery } from '@tanstack/react-query';
4
+ import { useQuery } from '@tanstack/react-query';
5
5
  import { useRefetchInterval } from '../../hooks/useRefetchInterval';
6
6
  import { normalizeStatus } from '../../utils/normalizeStatus';
7
- import { warnDisabledRefetch } from '../../utils/warnDisabledRefetch';
8
7
  import { composeOptions } from './utils';
9
8
  var usePlainQueryDataOptions = function usePlainQueryDataOptions(composedOptions) {
10
9
  var queryFnOption = composedOptions.queryFn,
@@ -22,11 +21,9 @@ export var usePlainQueryData = function usePlainQueryData(context, dataSource, p
22
21
  var extendedOptions = composeOptions(context, dataSource, params, options);
23
22
  var composedOptions = usePlainQueryDataOptions(extendedOptions);
24
23
  var state = useQuery(composedOptions);
25
- var isDisabled = composedOptions.enabled === false || composedOptions.queryFn === skipToken;
26
24
  return _objectSpread(_objectSpread({}, state), {}, {
27
25
  status: normalizeStatus(state.status, state.fetchStatus),
28
- originalStatus: state.status,
29
- refetch: isDisabled ? warnDisabledRefetch : state.refetch
26
+ originalStatus: state.status
30
27
  });
31
28
  };
32
29
  // #sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["skipToken","useQuery","useRefetchInterval","normalizeStatus","warnDisabledRefetch","composeOptions","usePlainQueryDataOptions","composedOptions","queryFnOption","queryFn","refetchIntervalOption","refetchInterval","restOptions","_objectWithoutProperties","_excluded","_useRefetchInterval","_objectSpread","usePlainQueryData","context","dataSource","params","options","extendedOptions","state","isDisabled","enabled","status","fetchStatus","originalStatus","refetch"],"sources":["hooks.ts"],"sourcesContent":["import {type QueryObserverOptions, skipToken, useQuery} from '@tanstack/react-query';\n\nimport type {\n DataSourceContext,\n DataSourceData,\n DataSourceError,\n DataSourceKey,\n DataSourceOptions,\n DataSourceParams,\n DataSourceResponse,\n DataSourceState,\n} from '../../../core';\nimport {useRefetchInterval} from '../../hooks/useRefetchInterval';\nimport {normalizeStatus} from '../../utils/normalizeStatus';\nimport {warnDisabledRefetch} from '../../utils/warnDisabledRefetch';\n\nimport type {AnyPlainQueryDataSource, QueryObserverExtendedOptions} from './types';\nimport {composeOptions} from './utils';\n\nconst usePlainQueryDataOptions = <TDataSource extends AnyPlainQueryDataSource>(\n composedOptions: QueryObserverExtendedOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n DataSourceData<TDataSource>,\n DataSourceResponse<TDataSource>,\n DataSourceKey\n >,\n): QueryObserverOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n DataSourceData<TDataSource>,\n DataSourceResponse<TDataSource>,\n DataSourceKey\n> => {\n const {\n queryFn: queryFnOption,\n refetchInterval: refetchIntervalOption,\n ...restOptions\n } = composedOptions;\n\n const {queryFn, refetchInterval} = useRefetchInterval(refetchIntervalOption, queryFnOption);\n\n return {...restOptions, queryFn, refetchInterval};\n};\n\nexport const usePlainQueryData = <TDataSource extends AnyPlainQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): DataSourceState<TDataSource> => {\n const extendedOptions = composeOptions(context, dataSource, params, options);\n const composedOptions = usePlainQueryDataOptions(extendedOptions);\n const state = useQuery(composedOptions);\n\n const isDisabled = composedOptions.enabled === false || composedOptions.queryFn === skipToken;\n\n return {\n ...state,\n status: normalizeStatus(state.status, state.fetchStatus),\n originalStatus: state.status,\n refetch: isDisabled ? warnDisabledRefetch : state.refetch,\n } as DataSourceState<TDataSource>;\n};\n"],"mappings":";;;AAAA,SAAmCA,SAAS,EAAEC,QAAQ,QAAO,uBAAuB;AAYpF,SAAQC,kBAAkB,QAAO,gCAAgC;AACjE,SAAQC,eAAe,QAAO,6BAA6B;AAC3D,SAAQC,mBAAmB,QAAO,iCAAiC;AAGnE,SAAQC,cAAc,QAAO,SAAS;AAEtC,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAC1BC,eAMC,EAOA;EACD,IACaC,aAAa,GAGtBD,eAAe,CAHfE,OAAO;IACUC,qBAAqB,GAEtCH,eAAe,CAFfI,eAAe;IACZC,WAAW,GAAAC,wBAAA,CACdN,eAAe,EAAAO,SAAA;EAEnB,IAAAC,mBAAA,GAAmCb,kBAAkB,CAACQ,qBAAqB,EAAEF,aAAa,CAAC;IAApFC,OAAO,GAAAM,mBAAA,CAAPN,OAAO;IAAEE,eAAe,GAAAI,mBAAA,CAAfJ,eAAe;EAE/B,OAAAK,aAAA,CAAAA,aAAA,KAAWJ,WAAW;IAAEH,OAAO,EAAPA,OAAO;IAAEE,eAAe,EAAfA;EAAe;AACpD,CAAC;AAED,OAAO,IAAMM,iBAAiB,GAAG,SAApBA,iBAAiBA,CAC1BC,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAClB;EAC/B,IAAMC,eAAe,GAAGjB,cAAc,CAACa,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC5E,IAAMd,eAAe,GAAGD,wBAAwB,CAACgB,eAAe,CAAC;EACjE,IAAMC,KAAK,GAAGtB,QAAQ,CAACM,eAAe,CAAC;EAEvC,IAAMiB,UAAU,GAAGjB,eAAe,CAACkB,OAAO,KAAK,KAAK,IAAIlB,eAAe,CAACE,OAAO,KAAKT,SAAS;EAE7F,OAAAgB,aAAA,CAAAA,aAAA,KACOO,KAAK;IACRG,MAAM,EAAEvB,eAAe,CAACoB,KAAK,CAACG,MAAM,EAAEH,KAAK,CAACI,WAAW,CAAC;IACxDC,cAAc,EAAEL,KAAK,CAACG,MAAM;IAC5BG,OAAO,EAAEL,UAAU,GAAGpB,mBAAmB,GAAGmB,KAAK,CAACM;EAAO;AAEjE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useQuery","useRefetchInterval","normalizeStatus","composeOptions","usePlainQueryDataOptions","composedOptions","queryFnOption","queryFn","refetchIntervalOption","refetchInterval","restOptions","_objectWithoutProperties","_excluded","_useRefetchInterval","_objectSpread","usePlainQueryData","context","dataSource","params","options","extendedOptions","state","status","fetchStatus","originalStatus"],"sources":["hooks.ts"],"sourcesContent":["import {type QueryObserverOptions, useQuery} from '@tanstack/react-query';\n\nimport type {\n DataSourceContext,\n DataSourceData,\n DataSourceError,\n DataSourceKey,\n DataSourceOptions,\n DataSourceParams,\n DataSourceResponse,\n DataSourceState,\n} from '../../../core';\nimport {useRefetchInterval} from '../../hooks/useRefetchInterval';\nimport {normalizeStatus} from '../../utils/normalizeStatus';\n\nimport type {AnyPlainQueryDataSource, QueryObserverExtendedOptions} from './types';\nimport {composeOptions} from './utils';\n\nconst usePlainQueryDataOptions = <TDataSource extends AnyPlainQueryDataSource>(\n composedOptions: QueryObserverExtendedOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n DataSourceData<TDataSource>,\n DataSourceResponse<TDataSource>,\n DataSourceKey\n >,\n): QueryObserverOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n DataSourceData<TDataSource>,\n DataSourceResponse<TDataSource>,\n DataSourceKey\n> => {\n const {\n queryFn: queryFnOption,\n refetchInterval: refetchIntervalOption,\n ...restOptions\n } = composedOptions;\n\n const {queryFn, refetchInterval} = useRefetchInterval(refetchIntervalOption, queryFnOption);\n\n return {...restOptions, queryFn, refetchInterval};\n};\n\nexport const usePlainQueryData = <TDataSource extends AnyPlainQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): DataSourceState<TDataSource> => {\n const extendedOptions = composeOptions(context, dataSource, params, options);\n const composedOptions = usePlainQueryDataOptions(extendedOptions);\n const state = useQuery(composedOptions);\n\n return {\n ...state,\n status: normalizeStatus(state.status, state.fetchStatus),\n originalStatus: state.status,\n } as DataSourceState<TDataSource>;\n};\n"],"mappings":";;;AAAA,SAAmCA,QAAQ,QAAO,uBAAuB;AAYzE,SAAQC,kBAAkB,QAAO,gCAAgC;AACjE,SAAQC,eAAe,QAAO,6BAA6B;AAG3D,SAAQC,cAAc,QAAO,SAAS;AAEtC,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAC1BC,eAMC,EAOA;EACD,IACaC,aAAa,GAGtBD,eAAe,CAHfE,OAAO;IACUC,qBAAqB,GAEtCH,eAAe,CAFfI,eAAe;IACZC,WAAW,GAAAC,wBAAA,CACdN,eAAe,EAAAO,SAAA;EAEnB,IAAAC,mBAAA,GAAmCZ,kBAAkB,CAACO,qBAAqB,EAAEF,aAAa,CAAC;IAApFC,OAAO,GAAAM,mBAAA,CAAPN,OAAO;IAAEE,eAAe,GAAAI,mBAAA,CAAfJ,eAAe;EAE/B,OAAAK,aAAA,CAAAA,aAAA,KAAWJ,WAAW;IAAEH,OAAO,EAAPA,OAAO;IAAEE,eAAe,EAAfA;EAAe;AACpD,CAAC;AAED,OAAO,IAAMM,iBAAiB,GAAG,SAApBA,iBAAiBA,CAC1BC,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAClB;EAC/B,IAAMC,eAAe,GAAGjB,cAAc,CAACa,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC5E,IAAMd,eAAe,GAAGD,wBAAwB,CAACgB,eAAe,CAAC;EACjE,IAAMC,KAAK,GAAGrB,QAAQ,CAACK,eAAe,CAAC;EAEvC,OAAAS,aAAA,CAAAA,aAAA,KACOO,KAAK;IACRC,MAAM,EAAEpB,eAAe,CAACmB,KAAK,CAACC,MAAM,EAAED,KAAK,CAACE,WAAW,CAAC;IACxDC,cAAc,EAAEH,KAAK,CAACC;EAAM;AAEpC,CAAC","ignoreList":[]}
@@ -33,10 +33,15 @@ export var composeOptions = function composeOptions(context, dataSource, params,
33
33
  var actualResponse = parseNullableValue(response);
34
34
  return transformResponse ? transformResponse(actualResponse) : actualResponse;
35
35
  };
36
+ var meta = {
37
+ invalidate: options === null || options === void 0 ? void 0 : options.invalidate,
38
+ optimistic: options === null || options === void 0 ? void 0 : options.optimistic
39
+ };
36
40
  return _objectSpread(_objectSpread({
37
41
  queryKey: composeFullKey(dataSource, params),
38
42
  queryFn: params === idle ? skipToken : queryFn,
39
- select: select
43
+ select: select,
44
+ meta: meta
40
45
  }, dataSource.options), options);
41
46
  };
42
47
  // #sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["skipToken","composeFullKey","idle","formatNullableValue","parseNullableValue","composeOptions","context","dataSource","params","options","transformParams","transformResponse","queryFn","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","fetchContext","response","wrap","_callee$","_context","prev","next","fetch","sent","abrupt","stop","_x","apply","arguments","select","actualResponse","_objectSpread","queryKey"],"sources":["utils.ts"],"sourcesContent":["import {type QueryFunctionContext, skipToken} from '@tanstack/react-query';\n\nimport {composeFullKey, idle} from '../../../core';\nimport type {\n DataSourceContext,\n DataSourceData,\n DataSourceError,\n DataSourceKey,\n DataSourceOptions,\n DataSourceParams,\n DataSourceResponse,\n} from '../../../core';\nimport type {nullSymbol, undefinedSymbol} from '../../constants';\nimport {formatNullableValue} from '../../utils/formatNullableValue';\nimport {parseNullableValue} from '../../utils/parseNullableValue';\n\nimport type {AnyPlainQueryDataSource, QueryObserverExtendedOptions} from './types';\n\nexport const composeOptions = <TDataSource extends AnyPlainQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): QueryObserverExtendedOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n DataSourceData<TDataSource>,\n DataSourceResponse<TDataSource>,\n DataSourceKey\n> => {\n const {transformParams, transformResponse} = dataSource;\n\n const queryFn = async (\n fetchContext: QueryFunctionContext<DataSourceKey>,\n ): Promise<DataSourceResponse<TDataSource> | typeof undefinedSymbol | typeof nullSymbol> => {\n const response = await dataSource.fetch(\n context,\n fetchContext,\n transformParams ? transformParams(params) : params,\n );\n\n return formatNullableValue(response);\n };\n\n const select = (\n response: DataSourceResponse<TDataSource> | typeof undefinedSymbol | typeof nullSymbol,\n ): DataSourceData<TDataSource> => {\n const actualResponse = parseNullableValue(response) as DataSourceData<TDataSource>;\n\n return transformResponse ? transformResponse(actualResponse) : actualResponse;\n };\n\n return {\n queryKey: composeFullKey(dataSource, params),\n queryFn: params === idle ? skipToken : queryFn,\n select,\n ...dataSource.options,\n ...options,\n };\n};\n"],"mappings":";;;AAAA,SAAmCA,SAAS,QAAO,uBAAuB;AAE1E,SAAQC,cAAc,EAAEC,IAAI,QAAO,eAAe;AAWlD,SAAQC,mBAAmB,QAAO,iCAAiC;AACnE,SAAQC,kBAAkB,QAAO,gCAAgC;AAIjE,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CACvBC,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAOhD;EACD,IAAOC,eAAe,GAAuBH,UAAU,CAAhDG,eAAe;IAAEC,iBAAiB,GAAIJ,UAAU,CAA/BI,iBAAiB;EAEzC,IAAMC,OAAO;IAAA,IAAAC,IAAA,GAAAC,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAG,SAAAC,QACZC,YAAiD;MAAA,IAAAC,QAAA;MAAA,OAAAJ,mBAAA,GAAAK,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAAF,QAAA,CAAAE,IAAA;YAAA,OAE1BjB,UAAU,CAACkB,KAAK,CACnCnB,OAAO,EACPY,YAAY,EACZR,eAAe,GAAGA,eAAe,CAACF,MAAM,CAAC,GAAGA,MAChD,CAAC;UAAA;YAJKW,QAAQ,GAAAG,QAAA,CAAAI,IAAA;YAAA,OAAAJ,QAAA,CAAAK,MAAA,WAMPxB,mBAAmB,CAACgB,QAAQ,CAAC;UAAA;UAAA;YAAA,OAAAG,QAAA,CAAAM,IAAA;QAAA;MAAA,GAAAX,OAAA;IAAA,CACvC;IAAA,gBAVKL,OAAOA,CAAAiB,EAAA;MAAA,OAAAhB,IAAA,CAAAiB,KAAA,OAAAC,SAAA;IAAA;EAAA,GAUZ;EAED,IAAMC,MAAM,GAAG,SAATA,MAAMA,CACRb,QAAsF,EACxD;IAC9B,IAAMc,cAAc,GAAG7B,kBAAkB,CAACe,QAAQ,CAAgC;IAElF,OAAOR,iBAAiB,GAAGA,iBAAiB,CAACsB,cAAc,CAAC,GAAGA,cAAc;EACjF,CAAC;EAED,OAAAC,aAAA,CAAAA,aAAA;IACIC,QAAQ,EAAElC,cAAc,CAACM,UAAU,EAAEC,MAAM,CAAC;IAC5CI,OAAO,EAAEJ,MAAM,KAAKN,IAAI,GAAGF,SAAS,GAAGY,OAAO;IAC9CoB,MAAM,EAANA;EAAM,GACHzB,UAAU,CAACE,OAAO,GAClBA,OAAO;AAElB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["skipToken","composeFullKey","idle","formatNullableValue","parseNullableValue","composeOptions","context","dataSource","params","options","transformParams","transformResponse","queryFn","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","fetchContext","response","wrap","_callee$","_context","prev","next","fetch","sent","abrupt","stop","_x","apply","arguments","select","actualResponse","meta","invalidate","optimistic","_objectSpread","queryKey"],"sources":["utils.ts"],"sourcesContent":["import {type QueryFunctionContext, skipToken} from '@tanstack/react-query';\n\nimport {composeFullKey, idle} from '../../../core';\nimport type {\n DataSourceContext,\n DataSourceData,\n DataSourceError,\n DataSourceKey,\n DataSourceOptions,\n DataSourceParams,\n DataSourceResponse,\n} from '../../../core';\nimport type {nullSymbol, undefinedSymbol} from '../../constants';\nimport {formatNullableValue} from '../../utils/formatNullableValue';\nimport {parseNullableValue} from '../../utils/parseNullableValue';\n\nimport type {AnyPlainQueryDataSource, QueryObserverExtendedOptions} from './types';\n\nexport const composeOptions = <TDataSource extends AnyPlainQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): QueryObserverExtendedOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n DataSourceData<TDataSource>,\n DataSourceResponse<TDataSource>,\n DataSourceKey\n> => {\n const {transformParams, transformResponse} = dataSource;\n\n const queryFn = async (\n fetchContext: QueryFunctionContext<DataSourceKey>,\n ): Promise<DataSourceResponse<TDataSource> | typeof undefinedSymbol | typeof nullSymbol> => {\n const response = await dataSource.fetch(\n context,\n fetchContext,\n transformParams ? transformParams(params) : params,\n );\n\n return formatNullableValue(response);\n };\n\n const select = (\n response: DataSourceResponse<TDataSource> | typeof undefinedSymbol | typeof nullSymbol,\n ): DataSourceData<TDataSource> => {\n const actualResponse = parseNullableValue(response) as DataSourceData<TDataSource>;\n\n return transformResponse ? transformResponse(actualResponse) : actualResponse;\n };\n\n const meta = {\n invalidate: options?.invalidate,\n optimistic: options?.optimistic,\n };\n\n return {\n queryKey: composeFullKey(dataSource, params),\n queryFn: params === idle ? skipToken : queryFn,\n select,\n meta,\n ...dataSource.options,\n ...options,\n };\n};\n"],"mappings":";;;AAAA,SAAmCA,SAAS,QAAO,uBAAuB;AAE1E,SAAQC,cAAc,EAAEC,IAAI,QAAO,eAAe;AAWlD,SAAQC,mBAAmB,QAAO,iCAAiC;AACnE,SAAQC,kBAAkB,QAAO,gCAAgC;AAIjE,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CACvBC,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAOhD;EACD,IAAOC,eAAe,GAAuBH,UAAU,CAAhDG,eAAe;IAAEC,iBAAiB,GAAIJ,UAAU,CAA/BI,iBAAiB;EAEzC,IAAMC,OAAO;IAAA,IAAAC,IAAA,GAAAC,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAG,SAAAC,QACZC,YAAiD;MAAA,IAAAC,QAAA;MAAA,OAAAJ,mBAAA,GAAAK,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAAF,QAAA,CAAAE,IAAA;YAAA,OAE1BjB,UAAU,CAACkB,KAAK,CACnCnB,OAAO,EACPY,YAAY,EACZR,eAAe,GAAGA,eAAe,CAACF,MAAM,CAAC,GAAGA,MAChD,CAAC;UAAA;YAJKW,QAAQ,GAAAG,QAAA,CAAAI,IAAA;YAAA,OAAAJ,QAAA,CAAAK,MAAA,WAMPxB,mBAAmB,CAACgB,QAAQ,CAAC;UAAA;UAAA;YAAA,OAAAG,QAAA,CAAAM,IAAA;QAAA;MAAA,GAAAX,OAAA;IAAA,CACvC;IAAA,gBAVKL,OAAOA,CAAAiB,EAAA;MAAA,OAAAhB,IAAA,CAAAiB,KAAA,OAAAC,SAAA;IAAA;EAAA,GAUZ;EAED,IAAMC,MAAM,GAAG,SAATA,MAAMA,CACRb,QAAsF,EACxD;IAC9B,IAAMc,cAAc,GAAG7B,kBAAkB,CAACe,QAAQ,CAAgC;IAElF,OAAOR,iBAAiB,GAAGA,iBAAiB,CAACsB,cAAc,CAAC,GAAGA,cAAc;EACjF,CAAC;EAED,IAAMC,IAAI,GAAG;IACTC,UAAU,EAAE1B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE0B,UAAU;IAC/BC,UAAU,EAAE3B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE2B;EACzB,CAAC;EAED,OAAAC,aAAA,CAAAA,aAAA;IACIC,QAAQ,EAAErC,cAAc,CAACM,UAAU,EAAEC,MAAM,CAAC;IAC5CI,OAAO,EAAEJ,MAAM,KAAKN,IAAI,GAAGF,SAAS,GAAGY,OAAO;IAC9CoB,MAAM,EAANA,MAAM;IACNE,IAAI,EAAJA;EAAI,GACD3B,UAAU,CAACE,OAAO,GAClBA,OAAO;AAElB,CAAC","ignoreList":[]}
@@ -3,11 +3,6 @@ import type { OptimisticConfig } from '../../core/types/Normalizer';
3
3
  import type { RefetchInterval } from './refetch-interval';
4
4
  export interface QueryDataAdditionalOptions<TQueryFnData = unknown, TError = DefaultError, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> {
5
5
  refetchInterval?: RefetchInterval<TQueryFnData, TError, TQueryData, TQueryKey>;
6
- /**
7
- * @deprecated The use of the enabled option is deprecated.
8
- * It is recommended to use idle as query parameters to control query state.
9
- */
10
- enabled?: boolean;
11
6
  /** Normalization configuration (enable/disable) */
12
7
  normalize?: boolean;
13
8
  /** Optimistic data update configuration */
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["options.ts"],"sourcesContent":["import type {DefaultError, QueryKey} from '@tanstack/react-query';\n\nimport type {OptimisticConfig} from '../../core/types/Normalizer';\n\nimport type {RefetchInterval} from './refetch-interval';\n\nexport interface QueryDataAdditionalOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n refetchInterval?: RefetchInterval<TQueryFnData, TError, TQueryData, TQueryKey>;\n /**\n * @deprecated The use of the enabled option is deprecated.\n * It is recommended to use idle as query parameters to control query state.\n */\n enabled?: boolean;\n /** Normalization configuration (enable/disable) */\n normalize?: boolean;\n /** Optimistic data update configuration */\n optimistic?: boolean | OptimisticConfig;\n /** Invalidate data configuration */\n invalidate?: boolean;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["options.ts"],"sourcesContent":["import type {DefaultError, QueryKey} from '@tanstack/react-query';\n\nimport type {OptimisticConfig} from '../../core/types/Normalizer';\n\nimport type {RefetchInterval} from './refetch-interval';\n\nexport interface QueryDataAdditionalOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n refetchInterval?: RefetchInterval<TQueryFnData, TError, TQueryData, TQueryKey>;\n /** Normalization configuration (enable/disable) */\n normalize?: boolean;\n /** Optimistic data update configuration */\n optimistic?: boolean | OptimisticConfig;\n /** Invalidate data configuration */\n invalidate?: boolean;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ import '@tanstack/react-query';
2
+
3
+ import type {OptimisticConfig} from '../../core/types/Normalizer';
4
+
5
+ declare module '@tanstack/react-query' {
6
+ interface Register {
7
+ queryMeta: {
8
+ optimistic?: boolean | OptimisticConfig;
9
+ invalidate?: boolean;
10
+ };
11
+ }
12
+ }