@actdim/dynstruct 1.1.6 → 1.1.8
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/appDomain/appContracts.d.ts +33 -26
- package/dist/appDomain/appContracts.d.ts.map +1 -1
- package/dist/appDomain/appContracts.es.js +10 -9
- package/dist/appDomain/appContracts.es.js.map +1 -1
- package/dist/appDomain/security/securityContracts.d.ts +18 -18
- package/dist/appDomain/security/securityContracts.d.ts.map +1 -1
- package/dist/appDomain/security/securityContracts.es.js +10 -10
- package/dist/appDomain/security/securityContracts.es.js.map +1 -1
- package/dist/appDomain/security/securityProvider.d.ts +8 -8
- package/dist/appDomain/security/securityProvider.d.ts.map +1 -1
- package/dist/appDomain/security/securityProvider.es.js +92 -93
- package/dist/appDomain/security/securityProvider.es.js.map +1 -1
- package/dist/componentModel/adapters.d.ts +3 -3
- package/dist/componentModel/adapters.d.ts.map +1 -1
- package/dist/componentModel/adapters.es.js +10 -12
- package/dist/componentModel/adapters.es.js.map +1 -1
- package/dist/componentModel/contracts.d.ts +18 -18
- package/dist/componentModel/contracts.d.ts.map +1 -1
- package/dist/componentModel/contracts.es.js.map +1 -1
- package/dist/componentModel/core.d.ts.map +1 -1
- package/dist/componentModel/core.es.js +86 -86
- package/dist/componentModel/core.es.js.map +1 -1
- package/dist/componentModel/react.d.ts.map +1 -1
- package/dist/componentModel/react.es.js +130 -136
- package/dist/componentModel/react.es.js.map +1 -1
- package/dist/net/client.d.ts.map +1 -1
- package/dist/net/client.es.js +14 -12
- package/dist/net/client.es.js.map +1 -1
- package/dist/services/ServiceProvider.d.ts +6 -4
- package/dist/services/ServiceProvider.d.ts.map +1 -1
- package/dist/services/ServiceProvider.es.js +8 -13
- package/dist/services/ServiceProvider.es.js.map +1 -1
- package/dist/services/StorageService.d.ts +5 -14
- package/dist/services/StorageService.d.ts.map +1 -1
- package/dist/services/StorageService.es.js +38 -48
- package/dist/services/StorageService.es.js.map +1 -1
- package/dist/services/{NavService.d.ts → react/NavService.d.ts} +6 -5
- package/dist/services/react/NavService.d.ts.map +1 -0
- package/dist/services/{NavService.es.js → react/NavService.es.js} +7 -7
- package/dist/services/react/NavService.es.js.map +1 -0
- package/dist/services/react/ServiceProvider.d.ts +7 -0
- package/dist/services/react/ServiceProvider.d.ts.map +1 -0
- package/dist/services/react/ServiceProvider.es.js +24 -0
- package/dist/services/react/ServiceProvider.es.js.map +1 -0
- package/dist/services/react/StorageService.d.ts +16 -0
- package/dist/services/react/StorageService.d.ts.map +1 -0
- package/dist/services/react/StorageService.es.js +55 -0
- package/dist/services/react/StorageService.es.js.map +1 -0
- package/package.json +2 -2
- package/dist/services/NavService.d.ts.map +0 -1
- package/dist/services/NavService.es.js.map +0 -1
|
@@ -1,17 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const r = new AbortController();
|
|
9
|
-
return s(e.msgBus, t.adapters, r.signal), () => {
|
|
10
|
-
r.abort();
|
|
11
|
-
};
|
|
12
|
-
}, [e.msgBus, t.adapters]), /* @__PURE__ */ n.createElement(i.Provider, { value: t.adapters }, t.children);
|
|
1
|
+
import { registerAdapters as n } from "../componentModel/adapters.es.js";
|
|
2
|
+
function i(o, e, r) {
|
|
3
|
+
const t = new AbortController();
|
|
4
|
+
return r && (r = AbortSignal.any([r, t.signal])), n(o, e, r), {
|
|
5
|
+
adapters: e,
|
|
6
|
+
abortSignal: r
|
|
7
|
+
};
|
|
13
8
|
}
|
|
14
9
|
export {
|
|
15
|
-
|
|
10
|
+
i as createServiceProvider
|
|
16
11
|
};
|
|
17
12
|
//# sourceMappingURL=ServiceProvider.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceProvider.es.js","sources":["../../src/services/ServiceProvider.
|
|
1
|
+
{"version":3,"file":"ServiceProvider.es.js","sources":["../../src/services/ServiceProvider.ts"],"sourcesContent":["import { BaseAppMsgStruct } from '@/appDomain/appContracts';\r\nimport { MsgProviderAdapter, registerAdapters } from '../componentModel/adapters';\r\nimport { MsgBus } from '@actdim/msgmesh/contracts';\r\n\r\nexport function createServiceProvider(msgBus: MsgBus<BaseAppMsgStruct>, adapters?: MsgProviderAdapter[], abortSignal?: AbortSignal) {\r\n const abortController = new AbortController();\r\n if (abortSignal) {\r\n abortSignal = AbortSignal.any([abortSignal, abortController.signal]);\r\n }\r\n registerAdapters(msgBus, adapters, abortSignal);\r\n return {\r\n adapters,\r\n abortSignal\r\n }\r\n}\r\n\r\n"],"names":["createServiceProvider","msgBus","adapters","abortSignal","abortController","registerAdapters"],"mappings":";AAIO,SAASA,EAAsBC,GAAkCC,GAAiCC,GAA2B;AAChI,QAAMC,IAAkB,IAAI,gBAAA;AAC5B,SAAID,MACAA,IAAc,YAAY,IAAI,CAACA,GAAaC,EAAgB,MAAM,CAAC,IAEvEC,EAAiBJ,GAAQC,GAAUC,CAAW,GACvC;AAAA,IACH,UAAAD;AAAA,IACA,aAAAC;AAAA,EAAA;AAER;"}
|
|
@@ -1,16 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
storeName?: string;
|
|
7
|
-
};
|
|
8
|
-
msgScope: {
|
|
9
|
-
provide: BaseAppMsgChannels<'APP-KV-STORE-GET' | 'APP-KV-STORE-SET' | 'APP-KV-STORE-REMOVE'>;
|
|
10
|
-
};
|
|
1
|
+
import { BaseAppMsgStruct } from '../appDomain/appContracts';
|
|
2
|
+
import { MsgBus } from '@actdim/msgmesh/contracts';
|
|
3
|
+
export declare function createStorageService(msgBus: MsgBus<BaseAppMsgStruct>, storeName: string, abortSignal?: AbortSignal): Promise<{
|
|
4
|
+
storeName: string;
|
|
5
|
+
abortSignal: AbortSignal;
|
|
11
6
|
}>;
|
|
12
|
-
export declare const useStorageService: (params: ComponentParams<Struct>) => Component<Struct>;
|
|
13
|
-
export type StorageServiceStruct = Struct;
|
|
14
|
-
export declare const StorageServiceFC: FC<ComponentParams<TStruct>>;
|
|
15
|
-
export {};
|
|
16
7
|
//# sourceMappingURL=StorageService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageService.d.ts","sourceRoot":"","sources":["../../src/services/StorageService.
|
|
1
|
+
{"version":3,"file":"StorageService.d.ts","sourceRoot":"","sources":["../../src/services/StorageService.ts"],"names":[],"mappings":"AACA,OAAO,EAAyC,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACnG,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnD,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW;;;GAwDxH"}
|
|
@@ -1,55 +1,45 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return t = l({
|
|
13
|
-
props: {
|
|
14
|
-
storeName: ""
|
|
1
|
+
import { PersistentStore as i } from "@actdim/utico/store/persistentStore";
|
|
2
|
+
import { $STORE_GET as p, $STORE_SET as s, $STORE_REMOVE as l } from "../appDomain/appContracts.es.js";
|
|
3
|
+
async function k(t, n, e) {
|
|
4
|
+
const c = new AbortController();
|
|
5
|
+
e && (e = AbortSignal.any([e, c.signal]));
|
|
6
|
+
const r = () => i.open(n);
|
|
7
|
+
return t.provide({
|
|
8
|
+
channel: p,
|
|
9
|
+
group: "in",
|
|
10
|
+
options: {
|
|
11
|
+
abortSignal: e
|
|
15
12
|
},
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
{
|
|
28
|
-
key: e.payload.key
|
|
29
|
-
},
|
|
30
|
-
e.payload.value
|
|
31
|
-
);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
13
|
+
callback: async (o) => await (await r()).get(o.payload.key)
|
|
14
|
+
}), t.provide({
|
|
15
|
+
channel: s,
|
|
16
|
+
group: "in",
|
|
17
|
+
options: {
|
|
18
|
+
abortSignal: e
|
|
19
|
+
},
|
|
20
|
+
callback: async (o) => {
|
|
21
|
+
await (await r()).set(
|
|
22
|
+
{
|
|
23
|
+
key: o.payload.key
|
|
34
24
|
},
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
25
|
+
o.payload.value
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
}), t.provide({
|
|
29
|
+
channel: l,
|
|
30
|
+
group: "in",
|
|
31
|
+
options: {
|
|
32
|
+
abortSignal: e
|
|
43
33
|
},
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
r();
|
|
47
|
-
}
|
|
34
|
+
callback: async (o) => {
|
|
35
|
+
await (await r()).delete(o.payload.key);
|
|
48
36
|
}
|
|
49
|
-
}
|
|
50
|
-
|
|
37
|
+
}), {
|
|
38
|
+
storeName: n,
|
|
39
|
+
abortSignal: e
|
|
40
|
+
};
|
|
41
|
+
}
|
|
51
42
|
export {
|
|
52
|
-
|
|
53
|
-
m as useStorageService
|
|
43
|
+
k as createStorageService
|
|
54
44
|
};
|
|
55
45
|
//# sourceMappingURL=StorageService.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageService.es.js","sources":["../../src/services/StorageService.
|
|
1
|
+
{"version":3,"file":"StorageService.es.js","sources":["../../src/services/StorageService.ts"],"sourcesContent":["import { PersistentStore } from '@actdim/utico/store/persistentStore';\r\nimport { $STORE_GET, $STORE_REMOVE, $STORE_SET, BaseAppMsgStruct } from '@/appDomain/appContracts';\r\nimport { MsgBus } from '@actdim/msgmesh/contracts';\r\n\r\nexport async function createStorageService(msgBus: MsgBus<BaseAppMsgStruct>, storeName: string, abortSignal?: AbortSignal) {\r\n\r\n const abortController = new AbortController();\r\n if (abortSignal) {\r\n abortSignal = AbortSignal.any([abortSignal, abortController.signal]);\r\n }\r\n\r\n const getStore = () => {\r\n return PersistentStore.open(storeName);\r\n }\r\n\r\n msgBus.provide({\r\n channel: $STORE_GET,\r\n group: \"in\",\r\n options: {\r\n abortSignal\r\n },\r\n callback: async (msg) => {\r\n const store = await getStore();\r\n return await store.get(msg.payload.key);\r\n }\r\n });\r\n\r\n msgBus.provide({\r\n channel: $STORE_SET,\r\n group: \"in\",\r\n options: {\r\n abortSignal\r\n },\r\n callback: async (msg) => {\r\n const store = await getStore();\r\n await store.set(\r\n {\r\n key: msg.payload.key,\r\n },\r\n msg.payload.value,\r\n );\r\n }\r\n });\r\n\r\n msgBus.provide({\r\n channel: $STORE_REMOVE,\r\n group: \"in\",\r\n options: {\r\n abortSignal\r\n },\r\n callback: async (msg) => {\r\n const store = await getStore();\r\n await store.delete(msg.payload.key);\r\n }\r\n });\r\n\r\n return {\r\n storeName,\r\n abortSignal\r\n }\r\n};"],"names":["createStorageService","msgBus","storeName","abortSignal","abortController","getStore","PersistentStore","$STORE_GET","msg","$STORE_SET","$STORE_REMOVE"],"mappings":";;AAIA,eAAsBA,EAAqBC,GAAkCC,GAAmBC,GAA2B;AAEvH,QAAMC,IAAkB,IAAI,gBAAA;AAC5B,EAAID,MACAA,IAAc,YAAY,IAAI,CAACA,GAAaC,EAAgB,MAAM,CAAC;AAGvE,QAAMC,IAAW,MACNC,EAAgB,KAAKJ,CAAS;AAGzC,SAAAD,EAAO,QAAQ;AAAA,IACX,SAASM;AAAA,IACT,OAAO;AAAA,IACP,SAAS;AAAA,MACL,aAAAJ;AAAA,IAAA;AAAA,IAEJ,UAAU,OAAOK,MAEN,OADO,MAAMH,EAAA,GACD,IAAIG,EAAI,QAAQ,GAAG;AAAA,EAC1C,CACH,GAEDP,EAAO,QAAQ;AAAA,IACX,SAASQ;AAAA,IACT,OAAO;AAAA,IACP,SAAS;AAAA,MACL,aAAAN;AAAA,IAAA;AAAA,IAEJ,UAAU,OAAOK,MAAQ;AAErB,aADc,MAAMH,EAAA,GACR;AAAA,QACR;AAAA,UACI,KAAKG,EAAI,QAAQ;AAAA,QAAA;AAAA,QAErBA,EAAI,QAAQ;AAAA,MAAA;AAAA,IAEpB;AAAA,EAAA,CACH,GAEDP,EAAO,QAAQ;AAAA,IACX,SAASS;AAAA,IACT,OAAO;AAAA,IACP,SAAS;AAAA,MACL,aAAAP;AAAA,IAAA;AAAA,IAEJ,UAAU,OAAOK,MAAQ;AAErB,aADc,MAAMH,EAAA,GACR,OAAOG,EAAI,QAAQ,GAAG;AAAA,IACtC;AAAA,EAAA,CACH,GAEM;AAAA,IACH,WAAAN;AAAA,IACA,aAAAC;AAAA,EAAA;AAER;"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { BaseAppMsgChannels, BaseAppMsgStruct, NavContext, NavRoutes } from '
|
|
2
|
-
import { Component, ComponentParams, ComponentStruct } from '
|
|
1
|
+
import { BaseAppMsgChannels, BaseAppMsgStruct, NavContext, NavRoutes } from '../../appDomain/appContracts';
|
|
2
|
+
import { Component, ComponentParams, ComponentStruct } from '../../componentModel/contracts';
|
|
3
|
+
import { PropsWithChildren } from 'react';
|
|
3
4
|
type Struct = ComponentStruct<BaseAppMsgStruct, {
|
|
4
|
-
props: {
|
|
5
|
+
props: PropsWithChildren & {
|
|
5
6
|
history: NavContext[];
|
|
6
7
|
routes: NavRoutes;
|
|
7
8
|
};
|
|
8
9
|
msgScope: {
|
|
9
|
-
provide: BaseAppMsgChannels<'APP
|
|
10
|
+
provide: BaseAppMsgChannels<'APP.NAV.GOTO' | 'APP.NAV.CONTEXT.GET' | 'APP.NAV.HISTORY.READ' | 'APP.NAV.CONTEXT.CHANGED'>;
|
|
10
11
|
};
|
|
11
12
|
}>;
|
|
12
13
|
export declare const useNavService: (params: ComponentParams<Struct>) => Component<Struct>;
|
|
13
14
|
export type NavServiceStruct = Struct;
|
|
14
|
-
export declare const
|
|
15
|
+
export declare const NavService: FC<ComponentParams<TStruct>>;
|
|
15
16
|
export {};
|
|
16
17
|
//# sourceMappingURL=NavService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavService.d.ts","sourceRoot":"","sources":["../../../src/services/react/NavService.tsx"],"names":[],"mappings":"AAQA,OAAO,EACH,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,SAAS,EACZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACR,SAAS,EAGT,eAAe,EACf,eAAe,EAClB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE1C,KAAK,MAAM,GAAG,eAAe,CACzB,gBAAgB,EAChB;IACI,KAAK,EAAE,iBAAiB,GAAG;QACvB,OAAO,EAAE,UAAU,EAAE,CAAC;QACtB,MAAM,EAAE,SAAS,CAAC;KACrB,CAAC;IACF,QAAQ,EAAE;QACN,OAAO,EAAE,kBAAkB,CACrB,cAAc,GACd,qBAAqB,GACrB,sBAAsB,GACtB,yBAAyB,CAC9B,CAAC;KACL,CAAC;CACL,CACJ,CAAC;AAIF,eAAO,MAAM,aAAa,GAAI,QAAQ,eAAe,CAAC,MAAM,CAAC,sBA+E5D,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AACtC,eAAO,MAAM,UAAU,8BAAuB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useNavigate as p, useLocation as m, useNavigationType as y, useParams as h, useSearchParams as N } from "react-router-dom";
|
|
2
|
-
import { getFC as P, useComponent as v } from "
|
|
2
|
+
import { getFC as P, useComponent as v } from "../../componentModel/react.es.js";
|
|
3
3
|
const A = (n) => {
|
|
4
4
|
let t, o;
|
|
5
5
|
const e = p(), c = m(), i = y(), l = h(), [u] = N();
|
|
@@ -10,7 +10,7 @@ const A = (n) => {
|
|
|
10
10
|
},
|
|
11
11
|
msgBroker: {
|
|
12
12
|
provide: {
|
|
13
|
-
"APP
|
|
13
|
+
"APP.NAV.GOTO": {
|
|
14
14
|
in: {
|
|
15
15
|
callback: async (a) => {
|
|
16
16
|
e(a.payload);
|
|
@@ -23,17 +23,17 @@ const A = (n) => {
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
},
|
|
26
|
-
"APP
|
|
26
|
+
"APP.NAV.CONTEXT.GET": {
|
|
27
27
|
in: {
|
|
28
28
|
callback: (a) => o.history[o.history.length - 1]
|
|
29
29
|
}
|
|
30
30
|
},
|
|
31
|
-
"APP
|
|
31
|
+
"APP.NAV.HISTORY.READ": {
|
|
32
32
|
in: {
|
|
33
33
|
callback: (a) => o.history[o.history.length - 1]
|
|
34
34
|
}
|
|
35
35
|
},
|
|
36
|
-
"APP
|
|
36
|
+
"APP.NAV.CONTEXT.CHANGED": {}
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
39
|
events: {
|
|
@@ -47,7 +47,7 @@ const A = (n) => {
|
|
|
47
47
|
navType: i
|
|
48
48
|
};
|
|
49
49
|
s.push(r), a.msgBus.send({
|
|
50
|
-
channel: "APP
|
|
50
|
+
channel: "APP.NAV.CONTEXT.CHANGED",
|
|
51
51
|
group: "in",
|
|
52
52
|
payload: r
|
|
53
53
|
});
|
|
@@ -58,7 +58,7 @@ const A = (n) => {
|
|
|
58
58
|
}, n), o = t.model, t;
|
|
59
59
|
}, C = P(A);
|
|
60
60
|
export {
|
|
61
|
-
C as
|
|
61
|
+
C as NavService,
|
|
62
62
|
A as useNavService
|
|
63
63
|
};
|
|
64
64
|
//# sourceMappingURL=NavService.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavService.es.js","sources":["../../../src/services/react/NavService.tsx"],"sourcesContent":["import {\r\n To,\r\n useLocation,\r\n useNavigate,\r\n useNavigationType,\r\n useParams,\r\n useSearchParams,\r\n} from 'react-router-dom';\r\nimport {\r\n BaseAppMsgChannels,\r\n BaseAppMsgStruct,\r\n NavContext,\r\n NavRoutes,\r\n} from '@/appDomain/appContracts';\r\nimport type {\r\n Component,\r\n ComponentDef,\r\n ComponentModel,\r\n ComponentParams,\r\n ComponentStruct,\r\n} from '@/componentModel/contracts';\r\nimport { getFC, useComponent } from '@/componentModel/react';\r\nimport { PropsWithChildren } from 'react';\r\n\r\ntype Struct = ComponentStruct<\r\n BaseAppMsgStruct,\r\n {\r\n props: PropsWithChildren & {\r\n history: NavContext[];\r\n routes: NavRoutes;\r\n };\r\n msgScope: {\r\n provide: BaseAppMsgChannels<\r\n | 'APP.NAV.GOTO'\r\n | 'APP.NAV.CONTEXT.GET'\r\n | 'APP.NAV.HISTORY.READ'\r\n | 'APP.NAV.CONTEXT.CHANGED'\r\n >;\r\n };\r\n }\r\n>;\r\n\r\n// const store = new PersistentStore('history');\r\n\r\nexport const useNavService = (params: ComponentParams<Struct>) => {\r\n let c: Component<Struct>;\r\n let m: ComponentModel<Struct>;\r\n\r\n const navigate = useNavigate();\r\n\r\n const location = useLocation();\r\n const navType = useNavigationType();\r\n const nvaParams = useParams();\r\n const [searchParams] = useSearchParams();\r\n\r\n const def: ComponentDef<Struct> = {\r\n props: {\r\n history: [],\r\n routes: undefined,\r\n },\r\n msgBroker: {\r\n provide: {\r\n 'APP.NAV.GOTO': {\r\n in: {\r\n callback: async (msg) => {\r\n navigate(msg.payload as To);\r\n },\r\n },\r\n ex: {\r\n callback: async (msg) => {\r\n const route = msg.payload.route;\r\n navigate(m.routes[route].path(msg.payload.params));\r\n },\r\n },\r\n },\r\n 'APP.NAV.CONTEXT.GET': {\r\n in: {\r\n callback: (msg) => {\r\n return m.history[m.history.length - 1];\r\n },\r\n },\r\n },\r\n 'APP.NAV.HISTORY.READ': {\r\n in: {\r\n callback: (msg) => {\r\n return m.history[m.history.length - 1];\r\n },\r\n },\r\n },\r\n 'APP.NAV.CONTEXT.CHANGED': {},\r\n },\r\n },\r\n events: {\r\n onLayout: (c) => {\r\n const history = m.history;\r\n if (history) {\r\n const ctx = {\r\n location: location,\r\n searchParams: searchParams,\r\n params: nvaParams,\r\n navType: navType,\r\n };\r\n history.push(ctx);\r\n c.msgBus.send({\r\n channel: 'APP.NAV.CONTEXT.CHANGED',\r\n group: 'in',\r\n payload: ctx,\r\n });\r\n }\r\n },\r\n },\r\n view: () => {\r\n return null;\r\n },\r\n };\r\n\r\n c = useComponent(def, params);\r\n m = c.model;\r\n\r\n // deps\r\n // location, navType, params, searchParams\r\n\r\n return c;\r\n};\r\n\r\nexport type NavServiceStruct = Struct;\r\nexport const NavService = getFC(useNavService);\r\n"],"names":["useNavService","params","c","m","navigate","useNavigate","location","useLocation","navType","useNavigationType","nvaParams","useParams","searchParams","useSearchParams","useComponent","msg","route","history","ctx","NavService","getFC"],"mappings":";;AA4CO,MAAMA,IAAgB,CAACC,MAAoC;AAC9D,MAAIC,GACAC;AAEJ,QAAMC,IAAWC,EAAA,GAEXC,IAAWC,EAAA,GACXC,IAAUC,EAAA,GACVC,IAAYC,EAAA,GACZ,CAACC,CAAY,IAAIC,EAAA;AA+DvB,SAAAX,IAAIY,EA7D8B;AAAA,IAC9B,OAAO;AAAA,MACH,SAAS,CAAA;AAAA,MACT,QAAQ;AAAA,IAAA;AAAA,IAEZ,WAAW;AAAA,MACP,SAAS;AAAA,QACL,gBAAgB;AAAA,UACZ,IAAI;AAAA,YACA,UAAU,OAAOC,MAAQ;AACrB,cAAAX,EAASW,EAAI,OAAa;AAAA,YAC9B;AAAA,UAAA;AAAA,UAEJ,IAAI;AAAA,YACA,UAAU,OAAOA,MAAQ;AACrB,oBAAMC,IAAQD,EAAI,QAAQ;AAC1B,cAAAX,EAASD,EAAE,OAAOa,CAAK,EAAE,KAAKD,EAAI,QAAQ,MAAM,CAAC;AAAA,YACrD;AAAA,UAAA;AAAA,QACJ;AAAA,QAEJ,uBAAuB;AAAA,UACnB,IAAI;AAAA,YACA,UAAU,CAACA,MACAZ,EAAE,QAAQA,EAAE,QAAQ,SAAS,CAAC;AAAA,UACzC;AAAA,QACJ;AAAA,QAEJ,wBAAwB;AAAA,UACpB,IAAI;AAAA,YACA,UAAU,CAACY,MACAZ,EAAE,QAAQA,EAAE,QAAQ,SAAS,CAAC;AAAA,UACzC;AAAA,QACJ;AAAA,QAEJ,2BAA2B,CAAA;AAAA,MAAC;AAAA,IAChC;AAAA,IAEJ,QAAQ;AAAA,MACJ,UAAU,CAACD,MAAM;AACb,cAAMe,IAAUd,EAAE;AAClB,YAAIc,GAAS;AACT,gBAAMC,IAAM;AAAA,YACR,UAAAZ;AAAA,YACA,cAAAM;AAAA,YACA,QAAQF;AAAA,YACR,SAAAF;AAAA,UAAA;AAEJ,UAAAS,EAAQ,KAAKC,CAAG,GAChBhB,EAAE,OAAO,KAAK;AAAA,YACV,SAAS;AAAA,YACT,OAAO;AAAA,YACP,SAASgB;AAAA,UAAA,CACZ;AAAA,QACL;AAAA,MACJ;AAAA,IAAA;AAAA,IAEJ,MAAM,MACK;AAAA,EACX,GAGkBjB,CAAM,GAC5BE,IAAID,EAAE,OAKCA;AACX,GAGaiB,IAAaC,EAAMpB,CAAa;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PropsWithChildren } from 'react';
|
|
2
|
+
import { MsgProviderAdapter } from '../../componentModel/adapters';
|
|
3
|
+
export declare function ServiceProvider(props: PropsWithChildren<{
|
|
4
|
+
adapters?: MsgProviderAdapter[];
|
|
5
|
+
abortSignal?: AbortSignal;
|
|
6
|
+
}>): any;
|
|
7
|
+
//# sourceMappingURL=ServiceProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServiceProvider.d.ts","sourceRoot":"","sources":["../../../src/services/react/ServiceProvider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAiB,iBAAiB,EAAmB,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAoB,MAAM,+BAA+B,CAAC;AAQrF,wBAAgB,eAAe,CAC3B,KAAK,EAAE,iBAAiB,CAAC;IACrB,QAAQ,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC7B,CAAC,OAyBL"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { useComponentContext as a } from "../../componentModel/componentContext.es.js";
|
|
2
|
+
import n, { createContext as i, useLayoutEffect as c } from "react";
|
|
3
|
+
import { registerAdapters as l } from "../../componentModel/adapters.es.js";
|
|
4
|
+
const s = i(void 0);
|
|
5
|
+
function f(t) {
|
|
6
|
+
const r = a(), o = new AbortController();
|
|
7
|
+
let e = t.abortSignal;
|
|
8
|
+
return e && (e = AbortSignal.any([e, o.signal])), c(() => (l(r.msgBus, t.adapters, e), () => {
|
|
9
|
+
o.abort();
|
|
10
|
+
}), [r.msgBus, t.adapters]), /* @__PURE__ */ n.createElement(
|
|
11
|
+
s.Provider,
|
|
12
|
+
{
|
|
13
|
+
value: {
|
|
14
|
+
adapters: t.adapters,
|
|
15
|
+
abortSignal: e
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
t.children
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
f as ServiceProvider
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=ServiceProvider.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServiceProvider.es.js","sources":["../../../src/services/react/ServiceProvider.tsx"],"sourcesContent":["import { useComponentContext } from '@/componentModel/componentContext';\r\nimport { createContext, PropsWithChildren, useLayoutEffect } from 'react';\r\nimport { MsgProviderAdapter, registerAdapters } from '../../componentModel/adapters';\r\nimport React from 'react';\r\n\r\nconst ReactContext = createContext<{\r\n adapters: MsgProviderAdapter[];\r\n abortSignal?: AbortSignal;\r\n}>(undefined);\r\n\r\nexport function ServiceProvider(\r\n props: PropsWithChildren<{\r\n adapters?: MsgProviderAdapter[];\r\n abortSignal?: AbortSignal;\r\n }>,\r\n) {\r\n const context = useComponentContext();\r\n const abortController = new AbortController();\r\n let abortSignal = props.abortSignal;\r\n if (abortSignal) {\r\n abortSignal = AbortSignal.any([abortSignal, abortController.signal]);\r\n }\r\n useLayoutEffect(() => {\r\n registerAdapters(context.msgBus, props.adapters, abortSignal);\r\n return () => {\r\n abortController.abort();\r\n };\r\n }, [context.msgBus, props.adapters]);\r\n\r\n return (\r\n <ReactContext.Provider\r\n value={{\r\n adapters: props.adapters,\r\n abortSignal: abortSignal,\r\n }}\r\n >\r\n {props.children}\r\n </ReactContext.Provider>\r\n );\r\n}\r\n"],"names":["ReactContext","createContext","ServiceProvider","props","context","useComponentContext","abortController","abortSignal","useLayoutEffect","registerAdapters","React"],"mappings":";;;AAKA,MAAMA,IAAeC,EAGlB,MAAS;AAEL,SAASC,EACZC,GAIF;AACE,QAAMC,IAAUC,EAAA,GACVC,IAAkB,IAAI,gBAAA;AAC5B,MAAIC,IAAcJ,EAAM;AACxB,SAAII,MACAA,IAAc,YAAY,IAAI,CAACA,GAAaD,EAAgB,MAAM,CAAC,IAEvEE,EAAgB,OACZC,EAAiBL,EAAQ,QAAQD,EAAM,UAAUI,CAAW,GACrD,MAAM;AACT,IAAAD,EAAgB,MAAA;AAAA,EACpB,IACD,CAACF,EAAQ,QAAQD,EAAM,QAAQ,CAAC,GAG/B,gBAAAO,EAAA;AAAA,IAACV,EAAa;AAAA,IAAb;AAAA,MACG,OAAO;AAAA,QACH,UAAUG,EAAM;AAAA,QAChB,aAAAI;AAAA,MAAA;AAAA,IACJ;AAAA,IAECJ,EAAM;AAAA,EAAA;AAGnB;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ComponentParams, ComponentStruct, Component } from '../../componentModel/contracts';
|
|
2
|
+
import { BaseAppMsgChannels, BaseAppMsgStruct } from '../../appDomain/appContracts';
|
|
3
|
+
import { PropsWithChildren } from 'react';
|
|
4
|
+
type Struct = ComponentStruct<BaseAppMsgStruct, {
|
|
5
|
+
props: PropsWithChildren & {
|
|
6
|
+
storeName?: string;
|
|
7
|
+
};
|
|
8
|
+
msgScope: {
|
|
9
|
+
provide: BaseAppMsgChannels<'APP.STORE.GET' | 'APP.STORE.SET' | 'APP.STORE.REMOVE'>;
|
|
10
|
+
};
|
|
11
|
+
}>;
|
|
12
|
+
export declare const useStorageService: (params: ComponentParams<Struct>) => Component<Struct>;
|
|
13
|
+
export type StorageServiceStruct = Struct;
|
|
14
|
+
export declare const StorageService: FC<ComponentParams<TStruct>>;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=StorageService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageService.d.ts","sourceRoot":"","sources":["../../../src/services/react/StorageService.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EACf,eAAe,EACf,SAAS,EAGZ,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE1C,KAAK,MAAM,GAAG,eAAe,CACzB,gBAAgB,EAChB;IACI,KAAK,EAAE,iBAAiB,GAAG;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,QAAQ,EAAE;QACN,OAAO,EAAE,kBAAkB,CAAC,eAAe,GAAG,eAAe,GAAG,kBAAkB,CAAC,CAAC;KACvF,CAAC;CACL,CACJ,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,QAAQ,eAAe,CAAC,MAAM,CAAC,sBA+DhE,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAC1C,eAAO,MAAM,cAAc,8BAA2B,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { getFC as c, useComponent as l } from "../../componentModel/react.es.js";
|
|
2
|
+
import { PersistentStore as y } from "@actdim/utico/store/persistentStore";
|
|
3
|
+
const m = (s) => {
|
|
4
|
+
let t, n;
|
|
5
|
+
async function r() {
|
|
6
|
+
a = await y.open(n.storeName);
|
|
7
|
+
}
|
|
8
|
+
let a, i;
|
|
9
|
+
const o = new Promise((e) => {
|
|
10
|
+
i = e;
|
|
11
|
+
});
|
|
12
|
+
return t = l({
|
|
13
|
+
props: {
|
|
14
|
+
storeName: ""
|
|
15
|
+
},
|
|
16
|
+
msgBroker: {
|
|
17
|
+
provide: {
|
|
18
|
+
"APP.STORE.GET": {
|
|
19
|
+
in: {
|
|
20
|
+
callback: async (e) => (await o, (await a.get(e.payload.key))?.data.value)
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"APP.STORE.SET": {
|
|
24
|
+
in: {
|
|
25
|
+
callback: async (e) => {
|
|
26
|
+
await o, await a.set(
|
|
27
|
+
{
|
|
28
|
+
key: e.payload.key
|
|
29
|
+
},
|
|
30
|
+
e.payload.value
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"APP.STORE.REMOVE": {
|
|
36
|
+
in: {
|
|
37
|
+
callback: async (e) => {
|
|
38
|
+
await o, await a.delete(e.payload.key);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
events: {
|
|
45
|
+
onChangeStoreName: () => {
|
|
46
|
+
r();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}, s), n = t.model, r().then(() => i()), t;
|
|
50
|
+
}, u = c(m);
|
|
51
|
+
export {
|
|
52
|
+
u as StorageService,
|
|
53
|
+
m as useStorageService
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=StorageService.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageService.es.js","sources":["../../../src/services/react/StorageService.tsx"],"sourcesContent":["import {\r\n ComponentParams,\r\n ComponentStruct,\r\n Component,\r\n ComponentModel,\r\n ComponentDef,\r\n} from '@/componentModel/contracts';\r\nimport { getFC, useComponent } from '@/componentModel/react';\r\nimport { PersistentStore } from '@actdim/utico/store/persistentStore';\r\nimport { BaseAppMsgChannels, BaseAppMsgStruct } from '@/appDomain/appContracts';\r\nimport { PropsWithChildren } from 'react';\r\n\r\ntype Struct = ComponentStruct<\r\n BaseAppMsgStruct,\r\n {\r\n props: PropsWithChildren & {\r\n storeName?: string;\r\n };\r\n msgScope: {\r\n provide: BaseAppMsgChannels<'APP.STORE.GET' | 'APP.STORE.SET' | 'APP.STORE.REMOVE'>;\r\n };\r\n }\r\n>;\r\n\r\nexport const useStorageService = (params: ComponentParams<Struct>) => {\r\n let c: Component<Struct>;\r\n let m: ComponentModel<Struct>;\r\n\r\n async function _updateStoreAsync() {\r\n store = await PersistentStore.open(m.storeName);\r\n }\r\n\r\n let store: PersistentStore;\r\n let ready: () => void;\r\n const init = new Promise<void>((res) => {\r\n ready = res;\r\n });\r\n\r\n const def: ComponentDef<Struct> = {\r\n props: {\r\n storeName: '',\r\n },\r\n msgBroker: {\r\n provide: {\r\n 'APP.STORE.GET': {\r\n in: {\r\n callback: async (msg) => {\r\n await init;\r\n const item = await store.get(msg.payload.key);\r\n return item?.data.value;\r\n },\r\n },\r\n },\r\n 'APP.STORE.SET': {\r\n in: {\r\n callback: async (msg) => {\r\n await init;\r\n await store.set(\r\n {\r\n key: msg.payload.key,\r\n },\r\n msg.payload.value,\r\n );\r\n },\r\n },\r\n },\r\n 'APP.STORE.REMOVE': {\r\n in: {\r\n callback: async (msg) => {\r\n await init;\r\n await store.delete(msg.payload.key);\r\n },\r\n },\r\n },\r\n },\r\n },\r\n events: {\r\n onChangeStoreName: () => {\r\n _updateStoreAsync();\r\n },\r\n },\r\n };\r\n\r\n c = useComponent(def, params);\r\n m = c.model;\r\n _updateStoreAsync().then(() => ready());\r\n return c;\r\n};\r\n\r\nexport type StorageServiceStruct = Struct;\r\nexport const StorageService = getFC(useStorageService);\r\n"],"names":["useStorageService","params","c","m","_updateStoreAsync","store","PersistentStore","ready","init","res","useComponent","msg","StorageService","getFC"],"mappings":";;AAwBO,MAAMA,IAAoB,CAACC,MAAoC;AAClE,MAAIC,GACAC;AAEJ,iBAAeC,IAAoB;AAC/B,IAAAC,IAAQ,MAAMC,EAAgB,KAAKH,EAAE,SAAS;AAAA,EAClD;AAEA,MAAIE,GACAE;AACJ,QAAMC,IAAO,IAAI,QAAc,CAACC,MAAQ;AACpC,IAAAF,IAAQE;AAAA,EACZ,CAAC;AA+CD,SAAAP,IAAIQ,EA7C8B;AAAA,IAC9B,OAAO;AAAA,MACH,WAAW;AAAA,IAAA;AAAA,IAEf,WAAW;AAAA,MACP,SAAS;AAAA,QACL,iBAAiB;AAAA,UACb,IAAI;AAAA,YACA,UAAU,OAAOC,OACb,MAAMH,IACO,MAAMH,EAAM,IAAIM,EAAI,QAAQ,GAAG,IAC/B,KAAK;AAAA,UACtB;AAAA,QACJ;AAAA,QAEJ,iBAAiB;AAAA,UACb,IAAI;AAAA,YACA,UAAU,OAAOA,MAAQ;AACrB,oBAAMH,GACN,MAAMH,EAAM;AAAA,gBACR;AAAA,kBACI,KAAKM,EAAI,QAAQ;AAAA,gBAAA;AAAA,gBAErBA,EAAI,QAAQ;AAAA,cAAA;AAAA,YAEpB;AAAA,UAAA;AAAA,QACJ;AAAA,QAEJ,oBAAoB;AAAA,UAChB,IAAI;AAAA,YACA,UAAU,OAAOA,MAAQ;AACrB,oBAAMH,GACN,MAAMH,EAAM,OAAOM,EAAI,QAAQ,GAAG;AAAA,YACtC;AAAA,UAAA;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,IAEJ,QAAQ;AAAA,MACJ,mBAAmB,MAAM;AACrB,QAAAP,EAAA;AAAA,MACJ;AAAA,IAAA;AAAA,EACJ,GAGkBH,CAAM,GAC5BE,IAAID,EAAE,OACNE,IAAoB,KAAK,MAAMG,GAAO,GAC/BL;AACX,GAGaU,IAAiBC,EAAMb,CAAiB;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@actdim/dynstruct",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.8",
|
|
4
4
|
"description": "A type-safe component system for large-scale apps: explicit dependencies, message bus communication, and structure-first, declarative design",
|
|
5
5
|
"author": "Pavel Borodaev",
|
|
6
6
|
"license": "Proprietary",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
72
72
|
},
|
|
73
73
|
"peerDependencies": {
|
|
74
|
-
"@actdim/msgmesh": "^1.2.
|
|
74
|
+
"@actdim/msgmesh": "^1.2.4",
|
|
75
75
|
"@actdim/utico": "^1.1.2",
|
|
76
76
|
"http-status": "^2.1.0",
|
|
77
77
|
"jwt-decode": "^4.0.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NavService.d.ts","sourceRoot":"","sources":["../../src/services/NavService.tsx"],"names":[],"mappings":"AAQA,OAAO,EACH,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,SAAS,EACZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACR,SAAS,EAGT,eAAe,EACf,eAAe,EAClB,MAAM,4BAA4B,CAAC;AAGpC,KAAK,MAAM,GAAG,eAAe,CACzB,gBAAgB,EAChB;IACI,KAAK,EAAE;QACH,OAAO,EAAE,UAAU,EAAE,CAAC;QACtB,MAAM,EAAE,SAAS,CAAC;KACrB,CAAC;IACF,QAAQ,EAAE;QACN,OAAO,EAAE,kBAAkB,CACrB,cAAc,GACd,qBAAqB,GACrB,sBAAsB,GACtB,yBAAyB,CAC9B,CAAC;KACL,CAAC;CACL,CACJ,CAAC;AAIF,eAAO,MAAM,aAAa,GAAI,QAAQ,eAAe,CAAC,MAAM,CAAC,sBA+E5D,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AACtC,eAAO,MAAM,YAAY,8BAAuB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NavService.es.js","sources":["../../src/services/NavService.tsx"],"sourcesContent":["import {\r\n To,\r\n useLocation,\r\n useNavigate,\r\n useNavigationType,\r\n useParams,\r\n useSearchParams,\r\n} from 'react-router-dom';\r\nimport {\r\n BaseAppMsgChannels,\r\n BaseAppMsgStruct,\r\n NavContext,\r\n NavRoutes,\r\n} from '@/appDomain/appContracts';\r\nimport type {\r\n Component,\r\n ComponentDef,\r\n ComponentModel,\r\n ComponentParams,\r\n ComponentStruct,\r\n} from '@/componentModel/contracts';\r\nimport { getFC, useComponent } from '@/componentModel/react';\r\n\r\ntype Struct = ComponentStruct<\r\n BaseAppMsgStruct,\r\n {\r\n props: {\r\n history: NavContext[];\r\n routes: NavRoutes;\r\n };\r\n msgScope: {\r\n provide: BaseAppMsgChannels<\r\n | 'APP-NAV-GOTO'\r\n | 'APP-NAV-GET-CONTEXT'\r\n | 'APP-NAV-READ-HISTORY'\r\n | 'APP-NAV-CONTEXT-CHANGED'\r\n >;\r\n };\r\n }\r\n>;\r\n\r\n// const store = new PersistentStore('history');\r\n\r\nexport const useNavService = (params: ComponentParams<Struct>) => {\r\n let c: Component<Struct>;\r\n let m: ComponentModel<Struct>;\r\n\r\n const navigate = useNavigate();\r\n\r\n const location = useLocation();\r\n const navType = useNavigationType();\r\n const nvaParams = useParams();\r\n const [searchParams] = useSearchParams();\r\n\r\n const def: ComponentDef<Struct> = {\r\n props: {\r\n history: [],\r\n routes: undefined,\r\n },\r\n msgBroker: {\r\n provide: {\r\n 'APP-NAV-GOTO': {\r\n in: {\r\n callback: async (msg) => {\r\n navigate(msg.payload as To);\r\n },\r\n },\r\n ex: {\r\n callback: async (msg) => {\r\n const route = msg.payload.route;\r\n navigate(m.routes[route].path(msg.payload.params));\r\n },\r\n },\r\n },\r\n 'APP-NAV-GET-CONTEXT': {\r\n in: {\r\n callback: (msg) => {\r\n return m.history[m.history.length - 1];\r\n },\r\n },\r\n },\r\n 'APP-NAV-READ-HISTORY': {\r\n in: {\r\n callback: (msg) => {\r\n return m.history[m.history.length - 1];\r\n },\r\n },\r\n },\r\n 'APP-NAV-CONTEXT-CHANGED': {},\r\n },\r\n },\r\n events: {\r\n onLayout: (c) => {\r\n const history = m.history;\r\n if (history) {\r\n const ctx = {\r\n location: location,\r\n searchParams: searchParams,\r\n params: nvaParams,\r\n navType: navType,\r\n };\r\n history.push(ctx);\r\n c.msgBus.send({\r\n channel: 'APP-NAV-CONTEXT-CHANGED',\r\n group: 'in',\r\n payload: ctx,\r\n });\r\n }\r\n },\r\n },\r\n view: () => {\r\n return null;\r\n },\r\n };\r\n\r\n c = useComponent(def, params);\r\n m = c.model;\r\n\r\n // deps\r\n // location, navType, params, searchParams\r\n\r\n return c;\r\n};\r\n\r\nexport type NavServiceStruct = Struct;\r\nexport const NavServiceFC = getFC(useNavService);\r\n"],"names":["useNavService","params","c","m","navigate","useNavigate","location","useLocation","navType","useNavigationType","nvaParams","useParams","searchParams","useSearchParams","useComponent","msg","route","history","ctx","NavServiceFC","getFC"],"mappings":";;AA2CO,MAAMA,IAAgB,CAACC,MAAoC;AAC9D,MAAIC,GACAC;AAEJ,QAAMC,IAAWC,EAAA,GAEXC,IAAWC,EAAA,GACXC,IAAUC,EAAA,GACVC,IAAYC,EAAA,GACZ,CAACC,CAAY,IAAIC,EAAA;AA+DvB,SAAAX,IAAIY,EA7D8B;AAAA,IAC9B,OAAO;AAAA,MACH,SAAS,CAAA;AAAA,MACT,QAAQ;AAAA,IAAA;AAAA,IAEZ,WAAW;AAAA,MACP,SAAS;AAAA,QACL,gBAAgB;AAAA,UACZ,IAAI;AAAA,YACA,UAAU,OAAOC,MAAQ;AACrB,cAAAX,EAASW,EAAI,OAAa;AAAA,YAC9B;AAAA,UAAA;AAAA,UAEJ,IAAI;AAAA,YACA,UAAU,OAAOA,MAAQ;AACrB,oBAAMC,IAAQD,EAAI,QAAQ;AAC1B,cAAAX,EAASD,EAAE,OAAOa,CAAK,EAAE,KAAKD,EAAI,QAAQ,MAAM,CAAC;AAAA,YACrD;AAAA,UAAA;AAAA,QACJ;AAAA,QAEJ,uBAAuB;AAAA,UACnB,IAAI;AAAA,YACA,UAAU,CAACA,MACAZ,EAAE,QAAQA,EAAE,QAAQ,SAAS,CAAC;AAAA,UACzC;AAAA,QACJ;AAAA,QAEJ,wBAAwB;AAAA,UACpB,IAAI;AAAA,YACA,UAAU,CAACY,MACAZ,EAAE,QAAQA,EAAE,QAAQ,SAAS,CAAC;AAAA,UACzC;AAAA,QACJ;AAAA,QAEJ,2BAA2B,CAAA;AAAA,MAAC;AAAA,IAChC;AAAA,IAEJ,QAAQ;AAAA,MACJ,UAAU,CAACD,MAAM;AACb,cAAMe,IAAUd,EAAE;AAClB,YAAIc,GAAS;AACT,gBAAMC,IAAM;AAAA,YACR,UAAAZ;AAAA,YACA,cAAAM;AAAA,YACA,QAAQF;AAAA,YACR,SAAAF;AAAA,UAAA;AAEJ,UAAAS,EAAQ,KAAKC,CAAG,GAChBhB,EAAE,OAAO,KAAK;AAAA,YACV,SAAS;AAAA,YACT,OAAO;AAAA,YACP,SAASgB;AAAA,UAAA,CACZ;AAAA,QACL;AAAA,MACJ;AAAA,IAAA;AAAA,IAEJ,MAAM,MACK;AAAA,EACX,GAGkBjB,CAAM,GAC5BE,IAAID,EAAE,OAKCA;AACX,GAGaiB,IAAeC,EAAMpB,CAAa;"}
|