@signalium/query 0.1.0 → 1.0.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.
- package/CHANGELOG.md +15 -0
- package/dist/cjs/EntityMap.js +2 -2
- package/dist/cjs/EntityMap.js.map +1 -1
- package/dist/cjs/NetworkManager.js +105 -0
- package/dist/cjs/NetworkManager.js.map +1 -0
- package/dist/cjs/QueryClient.js +390 -76
- package/dist/cjs/QueryClient.js.map +1 -1
- package/dist/cjs/QueryStore.js +295 -3
- package/dist/cjs/QueryStore.js.map +1 -1
- package/dist/cjs/index.js +16 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/parseEntities.js +3 -0
- package/dist/cjs/parseEntities.js.map +1 -1
- package/dist/cjs/proxy.js +19 -0
- package/dist/cjs/proxy.js.map +1 -1
- package/dist/cjs/query.js +40 -2
- package/dist/cjs/query.js.map +1 -1
- package/dist/cjs/stores/async.js +6 -0
- package/dist/cjs/stores/async.js.map +1 -0
- package/dist/cjs/stores/sync.js +7 -0
- package/dist/cjs/stores/sync.js.map +1 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/cjs/type-utils.js +3 -0
- package/dist/cjs/type-utils.js.map +1 -0
- package/dist/cjs/types.js +19 -1
- package/dist/cjs/types.js.map +1 -1
- package/dist/esm/EntityMap.js +3 -3
- package/dist/esm/EntityMap.js.map +1 -1
- package/dist/esm/NetworkManager.d.ts +48 -0
- package/dist/esm/NetworkManager.d.ts.map +1 -0
- package/dist/esm/NetworkManager.js +101 -0
- package/dist/esm/NetworkManager.js.map +1 -0
- package/dist/esm/QueryClient.d.ts +81 -25
- package/dist/esm/QueryClient.d.ts.map +1 -1
- package/dist/esm/QueryClient.js +390 -76
- package/dist/esm/QueryClient.js.map +1 -1
- package/dist/esm/QueryStore.d.ts +64 -2
- package/dist/esm/QueryStore.d.ts.map +1 -1
- package/dist/esm/QueryStore.js +293 -2
- package/dist/esm/QueryStore.js.map +1 -1
- package/dist/esm/index.d.ts +5 -3
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/parseEntities.d.ts.map +1 -1
- package/dist/esm/parseEntities.js +3 -0
- package/dist/esm/parseEntities.js.map +1 -1
- package/dist/esm/proxy.d.ts +6 -0
- package/dist/esm/proxy.d.ts.map +1 -1
- package/dist/esm/proxy.js +18 -0
- package/dist/esm/proxy.js.map +1 -1
- package/dist/esm/query.d.ts +30 -29
- package/dist/esm/query.d.ts.map +1 -1
- package/dist/esm/query.js +39 -3
- package/dist/esm/query.js.map +1 -1
- package/dist/esm/stores/async.d.ts +2 -0
- package/dist/esm/stores/async.d.ts.map +1 -0
- package/dist/esm/stores/async.js +2 -0
- package/dist/esm/stores/async.js.map +1 -0
- package/dist/esm/stores/sync.d.ts +2 -0
- package/dist/esm/stores/sync.d.ts.map +1 -0
- package/dist/esm/stores/sync.js +2 -0
- package/dist/esm/stores/sync.js.map +1 -0
- package/dist/esm/type-utils.d.ts +12 -0
- package/dist/esm/type-utils.d.ts.map +1 -0
- package/dist/esm/type-utils.js +2 -0
- package/dist/esm/type-utils.js.map +1 -0
- package/dist/esm/types.d.ts +62 -5
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +18 -0
- package/dist/esm/types.js.map +1 -1
- package/index.d.ts +1 -0
- package/package.json +25 -4
- package/stores/async.d.ts +1 -0
- package/stores/async.js +15 -0
- package/stores/sync.d.ts +1 -0
- package/stores/sync.js +15 -0
- package/.turbo/turbo-build.log +0 -12
- package/ENTITY_STORE_DESIGN.md +0 -386
- package/dist/tsconfig.esm.tsbuildinfo +0 -1
- package/src/EntityMap.ts +0 -63
- package/src/QueryClient.ts +0 -482
- package/src/QueryStore.ts +0 -322
- package/src/__tests__/caching-persistence.test.ts +0 -983
- package/src/__tests__/entity-system.test.ts +0 -556
- package/src/__tests__/gc-time.test.ts +0 -327
- package/src/__tests__/mock-fetch.test.ts +0 -186
- package/src/__tests__/parse-entities.test.ts +0 -425
- package/src/__tests__/path-interpolation.test.ts +0 -225
- package/src/__tests__/reactivity.test.ts +0 -424
- package/src/__tests__/refetch-interval.test.ts +0 -262
- package/src/__tests__/rest-query-api.test.ts +0 -568
- package/src/__tests__/stale-time.test.ts +0 -357
- package/src/__tests__/type-to-string.test.ts +0 -129
- package/src/__tests__/utils.ts +0 -258
- package/src/__tests__/validation-edge-cases.test.ts +0 -821
- package/src/errors.ts +0 -124
- package/src/index.ts +0 -7
- package/src/parseEntities.ts +0 -213
- package/src/pathInterpolator.ts +0 -74
- package/src/proxy.ts +0 -257
- package/src/query.ts +0 -164
- package/src/react/__tests__/basic.test.tsx +0 -926
- package/src/react/__tests__/component.test.tsx +0 -984
- package/src/react/__tests__/utils.tsx +0 -71
- package/src/typeDefs.ts +0 -351
- package/src/types.ts +0 -132
- package/src/utils.ts +0 -66
- package/tsconfig.cjs.json +0 -14
- package/tsconfig.esm.json +0 -13
- package/tsconfig.json +0 -20
- package/vitest.config.ts +0 -65
package/dist/esm/proxy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EACL,SAAS,EAMT,UAAU,GAIX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGtD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/proxy.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/query.d.ts
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { QueryCacheOptions } from './QueryClient.js';
|
|
3
|
-
type ExtractPrimitiveTypeFromMask<T extends number> = T extends Mask.UNDEFINED ? undefined : T extends Mask.NULL ? null : T extends Mask.NUMBER ? number : T extends Mask.STRING ? string : T extends Mask.BOOLEAN ? boolean : T extends Mask.ID ? string : never;
|
|
4
|
-
export type ExtractType<T extends ObjectFieldTypeDef | string> = T extends number ? ExtractPrimitiveTypeFromMask<T> : T extends string ? T : T extends Set<infer TSet> ? TSet : T extends ObjectDef<infer S> ? Prettify<ExtractTypesFromShape<S>> : T extends EntityDef<infer S> ? Prettify<ExtractTypesFromShape<S>> : T extends ArrayDef<infer S> ? ExtractType<S>[] : T extends RecordDef<infer S> ? Record<string, ExtractType<S>> : T extends UnionDef<infer VS> ? ExtractType<VS[number]> : never;
|
|
5
|
-
type ExtractTypesFromShape<S extends Record<string, ObjectFieldTypeDef | string>> = {
|
|
6
|
-
[K in keyof S]: ExtractType<S[K]>;
|
|
7
|
-
};
|
|
1
|
+
import { Mask, ObjectFieldTypeDef, UnionDef, QueryFn, InfiniteQueryFn, ExtractTypesFromObjectOrUndefined, StreamQueryFn } from './types.js';
|
|
2
|
+
import { QueryCacheOptions, QueryParams, StreamCacheOptions } from './QueryClient.js';
|
|
8
3
|
type IsParameter<Part> = Part extends `[${infer ParamName}]` ? ParamName : never;
|
|
9
4
|
type FilteredParts<Path> = Path extends `${infer PartA}/${infer PartB}` ? IsParameter<PartA> | FilteredParts<PartB> : IsParameter<Path>;
|
|
10
5
|
type ParamValue<Key> = Key extends `...${infer Anything}` ? (string | number)[] : string | number;
|
|
@@ -12,30 +7,36 @@ type RemovePrefixDots<Key> = Key extends `...${infer Name}` ? Name : Key;
|
|
|
12
7
|
type PathParams<Path> = {
|
|
13
8
|
[Key in FilteredParts<Path> as RemovePrefixDots<Key>]: ParamValue<Key>;
|
|
14
9
|
};
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
type SearchParamsType = Mask.NUMBER | Mask.STRING | Set<string | boolean | number>;
|
|
11
|
+
type SearchParamsDefinition = Record<string, SearchParamsType | UnionDef<SearchParamsType[]>>;
|
|
12
|
+
/**
|
|
13
|
+
* BIG TODO:
|
|
14
|
+
*
|
|
15
|
+
* All of the `any` types in this file need to be removed, but we need to figure
|
|
16
|
+
* out why we're getting so many infinite recursion errors with types first. When
|
|
17
|
+
* we remove them, the types should work without the `any`s.
|
|
18
|
+
*/
|
|
19
|
+
interface RESTQueryDefinition<Path extends string, SearchParams extends Record<string, ObjectFieldTypeDef>, ResponseDef extends Record<string, ObjectFieldTypeDef> | ObjectFieldTypeDef> {
|
|
20
|
+
path: Path;
|
|
17
21
|
method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
|
|
18
|
-
searchParams?:
|
|
19
|
-
response:
|
|
22
|
+
searchParams?: SearchParams;
|
|
23
|
+
response: ResponseDef;
|
|
20
24
|
cache?: QueryCacheOptions;
|
|
21
|
-
refetchInterval?: number;
|
|
22
25
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
type
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
} & {} : T;
|
|
39
|
-
export declare function query<const QDef extends RESTQueryDefinition>(queryDefinitionBuilder: (t: APITypes) => QDef): (...args: HasRequiredKeys<QueryParams<QDef>> extends true ? [params: Prettify<Optionalize<QueryParams<QDef>>>] : [params?: Prettify<Optionalize<QueryParamsOrUndefined<QDef>>>]) => DiscriminatedQueryResult<Readonly<Prettify<ExtractTypesFromObjectOrTypeDef<QDef['response']>>>>;
|
|
26
|
+
interface InfiniteRESTQueryDefinition<Path extends string, SearchParams extends Record<string, ObjectFieldTypeDef>, ResponseDef extends Record<string, ObjectFieldTypeDef> | ObjectFieldTypeDef> extends RESTQueryDefinition<Path, SearchParams, ResponseDef> {
|
|
27
|
+
pagination: {
|
|
28
|
+
getNextPageParams?(lastPage: ExtractTypesFromObjectOrUndefined<ResponseDef>, params?: ExtractTypesFromObjectOrUndefined<SearchParams> | undefined): QueryParams | undefined;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
type ExtractQueryParams<Path extends string, SearchParams extends SearchParamsDefinition> = PathParams<Path> & ExtractTypesFromObjectOrUndefined<SearchParams>;
|
|
32
|
+
interface StreamQueryDefinitionBuilder<Params extends SearchParamsDefinition, Response extends Record<string, ObjectFieldTypeDef> | ObjectFieldTypeDef> {
|
|
33
|
+
params?: Params;
|
|
34
|
+
response: Response;
|
|
35
|
+
subscribe: (params: ExtractTypesFromObjectOrUndefined<Params>, onUpdate: (update: Partial<ExtractTypesFromObjectOrUndefined<Response>>) => void) => () => void;
|
|
36
|
+
cache?: StreamCacheOptions;
|
|
37
|
+
}
|
|
38
|
+
export declare function query<Path extends string, SearchParams extends SearchParamsDefinition, Response extends Record<string, ObjectFieldTypeDef> | ObjectFieldTypeDef>(queryDefinitionBuilder: () => RESTQueryDefinition<Path, SearchParams, Response>): QueryFn<ExtractQueryParams<Path, SearchParams>, Response>;
|
|
39
|
+
export declare function infiniteQuery<Path extends string, SearchParams extends SearchParamsDefinition, Response extends Record<string, ObjectFieldTypeDef> | ObjectFieldTypeDef>(queryDefinitionBuilder: () => InfiniteRESTQueryDefinition<Path, SearchParams, Response>): InfiniteQueryFn<ExtractQueryParams<Path, SearchParams>, Response>;
|
|
40
|
+
export declare function streamQuery<Path extends '', Params extends SearchParamsDefinition, Response extends Record<string, ObjectFieldTypeDef> | ObjectFieldTypeDef>(queryDefinitionBuilder: () => StreamQueryDefinitionBuilder<Params, Response>): StreamQueryFn<ExtractQueryParams<Path, Params>, Response>;
|
|
40
41
|
export {};
|
|
41
42
|
//# sourceMappingURL=query.d.ts.map
|
package/dist/esm/query.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/query.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/query.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/query.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { getContext, reactive } from 'signalium';
|
|
2
|
-
import { QueryClientContext } from './QueryClient.js';
|
|
2
|
+
import { QueryClientContext, } from './QueryClient.js';
|
|
3
3
|
import { t, ValidatorDef } from './typeDefs.js';
|
|
4
4
|
import { createPathInterpolator } from './pathInterpolator.js';
|
|
5
|
-
|
|
5
|
+
function buildQueryFn(queryDefinitionBuilder) {
|
|
6
6
|
let queryDefinition;
|
|
7
7
|
return reactive((params) => {
|
|
8
8
|
const queryClient = getContext(QueryClientContext);
|
|
@@ -10,7 +10,7 @@ export function query(queryDefinitionBuilder) {
|
|
|
10
10
|
throw new Error('QueryClient not found');
|
|
11
11
|
}
|
|
12
12
|
if (queryDefinition === undefined) {
|
|
13
|
-
const { path, method = 'GET', response, cache,
|
|
13
|
+
const { path, method = 'GET', response, cache, pagination, } = queryDefinitionBuilder(t);
|
|
14
14
|
const id = `${method}:${path}`;
|
|
15
15
|
const shape = typeof response === 'object' && !(response instanceof ValidatorDef)
|
|
16
16
|
? t.object(response)
|
|
@@ -26,13 +26,49 @@ export function query(queryDefinitionBuilder) {
|
|
|
26
26
|
return response.json();
|
|
27
27
|
};
|
|
28
28
|
queryDefinition = {
|
|
29
|
+
type: pagination ? "infiniteQuery" /* QueryType.InfiniteQuery */ : "query" /* QueryType.Query */,
|
|
29
30
|
id,
|
|
30
31
|
shape,
|
|
31
32
|
fetchFn,
|
|
33
|
+
pagination,
|
|
32
34
|
cache,
|
|
33
35
|
};
|
|
34
36
|
}
|
|
35
37
|
return queryClient.getQuery(queryDefinition, params);
|
|
36
38
|
});
|
|
37
39
|
}
|
|
40
|
+
export function query(queryDefinitionBuilder) {
|
|
41
|
+
return buildQueryFn(queryDefinitionBuilder);
|
|
42
|
+
}
|
|
43
|
+
export function infiniteQuery(queryDefinitionBuilder) {
|
|
44
|
+
return buildQueryFn(queryDefinitionBuilder);
|
|
45
|
+
}
|
|
46
|
+
export function streamQuery(queryDefinitionBuilder) {
|
|
47
|
+
let streamDefinition;
|
|
48
|
+
return reactive((params) => {
|
|
49
|
+
const queryClient = getContext(QueryClientContext);
|
|
50
|
+
if (queryClient === undefined) {
|
|
51
|
+
throw new Error('QueryClient not found');
|
|
52
|
+
}
|
|
53
|
+
if (streamDefinition === undefined) {
|
|
54
|
+
const { response, subscribe, cache } = queryDefinitionBuilder();
|
|
55
|
+
// Validate that response is an EntityDef
|
|
56
|
+
if (!(response instanceof ValidatorDef) || (response.mask & 1024 /* Mask.ENTITY */) === 0) {
|
|
57
|
+
throw new Error('Stream query response must be an EntityDef');
|
|
58
|
+
}
|
|
59
|
+
// Generate a unique ID for the stream
|
|
60
|
+
const id = `stream:${JSON.stringify(queryDefinitionBuilder.toString())}`;
|
|
61
|
+
streamDefinition = {
|
|
62
|
+
type: "stream" /* QueryType.Stream */,
|
|
63
|
+
id,
|
|
64
|
+
shape: response,
|
|
65
|
+
subscribeFn: (context, params, onUpdate) => {
|
|
66
|
+
return subscribe(params, onUpdate);
|
|
67
|
+
},
|
|
68
|
+
cache,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
return queryClient.getQuery(streamDefinition, params);
|
|
72
|
+
});
|
|
73
|
+
}
|
|
38
74
|
//# sourceMappingURL=query.js.map
|
package/dist/esm/query.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/query.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../../src/stores/async.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async.js","sourceRoot":"","sources":["../../../src/stores/async.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAgD,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/stores/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/stores/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA4B,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type HasRequiredKeys<T> = {} extends T ? false : {
|
|
2
|
+
[K in keyof T]: undefined;
|
|
3
|
+
} extends T ? false : true;
|
|
4
|
+
export type Optionalize<T> = T extends object ? {
|
|
5
|
+
-readonly [K in keyof T as undefined extends T[K] ? never : K]: T[K];
|
|
6
|
+
} & {
|
|
7
|
+
-readonly [K in keyof T as undefined extends T[K] ? K : never]?: T[K];
|
|
8
|
+
} : T;
|
|
9
|
+
export type Prettify<T> = T extends object ? {
|
|
10
|
+
-readonly [K in keyof T]: T[K];
|
|
11
|
+
} & {} : T;
|
|
12
|
+
//# sourceMappingURL=type-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-utils.d.ts","sourceRoot":"","sources":["../../src/type-utils.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS;CAAE,SAAS,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;AAG/G,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GACzC;IACE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrE,GAAG;IACF,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CACtE,GACD,CAAC,CAAC;AAIN,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GACtC;IACE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC/B,GAAG,EAAE,GACN,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-utils.js","sourceRoot":"","sources":["../../src/type-utils.ts"],"names":[],"mappings":""}
|
package/dist/esm/types.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { PendingReactivePromise, ReadyReactivePromise } from 'signalium';
|
|
2
2
|
import { ReactivePromise } from 'signalium';
|
|
3
|
+
import { HasRequiredKeys, Optionalize, Prettify } from './type-utils.js';
|
|
3
4
|
export declare enum RefetchInterval {
|
|
4
5
|
Every1Second = 1000,
|
|
5
6
|
Every5Seconds = 5000,
|
|
@@ -8,6 +9,31 @@ export declare enum RefetchInterval {
|
|
|
8
9
|
Every1Minute = 60000,
|
|
9
10
|
Every5Minutes = 300000
|
|
10
11
|
}
|
|
12
|
+
export declare enum NetworkMode {
|
|
13
|
+
/**
|
|
14
|
+
* Always fetch regardless of network status
|
|
15
|
+
*/
|
|
16
|
+
Always = "always",
|
|
17
|
+
/**
|
|
18
|
+
* Only fetch when online (default)
|
|
19
|
+
*/
|
|
20
|
+
Online = "online",
|
|
21
|
+
/**
|
|
22
|
+
* Fetch if cached data exists, even when offline
|
|
23
|
+
*/
|
|
24
|
+
OfflineFirst = "offlineFirst"
|
|
25
|
+
}
|
|
26
|
+
export interface RetryConfig {
|
|
27
|
+
/**
|
|
28
|
+
* Number of retry attempts
|
|
29
|
+
*/
|
|
30
|
+
retries: number;
|
|
31
|
+
/**
|
|
32
|
+
* Optional custom delay function (receives attempt index starting at 0)
|
|
33
|
+
* Default: exponential backoff (1000ms * 2^attempt)
|
|
34
|
+
*/
|
|
35
|
+
retryDelay?: (attemptIndex: number) => number;
|
|
36
|
+
}
|
|
11
37
|
export declare const enum Mask {
|
|
12
38
|
UNDEFINED = 1,
|
|
13
39
|
NULL = 2,
|
|
@@ -83,14 +109,45 @@ export interface APITypes {
|
|
|
83
109
|
record: <T extends TypeDef>(shape: T) => RecordDef<T>;
|
|
84
110
|
union: <VS extends readonly TypeDef[]>(...types: VS) => UnionDef<VS>;
|
|
85
111
|
}
|
|
86
|
-
type
|
|
112
|
+
type ExtractPrimitiveTypeFromMask<T extends number> = T extends Mask.UNDEFINED ? undefined : T extends Mask.NULL ? null : T extends Mask.NUMBER ? number : T extends Mask.STRING ? string : T extends Mask.BOOLEAN ? boolean : T extends Mask.ID ? string : never;
|
|
113
|
+
type ExtractTypesFromShape<S extends Record<string, ObjectFieldTypeDef>> = {
|
|
114
|
+
[K in keyof S]: ExtractType<S[K]>;
|
|
115
|
+
};
|
|
116
|
+
export type ExtractType<T extends ObjectFieldTypeDef> = T extends number ? ExtractPrimitiveTypeFromMask<T> : T extends string ? T : T extends Set<infer TSet> ? TSet : T extends ObjectDef<infer S> ? Prettify<ExtractTypesFromShape<S>> : T extends EntityDef<infer S> ? Prettify<ExtractTypesFromShape<S>> : T extends ArrayDef<infer S> ? ExtractType<S>[] : T extends RecordDef<infer S> ? Record<string, ExtractType<S>> : T extends UnionDef<infer VS> ? ExtractType<VS[number]> : never;
|
|
117
|
+
export type QueryType<T> = T extends () => infer Response ? (Response extends QueryResult<infer T> ? T : never) : never;
|
|
118
|
+
interface BaseQueryResultExtensions<T> {
|
|
119
|
+
readonly isFetching: boolean;
|
|
120
|
+
readonly isPaused: boolean;
|
|
121
|
+
}
|
|
122
|
+
interface QueryResultExtensions<T> extends BaseQueryResultExtensions<T> {
|
|
87
123
|
refetch: () => Promise<T>;
|
|
88
124
|
readonly isRefetching: boolean;
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
export type QueryResult<T> = ReactivePromise<T> & QueryResultExtensions<T>;
|
|
125
|
+
}
|
|
126
|
+
export type BaseQueryResult<T> = ReactivePromise<T> & QueryResultExtensions<T>;
|
|
92
127
|
export type PendingQueryResult<T> = PendingReactivePromise<T> & QueryResultExtensions<T>;
|
|
93
128
|
export type ReadyQueryResult<T> = ReadyReactivePromise<T> & QueryResultExtensions<T>;
|
|
94
|
-
export type
|
|
129
|
+
export type QueryResult<T> = PendingQueryResult<T> | ReadyQueryResult<T>;
|
|
130
|
+
export type ResponseTypeDef = Record<string, ObjectFieldTypeDef> | ObjectFieldTypeDef;
|
|
131
|
+
export type ParamsOrUndefined<Params extends Record<string, unknown>> = {} extends Params ? undefined : Params;
|
|
132
|
+
export type ExtractTypesFromObjectOrUndefined<S extends ResponseTypeDef> = S extends Record<string, ObjectFieldTypeDef> ? {
|
|
133
|
+
[K in keyof S]: ExtractType<S[K]>;
|
|
134
|
+
} : S extends ObjectFieldTypeDef ? ExtractType<S> : {};
|
|
135
|
+
export type QueryFn<Params extends Record<string, unknown>, Response extends ResponseTypeDef> = HasRequiredKeys<Params> extends true ? (params: Prettify<Optionalize<Params>>) => QueryResult<Readonly<Prettify<ExtractTypesFromObjectOrUndefined<Response>>>> : (params?: Prettify<Optionalize<ParamsOrUndefined<Params>>>) => QueryResult<Readonly<Prettify<ExtractTypesFromObjectOrUndefined<Response>>>>;
|
|
136
|
+
interface InfiniteQueryResultExtensions<T> extends QueryResultExtensions<T> {
|
|
137
|
+
fetchNextPage: () => Promise<T>;
|
|
138
|
+
hasNextPage: boolean;
|
|
139
|
+
isFetchingMore: boolean;
|
|
140
|
+
}
|
|
141
|
+
export type BaseInfiniteQueryResult<T> = ReactivePromise<T> & InfiniteQueryResultExtensions<T>;
|
|
142
|
+
export type PendingInfiniteQueryResult<T> = PendingReactivePromise<T> & InfiniteQueryResultExtensions<T>;
|
|
143
|
+
export type ReadyInfiniteQueryResult<T> = ReadyReactivePromise<T> & InfiniteQueryResultExtensions<T>;
|
|
144
|
+
export type InfiniteQueryResult<T> = PendingInfiniteQueryResult<T> | ReadyInfiniteQueryResult<T>;
|
|
145
|
+
export type InfiniteQueryFn<Params extends Record<string, unknown>, Response extends Record<string, ObjectFieldTypeDef> | ObjectFieldTypeDef> = HasRequiredKeys<Params> extends true ? (params: Prettify<Optionalize<Params>>) => InfiniteQueryResult<Readonly<Prettify<ExtractTypesFromObjectOrUndefined<Response>>>[]> : (params?: Prettify<Optionalize<ParamsOrUndefined<Params>>>) => InfiniteQueryResult<Readonly<Prettify<ExtractTypesFromObjectOrUndefined<Response>>>[]>;
|
|
146
|
+
type StreamQueryResultExtensions<T> = BaseQueryResultExtensions<T>;
|
|
147
|
+
export type BaseStreamQueryResult<T> = ReactivePromise<T> & StreamQueryResultExtensions<T>;
|
|
148
|
+
export type PendingStreamQueryResult<T> = PendingReactivePromise<T> & StreamQueryResultExtensions<T>;
|
|
149
|
+
export type ReadyStreamQueryResult<T> = ReadyReactivePromise<T> & StreamQueryResultExtensions<T>;
|
|
150
|
+
export type StreamQueryResult<T> = PendingStreamQueryResult<T> | ReadyStreamQueryResult<T>;
|
|
151
|
+
export type StreamQueryFn<Params extends Record<string, unknown>, Response extends Record<string, ObjectFieldTypeDef> | ObjectFieldTypeDef> = HasRequiredKeys<Params> extends true ? (params: Prettify<Optionalize<Params>>) => StreamQueryResult<Readonly<Prettify<ExtractTypesFromObjectOrUndefined<Response>>>> : (params?: Prettify<Optionalize<ParamsOrUndefined<Params>>>) => StreamQueryResult<Readonly<Prettify<ExtractTypesFromObjectOrUndefined<Response>>>>;
|
|
95
152
|
export {};
|
|
96
153
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/esm/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/types.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// ================================
|
|
2
|
+
// Type Definitions
|
|
3
|
+
// ================================
|
|
1
4
|
export var RefetchInterval;
|
|
2
5
|
(function (RefetchInterval) {
|
|
3
6
|
RefetchInterval[RefetchInterval["Every1Second"] = 1000] = "Every1Second";
|
|
@@ -7,6 +10,21 @@ export var RefetchInterval;
|
|
|
7
10
|
RefetchInterval[RefetchInterval["Every1Minute"] = 60000] = "Every1Minute";
|
|
8
11
|
RefetchInterval[RefetchInterval["Every5Minutes"] = 300000] = "Every5Minutes";
|
|
9
12
|
})(RefetchInterval || (RefetchInterval = {}));
|
|
13
|
+
export var NetworkMode;
|
|
14
|
+
(function (NetworkMode) {
|
|
15
|
+
/**
|
|
16
|
+
* Always fetch regardless of network status
|
|
17
|
+
*/
|
|
18
|
+
NetworkMode["Always"] = "always";
|
|
19
|
+
/**
|
|
20
|
+
* Only fetch when online (default)
|
|
21
|
+
*/
|
|
22
|
+
NetworkMode["Online"] = "online";
|
|
23
|
+
/**
|
|
24
|
+
* Fetch if cached data exists, even when offline
|
|
25
|
+
*/
|
|
26
|
+
NetworkMode["OfflineFirst"] = "offlineFirst";
|
|
27
|
+
})(NetworkMode || (NetworkMode = {}));
|
|
10
28
|
export const ARRAY_KEY = Symbol('array');
|
|
11
29
|
export const RECORD_KEY = Symbol('record');
|
|
12
30
|
//# sourceMappingURL=types.js.map
|
package/dist/esm/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAIA,mCAAmC;AACnC,mBAAmB;AACnB,mCAAmC;AAEnC,MAAM,CAAN,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,wEAAmB,CAAA;IACnB,0EAAoB,CAAA;IACpB,6EAAsB,CAAA;IACtB,6EAAsB,CAAA;IACtB,yEAAoB,CAAA;IACpB,4EAAsB,CAAA;AACxB,CAAC,EAPW,eAAe,KAAf,eAAe,QAO1B;AAED,MAAM,CAAN,IAAY,WAaX;AAbD,WAAY,WAAW;IACrB;;OAEG;IACH,gCAAiB,CAAA;IACjB;;OAEG;IACH,gCAAiB,CAAA;IACjB;;OAEG;IACH,4CAA6B,CAAA;AAC/B,CAAC,EAbW,WAAW,KAAX,WAAW,QAatB;AAqDD,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC"}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './dist/esm/index.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@signalium/query",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -21,11 +21,32 @@
|
|
|
21
21
|
"default": "./dist/cjs/index.js"
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
|
+
"./stores/async": {
|
|
25
|
+
"types": "./dist/esm/stores/async.d.ts",
|
|
26
|
+
"import": "./dist/esm/stores/async.js",
|
|
27
|
+
"require": "./dist/cjs/stores/async.js",
|
|
28
|
+
"default": "./dist/esm/stores/async.js"
|
|
29
|
+
},
|
|
30
|
+
"./stores/sync": {
|
|
31
|
+
"types": "./dist/esm/stores/sync.d.ts",
|
|
32
|
+
"import": "./dist/esm/stores/sync.js",
|
|
33
|
+
"require": "./dist/cjs/stores/sync.js",
|
|
34
|
+
"default": "./dist/esm/stores/sync.js"
|
|
35
|
+
},
|
|
24
36
|
"./package.json": "./package.json"
|
|
25
37
|
},
|
|
38
|
+
"files": [
|
|
39
|
+
"dist/esm/**",
|
|
40
|
+
"dist/cjs/**",
|
|
41
|
+
"stores/**",
|
|
42
|
+
"index.d.ts",
|
|
43
|
+
"README.md",
|
|
44
|
+
"CHANGELOG.md",
|
|
45
|
+
"LICENSE*"
|
|
46
|
+
],
|
|
26
47
|
"peerDependencies": {
|
|
27
48
|
"react": ">=18.3.1",
|
|
28
|
-
"signalium": ">=2.0
|
|
49
|
+
"signalium": ">=2.1.0"
|
|
29
50
|
},
|
|
30
51
|
"peerDependenciesMeta": {
|
|
31
52
|
"react": {
|
|
@@ -42,7 +63,7 @@
|
|
|
42
63
|
"test:transform": "vitest run --project transform",
|
|
43
64
|
"test:react": "vitest run --project react",
|
|
44
65
|
"check-types": "tsc --noEmit",
|
|
45
|
-
"build": "npm run build:esm && npm run build:cjs",
|
|
66
|
+
"build": "npm run build:esm && npm run build:cjs && node scripts/generate-legacy-entries.cjs",
|
|
46
67
|
"build:esm": "tsc --build tsconfig.esm.json",
|
|
47
68
|
"build:cjs": "tsc --build tsconfig.cjs.json"
|
|
48
69
|
},
|
|
@@ -57,7 +78,7 @@
|
|
|
57
78
|
"react": "^18.3.1",
|
|
58
79
|
"react-dom": "^18.3.1",
|
|
59
80
|
"rollup-plugin-const-enum": "^1.1.4",
|
|
60
|
-
"signalium": "2.0
|
|
81
|
+
"signalium": "2.1.0",
|
|
61
82
|
"vite": "^7.1.2",
|
|
62
83
|
"vite-plugin-babel": "^1.3.0",
|
|
63
84
|
"vite-plugin-dts": "^4.5.4",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../dist/esm/stores/async.js';
|
package/stores/async.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
Object.defineProperty(exports, '__esModule', {
|
|
3
|
+
value: true,
|
|
4
|
+
});
|
|
5
|
+
var _index = require('../dist/cjs/stores/async.js');
|
|
6
|
+
Object.keys(_index).forEach(function (key) {
|
|
7
|
+
if (key === 'default' || key === '__esModule') return;
|
|
8
|
+
if (key in exports && exports[key] === _index[key]) return;
|
|
9
|
+
Object.defineProperty(exports, key, {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function () {
|
|
12
|
+
return _index[key];
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
});
|
package/stores/sync.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../dist/esm/stores/sync.js';
|
package/stores/sync.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
Object.defineProperty(exports, '__esModule', {
|
|
3
|
+
value: true,
|
|
4
|
+
});
|
|
5
|
+
var _index = require('../dist/cjs/stores/sync.js');
|
|
6
|
+
Object.keys(_index).forEach(function (key) {
|
|
7
|
+
if (key === 'default' || key === '__esModule') return;
|
|
8
|
+
if (key in exports && exports[key] === _index[key]) return;
|
|
9
|
+
Object.defineProperty(exports, key, {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function () {
|
|
12
|
+
return _index[key];
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
});
|
package/.turbo/turbo-build.log
DELETED