@gravity-ui/data-source 0.2.1 → 0.3.0-alpha.0

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 (77) hide show
  1. package/build/cjs/core/types/DataSource.d.ts +3 -3
  2. package/build/cjs/core/types/DataSource.js.map +1 -1
  3. package/build/cjs/core/utils/composeFullKey.d.ts +1 -1
  4. package/build/cjs/core/utils/composeFullKey.js.map +1 -1
  5. package/build/cjs/core/utils/composeKey.js +1 -1
  6. package/build/cjs/core/utils/composeKey.js.map +1 -1
  7. package/build/cjs/react/components/DataInfiniteLoader/types.d.ts +1 -1
  8. package/build/cjs/react/components/DataInfiniteLoader/types.js.map +1 -1
  9. package/build/cjs/react/components/DataLoader/types.d.ts +1 -1
  10. package/build/cjs/react/components/DataLoader/types.js.map +1 -1
  11. package/build/cjs/react-query/hooks/useQueryData.d.ts +1 -1
  12. package/build/cjs/react-query/hooks/useQueryData.js +8 -4
  13. package/build/cjs/react-query/hooks/useQueryData.js.map +1 -1
  14. package/build/cjs/react-query/impl/infinite/factory.d.ts +1 -1
  15. package/build/cjs/react-query/impl/infinite/factory.js.map +1 -1
  16. package/build/cjs/react-query/impl/infinite/hooks.d.ts +2 -2
  17. package/build/cjs/react-query/impl/infinite/hooks.js +1 -4
  18. package/build/cjs/react-query/impl/infinite/hooks.js.map +1 -1
  19. package/build/cjs/react-query/impl/infinite/types.d.ts +10 -8
  20. package/build/cjs/react-query/impl/infinite/types.js.map +1 -1
  21. package/build/cjs/react-query/impl/infinite/utils.d.ts +5 -5
  22. package/build/cjs/react-query/impl/infinite/utils.js +12 -10
  23. package/build/cjs/react-query/impl/infinite/utils.js.map +1 -1
  24. package/build/cjs/react-query/impl/plain/factory.d.ts +1 -1
  25. package/build/cjs/react-query/impl/plain/factory.js.map +1 -1
  26. package/build/cjs/react-query/impl/plain/hooks.d.ts +2 -2
  27. package/build/cjs/react-query/impl/plain/hooks.js +1 -4
  28. package/build/cjs/react-query/impl/plain/hooks.js.map +1 -1
  29. package/build/cjs/react-query/impl/plain/types.d.ts +3 -3
  30. package/build/cjs/react-query/impl/plain/types.js.map +1 -1
  31. package/build/cjs/react-query/impl/plain/utils.d.ts +3 -3
  32. package/build/cjs/react-query/impl/plain/utils.js +7 -6
  33. package/build/cjs/react-query/impl/plain/utils.js.map +1 -1
  34. package/build/cjs/react-query/utils/normalizeStatus.js +4 -1
  35. package/build/cjs/react-query/utils/normalizeStatus.js.map +1 -1
  36. package/build/cjs/react-query/utils/notReachable.d.ts +1 -0
  37. package/build/cjs/react-query/utils/notReachable.js +10 -0
  38. package/build/cjs/react-query/utils/notReachable.js.map +1 -0
  39. package/build/esm/core/types/DataSource.d.ts +3 -3
  40. package/build/esm/core/types/DataSource.js.map +1 -1
  41. package/build/esm/core/utils/composeFullKey.d.ts +1 -1
  42. package/build/esm/core/utils/composeFullKey.js.map +1 -1
  43. package/build/esm/core/utils/composeKey.js +2 -2
  44. package/build/esm/core/utils/composeKey.js.map +1 -1
  45. package/build/esm/react/components/DataInfiniteLoader/types.d.ts +1 -1
  46. package/build/esm/react/components/DataInfiniteLoader/types.js.map +1 -1
  47. package/build/esm/react/components/DataLoader/types.d.ts +1 -1
  48. package/build/esm/react/components/DataLoader/types.js.map +1 -1
  49. package/build/esm/react-query/hooks/useQueryData.d.ts +1 -1
  50. package/build/esm/react-query/hooks/useQueryData.js +8 -4
  51. package/build/esm/react-query/hooks/useQueryData.js.map +1 -1
  52. package/build/esm/react-query/impl/infinite/factory.d.ts +1 -1
  53. package/build/esm/react-query/impl/infinite/factory.js.map +1 -1
  54. package/build/esm/react-query/impl/infinite/hooks.d.ts +2 -2
  55. package/build/esm/react-query/impl/infinite/hooks.js +1 -4
  56. package/build/esm/react-query/impl/infinite/hooks.js.map +1 -1
  57. package/build/esm/react-query/impl/infinite/types.d.ts +10 -8
  58. package/build/esm/react-query/impl/infinite/types.js.map +1 -1
  59. package/build/esm/react-query/impl/infinite/utils.d.ts +5 -5
  60. package/build/esm/react-query/impl/infinite/utils.js +12 -10
  61. package/build/esm/react-query/impl/infinite/utils.js.map +1 -1
  62. package/build/esm/react-query/impl/plain/factory.d.ts +1 -1
  63. package/build/esm/react-query/impl/plain/factory.js.map +1 -1
  64. package/build/esm/react-query/impl/plain/hooks.d.ts +2 -2
  65. package/build/esm/react-query/impl/plain/hooks.js +1 -4
  66. package/build/esm/react-query/impl/plain/hooks.js.map +1 -1
  67. package/build/esm/react-query/impl/plain/types.d.ts +3 -3
  68. package/build/esm/react-query/impl/plain/types.js.map +1 -1
  69. package/build/esm/react-query/impl/plain/utils.d.ts +3 -3
  70. package/build/esm/react-query/impl/plain/utils.js +7 -6
  71. package/build/esm/react-query/impl/plain/utils.js.map +1 -1
  72. package/build/esm/react-query/utils/normalizeStatus.js +4 -1
  73. package/build/esm/react-query/utils/normalizeStatus.js.map +1 -1
  74. package/build/esm/react-query/utils/notReachable.d.ts +1 -0
  75. package/build/esm/react-query/utils/notReachable.js +4 -0
  76. package/build/esm/react-query/utils/notReachable.js.map +1 -0
  77. package/package.json +4 -4
@@ -1,16 +1,16 @@
1
1
  import type { idle } from '../constants';
2
- export type DataSourceKey = readonly unknown[];
2
+ export type DataSourceKey = ReadonlyArray<unknown>;
3
3
  export type DataSourceTag = string;
4
4
  declare const errorHintSymbol: unique symbol;
5
5
  declare const stateHintSymbol: unique symbol;
