@gravity-ui/data-source 0.7.0 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +752 -15
- package/build/cjs/core/index.d.ts +1 -0
- package/build/cjs/core/index.js.map +1 -1
- package/build/cjs/core/types/DataManager.d.ts +5 -0
- package/build/cjs/core/types/DataManager.js.map +1 -1
- package/build/cjs/core/types/Normalizer.d.ts +29 -0
- package/build/cjs/core/types/Normalizer.js +6 -0
- package/build/cjs/core/types/Normalizer.js.map +1 -0
- package/build/cjs/react/DataManagerProvider.d.ts +7 -0
- package/build/cjs/react/DataManagerProvider.js +19 -0
- package/build/cjs/react/DataManagerProvider.js.map +1 -0
- package/build/cjs/react/__tests__/DataManagerContext.test.js +7 -6
- package/build/cjs/react/__tests__/DataManagerContext.test.js.map +1 -1
- package/build/cjs/react/__tests__/withDataManager.test.js +3 -0
- package/build/cjs/react/__tests__/withDataManager.test.js.map +1 -1
- package/build/cjs/react/index.d.ts +2 -0
- package/build/cjs/react/index.js +8 -0
- package/build/cjs/react/index.js.map +1 -1
- package/build/cjs/react-query/ClientDataManager.d.ts +16 -3
- package/build/cjs/react-query/ClientDataManager.js +158 -13
- package/build/cjs/react-query/ClientDataManager.js.map +1 -1
- package/build/cjs/react-query/DataSourceProvider.d.ts +7 -0
- package/build/cjs/react-query/DataSourceProvider.js +35 -0
- package/build/cjs/react-query/DataSourceProvider.js.map +1 -0
- package/build/cjs/react-query/__tests__/createQueryNormalizer.test.js +177 -0
- package/build/cjs/react-query/__tests__/createQueryNormalizer.test.js.map +1 -0
- package/build/cjs/react-query/__tests__/normalizationEdgeCases.test.js +100 -0
- package/build/cjs/react-query/__tests__/normalizationEdgeCases.test.js.map +1 -0
- package/build/cjs/react-query/__tests__/subscriptions.test.js +1180 -0
- package/build/cjs/react-query/__tests__/subscriptions.test.js.map +1 -0
- package/build/cjs/react-query/__tests__/threeLevelIntegration.test.js +659 -0
- package/build/cjs/react-query/__tests__/threeLevelIntegration.test.js.map +1 -0
- package/build/cjs/react-query/__tests__/updateQueriesFromMutationData.test.js +229 -0
- package/build/cjs/react-query/__tests__/updateQueriesFromMutationData.test.js.map +1 -0
- package/build/cjs/react-query/hooks/__tests__/useQueryData.refetch.test.js +195 -0
- package/build/cjs/react-query/hooks/__tests__/useQueryData.refetch.test.js.map +1 -0
- package/build/cjs/react-query/impl/infinite/hooks.js +4 -1
- package/build/cjs/react-query/impl/infinite/hooks.js.map +1 -1
- package/build/cjs/react-query/impl/infinite/types.d.ts +2 -2
- package/build/cjs/react-query/impl/infinite/types.js.map +1 -1
- package/build/cjs/react-query/impl/infinite/utils.js +6 -1
- package/build/cjs/react-query/impl/infinite/utils.js.map +1 -1
- package/build/cjs/react-query/impl/plain/hooks.js +4 -1
- package/build/cjs/react-query/impl/plain/hooks.js.map +1 -1
- package/build/cjs/react-query/impl/plain/types.d.ts +2 -2
- package/build/cjs/react-query/impl/plain/types.js.map +1 -1
- package/build/cjs/react-query/impl/plain/utils.js +6 -1
- package/build/cjs/react-query/impl/plain/utils.js.map +1 -1
- package/build/cjs/react-query/index.d.ts +2 -0
- package/build/cjs/react-query/index.js +7 -0
- package/build/cjs/react-query/index.js.map +1 -1
- package/build/cjs/react-query/types/normalizer.d.ts +21 -0
- package/build/cjs/react-query/types/normalizer.js +6 -0
- package/build/cjs/react-query/types/normalizer.js.map +1 -0
- package/build/cjs/react-query/types/options.d.ts +12 -0
- package/build/cjs/react-query/types/options.js.map +1 -1
- package/build/cjs/react-query/types/query-meta.d.ts +12 -0
- package/build/cjs/react-query/utils/__tests__/checkMutationObjectsKeys.test.js +295 -0
- package/build/cjs/react-query/utils/__tests__/checkMutationObjectsKeys.test.js.map +1 -0
- package/build/cjs/react-query/utils/checkMutationObjectsKeys.d.ts +17 -0
- package/build/cjs/react-query/utils/checkMutationObjectsKeys.js +88 -0
- package/build/cjs/react-query/utils/checkMutationObjectsKeys.js.map +1 -0
- package/build/cjs/react-query/utils/normalize.d.ts +22 -0
- package/build/cjs/react-query/utils/normalize.js +150 -0
- package/build/cjs/react-query/utils/normalize.js.map +1 -0
- package/build/cjs/react-query/utils/parseQueryKey.d.ts +2 -0
- package/build/cjs/react-query/utils/parseQueryKey.js +10 -0
- package/build/cjs/react-query/utils/parseQueryKey.js.map +1 -0
- package/build/cjs/react-query/utils/warn.d.ts +1 -0
- package/build/cjs/react-query/utils/warn.js +15 -0
- package/build/cjs/react-query/utils/warn.js.map +1 -0
- package/build/cjs/react-query/utils/warnDisabledRefetch.d.ts +1 -0
- package/build/cjs/react-query/utils/warnDisabledRefetch.js +11 -0
- package/build/cjs/react-query/utils/warnDisabledRefetch.js.map +1 -0
- package/build/esm/core/index.d.ts +1 -0
- package/build/esm/core/index.js.map +1 -1
- package/build/esm/core/types/DataManager.d.ts +5 -0
- package/build/esm/core/types/DataManager.js.map +1 -1
- package/build/esm/core/types/Normalizer.d.ts +29 -0
- package/build/esm/core/types/Normalizer.js +2 -0
- package/build/esm/core/types/Normalizer.js.map +1 -0
- package/build/esm/react/DataManagerProvider.d.ts +7 -0
- package/build/esm/react/DataManagerProvider.js +12 -0
- package/build/esm/react/DataManagerProvider.js.map +1 -0
- package/build/esm/react/__tests__/DataManagerContext.test.js +7 -6
- package/build/esm/react/__tests__/DataManagerContext.test.js.map +1 -1
- package/build/esm/react/__tests__/withDataManager.test.js +3 -0
- package/build/esm/react/__tests__/withDataManager.test.js.map +1 -1
- package/build/esm/react/index.d.ts +2 -0
- package/build/esm/react/index.js +1 -0
- package/build/esm/react/index.js.map +1 -1
- package/build/esm/react-query/ClientDataManager.d.ts +16 -3
- package/build/esm/react-query/ClientDataManager.js +152 -7
- package/build/esm/react-query/ClientDataManager.js.map +1 -1
- package/build/esm/react-query/DataSourceProvider.d.ts +7 -0
- package/build/esm/react-query/DataSourceProvider.js +28 -0
- package/build/esm/react-query/DataSourceProvider.js.map +1 -0
- package/build/esm/react-query/__tests__/createQueryNormalizer.test.js +174 -0
- package/build/esm/react-query/__tests__/createQueryNormalizer.test.js.map +1 -0
- package/build/esm/react-query/__tests__/normalizationEdgeCases.test.js +98 -0
- package/build/esm/react-query/__tests__/normalizationEdgeCases.test.js.map +1 -0
- package/build/esm/react-query/__tests__/subscriptions.test.js +1176 -0
- package/build/esm/react-query/__tests__/subscriptions.test.js.map +1 -0
- package/build/esm/react-query/__tests__/threeLevelIntegration.test.js +656 -0
- package/build/esm/react-query/__tests__/threeLevelIntegration.test.js.map +1 -0
- package/build/esm/react-query/__tests__/updateQueriesFromMutationData.test.js +227 -0
- package/build/esm/react-query/__tests__/updateQueriesFromMutationData.test.js.map +1 -0
- package/build/esm/react-query/hooks/__tests__/useQueryData.refetch.test.js +192 -0
- package/build/esm/react-query/hooks/__tests__/useQueryData.refetch.test.js.map +1 -0
- package/build/esm/react-query/impl/infinite/hooks.js +5 -2
- package/build/esm/react-query/impl/infinite/hooks.js.map +1 -1
- package/build/esm/react-query/impl/infinite/types.d.ts +2 -2
- package/build/esm/react-query/impl/infinite/types.js.map +1 -1
- package/build/esm/react-query/impl/infinite/utils.js +6 -1
- package/build/esm/react-query/impl/infinite/utils.js.map +1 -1
- package/build/esm/react-query/impl/plain/hooks.js +5 -2
- package/build/esm/react-query/impl/plain/hooks.js.map +1 -1
- package/build/esm/react-query/impl/plain/types.d.ts +2 -2
- package/build/esm/react-query/impl/plain/types.js.map +1 -1
- package/build/esm/react-query/impl/plain/utils.js +6 -1
- package/build/esm/react-query/impl/plain/utils.js.map +1 -1
- package/build/esm/react-query/index.d.ts +2 -0
- package/build/esm/react-query/index.js +1 -0
- package/build/esm/react-query/index.js.map +1 -1
- package/build/esm/react-query/types/normalizer.d.ts +21 -0
- package/build/esm/react-query/types/normalizer.js +2 -0
- package/build/esm/react-query/types/normalizer.js.map +1 -0
- package/build/esm/react-query/types/options.d.ts +12 -0
- package/build/esm/react-query/types/options.js.map +1 -1
- package/build/esm/react-query/types/query-meta.d.ts +12 -0
- package/build/esm/react-query/utils/__tests__/checkMutationObjectsKeys.test.js +292 -0
- package/build/esm/react-query/utils/__tests__/checkMutationObjectsKeys.test.js.map +1 -0
- package/build/esm/react-query/utils/checkMutationObjectsKeys.d.ts +17 -0
- package/build/esm/react-query/utils/checkMutationObjectsKeys.js +81 -0
- package/build/esm/react-query/utils/checkMutationObjectsKeys.js.map +1 -0
- package/build/esm/react-query/utils/normalize.d.ts +22 -0
- package/build/esm/react-query/utils/normalize.js +143 -0
- package/build/esm/react-query/utils/normalize.js.map +1 -0
- package/build/esm/react-query/utils/parseQueryKey.d.ts +2 -0
- package/build/esm/react-query/utils/parseQueryKey.js +4 -0
- package/build/esm/react-query/utils/parseQueryKey.js.map +1 -0
- package/build/esm/react-query/utils/warn.d.ts +1 -0
- package/build/esm/react-query/utils/warn.js +9 -0
- package/build/esm/react-query/utils/warn.js.map +1 -0
- package/build/esm/react-query/utils/warnDisabledRefetch.d.ts +1 -0
- package/build/esm/react-query/utils/warnDisabledRefetch.js +5 -0
- package/build/esm/react-query/utils/warnDisabledRefetch.js.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useMutation","renderHook","waitFor","ClientDataManager","DataSourceProvider","jsx","_jsx","describe","dataManager","beforeEach","defaultOptions","queries","retry","mutations","normalizerConfig","devLogging","afterEach","_dataManager$queryNor","queryNormalizer","unsubscribe","queryClient","clear","it","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","normalized","wrap","_callee2$","_context2","prev","next","expect","toBeDefined","subscribe","fetchQuery","queryKey","queryFn","_queryFn","_callee","_callee$","_context","abrupt","id","name","stop","apply","arguments","normalize","getNormalizedData","objects","_callee5","normalizedBefore","objectCountBefore","normalizedAfter","_callee5$","_context5","_queryFn2","_callee3","_callee3$","_context3","Object","keys","length","_queryFn3","_callee4","_callee4$","_context4","toBe","JSON","stringify","_callee7","_callee7$","_context7","_queryFn4","_callee6","_callee6$","_context6","removeQueries","Promise","resolve","setTimeout","toBeUndefined","_callee8","_callee8$","_context8","_callee10","_callee10$","_context10","_queryFn5","_callee9","_callee9$","_context9","toHaveLength","not","toThrow","dataManagerWithOptimistic","optimistic","autoCalculateRollback","_dataManagerWithOptim","_callee13","wrapper","_renderHook","mutationResult","data","_callee13$","_context13","_queryFn6","_callee11","_callee11$","_context11","_ref7","children","mutationFn","_mutationFn","_callee12","_callee12$","_context12","result","current","mutate","undefined","isSuccess","getQueryData","_callee16","_renderHook2","dataFinal","_callee16$","_context16","_queryFn7","_callee14","_callee14$","_context14","_ref9","_mutationFn2","_callee15","_callee15$","_context15","onMutate","optimisticData","_callee19","_renderHook3","_callee19$","_context19","_queryFn8","_callee17","_callee17$","_context17","_ref11","_mutationFn3","_callee18","_callee18$","_context18","Error","isError","_callee22","_renderHook4","_callee22$","_context22","_queryFn9","_callee20","_callee20$","_context20","_ref13","_mutationFn4","_callee21","_callee21$","_context21","_callee24","dmNoNormalize","_renderHook5","_callee24$","_context24","setQueryData","_ref15","_mutationFn5","_callee23","_callee23$","_context23","_callee27","dmWithLogging","consoleSpy","_renderHook6","_callee27$","_context27","jest","spyOn","console","mockImplementation","_queryFn10","_callee25","_callee25$","_context25","_ref17","_mutationFn6","_callee26","_callee26$","_context26","toHaveBeenCalledWith","any","mockRestore","_callee30","dmNoAutoRollback","_renderHook7","_callee30$","_context30","_queryFn11","_callee28","_callee28$","_context28","_ref19","_mutationFn7","_callee29","_callee29$","_context29","rollbackData","_callee33","dmWithInvalidate","invalidateSpy","_renderHook8","_callee33$","_context33","invalidate","_queryFn12","_callee31","_callee31$","_context31","_ref21","_mutationFn8","_callee32","_callee32$","_context32","toHaveBeenCalled","_callee36","_renderHook9","_callee36$","_context36","_queryFn13","_callee34","_callee34$","_context34","_ref23","_mutationFn9","_callee35","_callee35$","_context35"],"sources":["subscriptions.test.tsx"],"sourcesContent":["import React from 'react';\n\nimport {useMutation} from '@tanstack/react-query';\nimport {renderHook, waitFor} from '@testing-library/react';\n\nimport {ClientDataManager} from '../ClientDataManager';\nimport {DataSourceProvider} from '../DataSourceProvider';\n\ndescribe('subscriptions', () => {\n let dataManager: ClientDataManager;\n\n beforeEach(() => {\n dataManager = new ClientDataManager({\n defaultOptions: {\n queries: {retry: false},\n mutations: {retry: false},\n },\n normalizerConfig: {\n devLogging: false,\n },\n });\n });\n\n afterEach(() => {\n dataManager.queryNormalizer?.unsubscribe();\n dataManager.queryClient.clear();\n });\n\n describe('QueryCache subscription', () => {\n it('should add query to normalizer when added to QueryCache', async () => {\n expect(dataManager.queryNormalizer).toBeDefined();\n\n dataManager.queryNormalizer!.subscribe();\n\n // Add query with normalize: true option\n await dataManager.queryClient.fetchQuery({\n queryKey: ['users'],\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 expect(normalized.objects['@@1']).toBeDefined();\n });\n\n it('should update query in normalizer on update', async () => {\n expect(dataManager.queryNormalizer).toBeDefined();\n\n dataManager.queryNormalizer!.subscribe();\n\n const queryKey = ['users'];\n\n // Initial data with normalize: true\n await dataManager.queryClient.fetchQuery({\n queryKey,\n queryFn: async () => [{id: '1', name: 'Old'}],\n normalize: true,\n } as Parameters<typeof dataManager.queryClient.fetchQuery>[0] & {normalize: boolean});\n\n const normalizedBefore = dataManager.queryNormalizer!.getNormalizedData();\n const objectCountBefore = Object.keys(normalizedBefore.objects).length;\n\n // Update data\n await dataManager.queryClient.fetchQuery({\n queryKey,\n queryFn: async () => [{id: '1', name: 'New'}],\n normalize: true,\n } as Parameters<typeof dataManager.queryClient.fetchQuery>[0] & {normalize: boolean});\n\n // Verify that normalized data was updated\n const normalizedAfter = dataManager.queryNormalizer!.getNormalizedData();\n expect(Object.keys(normalizedAfter.objects).length).toBe(objectCountBefore);\n expect(normalizedAfter.queries[JSON.stringify(queryKey)]).toBeDefined();\n });\n\n it('should remove query from normalizer when removed from QueryCache', async () => {\n expect(dataManager.queryNormalizer).toBeDefined();\n\n dataManager.queryNormalizer!.subscribe();\n\n const queryKey = ['users'];\n\n // Add query\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 // Remove query\n dataManager.queryClient.removeQueries({queryKey});\n\n // Give time to process event\n await new Promise((resolve) => setTimeout(resolve, 10));\n\n const normalized = dataManager.queryNormalizer!.getNormalizedData();\n // Query should be removed from queries\n expect(normalized.queries[JSON.stringify(queryKey)]).toBeUndefined();\n });\n\n it('should support meta configuration for queries', async () => {\n expect(dataManager.queryNormalizer).toBeDefined();\n\n dataManager.queryNormalizer!.subscribe();\n\n // Check that we can use meta for configuration\n // Real check for disabling via meta is already tested in integration tests\n const normalized = dataManager.queryNormalizer!.getNormalizedData();\n expect(normalized).toBeDefined();\n expect(normalized.objects).toBeDefined();\n expect(normalized.queries).toBeDefined();\n });\n\n it('should unsubscribe correctly', async () => {\n expect(dataManager.queryNormalizer).toBeDefined();\n\n dataManager.queryNormalizer!.subscribe();\n dataManager.queryNormalizer!.unsubscribe();\n\n // After unsubscribing, adding query should not affect normalizer\n await dataManager.queryClient.fetchQuery({\n queryKey: ['users'],\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 expect(Object.keys(normalized.objects)).toHaveLength(0);\n });\n\n it('should allow multiple unsubscribe calls', () => {\n expect(dataManager.queryNormalizer).toBeDefined();\n\n dataManager.queryNormalizer!.subscribe();\n dataManager.queryNormalizer!.unsubscribe();\n\n // Repeated call should not throw error\n expect(() => dataManager.queryNormalizer!.unsubscribe()).not.toThrow();\n });\n });\n\n describe('MutationCache subscription', () => {\n let dataManagerWithOptimistic: ClientDataManager;\n\n beforeEach(() => {\n dataManagerWithOptimistic = new ClientDataManager({\n defaultOptions: {\n queries: {retry: false},\n mutations: {retry: false},\n },\n normalizerConfig: {\n devLogging: false,\n optimistic: {\n autoCalculateRollback: true,\n },\n },\n });\n });\n\n afterEach(() => {\n dataManagerWithOptimistic.queryNormalizer?.unsubscribe();\n dataManagerWithOptimistic.queryClient.clear();\n });\n\n it('should update queries on successful mutation', async () => {\n expect(dataManagerWithOptimistic.queryNormalizer).toBeDefined();\n\n dataManagerWithOptimistic.queryNormalizer!.subscribe();\n\n const queryKey = ['users'];\n\n // Initial data\n await dataManagerWithOptimistic.queryClient.fetchQuery({\n queryKey,\n queryFn: async () => [{id: '1', name: 'Old'}],\n normalize: true,\n } as Parameters<typeof dataManagerWithOptimistic.queryClient.fetchQuery>[0] & {\n normalize: boolean;\n });\n\n // Create wrapper for hooks\n const wrapper = ({children}: {children: React.ReactNode}) => (\n <DataSourceProvider dataManager={dataManagerWithOptimistic}>\n {children}\n </DataSourceProvider>\n );\n\n // Mutation via useMutation\n const {result: mutationResult} = renderHook(\n () =>\n useMutation({\n mutationFn: async () => ({id: '1', name: 'New'}),\n normalize: true,\n optimistic: true,\n } as Parameters<typeof useMutation>[0] & {\n normalize: boolean;\n optimistic: boolean;\n }),\n {wrapper},\n );\n\n mutationResult.current.mutate(undefined);\n\n await waitFor(() => expect(mutationResult.current.isSuccess).toBe(true));\n\n const data = dataManagerWithOptimistic.queryClient.getQueryData(queryKey) as Array<{\n id: string;\n name: string;\n }>;\n expect(data[0].name).toBe('New');\n });\n\n it('should apply optimistic updates', async () => {\n expect(dataManagerWithOptimistic.queryNormalizer).toBeDefined();\n\n dataManagerWithOptimistic.queryNormalizer!.subscribe();\n\n const queryKey = ['users'];\n\n // Initial data\n await dataManagerWithOptimistic.queryClient.fetchQuery({\n queryKey,\n queryFn: async () => [{id: '1', name: 'Original'}],\n normalize: true,\n } as Parameters<typeof dataManagerWithOptimistic.queryClient.fetchQuery>[0] & {\n normalize: boolean;\n });\n\n const wrapper = ({children}: {children: React.ReactNode}) => (\n <DataSourceProvider dataManager={dataManagerWithOptimistic}>\n {children}\n </DataSourceProvider>\n );\n\n // Mutation with optimistic data\n const {result: mutationResult} = renderHook(\n () =>\n useMutation({\n mutationFn: async () => {\n await new Promise((resolve) => setTimeout(resolve, 50));\n return {id: '1', name: 'Final'};\n },\n onMutate: () => ({\n optimisticData: {id: '1', name: 'Optimistic'},\n }),\n normalize: true,\n optimistic: true,\n } as Parameters<typeof useMutation>[0] & {\n normalize: boolean;\n optimistic: boolean;\n }),\n {wrapper},\n );\n\n mutationResult.current.mutate(undefined);\n\n // Check optimistic data\n await waitFor(() => {\n const data = dataManagerWithOptimistic.queryClient.getQueryData(queryKey) as Array<{\n id: string;\n name: string;\n }>;\n expect(data[0].name).toBe('Optimistic');\n });\n\n // Wait for mutation to complete\n await waitFor(() => expect(mutationResult.current.isSuccess).toBe(true));\n\n const dataFinal = dataManagerWithOptimistic.queryClient.getQueryData(\n queryKey,\n ) as Array<{\n id: string;\n name: string;\n }>;\n expect(dataFinal[0].name).toBe('Final');\n });\n\n it('should automatically calculate rollbackData', async () => {\n expect(dataManagerWithOptimistic.queryNormalizer).toBeDefined();\n\n dataManagerWithOptimistic.queryNormalizer!.subscribe();\n\n const queryKey = ['users'];\n\n // Initial data\n await dataManagerWithOptimistic.queryClient.fetchQuery({\n queryKey,\n queryFn: async () => [{id: '1', name: 'Original'}],\n normalize: true,\n } as Parameters<typeof dataManagerWithOptimistic.queryClient.fetchQuery>[0] & {\n normalize: boolean;\n });\n\n const wrapper = ({children}: {children: React.ReactNode}) => (\n <DataSourceProvider dataManager={dataManagerWithOptimistic}>\n {children}\n </DataSourceProvider>\n );\n\n // Mutation with optimistic data that will fail\n const {result: mutationResult} = renderHook(\n () =>\n useMutation({\n mutationFn: async () => {\n await new Promise((resolve) => setTimeout(resolve, 50));\n throw new Error('Mutation failed');\n },\n onMutate: () => ({\n optimisticData: {id: '1', name: 'Optimistic'},\n }),\n normalize: true,\n optimistic: true,\n } as Parameters<typeof useMutation>[0] & {\n normalize: boolean;\n optimistic: boolean;\n }),\n {wrapper},\n );\n\n mutationResult.current.mutate(undefined);\n\n await waitFor(() => expect(mutationResult.current.isError).toBe(true));\n\n // Data should be rolled back to original\n const data = dataManagerWithOptimistic.queryClient.getQueryData(queryKey) as Array<{\n id: string;\n name: string;\n }>;\n expect(data[0].name).toBe('Original');\n });\n\n it('should rollback changes on mutation error', async () => {\n expect(dataManagerWithOptimistic.queryNormalizer).toBeDefined();\n\n dataManagerWithOptimistic.queryNormalizer!.subscribe();\n\n const queryKey = ['users'];\n\n // Initial data\n await dataManagerWithOptimistic.queryClient.fetchQuery({\n queryKey,\n queryFn: async () => [{id: '1', name: 'Original'}],\n normalize: true,\n } as Parameters<typeof dataManagerWithOptimistic.queryClient.fetchQuery>[0] & {\n normalize: boolean;\n });\n\n const wrapper = ({children}: {children: React.ReactNode}) => (\n <DataSourceProvider dataManager={dataManagerWithOptimistic}>\n {children}\n </DataSourceProvider>\n );\n\n // Mutation with error\n const {result: mutationResult} = renderHook(\n () =>\n useMutation({\n mutationFn: async () => {\n await new Promise((resolve) => setTimeout(resolve, 50));\n throw new Error('Failed');\n },\n onMutate: () => ({\n optimisticData: {id: '1', name: 'Optimistic'},\n }),\n normalize: true,\n optimistic: true,\n } as Parameters<typeof useMutation>[0] & {\n normalize: boolean;\n optimistic: boolean;\n }),\n {wrapper},\n );\n\n mutationResult.current.mutate(undefined);\n\n await waitFor(() => expect(mutationResult.current.isError).toBe(true));\n\n const data = dataManagerWithOptimistic.queryClient.getQueryData(queryKey) as Array<{\n id: string;\n name: string;\n }>;\n expect(data[0].name).toBe('Original');\n });\n\n it('should ignore mutations with normalize: false', async () => {\n const dmNoNormalize = new ClientDataManager({\n defaultOptions: {\n queries: {retry: false},\n mutations: {retry: false},\n },\n normalizerConfig: {\n devLogging: false,\n },\n });\n\n expect(dmNoNormalize.queryNormalizer).toBeDefined();\n\n const queryKey = ['users'];\n dmNoNormalize.queryClient.setQueryData(queryKey, [{id: '1', name: 'Original'}]);\n\n const wrapper = ({children}: {children: React.ReactNode}) => (\n <DataSourceProvider dataManager={dmNoNormalize}>{children}</DataSourceProvider>\n );\n\n // Mutation should not update data automatically (no normalize option)\n const {result: mutationResult} = renderHook(\n () =>\n useMutation({\n mutationFn: async () => ({id: '1', name: 'New'}),\n }),\n {wrapper},\n );\n\n mutationResult.current.mutate(undefined);\n\n await waitFor(() => expect(mutationResult.current.isSuccess).toBe(true));\n\n const data = dmNoNormalize.queryClient.getQueryData(queryKey) as Array<{\n id: string;\n name: string;\n }>;\n expect(data[0].name).toBe('Original'); // Not changed\n });\n\n it('should support devLogging for optimistic updates', async () => {\n const dmWithLogging = new ClientDataManager({\n defaultOptions: {\n queries: {retry: false},\n mutations: {retry: false},\n },\n normalizerConfig: {\n devLogging: false,\n optimistic: {\n autoCalculateRollback: true,\n devLogging: true,\n },\n },\n });\n\n expect(dmWithLogging.queryNormalizer).toBeDefined();\n\n const consoleSpy = jest.spyOn(console, 'log').mockImplementation();\n\n dmWithLogging.queryNormalizer!.subscribe();\n\n const queryKey = ['users'];\n\n await dmWithLogging.queryClient.fetchQuery({\n queryKey,\n queryFn: async () => [{id: '1', name: 'Original'}],\n normalize: true,\n } as Parameters<typeof dmWithLogging.queryClient.fetchQuery>[0] & {\n normalize: boolean;\n });\n\n const wrapper = ({children}: {children: React.ReactNode}) => (\n <DataSourceProvider dataManager={dmWithLogging}>{children}</DataSourceProvider>\n );\n\n const {result: mutationResult} = renderHook(\n () =>\n useMutation({\n mutationFn: async () => {\n await new Promise((resolve) => setTimeout(resolve, 50));\n throw new Error('Failed');\n },\n onMutate: () => ({\n optimisticData: {id: '1', name: 'Optimistic'},\n }),\n normalize: true,\n optimistic: true,\n } as Parameters<typeof useMutation>[0] & {\n normalize: boolean;\n optimistic: boolean;\n }),\n {wrapper},\n );\n\n mutationResult.current.mutate(undefined);\n\n await waitFor(() => expect(mutationResult.current.isError).toBe(true));\n\n // Verify that logging was called\n expect(consoleSpy).toHaveBeenCalledWith(\n '[OptimisticUpdate] Auto-calculated rollbackData:',\n expect.any(Object),\n );\n expect(consoleSpy).toHaveBeenCalledWith('[OptimisticUpdate] Rolling back changes');\n\n consoleSpy.mockRestore();\n });\n\n it('should support manual rollbackData', async () => {\n const dmNoAutoRollback = new ClientDataManager({\n defaultOptions: {\n queries: {retry: false},\n mutations: {retry: false},\n },\n normalizerConfig: {\n devLogging: false,\n optimistic: {\n autoCalculateRollback: false,\n },\n },\n });\n\n expect(dmNoAutoRollback.queryNormalizer).toBeDefined();\n\n dmNoAutoRollback.queryNormalizer!.subscribe();\n\n const queryKey = ['users'];\n\n await dmNoAutoRollback.queryClient.fetchQuery({\n queryKey,\n queryFn: async () => [{id: '1', name: 'Original'}],\n normalize: true,\n } as Parameters<typeof dmNoAutoRollback.queryClient.fetchQuery>[0] & {\n normalize: boolean;\n });\n\n const wrapper = ({children}: {children: React.ReactNode}) => (\n <DataSourceProvider dataManager={dmNoAutoRollback}>{children}</DataSourceProvider>\n );\n\n const {result: mutationResult} = renderHook(\n () =>\n useMutation({\n mutationFn: async () => {\n await new Promise((resolve) => setTimeout(resolve, 50));\n throw new Error('Failed');\n },\n onMutate: () => ({\n optimisticData: {id: '1', name: 'Optimistic'},\n rollbackData: {id: '1', name: 'Manual Rollback'},\n }),\n normalize: true,\n optimistic: true,\n } as Parameters<typeof useMutation>[0] & {\n normalize: boolean;\n optimistic: boolean;\n }),\n {wrapper},\n );\n\n mutationResult.current.mutate(undefined);\n\n await waitFor(() => expect(mutationResult.current.isError).toBe(true));\n\n const data = dmNoAutoRollback.queryClient.getQueryData(queryKey) as Array<{\n id: string;\n name: string;\n }>;\n expect(data[0].name).toBe('Manual Rollback');\n\n dmNoAutoRollback.queryNormalizer!.unsubscribe();\n dmNoAutoRollback.queryClient.clear();\n });\n\n it('should invalidate queries when invalidate option is enabled', async () => {\n const dmWithInvalidate = new ClientDataManager({\n defaultOptions: {\n queries: {retry: false},\n mutations: {retry: false},\n },\n normalizerConfig: {\n devLogging: false,\n invalidate: true,\n },\n });\n\n expect(dmWithInvalidate.queryNormalizer).toBeDefined();\n\n dmWithInvalidate.queryNormalizer!.subscribe();\n\n const queryKey = ['users'];\n\n // Initial data\n await dmWithInvalidate.queryClient.fetchQuery({\n queryKey,\n queryFn: async () => [{id: '1', name: 'Original'}],\n });\n\n // Spy on invalidateQueries\n const invalidateSpy = jest.spyOn(dmWithInvalidate.queryClient, 'invalidateQueries');\n\n const wrapper = ({children}: {children: React.ReactNode}) => (\n <DataSourceProvider dataManager={dmWithInvalidate}>{children}</DataSourceProvider>\n );\n\n const {result: mutationResult} = renderHook(\n () =>\n useMutation({\n mutationFn: async () => ({id: '1', name: 'Updated'}),\n normalize: true,\n } as Parameters<typeof useMutation>[0] & {\n normalize: boolean;\n }),\n {wrapper},\n );\n\n mutationResult.current.mutate(undefined);\n\n await waitFor(() => expect(mutationResult.current.isSuccess).toBe(true));\n\n // Verify that invalidateQueries was called\n expect(invalidateSpy).toHaveBeenCalled();\n\n invalidateSpy.mockRestore();\n dmWithInvalidate.queryNormalizer!.unsubscribe();\n dmWithInvalidate.queryClient.clear();\n });\n\n it('should not invalidate queries when invalidate: false is set on mutation', async () => {\n const dmWithInvalidate = new ClientDataManager({\n defaultOptions: {\n queries: {retry: false},\n mutations: {retry: false},\n },\n normalizerConfig: {\n devLogging: false,\n invalidate: true, // Globally enabled\n },\n });\n\n expect(dmWithInvalidate.queryNormalizer).toBeDefined();\n\n dmWithInvalidate.queryNormalizer!.subscribe();\n\n const queryKey = ['users'];\n\n await dmWithInvalidate.queryClient.fetchQuery({\n queryKey,\n queryFn: async () => [{id: '1', name: 'Original'}],\n });\n\n const invalidateSpy = jest.spyOn(dmWithInvalidate.queryClient, 'invalidateQueries');\n\n const wrapper = ({children}: {children: React.ReactNode}) => (\n <DataSourceProvider dataManager={dmWithInvalidate}>{children}</DataSourceProvider>\n );\n\n const {result: mutationResult} = renderHook(\n () =>\n useMutation({\n mutationFn: async () => ({id: '1', name: 'Updated'}),\n normalize: true,\n invalidate: false, // Disable for this mutation\n } as Parameters<typeof useMutation>[0] & {\n normalize: boolean;\n invalidate: boolean;\n }),\n {wrapper},\n );\n\n mutationResult.current.mutate(undefined);\n\n await waitFor(() => expect(mutationResult.current.isSuccess).toBe(true));\n\n // Verify that invalidateQueries was NOT called\n expect(invalidateSpy).not.toHaveBeenCalled();\n\n invalidateSpy.mockRestore();\n dmWithInvalidate.queryNormalizer!.unsubscribe();\n dmWithInvalidate.queryClient.clear();\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|