@akanjs/store 0.0.149 → 0.0.151
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/cjs/src/baseSt.js +99 -0
- package/cjs/src/index.js +1 -0
- package/cjs/src/storeDecorators.js +7 -7
- package/esm/src/baseSt.js +82 -0
- package/esm/src/index.js +1 -0
- package/esm/src/storeDecorators.js +7 -7
- package/package.json +1 -1
- package/src/baseSt.d.ts +204 -0
- package/src/index.d.ts +1 -0
- package/src/storeDecorators.d.ts +4 -4
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
19
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
20
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
21
|
+
if (decorator = decorators[i])
|
|
22
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
23
|
+
if (kind && result)
|
|
24
|
+
__defProp(target, key, result);
|
|
25
|
+
return result;
|
|
26
|
+
};
|
|
27
|
+
var baseSt_exports = {};
|
|
28
|
+
__export(baseSt_exports, {
|
|
29
|
+
RootStore: () => RootStore,
|
|
30
|
+
st: () => st,
|
|
31
|
+
store: () => store
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(baseSt_exports);
|
|
34
|
+
var import_client = require("@akanjs/client");
|
|
35
|
+
var import_constant = require("@akanjs/constant");
|
|
36
|
+
var import_signal = require("@akanjs/signal");
|
|
37
|
+
var import_storeDecorators = require("./storeDecorators");
|
|
38
|
+
const defaultMessage = {
|
|
39
|
+
type: "info",
|
|
40
|
+
content: "",
|
|
41
|
+
duration: 3,
|
|
42
|
+
// seconds
|
|
43
|
+
key: Math.random().toString(36).slice(2, 15)
|
|
44
|
+
};
|
|
45
|
+
let RootStore = class extends (0, import_storeDecorators.scalarStateOf)("root", {
|
|
46
|
+
csrLoaded: false,
|
|
47
|
+
path: "/",
|
|
48
|
+
pathname: typeof window !== "undefined" ? window.location.pathname : "/",
|
|
49
|
+
params: {},
|
|
50
|
+
searchParams: {},
|
|
51
|
+
theme: "system",
|
|
52
|
+
prefix: void 0,
|
|
53
|
+
innerWidth: 0,
|
|
54
|
+
innerHeight: 0,
|
|
55
|
+
responsive: "md",
|
|
56
|
+
uiOperation: "sleep",
|
|
57
|
+
messages: [],
|
|
58
|
+
tryJwt: null,
|
|
59
|
+
trySignalType: "graphql",
|
|
60
|
+
tryRoles: [...import_signal.roleTypes],
|
|
61
|
+
tryAccount: import_signal.defaultAccount,
|
|
62
|
+
keyboardHeight: 0,
|
|
63
|
+
pageState: import_client.defaultPageState,
|
|
64
|
+
devMode: false,
|
|
65
|
+
getSelf: async ({ reset } = {}) => {
|
|
66
|
+
},
|
|
67
|
+
deviceToken: "",
|
|
68
|
+
currentPath: "",
|
|
69
|
+
connectStatus: "disconnected"
|
|
70
|
+
}) {
|
|
71
|
+
setDevMode(value) {
|
|
72
|
+
this.set({ devMode: value });
|
|
73
|
+
localStorage.setItem("devMode", value.toString());
|
|
74
|
+
}
|
|
75
|
+
setWindowSize() {
|
|
76
|
+
if (typeof window === "undefined")
|
|
77
|
+
return;
|
|
78
|
+
const responsive = import_constant.Responsive.values[import_constant.responsiveWidths.findIndex((w) => w < window.innerWidth)];
|
|
79
|
+
this.set({ innerWidth: window.innerWidth, innerHeight: window.innerHeight, responsive });
|
|
80
|
+
}
|
|
81
|
+
showMessage(message) {
|
|
82
|
+
message.key ??= Math.random().toString(36).slice(2, 15);
|
|
83
|
+
const { messages } = this.get();
|
|
84
|
+
const newMessage = { ...defaultMessage, ...message };
|
|
85
|
+
if (messages.some((m) => m.key === newMessage.key))
|
|
86
|
+
this.set({ messages: messages.map((m) => m.key === newMessage.key ? newMessage : m) });
|
|
87
|
+
else
|
|
88
|
+
this.set({ messages: [...messages.length > 6 ? messages.slice(1) : messages, newMessage] });
|
|
89
|
+
}
|
|
90
|
+
hideMessage(key) {
|
|
91
|
+
const { messages } = this.get();
|
|
92
|
+
this.set({ messages: messages.filter((m) => m.key !== key) });
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
RootStore = __decorateClass([
|
|
96
|
+
(0, import_storeDecorators.Store)({ name: "root" })
|
|
97
|
+
], RootStore);
|
|
98
|
+
const store = RootStore;
|
|
99
|
+
const st = (0, import_storeDecorators.makeStore)(import_storeDecorators.baseSt, store, { library: true });
|
package/cjs/src/index.js
CHANGED
|
@@ -16,3 +16,4 @@ var src_exports = {};
|
|
|
16
16
|
module.exports = __toCommonJS(src_exports);
|
|
17
17
|
__reExport(src_exports, require("./types"), module.exports);
|
|
18
18
|
__reExport(src_exports, require("./storeDecorators"), module.exports);
|
|
19
|
+
__reExport(src_exports, require("./baseSt"), module.exports);
|
|
@@ -21,12 +21,12 @@ __export(storeDecorators_exports, {
|
|
|
21
21
|
MixStore: () => MixStore,
|
|
22
22
|
Store: () => Store,
|
|
23
23
|
Toast: () => Toast,
|
|
24
|
+
baseSt: () => baseSt,
|
|
24
25
|
createActions: () => createActions,
|
|
25
26
|
createState: () => createState,
|
|
26
27
|
makeStore: () => makeStore,
|
|
27
28
|
rootStoreOf: () => rootStoreOf,
|
|
28
29
|
scalarStateOf: () => scalarStateOf,
|
|
29
|
-
st: () => st,
|
|
30
30
|
stateOf: () => stateOf
|
|
31
31
|
});
|
|
32
32
|
module.exports = __toCommonJS(storeDecorators_exports);
|
|
@@ -39,7 +39,7 @@ var import_react = require("react");
|
|
|
39
39
|
var import_zustand = require("zustand");
|
|
40
40
|
var import_middleware = require("zustand/middleware");
|
|
41
41
|
var import_immer = require("zustand/middleware/immer");
|
|
42
|
-
const
|
|
42
|
+
const baseSt = {};
|
|
43
43
|
class StoreStorage {
|
|
44
44
|
}
|
|
45
45
|
const getStoreMeta = (storeName) => {
|
|
@@ -877,8 +877,8 @@ const createSelectors = (_store, store = {}) => {
|
|
|
877
877
|
store.get = _store.getState;
|
|
878
878
|
store.set = (s) => {
|
|
879
879
|
if (typeof s === "function")
|
|
880
|
-
_store.setState((
|
|
881
|
-
s(
|
|
880
|
+
_store.setState((st) => {
|
|
881
|
+
s(st);
|
|
882
882
|
});
|
|
883
883
|
else
|
|
884
884
|
_store.setState(s);
|
|
@@ -1019,9 +1019,9 @@ const makePicker = (set, get) => (...fields) => {
|
|
|
1019
1019
|
}
|
|
1020
1020
|
return ret;
|
|
1021
1021
|
};
|
|
1022
|
-
const makeStore = (
|
|
1022
|
+
const makeStore = (st, storeRef, { library } = {}) => {
|
|
1023
1023
|
if (library)
|
|
1024
|
-
return
|
|
1024
|
+
return st;
|
|
1025
1025
|
const zustandStore = (0, import_zustand.create)(
|
|
1026
1026
|
(0, import_middleware.devtools)(
|
|
1027
1027
|
(0, import_middleware.subscribeWithSelector)(
|
|
@@ -1040,7 +1040,7 @@ const makeStore = (st2, storeRef, { library } = {}) => {
|
|
|
1040
1040
|
{ name: "root", anonymousActionType: "root", type: "root" }
|
|
1041
1041
|
)
|
|
1042
1042
|
);
|
|
1043
|
-
return createSelectors(zustandStore,
|
|
1043
|
+
return createSelectors(zustandStore, st);
|
|
1044
1044
|
};
|
|
1045
1045
|
const MixStore = (s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30) => {
|
|
1046
1046
|
const stores = [
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
4
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
5
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6
|
+
if (decorator = decorators[i])
|
|
7
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
8
|
+
if (kind && result)
|
|
9
|
+
__defProp(target, key, result);
|
|
10
|
+
return result;
|
|
11
|
+
};
|
|
12
|
+
import { defaultPageState } from "@akanjs/client";
|
|
13
|
+
import { Responsive, responsiveWidths } from "@akanjs/constant";
|
|
14
|
+
import { defaultAccount, roleTypes } from "@akanjs/signal";
|
|
15
|
+
import { baseSt, makeStore, scalarStateOf, Store } from "./storeDecorators";
|
|
16
|
+
const defaultMessage = {
|
|
17
|
+
type: "info",
|
|
18
|
+
content: "",
|
|
19
|
+
duration: 3,
|
|
20
|
+
// seconds
|
|
21
|
+
key: Math.random().toString(36).slice(2, 15)
|
|
22
|
+
};
|
|
23
|
+
let RootStore = class extends scalarStateOf("root", {
|
|
24
|
+
csrLoaded: false,
|
|
25
|
+
path: "/",
|
|
26
|
+
pathname: typeof window !== "undefined" ? window.location.pathname : "/",
|
|
27
|
+
params: {},
|
|
28
|
+
searchParams: {},
|
|
29
|
+
theme: "system",
|
|
30
|
+
prefix: void 0,
|
|
31
|
+
innerWidth: 0,
|
|
32
|
+
innerHeight: 0,
|
|
33
|
+
responsive: "md",
|
|
34
|
+
uiOperation: "sleep",
|
|
35
|
+
messages: [],
|
|
36
|
+
tryJwt: null,
|
|
37
|
+
trySignalType: "graphql",
|
|
38
|
+
tryRoles: [...roleTypes],
|
|
39
|
+
tryAccount: defaultAccount,
|
|
40
|
+
keyboardHeight: 0,
|
|
41
|
+
pageState: defaultPageState,
|
|
42
|
+
devMode: false,
|
|
43
|
+
getSelf: async ({ reset } = {}) => {
|
|
44
|
+
},
|
|
45
|
+
deviceToken: "",
|
|
46
|
+
currentPath: "",
|
|
47
|
+
connectStatus: "disconnected"
|
|
48
|
+
}) {
|
|
49
|
+
setDevMode(value) {
|
|
50
|
+
this.set({ devMode: value });
|
|
51
|
+
localStorage.setItem("devMode", value.toString());
|
|
52
|
+
}
|
|
53
|
+
setWindowSize() {
|
|
54
|
+
if (typeof window === "undefined")
|
|
55
|
+
return;
|
|
56
|
+
const responsive = Responsive.values[responsiveWidths.findIndex((w) => w < window.innerWidth)];
|
|
57
|
+
this.set({ innerWidth: window.innerWidth, innerHeight: window.innerHeight, responsive });
|
|
58
|
+
}
|
|
59
|
+
showMessage(message) {
|
|
60
|
+
message.key ??= Math.random().toString(36).slice(2, 15);
|
|
61
|
+
const { messages } = this.get();
|
|
62
|
+
const newMessage = { ...defaultMessage, ...message };
|
|
63
|
+
if (messages.some((m) => m.key === newMessage.key))
|
|
64
|
+
this.set({ messages: messages.map((m) => m.key === newMessage.key ? newMessage : m) });
|
|
65
|
+
else
|
|
66
|
+
this.set({ messages: [...messages.length > 6 ? messages.slice(1) : messages, newMessage] });
|
|
67
|
+
}
|
|
68
|
+
hideMessage(key) {
|
|
69
|
+
const { messages } = this.get();
|
|
70
|
+
this.set({ messages: messages.filter((m) => m.key !== key) });
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
RootStore = __decorateClass([
|
|
74
|
+
Store({ name: "root" })
|
|
75
|
+
], RootStore);
|
|
76
|
+
const store = RootStore;
|
|
77
|
+
const st = makeStore(baseSt, store, { library: true });
|
|
78
|
+
export {
|
|
79
|
+
RootStore,
|
|
80
|
+
st,
|
|
81
|
+
store
|
|
82
|
+
};
|
package/esm/src/index.js
CHANGED
|
@@ -24,7 +24,7 @@ import { useEffect, useRef } from "react";
|
|
|
24
24
|
import { create } from "zustand";
|
|
25
25
|
import { devtools, subscribeWithSelector } from "zustand/middleware";
|
|
26
26
|
import { immer } from "zustand/middleware/immer";
|
|
27
|
-
const
|
|
27
|
+
const baseSt = {};
|
|
28
28
|
class StoreStorage {
|
|
29
29
|
}
|
|
30
30
|
const getStoreMeta = (storeName) => {
|
|
@@ -862,8 +862,8 @@ const createSelectors = (_store, store = {}) => {
|
|
|
862
862
|
store.get = _store.getState;
|
|
863
863
|
store.set = (s) => {
|
|
864
864
|
if (typeof s === "function")
|
|
865
|
-
_store.setState((
|
|
866
|
-
s(
|
|
865
|
+
_store.setState((st) => {
|
|
866
|
+
s(st);
|
|
867
867
|
});
|
|
868
868
|
else
|
|
869
869
|
_store.setState(s);
|
|
@@ -1004,9 +1004,9 @@ const makePicker = (set, get) => (...fields) => {
|
|
|
1004
1004
|
}
|
|
1005
1005
|
return ret;
|
|
1006
1006
|
};
|
|
1007
|
-
const makeStore = (
|
|
1007
|
+
const makeStore = (st, storeRef, { library } = {}) => {
|
|
1008
1008
|
if (library)
|
|
1009
|
-
return
|
|
1009
|
+
return st;
|
|
1010
1010
|
const zustandStore = create(
|
|
1011
1011
|
devtools(
|
|
1012
1012
|
subscribeWithSelector(
|
|
@@ -1025,7 +1025,7 @@ const makeStore = (st2, storeRef, { library } = {}) => {
|
|
|
1025
1025
|
{ name: "root", anonymousActionType: "root", type: "root" }
|
|
1026
1026
|
)
|
|
1027
1027
|
);
|
|
1028
|
-
return createSelectors(zustandStore,
|
|
1028
|
+
return createSelectors(zustandStore, st);
|
|
1029
1029
|
};
|
|
1030
1030
|
const MixStore = (s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30) => {
|
|
1031
1031
|
const stores = [
|
|
@@ -1089,11 +1089,11 @@ export {
|
|
|
1089
1089
|
MixStore,
|
|
1090
1090
|
Store,
|
|
1091
1091
|
Toast,
|
|
1092
|
+
baseSt,
|
|
1092
1093
|
createActions,
|
|
1093
1094
|
createState,
|
|
1094
1095
|
makeStore,
|
|
1095
1096
|
rootStoreOf,
|
|
1096
1097
|
scalarStateOf,
|
|
1097
|
-
st,
|
|
1098
1098
|
stateOf
|
|
1099
1099
|
};
|
package/package.json
CHANGED
package/src/baseSt.d.ts
ADDED
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { Responsive } from "@akanjs/constant";
|
|
2
|
+
import { RoleType, SignalType } from "@akanjs/signal";
|
|
3
|
+
declare const defaultMessage: {
|
|
4
|
+
type: "info" | "success" | "error" | "warning" | "loading";
|
|
5
|
+
content: string;
|
|
6
|
+
duration: number;
|
|
7
|
+
key: string;
|
|
8
|
+
};
|
|
9
|
+
declare const RootStore_base: import("@akanjs/base").Type<{
|
|
10
|
+
readonly get: () => {
|
|
11
|
+
csrLoaded: boolean;
|
|
12
|
+
path: string;
|
|
13
|
+
pathname: string;
|
|
14
|
+
params: {
|
|
15
|
+
[key: string]: string;
|
|
16
|
+
};
|
|
17
|
+
searchParams: {
|
|
18
|
+
[key: string]: string;
|
|
19
|
+
};
|
|
20
|
+
theme: string;
|
|
21
|
+
prefix: string | undefined;
|
|
22
|
+
innerWidth: number;
|
|
23
|
+
innerHeight: number;
|
|
24
|
+
responsive: Responsive;
|
|
25
|
+
uiOperation: "sleep" | "loading" | "idle";
|
|
26
|
+
messages: (typeof defaultMessage)[];
|
|
27
|
+
tryJwt: string | null;
|
|
28
|
+
trySignalType: SignalType;
|
|
29
|
+
tryRoles: RoleType[];
|
|
30
|
+
tryAccount: {
|
|
31
|
+
__InternalArg__: "Account";
|
|
32
|
+
self?: import("@akanjs/signal").Self;
|
|
33
|
+
me?: import("@akanjs/signal").Me;
|
|
34
|
+
appName: string;
|
|
35
|
+
environment: import("@akanjs/base").Environment;
|
|
36
|
+
};
|
|
37
|
+
keyboardHeight: number;
|
|
38
|
+
pageState: import("@akanjs/client").PageState;
|
|
39
|
+
devMode: boolean;
|
|
40
|
+
getSelf: ({ reset }?: {
|
|
41
|
+
reset?: boolean;
|
|
42
|
+
}) => Promise<void>;
|
|
43
|
+
deviceToken: string;
|
|
44
|
+
currentPath: string;
|
|
45
|
+
connectStatus: "connected" | "connecting" | "disconnected";
|
|
46
|
+
};
|
|
47
|
+
readonly set: (state: Partial<{
|
|
48
|
+
csrLoaded: boolean;
|
|
49
|
+
path: string;
|
|
50
|
+
pathname: string;
|
|
51
|
+
params: {
|
|
52
|
+
[key: string]: string;
|
|
53
|
+
};
|
|
54
|
+
searchParams: {
|
|
55
|
+
[key: string]: string;
|
|
56
|
+
};
|
|
57
|
+
theme: string;
|
|
58
|
+
prefix: string | undefined;
|
|
59
|
+
innerWidth: number;
|
|
60
|
+
innerHeight: number;
|
|
61
|
+
responsive: Responsive;
|
|
62
|
+
uiOperation: "sleep" | "loading" | "idle";
|
|
63
|
+
messages: (typeof defaultMessage)[];
|
|
64
|
+
tryJwt: string | null;
|
|
65
|
+
trySignalType: SignalType;
|
|
66
|
+
tryRoles: RoleType[];
|
|
67
|
+
tryAccount: {
|
|
68
|
+
__InternalArg__: "Account";
|
|
69
|
+
self?: import("@akanjs/signal").Self;
|
|
70
|
+
me?: import("@akanjs/signal").Me;
|
|
71
|
+
appName: string;
|
|
72
|
+
environment: import("@akanjs/base").Environment;
|
|
73
|
+
};
|
|
74
|
+
keyboardHeight: number;
|
|
75
|
+
pageState: import("@akanjs/client").PageState;
|
|
76
|
+
devMode: boolean;
|
|
77
|
+
getSelf: ({ reset }?: {
|
|
78
|
+
reset?: boolean;
|
|
79
|
+
}) => Promise<void>;
|
|
80
|
+
deviceToken: string;
|
|
81
|
+
currentPath: string;
|
|
82
|
+
connectStatus: "connected" | "connecting" | "disconnected";
|
|
83
|
+
}> | ((state: {
|
|
84
|
+
csrLoaded: boolean;
|
|
85
|
+
path: string;
|
|
86
|
+
pathname: string;
|
|
87
|
+
params: {
|
|
88
|
+
[key: string]: string;
|
|
89
|
+
};
|
|
90
|
+
searchParams: {
|
|
91
|
+
[key: string]: string;
|
|
92
|
+
};
|
|
93
|
+
theme: string;
|
|
94
|
+
prefix: string | undefined;
|
|
95
|
+
innerWidth: number;
|
|
96
|
+
innerHeight: number;
|
|
97
|
+
responsive: Responsive;
|
|
98
|
+
uiOperation: "sleep" | "loading" | "idle";
|
|
99
|
+
messages: (typeof defaultMessage)[];
|
|
100
|
+
tryJwt: string | null;
|
|
101
|
+
trySignalType: SignalType;
|
|
102
|
+
tryRoles: RoleType[];
|
|
103
|
+
tryAccount: {
|
|
104
|
+
__InternalArg__: "Account";
|
|
105
|
+
self?: import("@akanjs/signal").Self;
|
|
106
|
+
me?: import("@akanjs/signal").Me;
|
|
107
|
+
appName: string;
|
|
108
|
+
environment: import("@akanjs/base").Environment;
|
|
109
|
+
};
|
|
110
|
+
keyboardHeight: number;
|
|
111
|
+
pageState: import("@akanjs/client").PageState;
|
|
112
|
+
devMode: boolean;
|
|
113
|
+
getSelf: ({ reset }?: {
|
|
114
|
+
reset?: boolean;
|
|
115
|
+
}) => Promise<void>;
|
|
116
|
+
deviceToken: string;
|
|
117
|
+
currentPath: string;
|
|
118
|
+
connectStatus: "connected" | "connecting" | "disconnected";
|
|
119
|
+
}) => any)) => void;
|
|
120
|
+
readonly pick: (...fields: ("path" | "prefix" | "params" | "innerHeight" | "innerWidth" | "pathname" | "searchParams" | "csrLoaded" | "theme" | "tryAccount" | "keyboardHeight" | "pageState" | "devMode" | "getSelf" | "responsive" | "uiOperation" | "messages" | "tryJwt" | "trySignalType" | "tryRoles" | "deviceToken" | "currentPath" | "connectStatus")[]) => {
|
|
121
|
+
path: string;
|
|
122
|
+
prefix: string;
|
|
123
|
+
params: {
|
|
124
|
+
[key: string]: string;
|
|
125
|
+
};
|
|
126
|
+
innerHeight: number;
|
|
127
|
+
innerWidth: number;
|
|
128
|
+
pathname: string;
|
|
129
|
+
searchParams: {
|
|
130
|
+
[key: string]: string;
|
|
131
|
+
};
|
|
132
|
+
csrLoaded: boolean;
|
|
133
|
+
theme: string;
|
|
134
|
+
tryAccount: {
|
|
135
|
+
__InternalArg__: "Account";
|
|
136
|
+
self?: import("@akanjs/signal").Self;
|
|
137
|
+
me?: import("@akanjs/signal").Me;
|
|
138
|
+
appName: string;
|
|
139
|
+
environment: import("@akanjs/base").Environment;
|
|
140
|
+
};
|
|
141
|
+
keyboardHeight: number;
|
|
142
|
+
pageState: import("@akanjs/client").PageState;
|
|
143
|
+
devMode: boolean;
|
|
144
|
+
getSelf: ({ reset }?: {
|
|
145
|
+
reset?: boolean;
|
|
146
|
+
}) => Promise<void>;
|
|
147
|
+
responsive: Responsive;
|
|
148
|
+
uiOperation: "sleep" | "idle";
|
|
149
|
+
messages: (typeof defaultMessage)[];
|
|
150
|
+
tryJwt: string;
|
|
151
|
+
trySignalType: SignalType;
|
|
152
|
+
tryRoles: RoleType[];
|
|
153
|
+
deviceToken: string;
|
|
154
|
+
currentPath: string;
|
|
155
|
+
connectStatus: "connected" | "connecting" | "disconnected";
|
|
156
|
+
};
|
|
157
|
+
} & {
|
|
158
|
+
csrLoaded: boolean;
|
|
159
|
+
path: string;
|
|
160
|
+
pathname: string;
|
|
161
|
+
params: {
|
|
162
|
+
[key: string]: string;
|
|
163
|
+
};
|
|
164
|
+
searchParams: {
|
|
165
|
+
[key: string]: string;
|
|
166
|
+
};
|
|
167
|
+
theme: string;
|
|
168
|
+
prefix: string | undefined;
|
|
169
|
+
innerWidth: number;
|
|
170
|
+
innerHeight: number;
|
|
171
|
+
responsive: Responsive;
|
|
172
|
+
uiOperation: "sleep" | "loading" | "idle";
|
|
173
|
+
messages: (typeof defaultMessage)[];
|
|
174
|
+
tryJwt: string | null;
|
|
175
|
+
trySignalType: SignalType;
|
|
176
|
+
tryRoles: RoleType[];
|
|
177
|
+
tryAccount: {
|
|
178
|
+
__InternalArg__: "Account";
|
|
179
|
+
self?: import("@akanjs/signal").Self;
|
|
180
|
+
me?: import("@akanjs/signal").Me;
|
|
181
|
+
appName: string;
|
|
182
|
+
environment: import("@akanjs/base").Environment;
|
|
183
|
+
};
|
|
184
|
+
keyboardHeight: number;
|
|
185
|
+
pageState: import("@akanjs/client").PageState;
|
|
186
|
+
devMode: boolean;
|
|
187
|
+
getSelf: ({ reset }?: {
|
|
188
|
+
reset?: boolean;
|
|
189
|
+
}) => Promise<void>;
|
|
190
|
+
deviceToken: string;
|
|
191
|
+
currentPath: string;
|
|
192
|
+
connectStatus: "connected" | "connecting" | "disconnected";
|
|
193
|
+
}>;
|
|
194
|
+
export declare class RootStore extends RootStore_base {
|
|
195
|
+
setDevMode(value: boolean): void;
|
|
196
|
+
setWindowSize(): void;
|
|
197
|
+
showMessage(message: {
|
|
198
|
+
content: string | string[];
|
|
199
|
+
} & Partial<typeof defaultMessage>): void;
|
|
200
|
+
hideMessage(key: string): void;
|
|
201
|
+
}
|
|
202
|
+
export declare const store: typeof RootStore;
|
|
203
|
+
export declare const st: import("./storeDecorators").WithSelectors<RootStore> & import("./storeDecorators").WithSelectors<any>;
|
|
204
|
+
export {};
|
package/src/index.d.ts
CHANGED
package/src/storeDecorators.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { DbGraphQL, DefaultOf, FetchInitForm, FieldState, FilterListArgs, Filter
|
|
|
5
5
|
import { MutableRefObject } from "react";
|
|
6
6
|
import { Mutate, StoreApi } from "zustand";
|
|
7
7
|
import type { Submit } from "./types";
|
|
8
|
-
export declare const
|
|
8
|
+
export declare const baseSt: WithSelectors<any>;
|
|
9
9
|
type BaseState<T extends string, Full> = {
|
|
10
10
|
[K in Uncapitalize<T>]: Full | null;
|
|
11
11
|
} & {
|
|
@@ -211,7 +211,7 @@ interface StoreDecoratorInput {
|
|
|
211
211
|
}
|
|
212
212
|
export declare const Store: (returnsOrObj: (() => Type) | StoreDecoratorInput) => (target: Type) => void;
|
|
213
213
|
type SetKey<T extends string> = `set${Capitalize<T>}`;
|
|
214
|
-
interface WithSelectors<SA> {
|
|
214
|
+
export interface WithSelectors<SA> {
|
|
215
215
|
sub: {
|
|
216
216
|
(listener: (selectedState: SA, previousSelectedState: SA) => void): () => void;
|
|
217
217
|
<U>(selector: (state: SA) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: {
|
|
@@ -238,9 +238,9 @@ interface WithSelectors<SA> {
|
|
|
238
238
|
interface MakeStoreOption {
|
|
239
239
|
library?: boolean;
|
|
240
240
|
}
|
|
241
|
-
export declare const makeStore: <SA extends {
|
|
241
|
+
export declare const makeStore: <BaseStore extends WithSelectors<any>, SA extends {
|
|
242
242
|
[key: string]: any;
|
|
243
|
-
}>(st:
|
|
243
|
+
}>(st: BaseStore, storeRef: Type<SA>, { library }?: MakeStoreOption) => WithSelectors<SA> & BaseStore;
|
|
244
244
|
export type StoreOf<T extends string, State> = SliceMeta & {
|
|
245
245
|
use: {
|
|
246
246
|
[K in keyof State as State[K] extends (...args: any) => any ? never : K]: () => State[K];
|