UNPKG

@apollo/client

Version:

A fully-featured caching GraphQL client.

1 lines 5.34 kB
{"version":3,"file":"mapObservableFragment.cjs","sources":["../../../../src/utilities/internal/mapObservableFragment.ts"],"sourcesContent":["import { map, shareReplay } from \"rxjs\";\n\nimport type { ApolloCache } from \"@apollo/client\";\n\nimport { memoize } from \"./memoize.js\";\n\nfunction mapObservableFragment<From, To>(\n observable: ApolloCache.ObservableFragment<From>,\n mapFn: (\n from: ApolloCache.WatchFragmentResult<From>\n ) => ApolloCache.WatchFragmentResult<To>\n): ApolloCache.ObservableFragment<To> {\n let currentResult: ApolloCache.WatchFragmentResult<From>;\n let stableMappedResult: ApolloCache.WatchFragmentResult<To>;\n\n function toMapped(\n result: ApolloCache.WatchFragmentResult<From>\n ): ApolloCache.WatchFragmentResult<To> {\n if (result !== currentResult) {\n currentResult = result;\n stableMappedResult = mapFn(currentResult);\n }\n return stableMappedResult;\n }\n\n return Object.assign(\n observable.pipe(\n map(toMapped),\n shareReplay({ bufferSize: 1, refCount: true })\n ),\n {\n getCurrentResult: () => toMapped(observable.getCurrentResult()),\n }\n );\n}\n\nexport const mapObservableFragmentMemoized = memoize(\n function mapObservableFragmentMemoized<From, To>(\n observable: ApolloCache.ObservableFragment<From>,\n /**\n * used together with `observable` as memoization key, `mapFn` is explicitly not used as memoization key\n */\n _cacheKey: symbol,\n mapFn: (\n from: ApolloCache.WatchFragmentResult<From>\n ) => ApolloCache.WatchFragmentResult<To>\n ): ApolloCache.ObservableFragment<To> {\n return mapObservableFragment(observable, mapFn);\n },\n { max: 1, makeCacheKey: (args) => args.slice(0, 2) }\n);\n"],"names":[],"mappings":"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"}