r-state-tree 0.4.4 → 0.4.6
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/store/Store.d.ts +8 -8
- package/dist/types.d.ts +7 -0
- package/package.json +1 -1
package/dist/store/Store.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { Props, StoreConfiguration } from "../types";
|
|
1
|
+
import { Props, StoreProps, StoreConfiguration } from "../types";
|
|
2
2
|
export declare function allowNewStore<T>(fn: () => T): T;
|
|
3
|
-
type CreateStoreProps<T extends
|
|
3
|
+
type CreateStoreProps<T extends Record<string, any>> = {
|
|
4
4
|
[K in keyof T as undefined extends T[K] ? K : never]?: T[K] extends infer U ? U extends undefined ? never : undefined extends U ? U | undefined : U : never;
|
|
5
5
|
} & {
|
|
6
6
|
[K in keyof T as undefined extends T[K] ? never : K]?: T[K];
|
|
7
|
-
} & Pick<Props,
|
|
8
|
-
export declare function createStore<K extends Store<
|
|
9
|
-
export declare function updateStore<K extends Store<T>, T extends
|
|
7
|
+
} & Pick<Props, "key" | "models"> & Partial<Record<string, unknown>>;
|
|
8
|
+
export declare function createStore<K extends Store<any>, T extends Record<string, any> = K extends Store<infer P> ? P : never>(Type: new (props: StoreProps<T>) => K, props?: CreateStoreProps<T>): K;
|
|
9
|
+
export declare function updateStore<K extends Store<T>, T extends Record<string, any>>(store: K, props: CreateStoreProps<T>): K;
|
|
10
10
|
export declare function types<T extends Store>(config: Partial<StoreConfiguration<T>>): Partial<StoreConfiguration<T>>;
|
|
11
|
-
export default class Store<PropsType extends
|
|
11
|
+
export default class Store<PropsType extends Record<string, any> = StoreProps<Props>> {
|
|
12
12
|
static get types(): StoreConfiguration<unknown>;
|
|
13
|
-
props: PropsType
|
|
14
|
-
constructor(props: PropsType);
|
|
13
|
+
props: StoreProps<PropsType>;
|
|
14
|
+
constructor(props: StoreProps<PropsType>);
|
|
15
15
|
get key(): string | number | undefined;
|
|
16
16
|
reaction<T>(track: () => T, callback: (a: T) => void): () => void;
|
|
17
17
|
storeDidMount(): void;
|
package/dist/types.d.ts
CHANGED
|
@@ -17,6 +17,13 @@ export type Props = {
|
|
|
17
17
|
[key: string]: Model | Model[] | null;
|
|
18
18
|
};
|
|
19
19
|
};
|
|
20
|
+
export type StoreProps<T extends Record<string, any> = Record<string, any>> = T & {
|
|
21
|
+
[key: string]: unknown;
|
|
22
|
+
key?: Key;
|
|
23
|
+
models?: {
|
|
24
|
+
[key: string]: Model | Model[] | null;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
20
27
|
export type StoreCtor<S extends Store = Store> = (new (...args: ConstructorParameters<typeof Store>) => S) & {
|
|
21
28
|
[P in keyof Store]: Store[P];
|
|
22
29
|
};
|