6
- export interface DataSource<TContext, TParams, TRequest, TResponse, TData, TError, TOptions, TState, TFetchContext> {
6
+ export interface DataSource<TContext, TParams, TRequest extends object, TResponse, TData, TError, TOptions extends object, TState, TFetchContext> {
7
7
  readonly name: string;
8
8
  fetch: (context: TContext, fetchContext: TFetchContext, request: TRequest) => Promise<TResponse> | TResponse;
9
9
  tags?: (params: ActualParams<TParams, TRequest>) => DataSourceTag[];
10
10
  transformParams?: (params: TParams) => TRequest;
11
11
  transformResponse?: (response: TResponse) => TData;
12
12
  [errorHintSymbol]?: TError;
13
- options?: TOptions;
13
+ options?: Partial<TOptions>;
14
14
  [stateHintSymbol]?: TState;
15
15
  }
16
16
  export type AnyDataSource = DataSource<any, any, any, any, any, any, any, any, any>;
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["DataSource.ts"],"sourcesContent":["import type {idle} from '../constants';\n\nexport type DataSourceKey = readonly unknown[];\nexport type DataSourceTag = string;\n\ndeclare const errorHintSymbol: unique symbol;\ndeclare const stateHintSymbol: unique symbol;\n\nexport interface DataSource<\n TContext,\n TParams,\n TRequest,\n TResponse,\n TData,\n TError,\n TOptions,\n TState,\n TFetchContext,\n> {\n readonly name: string;\n\n fetch: (\n context: TContext,\n fetchContext: TFetchContext,\n request: TRequest,\n ) => Promise<TResponse> | TResponse;\n tags?: (params: ActualParams<TParams, TRequest>) => DataSourceTag[];\n\n transformParams?: (params: TParams) => TRequest;\n transformResponse?: (response: TResponse) => TData;\n\n [errorHintSymbol]?: TError;\n\n options?: TOptions;\n [stateHintSymbol]?: TState;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyDataSource = DataSource<any, any, any, any, any, any, any, any, any>;\n\nexport type DataSourceContext<TDataSource> =\n TDataSource extends DataSource<\n infer TContext,\n infer _TParams,\n infer _TRequest,\n infer _TResponse,\n infer _TData,\n infer _TError,\n infer _TOptions,\n infer _TState,\n infer _TFetchContext\n >\n ? TContext\n : never;\n\nexport type DataSourceParams<TDataSource> =\n TDataSource extends DataSource<\n infer _TContenxt,\n infer TParams,\n infer TRequest,\n infer _TResponse,\n infer _TData,\n infer _TError,\n infer _TOptions,\n infer _TState,\n infer _TFetchContext\n >\n ? ActualParams<TParams, TRequest>\n : never;\n\nexport type DataSourceRequest<TDataSource> =\n TDataSource extends DataSource<\n infer _TContenxt,\n infer _TParams,\n infer TRequest,\n infer _TResponse,\n infer _TData,\n infer _TError,\n infer _TOptions,\n infer _TState,\n infer _TFetchContext\n >\n ? TRequest\n : never;\n\nexport type DataSourceResponse<TDataSource> =\n TDataSource extends DataSource<\n infer _TContenxt,\n infer _TParams,\n infer _TRequest,\n infer TResponse,\n infer _TData,\n infer _TError,\n infer _TOptions,\n infer _TState,\n infer _TFetchContext\n >\n ? TResponse\n : never;\n\nexport type DataSourceData<TDataSource> =\n TDataSource extends DataSource<\n infer _TContenxt,\n infer _TParams,\n infer _TRequest,\n infer TResponse,\n infer TData,\n infer _TError,\n infer _TOptions,\n infer _TState,\n infer _TFetchContext\n >\n ? ActualData<TData, TResponse>\n : never;\n\nexport type DataSourceError<TDataSource> =\n TDataSource extends DataSource<\n infer _TContenxt,\n infer _TParams,\n infer _TRequest,\n infer _TResponse,\n infer _TData,\n infer TError,\n infer _TOptions,\n infer _TState,\n infer _TFetchContext\n >\n ? TError\n : never;\n\nexport type DataSourceOptions<TDataSource> =\n TDataSource extends DataSource<\n infer _TContenxt,\n infer _TParams,\n infer _TRequest,\n infer _TResponse,\n infer _TData,\n infer _TError,\n infer TOptions,\n infer _TState,\n infer _TFetchContext\n >\n ? TOptions\n : never;\n\nexport type DataSourceState<TDataSource> =\n TDataSource extends DataSource<\n infer _TContenxt,\n infer _TParams,\n infer _TRequest,\n infer _TResponse,\n infer _TData,\n infer _TError,\n infer _TOptions,\n infer TState,\n infer _TFetchContext\n >\n ? TState\n : never;\n\nexport type DataSourceFetchContext<TDataSource> =\n TDataSource extends DataSource<\n infer _TContenxt,\n infer _TParams,\n infer _TRequest,\n infer _TResponse,\n infer _TData,\n infer _TError,\n infer _TOptions,\n infer _TState,\n infer TFetchContext\n >\n ? TFetchContext\n : never;\n\nexport type ActualParams<TParams, TRequest> =\n | (unknown extends TParams ? TRequest : TParams)\n | typeof idle;\n\nexport type ActualData<TData, TResponse> = unknown extends TData ? TResponse : TData;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["DataSource.ts"],"sourcesContent":["import type {idle} from '../constants';\n\nexport type DataSourceKey = ReadonlyArray<unknown>;\nexport type DataSourceTag = string;\n\ndeclare const errorHintSymbol: unique symbol;\ndeclare const stateHintSymbol: unique symbol;\n\nexport interface DataSource<\n TContext,\n TParams,\n TRequest extends object,\n TResponse,\n TData,\n TError,\n TOptions extends object,\n TState,\n TFetchContext,\n> {\n readonly name: string;\n\n fetch: (\n context: TContext,\n fetchContext: TFetchContext,\n request: TRequest,\n ) => Promise<TResponse> | TResponse;\n tags?: (params: ActualParams<TParams, TRequest>) => DataSourceTag[];\n\n transformParams?: (params: TParams) => TRequest;\n transformResponse?: (response: TResponse) => TData;\n\n [errorHintSymbol]?: TError;\n\n options?: Partial<TOptions>;\n [stateHintSymbol]?: TState;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyDataSource = DataSource<any, any, any, any, any, any, any, any, any>;\n\nexport type DataSourceContext<TDataSource> =\n TDataSource extends DataSource<\n infer TContext,\n infer _TParams,\n infer _TRequest,\n infer _TResponse,\n infer _TData,\n infer _TError,\n infer _TOptions,\n infer _TState,\n infer _TFetchContext\n >\n ? TContext\n : never;\n\nexport type DataSourceParams<TDataSource> =\n TDataSource extends DataSource<\n infer _TContenxt,\n infer TParams,\n infer TRequest,\n infer _TResponse,\n infer _TData,\n infer _TError,\n infer _TOptions,\n infer _TState,\n infer _TFetchContext\n >\n ? ActualParams<TParams, TRequest>\n : never;\n\nexport type DataSourceRequest<TDataSource> =\n TDataSource extends DataSource<\n infer _TContenxt,\n infer _TParams,\n infer TRequest,\n infer _TResponse,\n infer _TData,\n infer _TError,\n infer _TOptions,\n infer _TState,\n infer _TFetchContext\n >\n ? TRequest\n : never;\n\nexport type DataSourceResponse<TDataSource> =\n TDataSource extends DataSource<\n infer _TContenxt,\n infer _TParams,\n infer _TRequest,\n infer TResponse,\n infer _TData,\n infer _TError,\n infer _TOptions,\n infer _TState,\n infer _TFetchContext\n >\n ? TResponse\n : never;\n\nexport type DataSourceData<TDataSource> =\n TDataSource extends DataSource<\n infer _TContenxt,\n infer _TParams,\n infer _TRequest,\n infer TResponse,\n infer TData,\n infer _TError,\n infer _TOptions,\n infer _TState,\n infer _TFetchContext\n >\n ? ActualData<TData, TResponse>\n : never;\n\nexport type DataSourceError<TDataSource> =\n TDataSource extends DataSource<\n infer _TContenxt,\n infer _TParams,\n infer _TRequest,\n infer _TResponse,\n infer _TData,\n infer TError,\n infer _TOptions,\n infer _TState,\n infer _TFetchContext\n >\n ? TError\n : never;\n\nexport type DataSourceOptions<TDataSource> =\n TDataSource extends DataSource<\n infer _TContenxt,\n infer _TParams,\n infer _TRequest,\n infer _TResponse,\n infer _TData,\n infer _TError,\n infer TOptions,\n infer _TState,\n infer _TFetchContext\n >\n ? TOptions\n : never;\n\nexport type DataSourceState<TDataSource> =\n TDataSource extends DataSource<\n infer _TContenxt,\n infer _TParams,\n infer _TRequest,\n infer _TResponse,\n infer _TData,\n infer _TError,\n infer _TOptions,\n infer TState,\n infer _TFetchContext\n >\n ? TState\n : never;\n\nexport type DataSourceFetchContext<TDataSource> =\n TDataSource extends DataSource<\n infer _TContenxt,\n infer _TParams,\n infer _TRequest,\n infer _TResponse,\n infer _TData,\n infer _TError,\n infer _TOptions,\n infer _TState,\n infer TFetchContext\n >\n ? TFetchContext\n : never;\n\nexport type ActualParams<TParams, TRequest> =\n | (unknown extends TParams ? TRequest : TParams)\n | typeof idle;\n\nexport type ActualData<TData, TResponse> = unknown extends TData ? TResponse : TData;\n"],"mappings":"","ignoreList":[]}
@@ -1,2 +1,2 @@
1
1
  import type { AnyDataSource, DataSourceParams } from '../types/DataSource';
2
- export declare const composeFullKey: <TDataSource extends AnyDataSource>(dataSource: TDataSource, params: DataSourceParams<TDataSource>) => readonly string[];
2
+ export declare const composeFullKey: <TDataSource extends AnyDataSource>(dataSource: TDataSource, params: DataSourceParams<TDataSource>) => ReadonlyArray<string>;
@@ -1 +1 @@
1
- {"version":3,"names":["_composeKey","require","_interopRequireDefault","e","__esModule","default","composeFullKey","exports","dataSource","params","_dataSource$tags","_dataSource$tags2","tags","call","name","concat","_toConsumableArray","composeKey"],"sources":["composeFullKey.ts"],"sourcesContent":["import type {AnyDataSource, DataSourceParams} from '../types/DataSource';\n\nimport {composeKey} from './composeKey';\n\nexport const composeFullKey = <TDataSource extends AnyDataSource>(\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n): readonly string[] => {\n const tags = dataSource.tags?.(params) ?? [];\n\n return [dataSource.name, ...tags, composeKey(dataSource, params)];\n};\n"],"mappings":";;;;;;;AAEA,IAAAA,WAAA,GAAAC,OAAA;AAAuC,SAAAC,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEhC,IAAMG,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,SAAjBA,cAAcA,CACvBE,UAAuB,EACvBC,MAAqC,EACjB;EAAA,IAAAC,gBAAA,EAAAC,iBAAA;EACpB,IAAMC,IAAI,IAAAF,gBAAA,IAAAC,iBAAA,GAAGH,UAAU,CAACI,IAAI,cAAAD,iBAAA,uBAAfA,iBAAA,CAAAE,IAAA,CAAAL,UAAU,EAAQC,MAAM,CAAC,cAAAC,gBAAA,cAAAA,gBAAA,GAAI,EAAE;EAE5C,QAAQF,UAAU,CAACM,IAAI,EAAAC,MAAA,KAAAC,2BAAA,EAAKJ,IAAI,IAAE,IAAAK,sBAAU,EAACT,UAAU,EAAEC,MAAM,CAAC;AACpE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_composeKey","require","_interopRequireDefault","e","__esModule","default","composeFullKey","exports","dataSource","params","_dataSource$tags","_dataSource$tags2","tags","call","name","concat","_toConsumableArray","composeKey"],"sources":["composeFullKey.ts"],"sourcesContent":["import type {AnyDataSource, DataSourceParams} from '../types/DataSource';\n\nimport {composeKey} from './composeKey';\n\nexport const composeFullKey = <TDataSource extends AnyDataSource>(\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n): ReadonlyArray<string> => {\n const tags = dataSource.tags?.(params) ?? [];\n\n return [dataSource.name, ...tags, composeKey(dataSource, params)];\n};\n"],"mappings":";;;;;;;AAEA,IAAAA,WAAA,GAAAC,OAAA;AAAuC,SAAAC,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEhC,IAAMG,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,SAAjBA,cAAcA,CACvBE,UAAuB,EACvBC,MAAqC,EACb;EAAA,IAAAC,gBAAA,EAAAC,iBAAA;EACxB,IAAMC,IAAI,IAAAF,gBAAA,IAAAC,iBAAA,GAAGH,UAAU,CAACI,IAAI,cAAAD,iBAAA,uBAAfA,iBAAA,CAAAE,IAAA,CAAAL,UAAU,EAAQC,MAAM,CAAC,cAAAC,gBAAA,cAAAA,gBAAA,GAAI,EAAE;EAE5C,QAAQF,UAAU,CAACM,IAAI,EAAAC,MAAA,KAAAC,2BAAA,EAAKJ,IAAI,IAAE,IAAAK,sBAAU,EAACT,UAAU,EAAEC,MAAM,CAAC;AACpE,CAAC","ignoreList":[]}
@@ -9,6 +9,6 @@ var _constants = require("../constants");
9
9
  // TODO(DakEnviy): Do not use react-query in core
10
10
 
11
11
  var composeKey = exports.composeKey = function composeKey(dataSource, params) {
12
- return params === _constants.idle ? "".concat(dataSource.name, ":idle") : "".concat(dataSource.name, "(").concat((0, _reactQuery.hashQueryKey)(params), ")");
12
+ return params === _constants.idle ? "".concat(dataSource.name, ":idle") : "".concat(dataSource.name, "(").concat((0, _reactQuery.hashKey)(params), ")");
13
13
  };
14
14
  // #sourceMappingURL=composeKey.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactQuery","require","_constants","composeKey","exports","dataSource","params","idle","concat","name","hashQueryKey"],"sources":["composeKey.ts"],"sourcesContent":["// TODO(DakEnviy): Do not use react-query in core\nimport {hashQueryKey} from '@tanstack/react-query';\n\nimport {idle} from '../constants';\nimport type {AnyDataSource, DataSourceParams} from '../types/DataSource';\n\nexport const composeKey = <TDataSource extends AnyDataSource>(\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n): string =>\n params === idle ? `${dataSource.name}:idle` : `${dataSource.name}(${hashQueryKey(params)})`;\n"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAHA;;AAMO,IAAME,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG,SAAbA,UAAUA,CACnBE,UAAuB,EACvBC,MAAqC;EAAA,OAErCA,MAAM,KAAKC,eAAI,MAAAC,MAAA,CAAMH,UAAU,CAACI,IAAI,gBAAAD,MAAA,CAAaH,UAAU,CAACI,IAAI,OAAAD,MAAA,CAAI,IAAAE,wBAAY,EAACJ,MAAM,CAAC,MAAG;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_reactQuery","require","_constants","composeKey","exports","dataSource","params","idle","concat","name","hashKey"],"sources":["composeKey.ts"],"sourcesContent":["// TODO(DakEnviy): Do not use react-query in core\nimport {hashKey} from '@tanstack/react-query';\n\nimport {idle} from '../constants';\nimport type {AnyDataSource, DataSourceParams} from '../types/DataSource';\n\nexport const composeKey = <TDataSource extends AnyDataSource>(\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n): string =>\n params === idle ? `${dataSource.name}:idle` : `${dataSource.name}(${hashKey(params)})`;\n"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAHA;;AAMO,IAAME,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG,SAAbA,UAAUA,CACnBE,UAAuB,EACvBC,MAAqC;EAAA,OAErCA,MAAM,KAAKC,eAAI,MAAAC,MAAA,CAAMH,UAAU,CAACI,IAAI,gBAAAD,MAAA,CAAaH,UAAU,CAACI,IAAI,OAAAD,MAAA,CAAI,IAAAE,mBAAO,EAACJ,MAAM,CAAC,MAAG;AAAA","ignoreList":[]}
@@ -5,7 +5,7 @@ export interface MoreViewProps {
5
5
  isLoading: boolean;
6
6
  onClick: () => void;
7
7
  }
8
- export interface DataInfiniteLoaderProps<TError, TLoadingViewProps extends {} = {}, TErrorViewProps extends ErrorViewProps<TError> = ErrorViewProps<TError>, TMoreViewProps extends MoreViewProps = MoreViewProps> {
8
+ export interface DataInfiniteLoaderProps<TError, TLoadingViewProps extends object = {}, TErrorViewProps extends ErrorViewProps<TError> = ErrorViewProps<TError>, TMoreViewProps extends MoreViewProps = MoreViewProps> {
9
9
  status: DataLoaderStatus;
10
10
  error: TError | null;
11
11
  errorAction?: ErrorAction | ErrorAction['handler'];
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {ComponentType, ReactNode} from 'react';\n\nimport type {DataLoaderStatus} from '../../../core';\nimport type {ErrorAction, ErrorViewProps} from '../types';\n\nexport interface MoreViewProps {\n isLoading: boolean;\n onClick: () => void;\n}\n\nexport interface DataInfiniteLoaderProps<\n TError,\n TLoadingViewProps extends {} = {},\n TErrorViewProps extends ErrorViewProps<TError> = ErrorViewProps<TError>,\n TMoreViewProps extends MoreViewProps = MoreViewProps,\n> {\n status: DataLoaderStatus;\n error: TError | null;\n errorAction?: ErrorAction | ErrorAction['handler'];\n hasNextPage: boolean;\n fetchNextPage: () => unknown;\n isFetchingNextPage: boolean;\n LoadingView: ComponentType<TLoadingViewProps>;\n ErrorView: ComponentType<TErrorViewProps>;\n MoreView: ComponentType<TMoreViewProps>;\n loadingViewProps?: TLoadingViewProps;\n errorViewProps?: Omit<TErrorViewProps, keyof ErrorViewProps<TError>>;\n moreViewProps?: Omit<TMoreViewProps, keyof MoreViewProps>;\n children: ReactNode;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {ComponentType, ReactNode} from 'react';\n\nimport type {DataLoaderStatus} from '../../../core';\nimport type {ErrorAction, ErrorViewProps} from '../types';\n\nexport interface MoreViewProps {\n isLoading: boolean;\n onClick: () => void;\n}\n\nexport interface DataInfiniteLoaderProps<\n TError,\n TLoadingViewProps extends object = {},\n TErrorViewProps extends ErrorViewProps<TError> = ErrorViewProps<TError>,\n TMoreViewProps extends MoreViewProps = MoreViewProps,\n> {\n status: DataLoaderStatus;\n error: TError | null;\n errorAction?: ErrorAction | ErrorAction['handler'];\n hasNextPage: boolean;\n fetchNextPage: () => unknown;\n isFetchingNextPage: boolean;\n LoadingView: ComponentType<TLoadingViewProps>;\n ErrorView: ComponentType<TErrorViewProps>;\n MoreView: ComponentType<TMoreViewProps>;\n loadingViewProps?: TLoadingViewProps;\n errorViewProps?: Omit<TErrorViewProps, keyof ErrorViewProps<TError>>;\n moreViewProps?: Omit<TMoreViewProps, keyof MoreViewProps>;\n children: ReactNode;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import type { ComponentType, ReactNode } from 'react';
2
2
  import type { DataLoaderStatus } from '../../../core';
3
3
  import type { ErrorAction, ErrorViewProps } from '../types';
4
- export interface DataLoaderProps<TError, TLoadingViewProps extends {} = {}, TErrorViewProps extends ErrorViewProps<TError> = ErrorViewProps<TError>> {
4
+ export interface DataLoaderProps<TError, TLoadingViewProps extends object = {}, TErrorViewProps extends ErrorViewProps<TError> = ErrorViewProps<TError>> {
5
5
  status: DataLoaderStatus;
6
6
  error: TError | null;
7
7
  errorAction?: ErrorAction | ErrorAction['handler'];
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {ComponentType, ReactNode} from 'react';\n\nimport type {DataLoaderStatus} from '../../../core';\nimport type {ErrorAction, ErrorViewProps} from '../types';\n\nexport interface DataLoaderProps<\n TError,\n TLoadingViewProps extends {} = {},\n TErrorViewProps extends ErrorViewProps<TError> = ErrorViewProps<TError>,\n> {\n status: DataLoaderStatus;\n error: TError | null;\n errorAction?: ErrorAction | ErrorAction['handler'];\n LoadingView: ComponentType<TLoadingViewProps>;\n ErrorView: ComponentType<TErrorViewProps>;\n loadingViewProps?: TLoadingViewProps;\n errorViewProps?: Omit<TErrorViewProps, keyof ErrorViewProps<TError>>;\n children: ReactNode;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {ComponentType, ReactNode} from 'react';\n\nimport type {DataLoaderStatus} from '../../../core';\nimport type {ErrorAction, ErrorViewProps} from '../types';\n\nexport interface DataLoaderProps<\n TError,\n TLoadingViewProps extends object = {},\n TErrorViewProps extends ErrorViewProps<TError> = ErrorViewProps<TError>,\n> {\n status: DataLoaderStatus;\n error: TError | null;\n errorAction?: ErrorAction | ErrorAction['handler'];\n LoadingView: ComponentType<TLoadingViewProps>;\n ErrorView: ComponentType<TErrorViewProps>;\n loadingViewProps?: TLoadingViewProps;\n errorViewProps?: Omit<TErrorViewProps, keyof ErrorViewProps<TError>>;\n children: ReactNode;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,3 +1,3 @@
1
1
  import type { DataSourceOptions, DataSourceParams, DataSourceState } from '../../core';
2
2
  import type { AnyQueryDataSource } from '../types';
3
- export declare const useQueryData: <TDataSource extends AnyQueryDataSource>(dataSource: TDataSource, params: DataSourceParams<TDataSource>, options?: DataSourceOptions<TDataSource>) => DataSourceState<TDataSource>;
3
+ export declare const useQueryData: <TDataSource extends AnyQueryDataSource>(dataSource: TDataSource, params: DataSourceParams<TDataSource>, options?: Partial<DataSourceOptions<TDataSource>>) => DataSourceState<TDataSource>;
@@ -6,20 +6,24 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useQueryData = void 0;
7
7
  var _hooks = require("../impl/infinite/hooks");
8
8
  var _hooks2 = require("../impl/plain/hooks");
9
+ var _notReachable = require("../utils/notReachable");
9
10
  var _useQueryContext = require("./useQueryContext");
10
11
  var useQueryData = exports.useQueryData = function useQueryData(dataSource, params, options) {
11
12
  var context = (0, _useQueryContext.useQueryContext)();
13
+ var type = dataSource.type;
12
14
  var state;
13
15
 
14
16
  // Do not change data source type in the same hook call
15
- if (dataSource.type === 'plain') {
17
+ if (type === 'plain') {
16
18
  // eslint-disable-next-line react-hooks/rules-of-hooks
17
19
  state = (0, _hooks2.usePlainQueryData)(context, dataSource, params, options);
18
- } else if (dataSource.type === 'infinite') {
20
+ } else if (type === 'infinite') {
19
21
  // eslint-disable-next-line react-hooks/rules-of-hooks
20
- state = (0, _hooks.useInfiniteQueryData)(context, dataSource, params, options);
22
+ state = (0, _hooks.useInfiniteQueryData)(context, dataSource, params,
23
+ // TS can't calculate types in this place
24
+ options);
21
25
  } else {
22
- throw new Error('Data Source type must be plain or infinite');
26
+ return (0, _notReachable.notReachable)(type, "Data Source type must be plain or infinite, got: ".concat(type));
23
27
  }
24
28
  return state;
25
29
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_hooks","require","_hooks2","_useQueryContext","useQueryData","exports","dataSource","params","options","context","useQueryContext","state","type","usePlainQueryData","useInfiniteQueryData","Error"],"sources":["useQueryData.ts"],"sourcesContent":["import type {DataSourceOptions, DataSourceParams, DataSourceState} from '../../core';\nimport {useInfiniteQueryData} from '../impl/infinite/hooks';\nimport {usePlainQueryData} from '../impl/plain/hooks';\nimport type {AnyQueryDataSource} from '../types';\n\nimport {useQueryContext} from './useQueryContext';\n\nexport const useQueryData = <TDataSource extends AnyQueryDataSource>(\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: DataSourceOptions<TDataSource>,\n): DataSourceState<TDataSource> => {\n const context = useQueryContext();\n\n let state: DataSourceState<AnyQueryDataSource> | undefined;\n\n // Do not change data source type in the same hook call\n if (dataSource.type === 'plain') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n state = usePlainQueryData(context, dataSource, params, options);\n } else if (dataSource.type === 'infinite') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n state = useInfiniteQueryData(context, dataSource, params, options);\n } else {\n throw new Error('Data Source type must be plain or infinite');\n }\n\n return state as DataSourceState<TDataSource>;\n};\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAGA,IAAAE,gBAAA,GAAAF,OAAA;AAEO,IAAMG,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,SAAfA,YAAYA,CACrBE,UAAuB,EACvBC,MAAqC,EACrCC,OAAwC,EACT;EAC/B,IAAMC,OAAO,GAAG,IAAAC,gCAAe,EAAC,CAAC;EAEjC,IAAIC,KAAsD;;EAE1D;EACA,IAAIL,UAAU,CAACM,IAAI,KAAK,OAAO,EAAE;IAC7B;IACAD,KAAK,GAAG,IAAAE,yBAAiB,EAACJ,OAAO,EAAEH,UAAU,EAAEC,MAAM,EAAEC,OAAO,CAAC;EACnE,CAAC,MAAM,IAAIF,UAAU,CAACM,IAAI,KAAK,UAAU,EAAE;IACvC;IACAD,KAAK,GAAG,IAAAG,2BAAoB,EAACL,OAAO,EAAEH,UAAU,EAAEC,MAAM,EAAEC,OAAO,CAAC;EACtE,CAAC,MAAM;IACH,MAAM,IAAIO,KAAK,CAAC,4CAA4C,CAAC;EACjE;EAEA,OAAOJ,KAAK;AAChB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_hooks","require","_hooks2","_notReachable","_useQueryContext","useQueryData","exports","dataSource","params","options","context","useQueryContext","type","state","usePlainQueryData","useInfiniteQueryData","notReachable","concat"],"sources":["useQueryData.ts"],"sourcesContent":["import type {DataSourceOptions, DataSourceParams, DataSourceState} from '../../core';\nimport {useInfiniteQueryData} from '../impl/infinite/hooks';\nimport type {AnyInfiniteQueryDataSource} from '../impl/infinite/types';\nimport {usePlainQueryData} from '../impl/plain/hooks';\nimport type {AnyQueryDataSource} from '../types';\nimport {notReachable} from '../utils/notReachable';\n\nimport {useQueryContext} from './useQueryContext';\n\nexport const useQueryData = <TDataSource extends AnyQueryDataSource>(\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): DataSourceState<TDataSource> => {\n const context = useQueryContext();\n\n const type = dataSource.type;\n let state: DataSourceState<AnyQueryDataSource> | undefined;\n\n // Do not change data source type in the same hook call\n if (type === 'plain') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n state = usePlainQueryData(context, dataSource, params, options);\n } else if (type === 'infinite') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n state = useInfiniteQueryData(\n context,\n dataSource,\n params,\n // TS can't calculate types in this place\n options as Partial<DataSourceOptions<AnyInfiniteQueryDataSource>> | undefined,\n );\n } else {\n return notReachable(type, `Data Source type must be plain or infinite, got: ${type}`);\n }\n\n return state as DataSourceState<TDataSource>;\n};\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,aAAA,GAAAF,OAAA;AAEA,IAAAG,gBAAA,GAAAH,OAAA;AAEO,IAAMI,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,SAAfA,YAAYA,CACrBE,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAClB;EAC/B,IAAMC,OAAO,GAAG,IAAAC,gCAAe,EAAC,CAAC;EAEjC,IAAMC,IAAI,GAAGL,UAAU,CAACK,IAAI;EAC5B,IAAIC,KAAsD;;EAE1D;EACA,IAAID,IAAI,KAAK,OAAO,EAAE;IAClB;IACAC,KAAK,GAAG,IAAAC,yBAAiB,EAACJ,OAAO,EAAEH,UAAU,EAAEC,MAAM,EAAEC,OAAO,CAAC;EACnE,CAAC,MAAM,IAAIG,IAAI,KAAK,UAAU,EAAE;IAC5B;IACAC,KAAK,GAAG,IAAAE,2BAAoB,EACxBL,OAAO,EACPH,UAAU,EACVC,MAAM;IACN;IACAC,OACJ,CAAC;EACL,CAAC,MAAM;IACH,OAAO,IAAAO,0BAAY,EAACJ,IAAI,sDAAAK,MAAA,CAAsDL,IAAI,CAAE,CAAC;EACzF;EAEA,OAAOC,KAAK;AAChB,CAAC","ignoreList":[]}
@@ -1,2 +1,2 @@
1
1
  import type { InfiniteQueryDataSource } from './types';
2
- export declare const makeInfiniteQueryDataSource: <TParams, TRequest, TResponse, TData, TError>(config: Omit<InfiniteQueryDataSource<TParams, TRequest, TResponse, TData, TError>, "type">) => InfiniteQueryDataSource<TParams, TRequest, TResponse, TData, TError>;
2
+ export declare const makeInfiniteQueryDataSource: <TParams, TRequest extends object, TResponse, TData, TError>(config: Omit<InfiniteQueryDataSource<TParams, TRequest, TResponse, TData, TError>, "type">) => InfiniteQueryDataSource<TParams, TRequest, TResponse, TData, TError>;
@@ -1 +1 @@
1
- {"version":3,"names":["makeInfiniteQueryDataSource","exports","config","_objectSpread","type"],"sources":["factory.ts"],"sourcesContent":["import type {InfiniteQueryDataSource} from './types';\n\nexport const makeInfiniteQueryDataSource = <TParams, TRequest, TResponse, TData, TError>(\n config: Omit<InfiniteQueryDataSource<TParams, TRequest, TResponse, TData, TError>, 'type'>,\n): InfiniteQueryDataSource<TParams, TRequest, TResponse, TData, TError> => ({\n ...config,\n type: 'infinite',\n});\n"],"mappings":";;;;;;;;AAEO,IAAMA,2BAA2B,GAAAC,OAAA,CAAAD,2BAAA,GAAG,SAA9BA,2BAA2BA,CACpCE,MAA0F;EAAA,WAAAC,sBAAA,MAAAA,sBAAA,MAEvFD,MAAM;IACTE,IAAI,EAAE;EAAU;AAAA,CAClB","ignoreList":[]}
1
+ {"version":3,"names":["makeInfiniteQueryDataSource","exports","config","_objectSpread","type"],"sources":["factory.ts"],"sourcesContent":["import type {InfiniteQueryDataSource} from './types';\n\nexport const makeInfiniteQueryDataSource = <\n TParams,\n TRequest extends object,\n TResponse,\n TData,\n TError,\n>(\n config: Omit<InfiniteQueryDataSource<TParams, TRequest, TResponse, TData, TError>, 'type'>,\n): InfiniteQueryDataSource<TParams, TRequest, TResponse, TData, TError> => ({\n ...config,\n type: 'infinite',\n});\n"],"mappings":";;;;;;;;AAEO,IAAMA,2BAA2B,GAAAC,OAAA,CAAAD,2BAAA,GAAG,SAA9BA,2BAA2BA,CAOpCE,MAA0F;EAAA,WAAAC,sBAAA,MAAAA,sBAAA,MAEvFD,MAAM;IACTE,IAAI,EAAE;EAAU;AAAA,CAClB","ignoreList":[]}
@@ -1,3 +1,3 @@
1
- import type { DataSourceContext, DataSourceOptions, DataSourceParams } from '../../../core';
1
+ import type { DataSourceContext, DataSourceOptions, DataSourceParams, DataSourceState } from '../../../core';
2
2
  import type { AnyInfiniteQueryDataSource } from './types';
3
- export declare const useInfiniteQueryData: <TDataSource extends AnyInfiniteQueryDataSource>(context: DataSourceContext<TDataSource>, dataSource: TDataSource, params: DataSourceParams<TDataSource>, options?: DataSourceOptions<TDataSource>) => import("../../../core").DataSourceState<TDataSource>;
3
+ export declare const useInfiniteQueryData: <TDataSource extends AnyInfiniteQueryDataSource>(context: DataSourceContext<TDataSource>, dataSource: TDataSource, params: DataSourceParams<TDataSource>, options?: Partial<DataSourceOptions<TDataSource>>) => DataSourceState<TDataSource>;
@@ -4,14 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useInfiniteQueryData = void 0;
7
- var _react = require("react");
8
7
  var _reactQuery = require("@tanstack/react-query");
9
8
  var _utils = require("./utils");
10
9
  var useInfiniteQueryData = exports.useInfiniteQueryData = function useInfiniteQueryData(context, dataSource, params, options) {
11
10
  var composedOptions = (0, _utils.composeOptions)(context, dataSource, params, options);
12
11
  var result = (0, _reactQuery.useInfiniteQuery)(composedOptions);
13
- return (0, _react.useMemo)(function () {
14
- return (0, _utils.transformResult)(result);
15
- }, [result]);
12
+ return (0, _utils.transformResult)(result);
16
13
  };
17
14
  // #sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactQuery","_utils","useInfiniteQueryData","exports","context","dataSource","params","options","composedOptions","composeOptions","result","useInfiniteQuery","useMemo","transformResult"],"sources":["hooks.ts"],"sourcesContent":["import {useMemo} from 'react';\n\nimport {useInfiniteQuery} from '@tanstack/react-query';\n\nimport type {DataSourceContext, DataSourceOptions, DataSourceParams} from '../../../core';\n\nimport type {AnyInfiniteQueryDataSource} from './types';\nimport {composeOptions, transformResult} from './utils';\n\nexport const useInfiniteQueryData = <TDataSource extends AnyInfiniteQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: DataSourceOptions<TDataSource>,\n) => {\n const composedOptions = composeOptions(context, dataSource, params, options);\n const result = useInfiniteQuery(composedOptions);\n\n return useMemo(() => transformResult(result), [result]);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AAEO,IAAMG,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG,SAAvBA,oBAAoBA,CAC7BE,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAwC,EACvC;EACD,IAAMC,eAAe,GAAG,IAAAC,qBAAc,EAACL,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC5E,IAAMG,MAAM,GAAG,IAAAC,4BAAgB,EAACH,eAAe,CAAC;EAEhD,OAAO,IAAAI,cAAO,EAAC;IAAA,OAAM,IAAAC,sBAAe,EAACH,MAAM,CAAC;EAAA,GAAE,CAACA,MAAM,CAAC,CAAC;AAC3D,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactQuery","require","_utils","useInfiniteQueryData","exports","context","dataSource","params","options","composedOptions","composeOptions","result","useInfiniteQuery","transformResult"],"sources":["hooks.ts"],"sourcesContent":["import {useInfiniteQuery} from '@tanstack/react-query';\n\nimport type {\n DataSourceContext,\n DataSourceOptions,\n DataSourceParams,\n DataSourceState,\n} from '../../../core';\n\nimport type {AnyInfiniteQueryDataSource} from './types';\nimport {composeOptions, transformResult} from './utils';\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 composedOptions = composeOptions(context, dataSource, params, options);\n const result = useInfiniteQuery(composedOptions);\n\n return transformResult(result);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAUA,IAAAC,MAAA,GAAAD,OAAA;AAEO,IAAME,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG,SAAvBA,oBAAoBA,CAC7BE,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAClB;EAC/B,IAAMC,eAAe,GAAG,IAAAC,qBAAc,EAACL,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC5E,IAAMG,MAAM,GAAG,IAAAC,4BAAgB,EAACH,eAAe,CAAC;EAEhD,OAAO,IAAAI,sBAAe,EAACF,MAAM,CAAC;AAClC,CAAC","ignoreList":[]}
@@ -1,18 +1,20 @@
1
- import type { InfiniteQueryObserverOptions, InfiniteQueryObserverResult, QueryFunctionContext } from '@tanstack/react-query';
1
+ import type { InfiniteData, InfiniteQueryObserverOptions, InfiniteQueryObserverResult, QueryFunctionContext } from '@tanstack/react-query';
2
2
  import type { Overwrite } from 'utility-types';
3
3
  import type { ActualData, DataLoaderStatus, DataSource, DataSourceKey } from '../../../core';
4
4
  import type { QueryDataSourceContext } from '../../types';
5
- export type InfiniteQueryDataSource<TParams, TRequest, TResponse, TData, TError> = DataSource<QueryDataSourceContext, TParams, TRequest, TResponse, TData, TError, InfiniteQueryObserverOptions<TResponse, TError, ActualData<TData, TResponse>, TResponse>, ResultWrapper<InfiniteQueryObserverResult<ActualData<TData, TResponse>, TError>>, QueryFunctionContext<DataSourceKey, Partial<TRequest> | undefined>> & {
5
+ export type InfiniteQueryDataSource<TParams, TRequest extends object, TResponse, TData, TError> = DataSource<QueryDataSourceContext, TParams, TRequest, TResponse, TData, TError, InfiniteQueryObserverOptions<TResponse, TError, InfiniteData<ActualData<TData, TResponse>, Partial<TRequest>>, TResponse, DataSourceKey, Partial<TRequest>>, ResultWrapper<InfiniteQueryObserverResult<InfiniteData<ActualData<TData, TResponse>, Partial<TRequest>>, TError>, TRequest, TResponse, TData, TError>, QueryFunctionContext<DataSourceKey, Partial<TRequest>>> & {
6
6
  type: 'infinite';
7
- next: (lastPage: TResponse, allPages: TResponse[]) => Partial<TRequest> | undefined;
8
- prev?: (firstPage: TResponse, allPages: TResponse[]) => Partial<TRequest> | undefined;
7
+ next: (lastPage: TResponse, allPages: TResponse[]) => Partial<TRequest> | null | undefined;
8
+ prev?: (firstPage: TResponse, allPages: TResponse[]) => Partial<TRequest> | null | undefined;
9
9
  };
10
10
  export type AnyInfiniteQueryDataSource = InfiniteQueryDataSource<any, any, any, any, any>;
11
- type ResultWrapper<T> = T extends InfiniteQueryObserverResult<infer TData> ? Overwrite<T, {
11
+ export type AnyPageParam = Partial<any>;
12
+ type ResultWrapper<TResult, TRequest, TResponse, TData, TError> = TResult extends InfiniteQueryObserverResult<InfiniteData<ActualData<TData, TResponse>, Partial<TRequest>>, TError> ? Overwrite<TResult, {
12
13
  status: DataLoaderStatus;
13
- data: TData;
14
+ data: DataWrapper<ActualData<TData, TResponse>>;
14
15
  }> & {
15
- originalStatus: T['status'];
16
- originalData: T['data'];
16
+ originalStatus: TResult['status'];
17
+ originalData: TResult['data'];
17
18
  } : never;
19
+ type DataWrapper<TActualData> = TActualData extends any[] ? TActualData : TActualData[];
18
20
  export {};
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryFunctionContext,\n} from '@tanstack/react-query';\nimport type {Overwrite} from 'utility-types';\n\nimport type {ActualData, DataLoaderStatus, DataSource, DataSourceKey} from '../../../core';\nimport type {QueryDataSourceContext} from '../../types';\n\nexport type InfiniteQueryDataSource<TParams, TRequest, TResponse, TData, TError> = DataSource<\n QueryDataSourceContext,\n TParams,\n TRequest,\n TResponse,\n TData,\n TError,\n InfiniteQueryObserverOptions<TResponse, TError, ActualData<TData, TResponse>, TResponse>,\n ResultWrapper<InfiniteQueryObserverResult<ActualData<TData, TResponse>, TError>>,\n QueryFunctionContext<DataSourceKey, Partial<TRequest> | undefined>\n> & {\n type: 'infinite';\n next: (lastPage: TResponse, allPages: TResponse[]) => Partial<TRequest> | undefined;\n prev?: (firstPage: TResponse, allPages: TResponse[]) => Partial<TRequest> | undefined;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyInfiniteQueryDataSource = InfiniteQueryDataSource<any, any, any, any, any>;\n\ntype ResultWrapper<T> =\n T extends InfiniteQueryObserverResult<infer TData>\n ? Overwrite<T, {status: DataLoaderStatus; data: TData}> & {\n originalStatus: T['status'];\n originalData: T['data'];\n }\n : never;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryFunctionContext,\n} from '@tanstack/react-query';\nimport type {Overwrite} from 'utility-types';\n\nimport type {ActualData, DataLoaderStatus, DataSource, DataSourceKey} from '../../../core';\nimport type {QueryDataSourceContext} from '../../types';\n\nexport type InfiniteQueryDataSource<\n TParams,\n TRequest extends object,\n TResponse,\n TData,\n TError,\n> = DataSource<\n QueryDataSourceContext,\n TParams,\n TRequest,\n TResponse,\n TData,\n TError,\n InfiniteQueryObserverOptions<\n TResponse,\n TError,\n InfiniteData<ActualData<TData, TResponse>, Partial<TRequest>>,\n TResponse,\n DataSourceKey,\n Partial<TRequest>\n >,\n ResultWrapper<\n InfiniteQueryObserverResult<\n InfiniteData<ActualData<TData, TResponse>, Partial<TRequest>>,\n TError\n >,\n TRequest,\n TResponse,\n TData,\n TError\n >,\n QueryFunctionContext<DataSourceKey, Partial<TRequest>>\n> & {\n type: 'infinite';\n next: (lastPage: TResponse, allPages: TResponse[]) => Partial<TRequest> | null | undefined;\n prev?: (firstPage: TResponse, allPages: TResponse[]) => Partial<TRequest> | null | undefined;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyInfiniteQueryDataSource = InfiniteQueryDataSource<any, any, any, any, any>;\n\n// It is used instead of `Partial<DataSourceRequest<TDataSource>>` because TS can't calculate type\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyPageParam = Partial<any>;\n\ntype ResultWrapper<TResult, TRequest, TResponse, TData, TError> =\n TResult extends InfiniteQueryObserverResult<\n InfiniteData<ActualData<TData, TResponse>, Partial<TRequest>>,\n TError\n >\n ? Overwrite<\n TResult,\n {status: DataLoaderStatus; data: DataWrapper<ActualData<TData, TResponse>>}\n > & {\n originalStatus: TResult['status'];\n originalData: TResult['data'];\n }\n : never;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype DataWrapper<TActualData> = TActualData extends any[] ? TActualData : TActualData[];\n"],"mappings":"","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import type { InfiniteQueryObserverOptions, InfiniteQueryObserverResult } from '@tanstack/react-query';
2
- import type { DataSourceContext, DataSourceData, DataSourceError, DataSourceOptions, DataSourceParams, DataSourceResponse, DataSourceState } from '../../../core';
3
- import type { AnyInfiniteQueryDataSource } from './types';
4
- export declare const composeOptions: <TDataSource extends AnyInfiniteQueryDataSource>(context: DataSourceContext<TDataSource>, dataSource: TDataSource, params: DataSourceParams<TDataSource>, options?: DataSourceOptions<TDataSource>) => InfiniteQueryObserverOptions<DataSourceResponse<TDataSource>, DataSourceError<TDataSource>, DataSourceData<TDataSource>, DataSourceResponse<TDataSource>>;
5
- export declare const transformResult: <TDataSource extends AnyInfiniteQueryDataSource>(result: InfiniteQueryObserverResult<DataSourceData<TDataSource>, DataSourceError<TDataSource>>) => DataSourceState<TDataSource>;
1
+ import type { InfiniteData, InfiniteQueryObserverOptions, InfiniteQueryObserverResult } from '@tanstack/react-query';
2
+ import type { DataSourceContext, DataSourceData, DataSourceError, DataSourceKey, DataSourceOptions, DataSourceParams, DataSourceResponse, DataSourceState } from '../../../core';
3
+ import type { AnyInfiniteQueryDataSource, AnyPageParam } from './types';
4
+ export declare const composeOptions: <TDataSource extends AnyInfiniteQueryDataSource>(context: DataSourceContext<TDataSource>, dataSource: TDataSource, params: DataSourceParams<TDataSource>, options?: Partial<DataSourceOptions<TDataSource>>) => InfiniteQueryObserverOptions<DataSourceResponse<TDataSource>, DataSourceError<TDataSource>, InfiniteData<DataSourceData<TDataSource>, AnyPageParam>, DataSourceResponse<TDataSource>, DataSourceKey, AnyPageParam>;
5
+ export declare const transformResult: <TDataSource extends AnyInfiniteQueryDataSource>(result: InfiniteQueryObserverResult<InfiniteData<DataSourceData<TDataSource>, AnyPageParam>, DataSourceError<TDataSource>>) => DataSourceState<TDataSource>;
@@ -4,39 +4,41 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.transformResult = exports.composeOptions = void 0;
7
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
8
7
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
8
+ var _reactQuery = require("@tanstack/react-query");
9
9
  var _core = require("../../../core");
10
10
  var _normalizeStatus = require("../../utils/normalizeStatus");
11
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
12
  var EMPTY_ARRAY = [];
13
+ var EMPTY_OBJECT = {};
13
14
  var composeOptions = exports.composeOptions = function composeOptions(context, dataSource, params, options) {
14
15
  var transformParams = dataSource.transformParams,
15
16
  transformResponse = dataSource.transformResponse,
16
17
  next = dataSource.next,
17
18
  prev = dataSource.prev;
18
- return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, dataSource.options), {}, {
19
- enabled: params !== _core.idle,
19
+ var queryFn = function queryFn(fetchContext) {
20
+ var request = transformParams ? transformParams(params) : params;
21
+ var paginatedRequest = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, request), fetchContext.pageParam);
22
+ return dataSource.fetch(context, fetchContext, paginatedRequest);
23
+ };
24
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({
20
25
  queryKey: (0, _core.composeFullKey)(dataSource, params),
21
- queryFn: function queryFn(fetchContext) {
22
- var actualParams = transformParams ? transformParams(params) : params;
23
- var request = (0, _typeof2.default)(actualParams) === 'object' ? (0, _objectSpread2.default)((0, _objectSpread2.default)({}, actualParams), fetchContext.pageParam) : actualParams;
24
- return dataSource.fetch(context, fetchContext, request);
25
- },
26
+ queryFn: params === _core.idle ? _reactQuery.skipToken : queryFn,
26
27
  select: transformResponse ? function (data) {
27
28
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
28
29
  pages: data.pages.map(transformResponse)
29
30
  });
30
31
  } : undefined,
32
+ initialPageParam: EMPTY_OBJECT,
31
33
  getNextPageParam: next,
32
34
  getPreviousPageParam: prev
33
- }, options);
35
+ }, dataSource.options), options);
34
36
  };
35
37
  var transformResult = exports.transformResult = function transformResult(result) {
36
38
  var _result$data$pages$fl, _result$data;
37
39
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, result), {}, {
38
40
  status: (0, _normalizeStatus.normalizeStatus)(result.status, result.fetchStatus),
39
- data: (_result$data$pages$fl = (_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.pages.flat()) !== null && _result$data$pages$fl !== void 0 ? _result$data$pages$fl : EMPTY_ARRAY,
41
+ data: (_result$data$pages$fl = (_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.pages.flat(1)) !== null && _result$data$pages$fl !== void 0 ? _result$data$pages$fl : EMPTY_ARRAY,
40
42
  originalStatus: result.status,
41
43
  originalData: result.data
42
44
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","_normalizeStatus","_interopRequireDefault","e","__esModule","default","EMPTY_ARRAY","composeOptions","exports","context","dataSource","params","options","transformParams","transformResponse","next","prev","_objectSpread","enabled","idle","queryKey","composeFullKey","queryFn","fetchContext","actualParams","request","_typeof","pageParam","fetch","select","data","pages","map","undefined","getNextPageParam","getPreviousPageParam","transformResult","result","_result$data$pages$fl","_result$data","status","normalizeStatus","fetchStatus","flat","originalStatus","originalData"],"sources":["utils.ts"],"sourcesContent":["import type {\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryFunctionContext,\n} 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 DataSourceRequest,\n DataSourceResponse,\n DataSourceState,\n} from '../../../core';\nimport {normalizeStatus} from '../../utils/normalizeStatus';\n\nimport type {AnyInfiniteQueryDataSource} from './types';\n\nconst EMPTY_ARRAY: unknown[] = [];\n\nexport const composeOptions = <TDataSource extends AnyInfiniteQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: DataSourceOptions<TDataSource>,\n): InfiniteQueryObserverOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n DataSourceData<TDataSource>,\n DataSourceResponse<TDataSource>\n> => {\n const {transformParams, transformResponse, next, prev} = dataSource;\n\n return {\n ...dataSource.options,\n enabled: params !== idle,\n queryKey: composeFullKey(dataSource, params),\n queryFn: (\n fetchContext: QueryFunctionContext<\n DataSourceKey,\n Partial<DataSourceRequest<TDataSource>> | undefined\n >,\n ) => {\n const actualParams = transformParams ? transformParams(params) : params;\n const request =\n typeof actualParams === 'object'\n ? {...actualParams, ...fetchContext.pageParam}\n : actualParams;\n\n return dataSource.fetch(context, fetchContext, request);\n },\n select: transformResponse\n ? (data) => ({...data, pages: data.pages.map(transformResponse)})\n : undefined,\n getNextPageParam: next,\n getPreviousPageParam: prev,\n ...options,\n };\n};\n\nexport const transformResult = <TDataSource extends AnyInfiniteQueryDataSource>(\n result: InfiniteQueryObserverResult<DataSourceData<TDataSource>, DataSourceError<TDataSource>>,\n) => {\n return {\n ...result,\n status: normalizeStatus(result.status, result.fetchStatus),\n data: result.data?.pages.flat() ?? EMPTY_ARRAY,\n originalStatus: result.status,\n originalData: result.data,\n } as DataSourceState<TDataSource>;\n};\n"],"mappings":";;;;;;;;AAMA,IAAAA,KAAA,GAAAC,OAAA;AAYA,IAAAC,gBAAA,GAAAD,OAAA;AAA2D,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAI3D,IAAMG,WAAsB,GAAG,EAAE;AAE1B,IAAMC,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,SAAjBA,cAAcA,CACvBE,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAwC,EAMvC;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,WAAAC,sBAAA,MAAAA,sBAAA,MACOP,UAAU,CAACE,OAAO;IACrBM,OAAO,EAAEP,MAAM,KAAKQ,UAAI;IACxBC,QAAQ,EAAE,IAAAC,oBAAc,EAACX,UAAU,EAAEC,MAAM,CAAC;IAC5CW,OAAO,EAAE,SAATA,OAAOA,CACHC,YAGC,EACA;MACD,IAAMC,YAAY,GAAGX,eAAe,GAAGA,eAAe,CAACF,MAAM,CAAC,GAAGA,MAAM;MACvE,IAAMc,OAAO,GACT,IAAAC,gBAAA,EAAOF,YAAY,MAAK,QAAQ,OAAAP,sBAAA,MAAAA,sBAAA,MACtBO,YAAY,GAAKD,YAAY,CAACI,SAAS,IAC3CH,YAAY;MAEtB,OAAOd,UAAU,CAACkB,KAAK,CAACnB,OAAO,EAAEc,YAAY,EAAEE,OAAO,CAAC;IAC3D,CAAC;IACDI,MAAM,EAAEf,iBAAiB,GACnB,UAACgB,IAAI;MAAA,WAAAb,sBAAA,MAAAA,sBAAA,MAAUa,IAAI;QAAEC,KAAK,EAAED,IAAI,CAACC,KAAK,CAACC,GAAG,CAAClB,iBAAiB;MAAC;IAAA,CAAE,GAC/DmB,SAAS;IACfC,gBAAgB,EAAEnB,IAAI;IACtBoB,oBAAoB,EAAEnB;EAAI,GACvBJ,OAAO;AAElB,CAAC;AAEM,IAAMwB,eAAe,GAAA5B,OAAA,CAAA4B,eAAA,GAAG,SAAlBA,eAAeA,CACxBC,MAA8F,EAC7F;EAAA,IAAAC,qBAAA,EAAAC,YAAA;EACD,WAAAtB,sBAAA,MAAAA,sBAAA,MACOoB,MAAM;IACTG,MAAM,EAAE,IAAAC,gCAAe,EAACJ,MAAM,CAACG,MAAM,EAAEH,MAAM,CAACK,WAAW,CAAC;IAC1DZ,IAAI,GAAAQ,qBAAA,IAAAC,YAAA,GAAEF,MAAM,CAACP,IAAI,cAAAS,YAAA,uBAAXA,YAAA,CAAaR,KAAK,CAACY,IAAI,CAAC,CAAC,cAAAL,qBAAA,cAAAA,qBAAA,GAAIhC,WAAW;IAC9CsC,cAAc,EAAEP,MAAM,CAACG,MAAM;IAC7BK,YAAY,EAAER,MAAM,CAACP;EAAI;AAEjC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactQuery","require","_core","_normalizeStatus","_interopRequireDefault","e","__esModule","default","EMPTY_ARRAY","EMPTY_OBJECT","composeOptions","exports","context","dataSource","params","options","transformParams","transformResponse","next","prev","queryFn","fetchContext","request","paginatedRequest","_objectSpread","pageParam","fetch","queryKey","composeFullKey","idle","skipToken","select","data","pages","map","undefined","initialPageParam","getNextPageParam","getPreviousPageParam","transformResult","result","_result$data$pages$fl","_result$data","status","normalizeStatus","fetchStatus","flat","originalStatus","originalData"],"sources":["utils.ts"],"sourcesContent":["import {skipToken} from '@tanstack/react-query';\nimport type {\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryFunctionContext,\n} 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 DataSourceState,\n} from '../../../core';\nimport {normalizeStatus} from '../../utils/normalizeStatus';\n\nimport type {AnyInfiniteQueryDataSource, AnyPageParam} from './types';\n\nconst EMPTY_ARRAY: unknown[] = [];\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): InfiniteQueryObserverOptions<\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 = (\n fetchContext: QueryFunctionContext<DataSourceKey, AnyPageParam>,\n ): DataSourceResponse<TDataSource> | Promise<DataSourceResponse<TDataSource>> => {\n const request = transformParams ? transformParams(params) : params;\n const paginatedRequest = {...request, ...fetchContext.pageParam};\n\n return dataSource.fetch(context, fetchContext, paginatedRequest);\n };\n\n return {\n queryKey: composeFullKey(dataSource, params),\n queryFn: params === idle ? skipToken : queryFn,\n select: transformResponse\n ? (data) => ({...data, pages: data.pages.map(transformResponse)})\n : undefined,\n initialPageParam: EMPTY_OBJECT,\n getNextPageParam: next,\n getPreviousPageParam: prev,\n ...dataSource.options,\n ...options,\n };\n};\n\nexport const transformResult = <TDataSource extends AnyInfiniteQueryDataSource>(\n result: InfiniteQueryObserverResult<\n InfiniteData<DataSourceData<TDataSource>, AnyPageParam>,\n DataSourceError<TDataSource>\n >,\n): DataSourceState<TDataSource> => {\n return {\n ...result,\n status: normalizeStatus(result.status, result.fetchStatus),\n data: result.data?.pages.flat(1) ?? EMPTY_ARRAY,\n originalStatus: result.status,\n originalData: result.data,\n } as DataSourceState<TDataSource>;\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAQA,IAAAC,KAAA,GAAAD,OAAA;AAWA,IAAAE,gBAAA,GAAAF,OAAA;AAA2D,SAAAG,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAI3D,IAAMG,WAAsB,GAAG,EAAE;AACjC,IAAMC,YAAY,GAAG,CAAC,CAAC;AAEhB,IAAMC,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,SAAjBA,cAAcA,CACvBE,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,GAAG,SAAVA,OAAOA,CACTC,YAA+D,EACc;IAC7E,IAAMC,OAAO,GAAGN,eAAe,GAAGA,eAAe,CAACF,MAAM,CAAC,GAAGA,MAAM;IAClE,IAAMS,gBAAgB,OAAAC,sBAAA,MAAAA,sBAAA,MAAOF,OAAO,GAAKD,YAAY,CAACI,SAAS,CAAC;IAEhE,OAAOZ,UAAU,CAACa,KAAK,CAACd,OAAO,EAAES,YAAY,EAAEE,gBAAgB,CAAC;EACpE,CAAC;EAED,WAAAC,sBAAA,MAAAA,sBAAA;IACIG,QAAQ,EAAE,IAAAC,oBAAc,EAACf,UAAU,EAAEC,MAAM,CAAC;IAC5CM,OAAO,EAAEN,MAAM,KAAKe,UAAI,GAAGC,qBAAS,GAAGV,OAAO;IAC9CW,MAAM,EAAEd,iBAAiB,GACnB,UAACe,IAAI;MAAA,WAAAR,sBAAA,MAAAA,sBAAA,MAAUQ,IAAI;QAAEC,KAAK,EAAED,IAAI,CAACC,KAAK,CAACC,GAAG,CAACjB,iBAAiB;MAAC;IAAA,CAAE,GAC/DkB,SAAS;IACfC,gBAAgB,EAAE3B,YAAY;IAC9B4B,gBAAgB,EAAEnB,IAAI;IACtBoB,oBAAoB,EAAEnB;EAAI,GACvBN,UAAU,CAACE,OAAO,GAClBA,OAAO;AAElB,CAAC;AAEM,IAAMwB,eAAe,GAAA5B,OAAA,CAAA4B,eAAA,GAAG,SAAlBA,eAAeA,CACxBC,MAGC,EAC8B;EAAA,IAAAC,qBAAA,EAAAC,YAAA;EAC/B,WAAAlB,sBAAA,MAAAA,sBAAA,MACOgB,MAAM;IACTG,MAAM,EAAE,IAAAC,gCAAe,EAACJ,MAAM,CAACG,MAAM,EAAEH,MAAM,CAACK,WAAW,CAAC;IAC1Db,IAAI,GAAAS,qBAAA,IAAAC,YAAA,GAAEF,MAAM,CAACR,IAAI,cAAAU,YAAA,uBAAXA,YAAA,CAAaT,KAAK,CAACa,IAAI,CAAC,CAAC,CAAC,cAAAL,qBAAA,cAAAA,qBAAA,GAAIjC,WAAW;IAC/CuC,cAAc,EAAEP,MAAM,CAACG,MAAM;IAC7BK,YAAY,EAAER,MAAM,CAACR;EAAI;AAEjC,CAAC","ignoreList":[]}
@@ -1,2 +1,2 @@
1
1
  import type { PlainQueryDataSource } from './types';
2
- export declare const makePlainQueryDataSource: <TParams, TRequest, TResponse, TData, TError>(config: Omit<PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError>, "type">) => PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError>;
2
+ export declare const makePlainQueryDataSource: <TParams, TRequest extends object, TResponse, TData, TError>(config: Omit<PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError>, "type">) => PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError>;
@@ -1 +1 @@
1
- {"version":3,"names":["makePlainQueryDataSource","exports","config","_objectSpread","type"],"sources":["factory.ts"],"sourcesContent":["import type {PlainQueryDataSource} from './types';\n\nexport const makePlainQueryDataSource = <TParams, TRequest, TResponse, TData, TError>(\n config: Omit<PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError>, 'type'>,\n): PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError> => ({\n ...config,\n type: 'plain',\n});\n"],"mappings":";;;;;;;;AAEO,IAAMA,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA,GAAG,SAA3BA,wBAAwBA,CACjCE,MAAuF;EAAA,WAAAC,sBAAA,MAAAA,sBAAA,MAEpFD,MAAM;IACTE,IAAI,EAAE;EAAO;AAAA,CACf","ignoreList":[]}
1
+ {"version":3,"names":["makePlainQueryDataSource","exports","config","_objectSpread","type"],"sources":["factory.ts"],"sourcesContent":["import type {PlainQueryDataSource} from './types';\n\nexport const makePlainQueryDataSource = <\n TParams,\n TRequest extends object,\n TResponse,\n TData,\n TError,\n>(\n config: Omit<PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError>, 'type'>,\n): PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError> => ({\n ...config,\n type: 'plain',\n});\n"],"mappings":";;;;;;;;AAEO,IAAMA,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA,GAAG,SAA3BA,wBAAwBA,CAOjCE,MAAuF;EAAA,WAAAC,sBAAA,MAAAA,sBAAA,MAEpFD,MAAM;IACTE,IAAI,EAAE;EAAO;AAAA,CACf","ignoreList":[]}
@@ -1,3 +1,3 @@
1
- import type { DataSourceContext, DataSourceOptions, DataSourceParams } from '../../../core';
1
+ import type { DataSourceContext, DataSourceOptions, DataSourceParams, DataSourceState } from '../../../core';
2
2
  import type { AnyPlainQueryDataSource } from './types';
3
- export declare const usePlainQueryData: <TDataSource extends AnyPlainQueryDataSource>(context: DataSourceContext<TDataSource>, dataSource: TDataSource, params: DataSourceParams<TDataSource>, options?: DataSourceOptions<TDataSource>) => import("../../../core").DataSourceState<TDataSource>;
3
+ export declare const usePlainQueryData: <TDataSource extends AnyPlainQueryDataSource>(context: DataSourceContext<TDataSource>, dataSource: TDataSource, params: DataSourceParams<TDataSource>, options?: Partial<DataSourceOptions<TDataSource>>) => DataSourceState<TDataSource>;
@@ -4,14 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.usePlainQueryData = void 0;
7
- var _react = require("react");
8
7
  var _reactQuery = require("@tanstack/react-query");
9
8
  var _utils = require("./utils");
10
9
  var usePlainQueryData = exports.usePlainQueryData = function usePlainQueryData(context, dataSource, params, options) {
11
10
  var composedOptions = (0, _utils.composeOptions)(context, dataSource, params, options);
12
11
  var result = (0, _reactQuery.useQuery)(composedOptions);
13
- return (0, _react.useMemo)(function () {
14
- return (0, _utils.transformResult)(result);
15
- }, [result]);
12
+ return (0, _utils.transformResult)(result);
16
13
  };
17
14
  // #sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactQuery","_utils","usePlainQueryData","exports","context","dataSource","params","options","composedOptions","composeOptions","result","useQuery","useMemo","transformResult"],"sources":["hooks.ts"],"sourcesContent":["import {useMemo} from 'react';\n\nimport {useQuery} from '@tanstack/react-query';\n\nimport type {DataSourceContext, DataSourceOptions, DataSourceParams} from '../../../core';\n\nimport type {AnyPlainQueryDataSource} from './types';\nimport {composeOptions, transformResult} from './utils';\n\nexport const usePlainQueryData = <TDataSource extends AnyPlainQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: DataSourceOptions<TDataSource>,\n) => {\n const composedOptions = composeOptions(context, dataSource, params, options);\n const result = useQuery(composedOptions);\n\n return useMemo(() => transformResult(result), [result]);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AAEO,IAAMG,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,SAApBA,iBAAiBA,CAC1BE,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAwC,EACvC;EACD,IAAMC,eAAe,GAAG,IAAAC,qBAAc,EAACL,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC5E,IAAMG,MAAM,GAAG,IAAAC,oBAAQ,EAACH,eAAe,CAAC;EAExC,OAAO,IAAAI,cAAO,EAAC;IAAA,OAAM,IAAAC,sBAAe,EAACH,MAAM,CAAC;EAAA,GAAE,CAACA,MAAM,CAAC,CAAC;AAC3D,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactQuery","require","_utils","usePlainQueryData","exports","context","dataSource","params","options","composedOptions","composeOptions","result","useQuery","transformResult"],"sources":["hooks.ts"],"sourcesContent":["import {useQuery} from '@tanstack/react-query';\n\nimport type {\n DataSourceContext,\n DataSourceOptions,\n DataSourceParams,\n DataSourceState,\n} from '../../../core';\n\nimport type {AnyPlainQueryDataSource} from './types';\nimport {composeOptions, transformResult} from './utils';\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 composedOptions = composeOptions(context, dataSource, params, options);\n const result = useQuery(composedOptions);\n\n return transformResult(result);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAUA,IAAAC,MAAA,GAAAD,OAAA;AAEO,IAAME,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,SAApBA,iBAAiBA,CAC1BE,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAClB;EAC/B,IAAMC,eAAe,GAAG,IAAAC,qBAAc,EAACL,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC5E,IAAMG,MAAM,GAAG,IAAAC,oBAAQ,EAACH,eAAe,CAAC;EAExC,OAAO,IAAAI,sBAAe,EAACF,MAAM,CAAC;AAClC,CAAC","ignoreList":[]}
@@ -2,13 +2,13 @@ import type { QueryFunctionContext, QueryObserverOptions, QueryObserverResult }
2
2
  import type { Overwrite } from 'utility-types';
3
3
  import type { ActualData, DataLoaderStatus, DataSource, DataSourceKey } from '../../../core';
4
4
  import type { QueryDataSourceContext } from '../../types';
5
- export type PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError> = DataSource<QueryDataSourceContext, TParams, TRequest, TResponse, TData, TError, QueryObserverOptions<TResponse, TError, ActualData<TData, TResponse>, TResponse>, ResultWrapper<QueryObserverResult<ActualData<TData, TResponse>, TError>>, QueryFunctionContext<DataSourceKey, unknown>> & {
5
+ export type PlainQueryDataSource<TParams, TRequest extends object, TResponse, TData, TError> = DataSource<QueryDataSourceContext, TParams, TRequest, TResponse, TData, TError, QueryObserverOptions<TResponse, TError, ActualData<TData, TResponse>, TResponse, DataSourceKey>, ResultWrapper<QueryObserverResult<ActualData<TData, TResponse>, TError>>, QueryFunctionContext<DataSourceKey>> & {
6
6
  type: 'plain';
7
7
  };
8
8
  export type AnyPlainQueryDataSource = PlainQueryDataSource<any, any, any, any, any>;
9
- type ResultWrapper<T> = T extends QueryObserverResult ? Overwrite<T, {
9
+ type ResultWrapper<TResult> = TResult extends QueryObserverResult ? Overwrite<TResult, {
10
10
  status: DataLoaderStatus;
11
11
  }> & {
12
- originalStatus: T['status'];
12
+ originalStatus: TResult['status'];
13
13
  } : never;
14
14
  export {};
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {\n QueryFunctionContext,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/react-query';\nimport type {Overwrite} from 'utility-types';\n\nimport type {ActualData, DataLoaderStatus, DataSource, DataSourceKey} from '../../../core';\nimport type {QueryDataSourceContext} from '../../types';\n\nexport type PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError> = DataSource<\n QueryDataSourceContext,\n TParams,\n TRequest,\n TResponse,\n TData,\n TError,\n QueryObserverOptions<TResponse, TError, ActualData<TData, TResponse>, TResponse>,\n ResultWrapper<QueryObserverResult<ActualData<TData, TResponse>, TError>>,\n QueryFunctionContext<DataSourceKey, unknown>\n> & {\n type: 'plain';\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyPlainQueryDataSource = PlainQueryDataSource<any, any, any, any, any>;\n\ntype ResultWrapper<T> = T extends QueryObserverResult\n ? Overwrite<T, {status: DataLoaderStatus}> & {originalStatus: T['status']}\n : never;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {\n QueryFunctionContext,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/react-query';\nimport type {Overwrite} from 'utility-types';\n\nimport type {ActualData, DataLoaderStatus, DataSource, DataSourceKey} from '../../../core';\nimport type {QueryDataSourceContext} from '../../types';\n\nexport type PlainQueryDataSource<\n TParams,\n TRequest extends object,\n TResponse,\n TData,\n TError,\n> = DataSource<\n QueryDataSourceContext,\n TParams,\n TRequest,\n TResponse,\n TData,\n TError,\n QueryObserverOptions<TResponse, TError, ActualData<TData, TResponse>, TResponse, DataSourceKey>,\n ResultWrapper<QueryObserverResult<ActualData<TData, TResponse>, TError>>,\n QueryFunctionContext<DataSourceKey>\n> & {\n type: 'plain';\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyPlainQueryDataSource = PlainQueryDataSource<any, any, any, any, any>;\n\ntype ResultWrapper<TResult> = TResult extends QueryObserverResult\n ? Overwrite<TResult, {status: DataLoaderStatus}> & {originalStatus: TResult['status']}\n : never;\n"],"mappings":"","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import type { QueryObserverOptions, QueryObserverResult } from '@tanstack/react-query';
2
- import type { DataSourceContext, DataSourceData, DataSourceError, DataSourceOptions, DataSourceParams, DataSourceResponse, DataSourceState } from '../../../core';
1
+ import { type QueryObserverOptions, type QueryObserverResult } from '@tanstack/react-query';
2
+ import type { DataSourceContext, DataSourceData, DataSourceError, DataSourceKey, DataSourceOptions, DataSourceParams, DataSourceResponse, DataSourceState } from '../../../core';
3
3
  import type { AnyPlainQueryDataSource } from './types';
4
- export declare const composeOptions: <TDataSource extends AnyPlainQueryDataSource>(context: DataSourceContext<TDataSource>, dataSource: TDataSource, params: DataSourceParams<TDataSource>, options?: DataSourceOptions<TDataSource>) => QueryObserverOptions<DataSourceResponse<TDataSource>, DataSourceError<TDataSource>, DataSourceData<TDataSource>, DataSourceResponse<TDataSource>>;
4
+ export declare const composeOptions: <TDataSource extends AnyPlainQueryDataSource>(context: DataSourceContext<TDataSource>, dataSource: TDataSource, params: DataSourceParams<TDataSource>, options?: Partial<DataSourceOptions<TDataSource>>) => QueryObserverOptions<DataSourceResponse<TDataSource>, DataSourceError<TDataSource>, DataSourceData<TDataSource>, DataSourceResponse<TDataSource>, DataSourceKey>;
5
5
  export declare const transformResult: <TDataSource extends AnyPlainQueryDataSource>(result: QueryObserverResult<DataSourceData<TDataSource>, DataSourceError<TDataSource>>) => DataSourceState<TDataSource>;
@@ -5,19 +5,20 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.transformResult = exports.composeOptions = void 0;
7
7
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
8
+ var _reactQuery = require("@tanstack/react-query");
8
9
  var _core = require("../../../core");
9
10
  var _normalizeStatus = require("../../utils/normalizeStatus");
10
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
12
  var composeOptions = exports.composeOptions = function composeOptions(context, dataSource, params, options) {
12
13
  var transformParams = dataSource.transformParams;
13
- return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, dataSource.options), {}, {
14
- enabled: params !== _core.idle,
14
+ var queryFn = function queryFn(fetchContext) {
15
+ return dataSource.fetch(context, fetchContext, transformParams ? transformParams(params) : params);
16
+ };
17
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({
15
18
  queryKey: (0, _core.composeFullKey)(dataSource, params),
16
- queryFn: function queryFn(fetchContext) {
17
- return dataSource.fetch(context, fetchContext, transformParams ? transformParams(params) : params);
18
- },
19
+ queryFn: params === _core.idle ? _reactQuery.skipToken : queryFn,
19
20
  select: dataSource.transformResponse
20
- }, options);
21
+ }, dataSource.options), options);
21
22
  };
22
23
  var transformResult = exports.transformResult = function transformResult(result) {
23
24
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, result), {}, {
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","_normalizeStatus","_interopRequireDefault","e","__esModule","default","composeOptions","exports","context","dataSource","params","options","transformParams","_objectSpread","enabled","idle","queryKey","composeFullKey","queryFn","fetchContext","fetch","select","transformResponse","transformResult","result","status","normalizeStatus","fetchStatus","originalStatus"],"sources":["utils.ts"],"sourcesContent":["import type {\n QueryFunctionContext,\n QueryObserverOptions,\n QueryObserverResult,\n} 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 DataSourceState,\n} from '../../../core';\nimport {normalizeStatus} from '../../utils/normalizeStatus';\n\nimport type {AnyPlainQueryDataSource} from './types';\n\nexport const composeOptions = <TDataSource extends AnyPlainQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: DataSourceOptions<TDataSource>,\n): QueryObserverOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n DataSourceData<TDataSource>,\n DataSourceResponse<TDataSource>\n> => {\n const {transformParams} = dataSource;\n\n return {\n ...dataSource.options,\n enabled: params !== idle,\n queryKey: composeFullKey(dataSource, params),\n queryFn: (fetchContext: QueryFunctionContext<DataSourceKey, unknown>) =>\n dataSource.fetch(\n context,\n fetchContext,\n transformParams ? transformParams(params) : params,\n ),\n select: dataSource.transformResponse,\n ...options,\n };\n};\n\nexport const transformResult = <TDataSource extends AnyPlainQueryDataSource>(\n result: QueryObserverResult<DataSourceData<TDataSource>, DataSourceError<TDataSource>>,\n) => {\n return {\n ...result,\n status: normalizeStatus(result.status, result.fetchStatus),\n originalStatus: result.status,\n } as DataSourceState<TDataSource>;\n};\n"],"mappings":";;;;;;;AAMA,IAAAA,KAAA,GAAAC,OAAA;AAWA,IAAAC,gBAAA,GAAAD,OAAA;AAA2D,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAIpD,IAAMG,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,SAAjBA,cAAcA,CACvBE,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAwC,EAMvC;EACD,IAAOC,eAAe,GAAIH,UAAU,CAA7BG,eAAe;EAEtB,WAAAC,sBAAA,MAAAA,sBAAA,MACOJ,UAAU,CAACE,OAAO;IACrBG,OAAO,EAAEJ,MAAM,KAAKK,UAAI;IACxBC,QAAQ,EAAE,IAAAC,oBAAc,EAACR,UAAU,EAAEC,MAAM,CAAC;IAC5CQ,OAAO,EAAE,SAATA,OAAOA,CAAGC,YAA0D;MAAA,OAChEV,UAAU,CAACW,KAAK,CACZZ,OAAO,EACPW,YAAY,EACZP,eAAe,GAAGA,eAAe,CAACF,MAAM,CAAC,GAAGA,MAChD,CAAC;IAAA;IACLW,MAAM,EAAEZ,UAAU,CAACa;EAAiB,GACjCX,OAAO;AAElB,CAAC;AAEM,IAAMY,eAAe,GAAAhB,OAAA,CAAAgB,eAAA,GAAG,SAAlBA,eAAeA,CACxBC,MAAsF,EACrF;EACD,WAAAX,sBAAA,MAAAA,sBAAA,MACOW,MAAM;IACTC,MAAM,EAAE,IAAAC,gCAAe,EAACF,MAAM,CAACC,MAAM,EAAED,MAAM,CAACG,WAAW,CAAC;IAC1DC,cAAc,EAAEJ,MAAM,CAACC;EAAM;AAErC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactQuery","require","_core","_normalizeStatus","_interopRequireDefault","e","__esModule","default","composeOptions","exports","context","dataSource","params","options","transformParams","queryFn","fetchContext","fetch","_objectSpread","queryKey","composeFullKey","idle","skipToken","select","transformResponse","transformResult","result","status","normalizeStatus","fetchStatus","originalStatus"],"sources":["utils.ts"],"sourcesContent":["import {\n type QueryFunctionContext,\n type QueryObserverOptions,\n type QueryObserverResult,\n skipToken,\n} 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 DataSourceState,\n} from '../../../core';\nimport {normalizeStatus} from '../../utils/normalizeStatus';\n\nimport type {AnyPlainQueryDataSource} 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): QueryObserverOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n DataSourceData<TDataSource>,\n DataSourceResponse<TDataSource>,\n DataSourceKey\n> => {\n const {transformParams} = dataSource;\n\n const queryFn = (\n fetchContext: QueryFunctionContext<DataSourceKey>,\n ): DataSourceResponse<TDataSource> | Promise<DataSourceResponse<TDataSource>> => {\n return dataSource.fetch(\n context,\n fetchContext,\n transformParams ? transformParams(params) : params,\n );\n };\n\n return {\n queryKey: composeFullKey(dataSource, params),\n queryFn: params === idle ? skipToken : queryFn,\n select: dataSource.transformResponse,\n ...dataSource.options,\n ...options,\n };\n};\n\nexport const transformResult = <TDataSource extends AnyPlainQueryDataSource>(\n result: QueryObserverResult<DataSourceData<TDataSource>, DataSourceError<TDataSource>>,\n): DataSourceState<TDataSource> => {\n return {\n ...result,\n status: normalizeStatus(result.status, result.fetchStatus),\n originalStatus: result.status,\n } as DataSourceState<TDataSource>;\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAOA,IAAAC,KAAA,GAAAD,OAAA;AAWA,IAAAE,gBAAA,GAAAF,OAAA;AAA2D,SAAAG,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAIpD,IAAMG,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,SAAjBA,cAAcA,CACvBE,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAOhD;EACD,IAAOC,eAAe,GAAIH,UAAU,CAA7BG,eAAe;EAEtB,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CACTC,YAAiD,EAC4B;IAC7E,OAAOL,UAAU,CAACM,KAAK,CACnBP,OAAO,EACPM,YAAY,EACZF,eAAe,GAAGA,eAAe,CAACF,MAAM,CAAC,GAAGA,MAChD,CAAC;EACL,CAAC;EAED,WAAAM,sBAAA,MAAAA,sBAAA;IACIC,QAAQ,EAAE,IAAAC,oBAAc,EAACT,UAAU,EAAEC,MAAM,CAAC;IAC5CG,OAAO,EAAEH,MAAM,KAAKS,UAAI,GAAGC,qBAAS,GAAGP,OAAO;IAC9CQ,MAAM,EAAEZ,UAAU,CAACa;EAAiB,GACjCb,UAAU,CAACE,OAAO,GAClBA,OAAO;AAElB,CAAC;AAEM,IAAMY,eAAe,GAAAhB,OAAA,CAAAgB,eAAA,GAAG,SAAlBA,eAAeA,CACxBC,MAAsF,EACvD;EAC/B,WAAAR,sBAAA,MAAAA,sBAAA,MACOQ,MAAM;IACTC,MAAM,EAAE,IAAAC,gCAAe,EAACF,MAAM,CAACC,MAAM,EAAED,MAAM,CAACG,WAAW,CAAC;IAC1DC,cAAc,EAAEJ,MAAM,CAACC;EAAM;AAErC,CAAC","ignoreList":[]}
@@ -5,7 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.normalizeStatus = void 0;
7
7
  var normalizeStatus = exports.normalizeStatus = function normalizeStatus(status, fetchStatus) {
8
- if (status === 'loading' && fetchStatus === 'idle') {
8
+ if (status === 'pending') {
9
+ if (fetchStatus === 'fetching') {
10
+ return 'loading';
11
+ }
9
12
  return 'success';
10
13
  }
11
14
  return status;
@@ -1 +1 @@
1
- {"version":3,"names":["normalizeStatus","exports","status","fetchStatus"],"sources":["normalizeStatus.ts"],"sourcesContent":["import type {FetchStatus, QueryStatus} from '@tanstack/react-query';\n\nimport type {DataLoaderStatus} from '../../core';\n\nexport const normalizeStatus = (\n status: QueryStatus,\n fetchStatus: FetchStatus,\n): DataLoaderStatus => {\n if (status === 'loading' && fetchStatus === 'idle') {\n return 'success';\n }\n\n return status;\n};\n"],"mappings":";;;;;;AAIO,IAAMA,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,SAAlBA,eAAeA,CACxBE,MAAmB,EACnBC,WAAwB,EACL;EACnB,IAAID,MAAM,KAAK,SAAS,IAAIC,WAAW,KAAK,MAAM,EAAE;IAChD,OAAO,SAAS;EACpB;EAEA,OAAOD,MAAM;AACjB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["normalizeStatus","exports","status","fetchStatus"],"sources":["normalizeStatus.ts"],"sourcesContent":["import type {FetchStatus, QueryStatus} from '@tanstack/react-query';\n\nimport type {DataLoaderStatus} from '../../core';\n\nexport const normalizeStatus = (\n status: QueryStatus,\n fetchStatus: FetchStatus,\n): DataLoaderStatus => {\n if (status === 'pending') {\n if (fetchStatus === 'fetching') {\n return 'loading';\n }\n\n return 'success';\n }\n\n return status;\n};\n"],"mappings":";;;;;;AAIO,IAAMA,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,SAAlBA,eAAeA,CACxBE,MAAmB,EACnBC,WAAwB,EACL;EACnB,IAAID,MAAM,KAAK,SAAS,EAAE;IACtB,IAAIC,WAAW,KAAK,UAAU,EAAE;MAC5B,OAAO,SAAS;IACpB;IAEA,OAAO,SAAS;EACpB;EAEA,OAAOD,MAAM;AACjB,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export declare const notReachable: (value: never, message?: string) => never;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.notReachable = void 0;
7
+ var notReachable = exports.notReachable = function notReachable(value, message) {
8
+ throw new Error(message || "Not reachable state: ".concat(value));
9
+ };
10
+ // #sourceMappingURL=notReachable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["notReachable","exports","value","message","Error","concat"],"sources":["notReachable.ts"],"sourcesContent":["export const notReachable = (value: never, message?: string): never => {\n throw new Error(message || `Not reachable state: ${value}`);\n};\n"],"mappings":";;;;;;AAAO,IAAMA,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,SAAfA,YAAYA,CAAIE,KAAY,EAAEC,OAAgB,EAAY;EACnE,MAAM,IAAIC,KAAK,CAACD,OAAO,4BAAAE,MAAA,CAA4BH,KAAK,CAAE,CAAC;AAC/D,CAAC","ignoreList":[]}