@nano_kit/query 1.0.0-alpha.0 → 1.0.0-alpha.10
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 +2 -2
- package/dist/CacheStorage.d.ts +2 -2
- package/dist/CacheStorage.d.ts.map +1 -1
- package/dist/CacheStorage.types.d.ts +5 -0
- package/dist/CacheStorage.types.d.ts.map +1 -1
- package/dist/ClientContext.d.ts +7 -5
- package/dist/ClientContext.d.ts.map +1 -1
- package/dist/RequestContext.d.ts.map +1 -1
- package/dist/cache.d.ts +1 -1
- package/dist/cache.d.ts.map +1 -1
- package/dist/cache.types.d.ts.map +1 -1
- package/dist/client.d.ts +7 -6
- package/dist/client.d.ts.map +1 -1
- package/dist/client.mock.d.ts.map +1 -1
- package/dist/client.types.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +929 -840
- package/dist/index.js.map +1 -1
- package/dist/map.d.ts +5 -0
- package/dist/map.d.ts.map +1 -1
- package/dist/queries/base.d.ts +9 -9
- package/dist/queries/base.d.ts.map +1 -1
- package/dist/queries/index.d.ts.map +1 -1
- package/dist/queries/infinite.d.ts.map +1 -1
- package/dist/queries/mutation.d.ts.map +1 -1
- package/dist/queries/operation.d.ts.map +1 -1
- package/dist/queries/query.d.ts.map +1 -1
- package/dist/settings/abortable.d.ts.map +1 -1
- package/dist/settings/codec.d.ts +16 -0
- package/dist/settings/codec.d.ts.map +1 -0
- package/dist/settings/entities.d.ts.map +1 -1
- package/dist/settings/hydratable.d.ts +11 -0
- package/dist/settings/hydratable.d.ts.map +1 -0
- package/dist/settings/index.d.ts +5 -3
- package/dist/settings/index.d.ts.map +1 -1
- package/dist/settings/indexedDbStorage.d.ts +5 -7
- package/dist/settings/indexedDbStorage.d.ts.map +1 -1
- package/dist/settings/persistence.d.ts +16 -0
- package/dist/settings/persistence.d.ts.map +1 -0
- package/dist/settings/retryOnError.d.ts.map +1 -1
- package/dist/settings/revalidateOn.d.ts +9 -0
- package/dist/settings/revalidateOn.d.ts.map +1 -0
- package/dist/settings/ssr.d.ts +9 -0
- package/dist/settings/ssr.d.ts.map +1 -0
- package/dist/utils.d.ts.map +1 -1
- package/package.json +5 -5
- package/dist/settings/revalidateOnFocus.d.ts +0 -12
- package/dist/settings/revalidateOnFocus.d.ts.map +0 -1
- package/dist/settings/revalidateOnInterval.d.ts +0 -9
- package/dist/settings/revalidateOnInterval.d.ts.map +0 -1
- package/dist/settings/revalidateOnReconnect.d.ts +0 -12
- package/dist/settings/revalidateOnReconnect.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
[npm-url]: https://npmjs.com/package/@nano_kit/query
|
|
15
15
|
|
|
16
16
|
[deps]: https://img.shields.io/librariesio/release/npm/@nano_kit/query
|
|
17
|
-
[deps-url]: https://libraries.io/npm/@nano_kit/query
|
|
17
|
+
[deps-url]: https://libraries.io/npm/@nano_kit/query
|
|
18
18
|
|
|
19
19
|
[size]: https://deno.bundlejs.com/badge?q=@nano_kit/query
|
|
20
20
|
[size-url]: https://bundlejs.com/?q=@nano_kit/query
|
|
@@ -92,4 +92,4 @@ unsub()
|
|
|
92
92
|
|
|
93
93
|
## Documentation
|
|
94
94
|
|
|
95
|
-
For comprehensive guides, advanced patterns, and API reference, visit the [documentation website](https://
|
|
95
|
+
For comprehensive guides, advanced patterns, and API reference, visit the [documentation website](https://nano-kit.js.org/query).
|
package/dist/CacheStorage.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { NewValue } from '@nano_kit/store';
|
|
2
2
|
import type { CacheMap, CacheShardKey, CacheKey, CacheEntry } from './CacheStorage.types.js';
|
|
3
|
-
export * from './CacheStorage.types.js';
|
|
3
|
+
export type * from './CacheStorage.types.js';
|
|
4
4
|
export declare const DEFAULT_DEDUPE_TIME = 4000;
|
|
5
5
|
export declare const DEFAULT_CACHE_TIME: number;
|
|
6
6
|
export declare const UNSET_REV: number;
|
|
@@ -25,7 +25,7 @@ export declare class CacheStorage {
|
|
|
25
25
|
* If shard key is used, invalidate all entries in the shard.
|
|
26
26
|
* @param key - The cache key to invalidate.
|
|
27
27
|
*/
|
|
28
|
-
invalidate(key
|
|
28
|
+
invalidate(key?: CacheShardKey | CacheKey): void;
|
|
29
29
|
/**
|
|
30
30
|
* Revalidate cache entry for the given key.
|
|
31
31
|
* If shard key is used, revalidate all entries in the shard.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CacheStorage.d.ts","sourceRoot":"","sources":["../src/CacheStorage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,UAAU,EACX,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"CacheStorage.d.ts","sourceRoot":"","sources":["../src/CacheStorage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,UAAU,EACX,MAAM,yBAAyB,CAAA;AAShC,mBAAmB,yBAAyB,CAAA;AAE5C,eAAO,MAAM,mBAAmB,OAAQ,CAAA;AACxC,eAAO,MAAM,kBAAkB,QAAW,CAAA;AAC1C,eAAO,MAAM,SAAS,QAAW,CAAA;AAUjC,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,UAElC;AAGD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,WAEpC;AAID,qBAAa,YAAY;IACvB,UAAU,SAAsB;IAChC,SAAS,SAAqB;IAC9B,KAAK,EAAE,QAAQ,CAAY;IAE3B,OAAO;QAEH,GAAG;QACH,OAAO;QACP,OAAO;QACP,IAAI;QACJ,KAAK;QACL,OAAO;MAEV;IAED,IAAI,CAAC,GAAG,EAAE,QAAQ,uBAUjB;IAED,GAAG,CACD,GAAG,EAAE,aAAa,GAAG,QAAQ,EAC7B,KAAK,EAAE,QAAQ,CAAC,UAAU,GAAG,SAAS,CAAC,QAGxC;IAED;;;;OAIG;IACH,UAAU,CAAC,GAAG,CAAC,EAAE,aAAa,GAAG,QAAQ,QAMxC;IAED;;;;OAIG;IACH,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,QAAQ,QAQvC;IAED,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,UAAO,EAAE,UAAU,UAAO,WAM9D;IAED,OAAO,CAAC,GAAG,EAAE,QAAQ,UAYpB;IAED,OAAO,CACL,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,GAAG,CAAC,EAAE,MAAM,QAgBb;CACF","sourcesContent":["import type { NewValue } from '@nano_kit/store'\nimport type {\n CacheMap,\n CacheShardKey,\n CacheKey,\n CacheEntry\n} from './CacheStorage.types.js'\nimport {\n hasShardedMapKey,\n $getShardedMapKey,\n setShardedMapKey,\n deleteShardedMapKey,\n clearShardedMap\n} from './map.js'\n\nexport type * from './CacheStorage.types.js'\n\nexport const DEFAULT_DEDUPE_TIME = 4_000\nexport const DEFAULT_CACHE_TIME = Infinity\nexport const UNSET_REV = Infinity\n\n/*\nREV\n< 0 = locked, do not fetch\n0 = unset, need to fetch\n> 0 = current revision, used to identify latest fetch\n*/\n\n/* @__NO_SIDE_EFFECTS__ */\nexport function revLock(rev: number) {\n return rev > 0 ? rev * -1 : rev\n}\n\n/* @__NO_SIDE_EFFECTS__ */\nexport function revLocked(rev: number) {\n return rev < 0\n}\n\nlet revCounter = 0\n\nexport class CacheStorage {\n dedupeTime = DEFAULT_DEDUPE_TIME\n cacheTime = DEFAULT_CACHE_TIME\n cache: CacheMap = new Map()\n\n initial() {\n return {\n rev: UNSET_REV,\n dedupes: 0,\n expires: 0,\n data: null,\n error: null,\n loading: false\n }\n }\n\n $get(key: CacheKey) {\n const cache = this.cache\n\n if (!hasShardedMapKey(cache, key)) {\n setShardedMapKey(cache, key, this.initial())\n }\n\n const result = $getShardedMapKey(cache, key)!\n\n return result\n }\n\n set(\n key: CacheShardKey | CacheKey,\n entry: NewValue<CacheEntry | undefined>\n ) {\n setShardedMapKey(this.cache, key, entry)\n }\n\n /**\n * Invalidate cache entry for the given key.\n * If shard key is used, invalidate all entries in the shard.\n * @param key - The cache key to invalidate.\n */\n invalidate(key?: CacheShardKey | CacheKey) {\n if (key) {\n deleteShardedMapKey(this.cache, key)\n } else {\n clearShardedMap(this.cache)\n }\n }\n\n /**\n * Revalidate cache entry for the given key.\n * If shard key is used, revalidate all entries in the shard.\n * @param key - The cache key to revalidate.\n */\n revalidate(key: CacheShardKey | CacheKey) {\n if (key.key === undefined || hasShardedMapKey(this.cache, key)) {\n this.set(key, entry => ({\n ...entry!,\n rev: UNSET_REV,\n dedupes: 0\n }))\n }\n }\n\n mute(entry: CacheEntry, loadingDedupe = true, timeDedupe = true) {\n return (\n loadingDedupe && entry.loading\n || timeDedupe && entry.dedupes > Date.now()\n || revLocked(entry.rev)\n )\n }\n\n loading(key: CacheKey) {\n const rev = ++revCounter\n\n this.set(key, (entry = this.initial()) => ({\n ...entry,\n rev,\n data: entry.expires > Date.now() ? entry.data : null,\n error: null,\n loading: true\n }))\n\n return rev\n }\n\n settled(\n key: CacheKey,\n data: unknown,\n error: string | null,\n rev?: number\n ) {\n const now = Date.now()\n\n this.set(key, (entry = this.initial()) => (\n rev !== undefined && rev !== entry.rev\n ? entry\n : {\n ...entry,\n dedupes: now + this.dedupeTime,\n expires: now + this.cacheTime,\n data: error === null ? data : entry.data,\n error,\n loading: false\n }\n ))\n }\n}\n"]}
|
|
@@ -7,6 +7,11 @@ export interface CacheEntry<T = unknown> {
|
|
|
7
7
|
error: string | null;
|
|
8
8
|
loading: boolean;
|
|
9
9
|
}
|
|
10
|
+
export interface EncodedCacheEntry extends Omit<CacheEntry, 'rev' | 'dedupes' | 'expires'> {
|
|
11
|
+
rev: string;
|
|
12
|
+
dedupes: string;
|
|
13
|
+
expires: string;
|
|
14
|
+
}
|
|
10
15
|
export type CacheMap = ShardedSignalsMap<string, string, CacheEntry>;
|
|
11
16
|
export interface CacheShardKey<P extends unknown[] = unknown[], R = unknown> extends ShardKey<string> {
|
|
12
17
|
P: P;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CacheStorage.types.d.ts","sourceRoot":"","sources":["../src/CacheStorage.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,QAAQ,EACR,UAAU,EACX,MAAM,UAAU,CAAA;AAEjB,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,OAAO;IACrC,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;AAEpE,MAAM,WAAW,aAAa,CAC5B,CAAC,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EAC/B,CAAC,GAAG,OAAO,CACX,SAAQ,QAAQ,CAAC,MAAM,CAAC;IAExB,CAAC,EAAE,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,CAAA;CACL;AAED,MAAM,WAAW,QAAQ,CACvB,CAAC,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EAC/B,CAAC,GAAG,OAAO,CACX,SAAQ,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC;IAElC,CAAC,EAAE,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,CAAA;CACL"}
|
|
1
|
+
{"version":3,"file":"CacheStorage.types.d.ts","sourceRoot":"","sources":["../src/CacheStorage.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,QAAQ,EACR,UAAU,EACX,MAAM,UAAU,CAAA;AAEjB,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,OAAO;IACrC,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;IACxF,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;AAEpE,MAAM,WAAW,aAAa,CAC5B,CAAC,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EAC/B,CAAC,GAAG,OAAO,CACX,SAAQ,QAAQ,CAAC,MAAM,CAAC;IAExB,CAAC,EAAE,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,CAAA;CACL;AAED,MAAM,WAAW,QAAQ,CACvB,CAAC,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EAC/B,CAAC,GAAG,OAAO,CACX,SAAQ,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC;IAElC,CAAC,EAAE,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,CAAA;CACL","sourcesContent":["import type {\n ShardedSignalsMap,\n ShardKey,\n ShardedKey\n} from './map.js'\n\nexport interface CacheEntry<T = unknown> {\n rev: number\n dedupes: number\n expires: number\n data: T | null\n error: string | null\n loading: boolean\n}\n\nexport interface EncodedCacheEntry extends Omit<CacheEntry, 'rev' | 'dedupes' | 'expires'> {\n rev: string\n dedupes: string\n expires: string\n}\n\nexport type CacheMap = ShardedSignalsMap<string, string, CacheEntry>\n\nexport interface CacheShardKey<\n P extends unknown[] = unknown[],\n R = unknown\n> extends ShardKey<string> {\n // Only types info:\n P: P\n R: R\n}\n\nexport interface CacheKey<\n P extends unknown[] = unknown[],\n R = unknown\n> extends ShardedKey<string, string> {\n // Only types info:\n P: P\n R: R\n}\n"]}
|
package/dist/ClientContext.d.ts
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
import { type ReadableSignal, type TasksRunner, type Task } from '@nano_kit/store';
|
|
1
|
+
import { type AnyCodec, type ReadableSignal, type Accessor, type TasksRunner, type Task } from '@nano_kit/store';
|
|
2
2
|
import type { ClientSetting } from './client.types.js';
|
|
3
3
|
import type { RequestContext } from './RequestContext.js';
|
|
4
4
|
import { type CacheKey, type CacheEntry, CacheStorage } from './CacheStorage.js';
|
|
5
5
|
export type OnEveryError = (error: unknown, stopped: boolean) => void;
|
|
6
6
|
export declare class ClientContext<T = unknown> extends CacheStorage {
|
|
7
7
|
$key?: ReadableSignal<CacheKey>;
|
|
8
|
-
$disabled?:
|
|
8
|
+
$disabled?: Accessor<boolean>;
|
|
9
9
|
loadingDedupe: boolean;
|
|
10
10
|
timeDedupe: boolean;
|
|
11
11
|
onEveryError: OnEveryError | undefined;
|
|
12
|
+
codec: AnyCodec;
|
|
12
13
|
task<T>(task: Task<T>): Promise<T>;
|
|
13
14
|
mapData(data: T): T;
|
|
14
15
|
mapComputedData(data: T | null): T | null;
|
|
15
16
|
mapError(error: unknown): string;
|
|
16
17
|
mounted(): void;
|
|
17
18
|
mute(entry: CacheEntry): boolean;
|
|
18
|
-
run(requestCtx: RequestContext<T>, start: () => Promise<T>, onSettled: (data: T | null, error: string | null) => void, interrupt?: (error: unknown) => boolean): Promise<readonly [T
|
|
19
|
+
run(requestCtx: RequestContext<T>, start: () => Promise<T>, onSettled: (data: T | null, error: string | null) => void, interrupt?: (error: unknown) => boolean): Promise<readonly [T, unknown] | undefined>;
|
|
19
20
|
handleError(error: unknown, stopped: boolean): void;
|
|
20
21
|
}
|
|
21
22
|
export interface QueryClientContext<T = unknown> extends ClientContext<T> {
|
|
@@ -57,7 +58,7 @@ export declare function onEveryError(fn: OnEveryError): ClientSetting;
|
|
|
57
58
|
* @param $disabled - Readable signal indicating whether requests are disabled.
|
|
58
59
|
* @returns The client setting function.
|
|
59
60
|
*/
|
|
60
|
-
export declare function disabled($disabled:
|
|
61
|
+
export declare function disabled($disabled: Accessor<boolean>): ClientSetting;
|
|
61
62
|
/**
|
|
62
63
|
* Enable or disable deduplication of requests (by loading state and dedupe time).
|
|
63
64
|
* @param enabled - Whether deduplication is enabled.
|
|
@@ -73,8 +74,9 @@ export declare function dedupe(dedupe: boolean): ClientSetting;
|
|
|
73
74
|
export declare function dedupe(loading: boolean, time: boolean): ClientSetting<QueryClientContext>;
|
|
74
75
|
/**
|
|
75
76
|
* Set task runner for handling tasks.
|
|
77
|
+
* Without arguments, it will try to resolve a tasks runner from the current injection context.
|
|
76
78
|
* @param runner - The tasks runner function.
|
|
77
79
|
* @returns The client setting function.
|
|
78
80
|
*/
|
|
79
|
-
export declare function tasks(runner
|
|
81
|
+
export declare function tasks(runner?: TasksRunner): ClientSetting;
|
|
80
82
|
//# sourceMappingURL=ClientContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientContext.d.ts","sourceRoot":"","sources":["../src/ClientContext.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"ClientContext.d.ts","sourceRoot":"","sources":["../src/ClientContext.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type AnyCodec,\n type ReadableSignal,\n type Accessor,\n type TasksRunner,\n type Task,\n TasksRunner$,\n NoopCodec,\n taskPromise,\n inject\n} from '@nano_kit/store'\nimport type { ClientSetting } from './client.types.js'\nimport type { RequestContext } from './RequestContext.js'\nimport {\n type CacheKey,\n type CacheEntry,\n CacheStorage\n} from './CacheStorage.js'\nimport {\n addFn,\n settle\n} from './utils.js'\n\nexport type OnEveryError = (error: unknown, stopped: boolean) => void\n\nexport class ClientContext<T = unknown> extends CacheStorage {\n $key?: ReadableSignal<CacheKey> = undefined\n $disabled?: Accessor<boolean> = undefined\n loadingDedupe = true\n timeDedupe = true\n onEveryError: OnEveryError | undefined = undefined\n codec: AnyCodec = NoopCodec\n\n task<T>(task: Task<T>): Promise<T> {\n return taskPromise(task)\n }\n\n mapData(data: T): T {\n return data\n }\n\n mapComputedData(data: T | null): T | null {\n return data\n }\n\n mapError(error: unknown) {\n return (error as Error)?.message\n }\n\n mounted() {}\n\n override mute(entry: CacheEntry) {\n return (\n this.$disabled?.() === true\n || super.mute(entry, this.loadingDedupe, this.timeDedupe)\n )\n }\n\n run(\n requestCtx: RequestContext<T>,\n start: () => Promise<T>,\n onSettled: (data: T | null, error: string | null) => void,\n interrupt?: (error: unknown) => boolean\n ) {\n const {\n mapData,\n mapError\n } = this\n\n return this.task(settle(start(), (data, error) => {\n if (error && interrupt?.(error)) {\n return\n }\n\n const mappedData = mapData(data as T)\n const dataOrNull = error ? null : mappedData\n const errorString = error ? mapError(error) : null\n\n onSettled(dataOrNull, errorString)\n requestCtx.settled(mappedData, error)\n this.handleError(error, requestCtx.stopErrorPropagation)\n\n return [mappedData, error] as const\n }))\n }\n\n handleError(\n error: unknown,\n stopped: boolean\n ) {\n if (error !== undefined) {\n this.onEveryError?.(error, stopped)\n }\n }\n}\n\nexport interface QueryClientContext<T = unknown> extends ClientContext<T> {\n $key: ReadableSignal<CacheKey>\n Q: true\n}\n\nexport interface MutationClientContext<T = unknown> extends ClientContext<T> {\n $key: never\n M: true\n}\n\n/* @__NO_SIDE_EFFECTS__ */\nexport function forkMutationClient<T>(\n ctx: ClientContext,\n settings: ClientSetting<MutationClientContext<T>>[] = []\n) {\n const child = Object.create(ctx) as MutationClientContext<T>\n\n for (const setting of settings) {\n setting(child)\n }\n\n return child\n}\n\n/* @__NO_SIDE_EFFECTS__ */\nexport function forkQueryClient<T>(\n ctx: ClientContext,\n $key: ReadableSignal<CacheKey>,\n settings: ClientSetting<QueryClientContext<T>>[] = []\n) {\n const child = Object.create(ctx) as QueryClientContext<T>\n\n child.$key = $key\n\n for (const setting of settings) {\n setting(child)\n }\n\n return child\n}\n\n/**\n * Set dedupe time in which identical requests are deduped.\n * @param time - Dedupe time in milliseconds.\n * @returns The client setting function.\n */\n/* @__NO_SIDE_EFFECTS__ */\nexport function dedupeTime(time: number): ClientSetting<QueryClientContext> {\n return ctx => ctx.dedupeTime = time\n}\n\n/**\n * Set cache time for cached query results.\n * @param time - Cache time in milliseconds.\n * @returns The client setting function.\n */\n/* @__NO_SIDE_EFFECTS__ */\nexport function cacheTime(time: number): ClientSetting<QueryClientContext> {\n return ctx => ctx.cacheTime = time\n}\n\n/**\n * Map error object to string.\n * @param fn - Function to map error to string.\n * @returns The client setting function.\n */\n/* @__NO_SIDE_EFFECTS__ */\nexport function mapError(fn: (error: unknown) => string): ClientSetting {\n return ctx => ctx.mapError = fn\n}\n\n/**\n * Register a callback to be called on every error.\n * @param fn - The error callback.\n * @returns The client setting function.\n */\n/* @__NO_SIDE_EFFECTS__ */\nexport function onEveryError(fn: OnEveryError): ClientSetting {\n return ctx => ctx.onEveryError = addFn(ctx.onEveryError, fn)\n}\n\n/**\n * Disable requests when the signal is true.\n * @param $disabled - Readable signal indicating whether requests are disabled.\n * @returns The client setting function.\n */\n/* @__NO_SIDE_EFFECTS__ */\nexport function disabled($disabled: Accessor<boolean>): ClientSetting {\n return ctx => ctx.$disabled = $disabled\n}\n\n/**\n * Enable or disable deduplication of requests (by loading state and dedupe time).\n * @param enabled - Whether deduplication is enabled.\n * @returns The client setting function.\n */\nexport function dedupe(dedupe: boolean): ClientSetting\n\n/**\n * Enable or disable deduplication of requests (by loading state and dedupe time).\n * @param loading - Whether loading state deduplication is enabled.\n * @param time - Whether time-based deduplication is enabled.\n * @returns The client setting function.\n */\nexport function dedupe(loading: boolean, time: boolean): ClientSetting<QueryClientContext>\n\n/* @__NO_SIDE_EFFECTS__ */\nexport function dedupe(loading: boolean, time = loading): ClientSetting {\n return (ctx) => {\n ctx.loadingDedupe = loading\n ctx.timeDedupe = time\n }\n}\n\n/**\n * Set task runner for handling tasks.\n * Without arguments, it will try to resolve a tasks runner from the current injection context.\n * @param runner - The tasks runner function.\n * @returns The client setting function.\n */\n/* @__NO_SIDE_EFFECTS__ */\nexport function tasks(runner: TasksRunner = inject(TasksRunner$)): ClientSetting {\n return ctx => ctx.task = runner\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestContext.d.ts","sourceRoot":"","sources":["../src/RequestContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAGvD,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;AAE5C,MAAM,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;AAE9C,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;AAExE,qBAAa,cAAc,CAAC,CAAC;IAC3B,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAY;IAC/C,OAAO,EAAE,OAAO,GAAG,SAAS,CAAY;IACxC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAY;IAC/C,oBAAoB,UAAQ;IAC5B,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,CAAY;
|
|
1
|
+
{"version":3,"file":"RequestContext.d.ts","sourceRoot":"","sources":["../src/RequestContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAGvD,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;AAE5C,MAAM,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;AAE9C,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;AAExE,qBAAa,cAAc,CAAC,CAAC;IAC3B,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAY;IAC/C,OAAO,EAAE,OAAO,GAAG,SAAS,CAAY;IACxC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAY;IAC/C,oBAAoB,UAAQ;IAC5B,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,CAAY;IAElD,YAAY,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAItC;IAED,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,EAAE,KAAK,EAAE,OAAO,QAQ1C;CACF;AAED,qBAAa,YAAY,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,CAC9C,SAAQ,cAAc,CAAC,CAAC,CACxB,YAAW,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,CAAC,EAAG,CAAC,CAAA;IACL,CAAC,EAAG,CAAC,CAAA;IAEL,YACE,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EACnB,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAM7B;CACF;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,QAEpE;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,QAE7D;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,QAEpE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,QAE7D","sourcesContent":["import type { CacheKey } from './CacheStorage.types.js'\nimport { addFn } from './utils.js'\n\nexport type OnSuccess<T> = (data: T) => void\n\nexport type OnError = (error: unknown) => void\n\nexport type OnSettled<T> = (data: T | undefined, error: unknown) => void\n\nexport class RequestContext<T> {\n onSuccess: OnSuccess<T> | undefined = undefined\n onError: OnError | undefined = undefined\n onSettled: OnSettled<T> | undefined = undefined\n stopErrorPropagation = false\n prevCtx: RequestContext<T> | undefined = undefined\n\n constructor(prevCtx?: RequestContext<T>) {\n if (this.prevCtx = prevCtx) {\n prevCtx.prevCtx = undefined\n }\n }\n\n settled(data: T | undefined, error: unknown) {\n this.onSettled?.(data, error)\n\n if (error !== undefined) {\n this.onError?.(error)\n } else {\n this.onSuccess?.(data!)\n }\n }\n}\n\nexport class QueryContext<P extends unknown[], R>\n extends RequestContext<R>\n implements CacheKey<P, R> {\n shard: string\n key: string\n P!: P\n R!: R\n\n constructor(\n key: CacheKey<P, R>,\n prevCtx?: QueryContext<P, R>\n ) {\n super(prevCtx)\n\n this.shard = key.shard\n this.key = key.key\n }\n}\n\n/**\n * Add a success callback to the query context.\n * @param ctx - The query context.\n * @param fn - The success callback.\n */\nexport function onSuccess<T>(ctx: RequestContext<T>, fn: OnSuccess<T>) {\n ctx.onSuccess = addFn(ctx.onSuccess, fn)\n}\n\n/**\n * Add an error callback to the query context.\n * @param ctx - The query context.\n * @param fn - The error callback.\n */\nexport function onError<T>(ctx: RequestContext<T>, fn: OnError) {\n ctx.onError = addFn(ctx.onError, fn)\n}\n\n/**\n * Add a settled callback to the query context.\n * @param ctx - The query context.\n * @param fn - The settled callback.\n */\nexport function onSettled<T>(ctx: RequestContext<T>, fn: OnSettled<T>) {\n ctx.onSettled = addFn(ctx.onSettled, fn)\n}\n\n/**\n * Mark error as \"stopped\", so error will be passed to onEveryError with stopped=true.\n * @param ctx - The query context.\n */\nexport function stopErrorPropagation<T>(ctx: RequestContext<T>) {\n ctx.stopErrorPropagation = true\n}\n"]}
|
package/dist/cache.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CacheKeyBuilder, CacheDataFacade, CacheKey, ExtrasCacheKeyBuilder } from './cache.types.js';
|
|
2
2
|
import type { CacheStorage } from './CacheStorage.js';
|
|
3
|
-
export * from './cache.types.js';
|
|
3
|
+
export type * from './cache.types.js';
|
|
4
4
|
/**
|
|
5
5
|
* Create a query cache key builder.
|
|
6
6
|
* @param name - The cache shard name.
|
package/dist/cache.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,QAAQ,EACR,qBAAqB,EACtB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,mBAAmB,kBAAkB,CAAA;AAErC;;;;;GAKG;AAEH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAC7C,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAqB,yBAW7D;AAED;;;;;GAKG;AAEH,wBAAgB,YAAY,CAC1B,CAAC,SAAS,OAAO,EAAE,EACnB,CAAC,SAAS,OAAO,EAAE,EACnB,CAAC,EAED,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,GAEH,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CACtE;AAED;;;;GAIG;AAEH,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GACL,eAAe,CAC5D;AAqBD;;;;GAIG;AAEH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,SACvC,QAAQ,aACtB;AAED;;;;GAIG;AAEH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,SACrC,QAAQ,mBACtB","sourcesContent":["import {\n type NewValue,\n isFunction\n} from '@nano_kit/store'\nimport type {\n CacheKeyBuilder,\n CacheDataFacade,\n CacheKey,\n ExtrasCacheKeyBuilder\n} from './cache.types.js'\nimport type { CacheStorage } from './CacheStorage.js'\n\nexport type * from './cache.types.js'\n\n/**\n * Create a query cache key builder.\n * @param name - The cache shard name.\n * @param filter - Optional filter to process parameters before building the key.\n * @returns The cache key builder.\n */\n/* @__NO_SIDE_EFFECTS__ */\nexport function queryKey<P extends unknown[], R>(\n name: string,\n filter: (params: Partial<P>) => unknown[] = params => params\n) {\n const key = ((...params: Partial<P>) => ({\n shard: name,\n key: JSON.stringify(filter(params))\n })) as CacheKeyBuilder<P, R>\n\n key.shard = name\n key.key = undefined\n\n return key\n}\n\n/**\n * Create an operation cache key builder with extra parameters.\n * @param name - The cache shard name.\n * @param filter - Optional filter to process parameters before building the key.\n * @returns The extras cache key builder.\n */\n/* @__NO_SIDE_EFFECTS__ */\nexport function operationKey<\n P extends unknown[],\n E extends unknown[],\n R\n>(\n name: string,\n filter?: (params: Partial<P>) => unknown[]\n) {\n return queryKey<P, R>(name, filter) as ExtrasCacheKeyBuilder<P, E, R>\n}\n\n/**\n * Create cache getter/setter for data.\n * @param cache - The cache map.\n * @returns The data getter/setter.\n */\n/* @__NO_SIDE_EFFECTS__ */\nexport function dataCacheFacade(cache: CacheStorage) {\n return dataCacheGetterSetter.bind(cache) as CacheDataFacade\n}\n\nfunction dataCacheGetterSetter<P extends unknown[], R>(\n this: CacheStorage,\n key: CacheKey<P, R>,\n ...value: [NewValue<R | null>]\n) {\n if (value.length) {\n const newValue = value[0]\n\n this.set(key, (entry = this.initial()) => ({\n ...entry,\n data: isFunction(newValue)\n ? (newValue as (value: unknown) => unknown)(entry.data)\n : newValue\n }))\n } else {\n return this.$get(key).data as R | null\n }\n}\n\n/**\n * Create cache getter for loading state.\n * @param cache - The cache map.\n * @returns The loading state getter.\n */\n/* @__NO_SIDE_EFFECTS__ */\nexport function loadingCacheFacade(cache: CacheStorage) {\n return (key: CacheKey) => cache.$get(key).loading\n}\n\n/**\n * Create cache getter for error state.\n * @param cache - The cache map.\n * @returns The error state getter.\n */\n/* @__NO_SIDE_EFFECTS__ */\nexport function errorCacheFacade(cache: CacheStorage) {\n return (key: CacheKey) => cache.$get(key).error\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.types.d.ts","sourceRoot":"","sources":["../src/cache.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACd,MAAM,yBAAyB,CAAA;AAEhC,YAAY,EACV,QAAQ,EACR,aAAa,EACd,CAAA;AAED,MAAM,WAAW,cAAc,CAC7B,CAAC,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EAC/B,CAAC,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EAC/B,CAAC,GAAG,OAAO,CACX,SAAQ,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IAEtB,CAAC,EAAE,CAAC,CAAA;CACL;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,IAAI,CACpD,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAC1C,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAEvB,MAAM,MAAM,qBAAqB,CAC/B,CAAC,SAAS,OAAO,EAAE,EACnB,CAAC,SAAS,OAAO,EAAE,EACnB,CAAC,IACC,CACF,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CACnD,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAEvB,MAAM,WAAW,eAAe;IAC9B,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;IACvD,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;CACrG"}
|
|
1
|
+
{"version":3,"file":"cache.types.d.ts","sourceRoot":"","sources":["../src/cache.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACd,MAAM,yBAAyB,CAAA;AAEhC,YAAY,EACV,QAAQ,EACR,aAAa,EACd,CAAA;AAED,MAAM,WAAW,cAAc,CAC7B,CAAC,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EAC/B,CAAC,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EAC/B,CAAC,GAAG,OAAO,CACX,SAAQ,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IAEtB,CAAC,EAAE,CAAC,CAAA;CACL;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,IAAI,CACpD,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAC1C,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAEvB,MAAM,MAAM,qBAAqB,CAC/B,CAAC,SAAS,OAAO,EAAE,EACnB,CAAC,SAAS,OAAO,EAAE,EACnB,CAAC,IACC,CACF,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CACnD,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAEvB,MAAM,WAAW,eAAe;IAC9B,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;IACvD,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;CACrG","sourcesContent":["import type { NewValue } from '@nano_kit/store'\nimport type {\n CacheKey,\n CacheShardKey\n} from './CacheStorage.types.js'\n\nexport type {\n CacheKey,\n CacheShardKey\n}\n\nexport interface ExtrasCacheKey<\n P extends unknown[] = unknown[],\n E extends unknown[] = unknown[],\n R = unknown\n> extends CacheKey<P, R> {\n // Only types info:\n E: E\n}\n\nexport type CacheKeyBuilder<P extends unknown[], R> = (\n (...params: Partial<P>) => CacheKey<P, R>\n) & CacheShardKey<P, R>\n\nexport type ExtrasCacheKeyBuilder<\n P extends unknown[],\n E extends unknown[],\n R\n> = (\n (...params: Partial<P>) => ExtrasCacheKey<P, E, R>\n) & CacheShardKey<P, R>\n\nexport interface CacheDataFacade {\n <P extends unknown[], R>(key: CacheKey<P, R>): R | null\n <P extends unknown[], R>(key: CacheShardKey<P, R> | CacheKey<P, R>, value: NewValue<R | null>): void\n}\n"]}
|
package/dist/client.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ClientExtension, ExtendedClient, AnyClientSetting, AnyClientExtension } from './client.types.js';
|
|
2
2
|
import { query, infinite, operation, mutation } from './queries/index.js';
|
|
3
|
-
export
|
|
3
|
+
export type { InfinitePages } from './queries/index.js';
|
|
4
|
+
export type * from './client.types.js';
|
|
4
5
|
/**
|
|
5
6
|
* Create a query client with optional settings and extensions.
|
|
6
7
|
* @param settings - The client settings and extensions.
|
|
@@ -8,11 +9,11 @@ export * from './client.types.js';
|
|
|
8
9
|
*/
|
|
9
10
|
export declare function client<S extends (AnyClientSetting | AnyClientExtension)[]>(...settings: S): ExtendedClient<{
|
|
10
11
|
query: typeof query;
|
|
11
|
-
invalidate: (key
|
|
12
|
-
revalidate: (key: import("./CacheStorage.types.
|
|
13
|
-
$data: import("./cache.types.
|
|
14
|
-
$error: (key: import("./CacheStorage.types.
|
|
15
|
-
$loading: (key: import("./CacheStorage.types.
|
|
12
|
+
invalidate: (key?: import("./CacheStorage.types.ts").CacheShardKey | import("./CacheStorage.types.ts").CacheKey) => void;
|
|
13
|
+
revalidate: (key: import("./CacheStorage.types.ts").CacheShardKey | import("./CacheStorage.types.ts").CacheKey) => void;
|
|
14
|
+
$data: import("./cache.types.ts").CacheDataFacade;
|
|
15
|
+
$error: (key: import("./CacheStorage.types.ts").CacheKey) => string | null;
|
|
16
|
+
$loading: (key: import("./CacheStorage.types.ts").CacheKey) => boolean;
|
|
16
17
|
}, S>;
|
|
17
18
|
interface InfinitesExtension {
|
|
18
19
|
infinite: typeof infinite;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;AAW1B,OAAO,EACL,KAAK,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,EACT,MAAM,oBAAoB,CAAA;AAE3B,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;AAW1B,OAAO,EACL,KAAK,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,EACT,MAAM,oBAAoB,CAAA;AAE3B,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,mBAAmB,mBAAmB,CAAA;AAEtC;;;;GAIG;AAEH,wBAAgB,MAAM,CAAC,CAAC,SAAS,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC,GAgBvE,cAAc;WAZH,OAAO,KAAK;;;;;;GAYO,CAAC,CAAC,CAClD;AAED,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,OAAO,QAAQ,CAAA;CAC1B;AAED;;;GAGG;AAEH,wBAAgB,SAAS,IAKjB,eAAe,CAAC,kBAAkB,CAAC,CAC1C;AAED,UAAU,mBAAmB;IAC3B,SAAS,EAAE,OAAO,SAAS,CAAA;CAC5B;AAED;;;GAGG;AAEH,wBAAgB,UAAU,IAKlB,eAAe,CAAC,mBAAmB,CAAC,CAC3C;AAED,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,OAAO,QAAQ,CAAA;CAC1B;AAED;;;GAGG;AAEH,wBAAgB,SAAS,IAKjB,eAAe,CAAC,kBAAkB,CAAC,CAC1C","sourcesContent":["import type {\n ClientExtension,\n ExtendedClient,\n AnyClientSetting,\n AnyClientExtension\n} from './client.types.js'\nimport {\n type QueryClientContext,\n type MutationClientContext,\n ClientContext\n} from './ClientContext.js'\nimport {\n dataCacheFacade,\n errorCacheFacade,\n loadingCacheFacade\n} from './cache.js'\nimport {\n query,\n infinite,\n operation,\n mutation\n} from './queries/index.js'\n\nexport type { InfinitePages } from './queries/index.js'\nexport type * from './client.types.js'\n\n/**\n * Create a query client with optional settings and extensions.\n * @param settings - The client settings and extensions.\n * @returns The query client.\n */\n/* @__NO_SIDE_EFFECTS__ */\nexport function client<S extends (AnyClientSetting | AnyClientExtension)[]>(...settings: S) {\n const ctx = new ClientContext()\n const client = {\n // oxlint-disable-next-line typescript/no-unnecessary-type-assertion\n query: query.bind(ctx) as typeof query,\n invalidate: (key => ctx.invalidate(key)) as typeof ctx.invalidate,\n revalidate: (key => ctx.revalidate(key)) as typeof ctx.revalidate,\n $data: dataCacheFacade(ctx),\n $error: errorCacheFacade(ctx),\n $loading: loadingCacheFacade(ctx)\n }\n\n for (const setting of settings) {\n setting(ctx as QueryClientContext & MutationClientContext, client)\n }\n\n return client as ExtendedClient<typeof client, S>\n}\n\ninterface InfinitesExtension {\n infinite: typeof infinite\n}\n\n/**\n * Extend client with infinite query capability.\n * @returns The client extension.\n */\n/* @__NO_SIDE_EFFECTS__ */\nexport function infinites() {\n return ((ctx, client) => {\n (client as InfinitesExtension).infinite = infinite.bind(ctx)\n\n return client\n }) as ClientExtension<InfinitesExtension>\n}\n\ninterface OperationsExtension {\n operation: typeof operation\n}\n\n/**\n * Extend client with operation capability.\n * @returns The client extension.\n */\n/* @__NO_SIDE_EFFECTS__ */\nexport function operations() {\n return ((ctx, client) => {\n (client as OperationsExtension).operation = operation.bind(ctx)\n\n return client\n }) as ClientExtension<OperationsExtension>\n}\n\ninterface MutationsExtension {\n mutation: typeof mutation\n}\n\n/**\n * Extend client with mutation capability.\n * @returns The client extension.\n */\n/* @__NO_SIDE_EFFECTS__ */\nexport function mutations() {\n return ((ctx, client) => {\n (client as MutationsExtension).mutation = mutation.bind(ctx)\n\n return client\n }) as ClientExtension<MutationsExtension>\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.mock.d.ts","sourceRoot":"","sources":["../src/client.mock.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AASD,wBAAgB,aAAa,SAmB5B;AAED,wBAAsB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAI9D;AAED,wBAAsB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAYzE;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAUxE;AAED,wBAAsB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAa3F;AAED,wBAAsB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAU7D"}
|
|
1
|
+
{"version":3,"file":"client.mock.d.ts","sourceRoot":"","sources":["../src/client.mock.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AASD,wBAAgB,aAAa,SAmB5B;AAED,wBAAsB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAI9D;AAED,wBAAsB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAYzE;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAUxE;AAED,wBAAsB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAa3F;AAED,wBAAsB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAU7D","sourcesContent":["/* oxlint-disable typescript/require-await */\nexport interface Post {\n id: number\n title: string\n content: string\n}\n\nexport interface PostsPage {\n posts: Post[]\n nextCursor: number | null\n}\n\nexport interface CreatePostParams {\n title: string\n content: string\n}\n\nexport interface UpdatePostParams {\n title?: string\n content?: string\n}\n\n// In-memory storage\nlet posts: Post[] = []\nlet nextId = 0\nconst PAGE_SIZE = 2\n\nresetMockData()\n\nexport function resetMockData() {\n posts = [\n {\n id: 1,\n title: 'First Post',\n content: 'Hello World!'\n },\n {\n id: 2,\n title: 'Second Post',\n content: 'Another post content'\n },\n {\n id: 3,\n title: 'Third Post',\n content: 'Yet another post'\n }\n ]\n nextId = 4\n}\n\nexport async function getPost(id: number): Promise<Post | null> {\n const post = posts.find(p => p.id === id)\n\n return post ?? null\n}\n\nexport async function getPosts(cursor?: number | null): Promise<PostsPage> {\n const startIndex = cursor\n ? posts.findIndex(p => p.id === cursor) + 1\n : 0\n const pagePosts = posts.slice(startIndex, startIndex + PAGE_SIZE)\n const lastPost = pagePosts[pagePosts.length - 1]\n const hasMore = lastPost && posts.indexOf(lastPost) < posts.length - 1\n\n return {\n posts: pagePosts,\n nextCursor: hasMore ? lastPost.id : null\n }\n}\n\nexport async function createPost(params: CreatePostParams): Promise<Post> {\n const post: Post = {\n id: nextId++,\n title: params.title,\n content: params.content\n }\n\n posts.push(post)\n\n return post\n}\n\nexport async function updatePost(id: number, params: UpdatePostParams): Promise<Post | null> {\n const index = posts.findIndex(p => p.id === id)\n\n if (index === -1) {\n return null\n }\n\n posts[index] = {\n ...posts[index],\n ...params\n }\n\n return posts[index]\n}\n\nexport async function deletePost(id: number): Promise<boolean> {\n const index = posts.findIndex(p => p.id === id)\n\n if (index === -1) {\n return false\n }\n\n posts.splice(index, 1)\n\n return true\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.types.d.ts","sourceRoot":"","sources":["../src/client.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,oBAAoB,CAAA;AAE3B,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,kBAAkB,GAAG,qBAAqB,GAAG,kBAAkB,GAAG,qBAAqB,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAA;AAE/I,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC,kBAAkB,CAAC,GAAG,aAAa,CAAC,qBAAqB,CAAC,GAAG,aAAa,CAAA;AAEvH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AAE5E,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC,EAAE,CAAC,CAAA;AAEpD,KAAK,SAAS,CAAC,CAAC,SAAS,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,GACxG,KAAK,SAAS,eAAe,CAAC,MAAM,CAAC,CAAC,GACpC,IAAI,SAAS,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,EAAE,GACpD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GACnB,CAAC,GACH,IAAI,SAAS,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,EAAE,GACpD,SAAS,CAAC,IAAI,CAAC,GACf,EAAE,GACN,EAAE,CAAA;AAEN,KAAK,QAAQ,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,EAAE,CAAA;AAEhD,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,EAAE,IAAI,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"client.types.d.ts","sourceRoot":"","sources":["../src/client.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,oBAAoB,CAAA;AAE3B,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,kBAAkB,GAAG,qBAAqB,GAAG,kBAAkB,GAAG,qBAAqB,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAA;AAE/I,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC,kBAAkB,CAAC,GAAG,aAAa,CAAC,qBAAqB,CAAC,GAAG,aAAa,CAAA;AAEvH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AAE5E,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC,EAAE,CAAC,CAAA;AAEpD,KAAK,SAAS,CAAC,CAAC,SAAS,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,GACxG,KAAK,SAAS,eAAe,CAAC,MAAM,CAAC,CAAC,GACpC,IAAI,SAAS,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,EAAE,GACpD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GACnB,CAAC,GACH,IAAI,SAAS,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,EAAE,GACpD,SAAS,CAAC,IAAI,CAAC,GACf,EAAE,GACN,EAAE,CAAA;AAEN,KAAK,QAAQ,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,EAAE,CAAA;AAEhD,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,EAAE,IAAI,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA","sourcesContent":["import type {\n ClientContext,\n QueryClientContext,\n MutationClientContext\n} from './ClientContext.js'\n\nexport type ClientSetting<T extends QueryClientContext | MutationClientContext = QueryClientContext | MutationClientContext> = (ctx: T) => void\n\nexport type AnyClientSetting = ClientSetting<QueryClientContext> | ClientSetting<MutationClientContext> | ClientSetting\n\nexport type ClientExtension<E> = <T>(ctx: ClientContext, client: T) => T & E\n\nexport type AnyClientExtension = ClientExtension<{}>\n\ntype Extension<S extends (AnyClientSetting | AnyClientExtension)[]> = S extends [infer First, ...infer Rest]\n ? First extends ClientExtension<infer E>\n ? Rest extends (AnyClientSetting | AnyClientExtension)[]\n ? Extension<Rest> & E\n : E\n : Rest extends (AnyClientSetting | AnyClientExtension)[]\n ? Extension<Rest>\n : {}\n : {}\n\ntype Prettify<T> = { [K in keyof T]: T[K] } & {}\n\nexport type ExtendedClient<T, S extends (AnyClientSetting | AnyClientExtension)[]> = Prettify<T & Extension<S>>\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from './settings/index.js';
|
|
2
2
|
export { queryKey, operationKey } from './cache.js';
|
|
3
|
-
export { DEFAULT_DEDUPE_TIME, DEFAULT_CACHE_TIME } from './CacheStorage.js';
|
|
4
|
-
export {
|
|
3
|
+
export { type CacheKey, type CacheShardKey, type CacheEntry, DEFAULT_DEDUPE_TIME, DEFAULT_CACHE_TIME } from './CacheStorage.js';
|
|
4
|
+
export { type QueryClientContext, type MutationClientContext, ClientContext, dedupeTime, cacheTime, mapError, onEveryError, disabled, dedupe, tasks } from './ClientContext.js';
|
|
5
5
|
export * from './RequestContext.js';
|
|
6
6
|
export * from './client.js';
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,OAAO,EACL,QAAQ,EACR,YAAY,EACb,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,OAAO,EACL,QAAQ,EACR,YAAY,EACb,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,aAAa,EACb,UAAU,EACV,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,KAAK,EACN,MAAM,oBAAoB,CAAA;AAC3B,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA","sourcesContent":["export * from './settings/index.js'\nexport {\n queryKey,\n operationKey\n} from './cache.js'\nexport {\n type CacheKey,\n type CacheShardKey,\n type CacheEntry,\n DEFAULT_DEDUPE_TIME,\n DEFAULT_CACHE_TIME\n} from './CacheStorage.js'\nexport {\n type QueryClientContext,\n type MutationClientContext,\n ClientContext,\n dedupeTime,\n cacheTime,\n mapError,\n onEveryError,\n disabled,\n dedupe,\n tasks\n} from './ClientContext.js'\nexport * from './RequestContext.js'\nexport * from './client.js'\n"]}
|