cross-state 0.6.4 → 0.6.7
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/dist/cjs/_virtual/use-sync-external-store-with-selector.development.cjs +103 -0
- package/dist/cjs/_virtual/use-sync-external-store-with-selector.development.cjs.map +1 -0
- package/dist/cjs/_virtual/use-sync-external-store-with-selector.development2.cjs +5 -0
- package/dist/cjs/_virtual/use-sync-external-store-with-selector.development2.cjs.map +1 -0
- package/dist/cjs/_virtual/use-sync-external-store-with-selector.production.min.cjs +71 -0
- package/dist/cjs/_virtual/use-sync-external-store-with-selector.production.min.cjs.map +1 -0
- package/dist/cjs/_virtual/use-sync-external-store-with-selector.production.min2.cjs +5 -0
- package/dist/cjs/_virtual/use-sync-external-store-with-selector.production.min2.cjs.map +1 -0
- package/dist/cjs/_virtual/with-selector.cjs +12 -0
- package/dist/cjs/_virtual/with-selector.cjs.map +1 -0
- package/dist/cjs/_virtual/with-selector2.cjs +13 -0
- package/dist/cjs/_virtual/with-selector2.cjs.map +1 -0
- package/dist/cjs/core/cache.cjs +227 -0
- package/dist/cjs/core/cache.cjs.map +1 -0
- package/dist/cjs/core/resourceGroup.cjs +53 -0
- package/dist/cjs/core/resourceGroup.cjs.map +1 -0
- package/dist/cjs/core/store.cjs +259 -0
- package/dist/cjs/core/store.cjs.map +1 -0
- package/dist/cjs/immer/immerActions.cjs +10 -0
- package/dist/cjs/immer/immerActions.cjs.map +1 -0
- package/dist/cjs/immer.cjs +2 -7
- package/dist/cjs/immer.cjs.map +1 -1
- package/dist/cjs/index.cjs +19 -290
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/lib/calcDuration.cjs +9 -0
- package/dist/cjs/lib/calcDuration.cjs.map +1 -0
- package/dist/cjs/lib/calculationHelper.cjs +140 -0
- package/dist/cjs/lib/calculationHelper.cjs.map +1 -0
- package/dist/cjs/lib/callable.cjs +11 -0
- package/dist/cjs/lib/callable.cjs.map +1 -0
- package/dist/cjs/lib/clone.cjs +19 -0
- package/dist/cjs/lib/clone.cjs.map +1 -0
- package/dist/cjs/lib/debounce.cjs +28 -0
- package/dist/cjs/lib/debounce.cjs.map +1 -0
- package/dist/cjs/lib/equals.cjs +5 -0
- package/dist/cjs/lib/equals.cjs.map +1 -0
- package/dist/cjs/lib/forwardError.cjs +9 -0
- package/dist/cjs/lib/forwardError.cjs.map +1 -0
- package/dist/cjs/lib/hash.cjs +19 -0
- package/dist/cjs/lib/hash.cjs.map +1 -0
- package/dist/cjs/lib/instanceCache.cjs +68 -0
- package/dist/cjs/lib/instanceCache.cjs.map +1 -0
- package/dist/cjs/lib/makeSelector.cjs +14 -0
- package/dist/cjs/lib/makeSelector.cjs.map +1 -0
- package/dist/cjs/lib/propAccess.cjs +66 -0
- package/dist/cjs/lib/propAccess.cjs.map +1 -0
- package/dist/cjs/lib/queue.cjs +61 -0
- package/dist/cjs/lib/queue.cjs.map +1 -0
- package/dist/cjs/lib/standardMethods.cjs +78 -0
- package/dist/cjs/lib/standardMethods.cjs.map +1 -0
- package/dist/cjs/lib/throttle.cjs +25 -0
- package/dist/cjs/lib/throttle.cjs.map +1 -0
- package/dist/cjs/lib/trackingProxy.cjs +39 -0
- package/dist/cjs/lib/trackingProxy.cjs.map +1 -0
- package/dist/cjs/react/read.cjs +15 -0
- package/dist/cjs/react/read.cjs.map +1 -0
- package/dist/cjs/react/storeScope.cjs +31 -0
- package/dist/cjs/react/storeScope.cjs.map +1 -0
- package/dist/cjs/react/useCache.cjs +31 -0
- package/dist/cjs/react/useCache.cjs.map +1 -0
- package/dist/cjs/react/useProp.cjs +9 -0
- package/dist/cjs/react/useProp.cjs.map +1 -0
- package/dist/cjs/react/useStore.cjs +51 -0
- package/dist/cjs/react/useStore.cjs.map +1 -0
- package/dist/cjs/react.cjs +11 -264
- package/dist/cjs/react.cjs.map +1 -1
- package/dist/es/_virtual/use-sync-external-store-with-selector.development.js +103 -0
- package/dist/es/_virtual/use-sync-external-store-with-selector.development.js.map +1 -0
- package/dist/es/_virtual/use-sync-external-store-with-selector.development2.js +5 -0
- package/dist/es/_virtual/use-sync-external-store-with-selector.development2.js.map +1 -0
- package/dist/es/_virtual/use-sync-external-store-with-selector.production.min.js +71 -0
- package/dist/es/_virtual/use-sync-external-store-with-selector.production.min.js.map +1 -0
- package/dist/es/_virtual/use-sync-external-store-with-selector.production.min2.js +5 -0
- package/dist/es/_virtual/use-sync-external-store-with-selector.production.min2.js.map +1 -0
- package/dist/es/_virtual/with-selector.js +11 -0
- package/dist/es/_virtual/with-selector.js.map +1 -0
- package/dist/es/_virtual/with-selector2.js +14 -0
- package/dist/es/_virtual/with-selector2.js.map +1 -0
- package/dist/es/core/cache.js +227 -0
- package/dist/es/core/cache.js.map +1 -0
- package/dist/es/core/resourceGroup.js +53 -0
- package/dist/es/core/resourceGroup.js.map +1 -0
- package/dist/es/core/store.js +259 -0
- package/dist/es/core/store.js.map +1 -0
- package/dist/es/{immer.mjs → immer/immerActions.js} +1 -1
- package/dist/es/immer/immerActions.js.map +1 -0
- package/dist/es/immer.js +5 -0
- package/dist/es/immer.js.map +1 -0
- package/dist/es/index.js +22 -0
- package/dist/es/index.js.map +1 -0
- package/dist/es/lib/calcDuration.js +9 -0
- package/dist/es/lib/calcDuration.js.map +1 -0
- package/dist/es/lib/calculationHelper.js +140 -0
- package/dist/es/lib/calculationHelper.js.map +1 -0
- package/dist/es/lib/callable.js +11 -0
- package/dist/es/lib/callable.js.map +1 -0
- package/dist/es/lib/clone.js +19 -0
- package/dist/es/lib/clone.js.map +1 -0
- package/dist/es/lib/debounce.js +28 -0
- package/dist/es/lib/debounce.js.map +1 -0
- package/dist/es/lib/equals.js +5 -0
- package/dist/es/lib/equals.js.map +1 -0
- package/dist/es/lib/forwardError.js +9 -0
- package/dist/es/lib/forwardError.js.map +1 -0
- package/dist/es/lib/hash.js +19 -0
- package/dist/es/lib/hash.js.map +1 -0
- package/dist/es/lib/instanceCache.js +68 -0
- package/dist/es/lib/instanceCache.js.map +1 -0
- package/dist/es/lib/makeSelector.js +14 -0
- package/dist/es/lib/makeSelector.js.map +1 -0
- package/dist/es/lib/propAccess.js +66 -0
- package/dist/es/lib/propAccess.js.map +1 -0
- package/dist/es/lib/queue.js +61 -0
- package/dist/es/lib/queue.js.map +1 -0
- package/dist/es/lib/standardMethods.js +78 -0
- package/dist/es/lib/standardMethods.js.map +1 -0
- package/dist/es/lib/throttle.js +25 -0
- package/dist/es/lib/throttle.js.map +1 -0
- package/dist/es/lib/trackingProxy.js +39 -0
- package/dist/es/lib/trackingProxy.js.map +1 -0
- package/dist/es/react/read.js +15 -0
- package/dist/es/react/read.js.map +1 -0
- package/dist/es/react/storeScope.js +31 -0
- package/dist/es/react/storeScope.js.map +1 -0
- package/dist/es/react/useCache.js +31 -0
- package/dist/es/react/useCache.js.map +1 -0
- package/dist/es/react/useProp.js +9 -0
- package/dist/es/react/useProp.js.map +1 -0
- package/dist/es/react/useStore.js +51 -0
- package/dist/es/react/useStore.js.map +1 -0
- package/dist/es/react.js +14 -0
- package/dist/es/react.js.map +1 -0
- package/dist/types/core/cache.d.ts +19 -13
- package/dist/types/core/store.d.ts +6 -4
- package/dist/types/lib/callable.d.ts +4 -0
- package/dist/types/lib/instanceCache.d.ts +2 -2
- package/dist/types/react/useCache.d.ts +1 -1
- package/package.json +8 -8
- package/dist/cjs/hash.cjs +0 -715
- package/dist/cjs/hash.cjs.map +0 -1
- package/dist/es/hash.mjs +0 -716
- package/dist/es/hash.mjs.map +0 -1
- package/dist/es/immer.mjs.map +0 -1
- package/dist/es/index.mjs +0 -294
- package/dist/es/index.mjs.map +0 -1
- package/dist/es/react.mjs +0 -267
- package/dist/es/react.mjs.map +0 -1
- package/dist/types/lib/bind.d.ts +0 -1
|
@@ -13,24 +13,30 @@ export interface CacheFunction<T, Args extends any[] = []> {
|
|
|
13
13
|
}, ...args: Args): Promise<T>;
|
|
14
14
|
}
|
|
15
15
|
export interface CacheOptions<T> {
|
|
16
|
-
invalidateAfter?: Duration | ((state: ValueState<T> | ErrorState) => Duration |
|
|
17
|
-
|
|
16
|
+
invalidateAfter?: Duration | ((state: ValueState<T> | ErrorState) => Duration | null) | null;
|
|
17
|
+
invalidateOnWindowFocus?: boolean;
|
|
18
|
+
invalidateOnActivation?: boolean;
|
|
19
|
+
clearOnInvalidate?: boolean;
|
|
20
|
+
clearUnusedAfter?: Duration | null;
|
|
18
21
|
resourceGroup?: ResourceGroup | ResourceGroup[];
|
|
19
22
|
retain?: number;
|
|
20
|
-
clearUnusedAfter?: Duration;
|
|
21
23
|
}
|
|
22
24
|
export declare class Cache<T> extends Store<Promise<T>> {
|
|
23
25
|
readonly options: CacheOptions<T>;
|
|
26
|
+
readonly derivedFromCache?: {
|
|
27
|
+
cache: Cache<any>;
|
|
28
|
+
selectors: (Selector<any, any> | Path<any>)[];
|
|
29
|
+
} | undefined;
|
|
24
30
|
readonly state: Store<CacheState<T>> & Omit<ThisType<Store<CacheState<T>>>, keyof Store<T_1>> & {
|
|
25
31
|
delete<T_2 extends Record<any, any>, K_1 extends Exclude<{ [K in keyof T_2]: T_2 extends Record<K, T_2[K]> ? never : K; }[keyof T_2], undefined>>(this: Store<T_2>, key: K_1): void;
|
|
26
32
|
clear<T_3 extends Record<any, any>>(this: Store<Partial<T_3>>): void;
|
|
27
33
|
};
|
|
28
34
|
protected stalePromise?: Promise<T>;
|
|
29
|
-
protected
|
|
30
|
-
constructor(getter: CacheFunction<T>, options?: CacheOptions<T>,
|
|
31
|
-
|
|
35
|
+
protected invalidationTimer?: ReturnType<typeof setTimeout>;
|
|
36
|
+
constructor(getter: CacheFunction<T>, options?: CacheOptions<T>, derivedFromCache?: {
|
|
37
|
+
cache: Cache<any>;
|
|
32
38
|
selectors: (Selector<any, any> | Path<any>)[];
|
|
33
|
-
});
|
|
39
|
+
} | undefined, _call?: (...args: any[]) => any);
|
|
34
40
|
get({ update, backgroundUpdate }?: CacheGetOptions): Promise<T>;
|
|
35
41
|
invalidate({ invalidateDependencies }?: {
|
|
36
42
|
invalidateDependencies?: boolean;
|
|
@@ -42,15 +48,15 @@ export declare class Cache<T> extends Store<Promise<T>> {
|
|
|
42
48
|
mapValue<P extends Path<T>>(selector: P): Cache<Value<T, P>>;
|
|
43
49
|
protected watchPromise(): void;
|
|
44
50
|
protected setTimers(): void;
|
|
51
|
+
protected watchFocus(): void;
|
|
45
52
|
}
|
|
46
|
-
|
|
47
|
-
declare function withArgs<T, Args extends any[]>(cacheFunction: CacheFunction<T, Args>, options?: CacheOptions<T>): {
|
|
53
|
+
type CreateReturnType<T, Args extends any[]> = {
|
|
48
54
|
(...args: Args): Cache<T>;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
};
|
|
55
|
+
invalidateAll: () => void;
|
|
56
|
+
clearAll: () => void;
|
|
57
|
+
} & ([] extends Args ? Cache<T> : {});
|
|
58
|
+
declare function create<T, Args extends any[]>(cacheFunction: CacheFunction<T, Args>, options?: CacheOptions<T>): CreateReturnType<T, Args>;
|
|
52
59
|
export declare const createCache: typeof create & {
|
|
53
|
-
withArgs: typeof withArgs;
|
|
54
60
|
defaultOptions: CacheOptions<unknown>;
|
|
55
61
|
};
|
|
56
62
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Cancel, Duration, Effect, Listener, Selector, SubscribeOptions, Update, Use, UseOptions } from './commonTypes';
|
|
2
2
|
import { CalculationHelper } from '../lib/calculationHelper';
|
|
3
|
+
import { Callable } from '../lib/callable';
|
|
3
4
|
import type { Path, Value } from '../lib/path';
|
|
4
5
|
import { arrayMethods, mapMethods, recordMethods, setMethods } from '../lib/standardMethods';
|
|
5
6
|
export type StoreMethods = Record<string, (...args: any[]) => any>;
|
|
@@ -17,13 +18,14 @@ export type Calculate<T> = (this: {
|
|
|
17
18
|
}) => T;
|
|
18
19
|
type StandardMethods<T> = T extends Map<any, any> ? typeof mapMethods : T extends Set<any> ? typeof setMethods : T extends Array<any> ? typeof arrayMethods : T extends Record<any, any> ? typeof recordMethods : Record<string, never>;
|
|
19
20
|
type StoreWithMethods<T, Methods extends StoreMethods> = Store<T> & Omit<BoundStoreMethods<T, Methods>, keyof Store<T>> & StandardMethods<T>;
|
|
20
|
-
export declare class Store<T> {
|
|
21
|
+
export declare class Store<T> extends Callable<any, any> {
|
|
21
22
|
readonly getter: T | Calculate<T>;
|
|
22
23
|
readonly options: StoreOptions;
|
|
23
|
-
|
|
24
|
+
readonly derivedFrom?: {
|
|
24
25
|
store: Store<any>;
|
|
25
26
|
selectors: (Selector<any, any> | Path<any>)[];
|
|
26
27
|
} | undefined;
|
|
28
|
+
protected readonly _call: (...args: any[]) => any;
|
|
27
29
|
protected _value?: {
|
|
28
30
|
v: T;
|
|
29
31
|
};
|
|
@@ -38,7 +40,7 @@ export declare class Store<T> {
|
|
|
38
40
|
constructor(getter: T | Calculate<T>, options?: StoreOptions, derivedFrom?: {
|
|
39
41
|
store: Store<any>;
|
|
40
42
|
selectors: (Selector<any, any> | Path<any>)[];
|
|
41
|
-
} | undefined);
|
|
43
|
+
} | undefined, _call?: (...args: any[]) => any);
|
|
42
44
|
get(): T;
|
|
43
45
|
set(update: Update<T>): void;
|
|
44
46
|
set<P extends Path<T>>(path: P, update: Update<Value<T, P>>): void;
|
|
@@ -60,7 +62,7 @@ export declare class Store<T> {
|
|
|
60
62
|
*/
|
|
61
63
|
addEffect(effect: Effect, retain?: Duration): () => void;
|
|
62
64
|
/** Return whether the store is currently active, which means whether it has at least one subscriber. */
|
|
63
|
-
|
|
65
|
+
isActive(): boolean;
|
|
64
66
|
protected onSubscribe(): void;
|
|
65
67
|
protected onUnsubscribe(): void;
|
|
66
68
|
protected notify(): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare class InstanceCache<Args extends any[], T extends object> {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
readonly factory: (...args: Args) => T;
|
|
3
|
+
readonly cacheTime?: number | undefined;
|
|
4
4
|
private cache;
|
|
5
5
|
private interval;
|
|
6
6
|
constructor(factory: (...args: Args) => T, cacheTime?: number | undefined);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { UseStoreOptions } from './useStore';
|
|
2
|
-
import type { CacheState } from '../lib/cacheState';
|
|
3
2
|
import type { Cache } from '../core';
|
|
3
|
+
import type { CacheState } from '../lib/cacheState';
|
|
4
4
|
export type UseCacheArray<T> = [
|
|
5
5
|
value: T | undefined,
|
|
6
6
|
error: unknown | undefined,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cross-state",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.7",
|
|
4
4
|
"description": "(React) state library",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"repository": "schummar/schummar-state",
|
|
@@ -16,23 +16,23 @@
|
|
|
16
16
|
"react.d.ts"
|
|
17
17
|
],
|
|
18
18
|
"main": "dist/cjs/index.cjs",
|
|
19
|
-
"module": "dist/es/index.
|
|
19
|
+
"module": "dist/es/index.js",
|
|
20
20
|
"types": "dist/types/index.d.ts",
|
|
21
21
|
"exports": {
|
|
22
22
|
".": {
|
|
23
|
-
"import": "./dist/es/index.
|
|
23
|
+
"import": "./dist/es/index.js",
|
|
24
24
|
"require": "./dist/cjs/index.cjs",
|
|
25
|
-
"default": "./dist/es/index.
|
|
25
|
+
"default": "./dist/es/index.js"
|
|
26
26
|
},
|
|
27
27
|
"./react": {
|
|
28
|
-
"import": "./dist/es/react.
|
|
28
|
+
"import": "./dist/es/react.js",
|
|
29
29
|
"require": "./dist/cjs/react.cjs",
|
|
30
|
-
"default": "./dist/es/react.
|
|
30
|
+
"default": "./dist/es/react.js"
|
|
31
31
|
},
|
|
32
32
|
"./immer": {
|
|
33
|
-
"import": "./dist/es/immer.
|
|
33
|
+
"import": "./dist/es/immer.js",
|
|
34
34
|
"require": "./dist/cjs/immer.cjs",
|
|
35
|
-
"default": "./dist/es/immer.
|
|
35
|
+
"default": "./dist/es/immer.js"
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
"typesVersions": {
|