@actdim/dynstruct 1.2.7 → 1.2.9
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/README.md +278 -302
- package/dist/componentModel/DynamicContent.d.ts +3 -4
- package/dist/componentModel/DynamicContent.d.ts.map +1 -1
- package/dist/componentModel/contracts.d.ts +7 -3
- package/dist/componentModel/contracts.d.ts.map +1 -1
- package/dist/componentModel/contracts.es.js +17 -7
- package/dist/componentModel/contracts.es.js.map +1 -1
- package/dist/componentModel/core.d.ts +0 -1
- package/dist/componentModel/core.d.ts.map +1 -1
- package/dist/componentModel/core.es.js +55 -59
- package/dist/componentModel/core.es.js.map +1 -1
- package/dist/componentModel/react.d.ts.map +1 -1
- package/dist/componentModel/react.es.js +27 -26
- package/dist/componentModel/react.es.js.map +1 -1
- package/dist/services/ServiceProvider.d.ts +1 -1
- package/dist/services/ServiceProvider.d.ts.map +1 -1
- package/dist/services/ServiceProvider.es.js +1 -1
- package/dist/services/react/ServiceProvider.d.ts +1 -1
- package/dist/services/react/ServiceProvider.d.ts.map +1 -1
- package/dist/services/react/ServiceProvider.es.js +5 -5
- package/package.json +2 -2
- package/dist/componentModel/adapters.d.ts +0 -20
- package/dist/componentModel/adapters.d.ts.map +0 -1
- package/dist/componentModel/adapters.es.js +0 -33
- package/dist/componentModel/adapters.es.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseAppMsgStruct } from '../appDomain/appContracts';
|
|
2
|
-
import { MsgProviderAdapter } from '
|
|
2
|
+
import { MsgProviderAdapter } from '@actdim/msgmesh/adapters';
|
|
3
3
|
import { MsgBus } from '@actdim/msgmesh/contracts';
|
|
4
4
|
export declare function createServiceProvider(msgBus: MsgBus<BaseAppMsgStruct>, adapters?: MsgProviderAdapter[], abortSignal?: AbortSignal): {
|
|
5
5
|
adapters: MsgProviderAdapter[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceProvider.d.ts","sourceRoot":"","sources":["../../src/services/ServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAoB,MAAM,
|
|
1
|
+
{"version":3,"file":"ServiceProvider.d.ts","sourceRoot":"","sources":["../../src/services/ServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAoB,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,EAAE,kBAAkB,EAAE,EAAE,WAAW,CAAC,EAAE,WAAW;;;EAUjI"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { MsgProviderAdapter } from '@actdim/msgmesh/adapters';
|
|
1
2
|
import { PropsWithChildren, default as React } from 'react';
|
|
2
|
-
import { MsgProviderAdapter } from '../../componentModel/adapters';
|
|
3
3
|
export declare function ServiceProvider(props: PropsWithChildren<{
|
|
4
4
|
adapters?: MsgProviderAdapter[];
|
|
5
5
|
abortSignal?: AbortSignal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceProvider.d.ts","sourceRoot":"","sources":["../../../src/services/react/ServiceProvider.tsx"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"ServiceProvider.d.ts","sourceRoot":"","sources":["../../../src/services/react/ServiceProvider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAoB,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAiB,iBAAiB,EAAmB,MAAM,OAAO,CAAC;AAC1E,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,wBAAgB,eAAe,CAC3B,KAAK,EAAE,iBAAiB,CAAC;IACrB,QAAQ,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC7B,CAAC,qBAyBL"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { useComponentContext as a } from "../../componentModel/componentContext.es.js";
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
const s =
|
|
2
|
+
import { registerAdapters as n } from "@actdim/msgmesh/adapters";
|
|
3
|
+
import i, { createContext as c, useLayoutEffect as l } from "react";
|
|
4
|
+
const s = c(void 0);
|
|
5
5
|
function f(t) {
|
|
6
6
|
const r = a(), o = new AbortController();
|
|
7
7
|
let e = t.abortSignal;
|
|
8
|
-
return e && (e = AbortSignal.any([e, o.signal])),
|
|
8
|
+
return e && (e = AbortSignal.any([e, o.signal])), l(() => (n(r.msgBus, t.adapters, e), () => {
|
|
9
9
|
o.abort();
|
|
10
|
-
}), [r.msgBus, t.adapters]), /* @__PURE__ */
|
|
10
|
+
}), [r.msgBus, t.adapters]), /* @__PURE__ */ i.createElement(
|
|
11
11
|
s.Provider,
|
|
12
12
|
{
|
|
13
13
|
value: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@actdim/dynstruct",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.9",
|
|
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.9",
|
|
75
75
|
"@actdim/utico": "^1.1.2",
|
|
76
76
|
"http-status": "^2.1.0",
|
|
77
77
|
"jwt-decode": "^4.0.0",
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { MsgBus, MsgStructFactory } from '@actdim/msgmesh/contracts';
|
|
2
|
-
import { AddPrefix, Filter, Func, RemoveSuffix, Skip, ToUpper } from '@actdim/utico/typeCore';
|
|
3
|
-
export type MsgProviderAdapter = {
|
|
4
|
-
service: any;
|
|
5
|
-
channelSelector: (service: any, methodName: string) => string;
|
|
6
|
-
};
|
|
7
|
-
export declare function registerAdapters(msgBus: MsgBus<any>, adapters: MsgProviderAdapter[], abortSignal?: AbortSignal): void;
|
|
8
|
-
export type BaseServiceSuffix = 'CLIENT' | 'API' | 'SERVICE' | 'FETCHER' | 'CONTROLLER' | 'LOADER' | 'REPOSITORY' | 'PROVIDER';
|
|
9
|
-
export type BaseWordSeparator = ".";
|
|
10
|
-
export type ToMsgChannelPrefix<TServiceName extends string, Prefix extends string, Suffix extends string = BaseServiceSuffix, WordSeparator extends string = BaseWordSeparator> = `${Prefix}${WordSeparator}${RemoveSuffix<Uppercase<TServiceName>, Suffix>}${WordSeparator}`;
|
|
11
|
-
type ToMsgStructSource<TService, TPrefix extends string, TSkip extends keyof TService = never> = Filter<ToUpper<AddPrefix<Skip<TService, TSkip>, TPrefix>>, Func>;
|
|
12
|
-
export type ToMsgStruct<TService, TPrefix extends string, TSkip extends keyof TService = never, TMsgStructSource = ToMsgStructSource<TService, TPrefix, TSkip>> = MsgStructFactory<{
|
|
13
|
-
[K in keyof TMsgStructSource as TMsgStructSource[K] extends Func ? (Uppercase<K extends string ? K : never>) : never]: {
|
|
14
|
-
in: TMsgStructSource[K] extends Func ? Parameters<TMsgStructSource[K]> : never;
|
|
15
|
-
out: TMsgStructSource[K] extends Func ? ReturnType<TMsgStructSource[K]> : never;
|
|
16
|
-
};
|
|
17
|
-
}>;
|
|
18
|
-
export declare function getMsgChannelSelector<TTPrefix extends string>(services: Record<TTPrefix, any>): (service: any, methodName: string) => string;
|
|
19
|
-
export {};
|
|
20
|
-
//# sourceMappingURL=adapters.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/componentModel/adapters.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAY9F,MAAM,MAAM,kBAAkB,GAAG;IAC7B,OAAO,EAAE,GAAG,CAAC;IAEb,eAAe,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;CACjE,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAAE,WAAW,CAAC,EAAE,WAAW,QAwB9G;AAED,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,CAAC;AAC/H,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAIpC,MAAM,MAAM,kBAAkB,CAC1B,YAAY,SAAS,MAAM,EAC3B,MAAM,SAAS,MAAM,EACrB,MAAM,SAAS,MAAM,GAAG,iBAAiB,EACzC,aAAa,SAAS,MAAM,GAAG,iBAAiB,IAChD,GAAG,MAAM,GAAG,aAAa,GAAG,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,GAAG,aAAa,EAAE,CAAC;AAEhG,KAAK,iBAAiB,CAAC,QAAQ,EAAE,OAAO,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,QAAQ,GAAG,KAAK,IAAI,MAAM,CACnG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,EAClD,IAAI,CACP,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,QAAQ,EAAE,OAAO,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,QAAQ,GAAG,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,gBAAgB,CAAC;KAC9K,CAAC,IAAI,MAAM,gBAAgB,IAAI,gBAAgB,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG;QACnH,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAC/E,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;KACnF;CACJ,CAAC,CAAC;AAEH,wBAAgB,qBAAqB,CAAC,QAAQ,SAAS,MAAM,EACzD,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAEvB,SAAS,GAAG,EAAE,YAAY,MAAM,YAO3C"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
const s = (t) => Object.getOwnPropertyNames(t).filter(
|
|
2
|
-
(e) => e !== "constructor" && typeof t[e] == "function"
|
|
3
|
-
);
|
|
4
|
-
function l(t, e, n) {
|
|
5
|
-
if (e)
|
|
6
|
-
for (const o of e) {
|
|
7
|
-
const { service: r, channelSelector: c } = o;
|
|
8
|
-
if (!r || !c)
|
|
9
|
-
throw new Error("Service and channelSelector are required for an adapter");
|
|
10
|
-
for (const a of s(Object.getPrototypeOf(r))) {
|
|
11
|
-
const f = c?.(r, a);
|
|
12
|
-
f && t.provide({
|
|
13
|
-
channel: f,
|
|
14
|
-
topic: "/.*/",
|
|
15
|
-
callback: (i) => r[a](...i.payload || []),
|
|
16
|
-
options: {
|
|
17
|
-
abortSignal: n
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
function p(t) {
|
|
24
|
-
return (e, n) => {
|
|
25
|
-
const o = Object.entries(t).find((r) => r[1] === e);
|
|
26
|
-
return o ? `${o[0]}${n.toUpperCase()}` : null;
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
export {
|
|
30
|
-
p as getMsgChannelSelector,
|
|
31
|
-
l as registerAdapters
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=adapters.es.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.es.js","sources":["../../src/componentModel/adapters.ts"],"sourcesContent":null,"names":["getMethodNames","client","name","registerAdapters","msgBus","adapters","abortSignal","adapter","service","channelSelector","methodName","channel","msg","getMsgChannelSelector","services","entry"],"mappings":"AAIA,MAAMA,IAAiB,CAACC,MAEb,OAAO,oBAAoBA,CAAM,EAAE;AAAA,EACtC,CAACC,MAASA,MAAS,iBAAiB,OAAOD,EAAOC,CAAI,KAAM;AAAA;AAa7D,SAASC,EAAiBC,GAAqBC,GAAgCC,GAA2B;AAC7G,MAAID;AACA,eAAWE,KAAWF,GAAU;AAC5B,YAAM,EAAE,SAAAG,GAAS,iBAAAC,EAAA,IAAoBF;AACrC,UAAI,CAACC,KAAW,CAACC;AACb,cAAM,IAAI,MAAM,yDAAyD;AAE7E,iBAAWC,KAAcV,EAAe,OAAO,eAAeQ,CAAO,CAAC,GAAG;AACrE,cAAMG,IAAUF,IAAkBD,GAASE,CAAU;AACrD,QAAIC,KACAP,EAAO,QAAQ;AAAA,UACX,SAAAO;AAAA,UACA,OAAO;AAAA,UACP,UAAU,CAACC,MACCJ,EAAQE,CAAU,EAAW,GAAKE,EAAI,WAAW,CAAA,CAAa;AAAA,UAE1E,SAAS;AAAA,YACL,aAAAN;AAAA,UAAA;AAAA,QACJ,CACH;AAAA,MAET;AAAA,IACJ;AAER;AA0BO,SAASO,EACZC,GACF;AACE,SAAO,CAACN,GAAcE,MAAuB;AACzC,UAAMK,IAAQ,OAAO,QAAQD,CAAQ,EAAE,KAAK,CAACC,MAAUA,EAAM,CAAC,MAAMP,CAAO;AAC3E,WAAKO,IAGE,GAAGA,EAAM,CAAC,CAAC,GAAGL,EAAW,aAAa,KAFlC;AAAA,EAGf;AACJ;"}
|