@actdim/dynstruct 1.0.0 → 1.0.2

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 CHANGED
@@ -1,18 +1,22 @@
1
1
  # @actdim/dynstruct
2
+
2
3
  Build scalable applications with dynamic structured components, explicit wiring, and decoupled message flow. Keep architecture clean and modular.
3
4
 
4
5
  # use dedupe:
5
- 'rxjs',
6
- 'uuid',
7
- 'http-status',
8
- 'jwt-decode',
9
- 'mobx',
10
- 'mobx-react-lite',
11
- 'mobx-utils',
12
- 'path-to-regexp',
13
- 'react',
14
- 'react-dom',
15
- 'react-router',
16
- 'react-router-dom',
17
- '@actdim/utico',
18
- '@actdim/msgmesh'
6
+
7
+ http-status,
8
+ jwt-decode,
9
+ mobx,
10
+ mobx-react-lite,
11
+ mobx-utils,
12
+ path-to-regexp,
13
+ react,
14
+ react-dom,
15
+ react-router,
16
+ react-router-dom,
17
+ @actdim/utico,
18
+ @actdim/msgmesh,
19
+ rxjs,
20
+ dexie,
21
+ moment,
22
+ uuid
@@ -0,0 +1,129 @@
1
+ import { PropsWithChildren, FC, ReactNode } from 'react';
2
+ import { $CG_IN, $CG_OUT, MsgBus, MsgBusProviderParams, MsgBusStruct, MsgBusSubscriberParams } from '@actdim/msgmesh/msgBusCore';
3
+ import { MaybePromise, SafeKey, Skip } from '@actdim/utico/typeCore';
4
+ export type MsgBusChannelGroupProviderParams<TStruct extends MsgBusStruct = MsgBusStruct, TChannel extends keyof TStruct = keyof TStruct, TGroup extends keyof TStruct[TChannel] = typeof $CG_IN> = Skip<MsgBusProviderParams<TStruct, TChannel, TGroup>, 'channel' | 'group'>;
5
+ export type MsgBusChannelGroupSubscriberParams<TStruct extends MsgBusStruct = MsgBusStruct, TChannel extends keyof TStruct = keyof TStruct, TGroup extends keyof TStruct[TChannel] = typeof $CG_IN> = Skip<MsgBusSubscriberParams<TStruct, TChannel, TGroup>, 'channel' | 'group'>;
6
+ export type MsgBusBrokerScope<TStruct extends MsgBusStruct, TKeysToProvide extends keyof TStruct = keyof TStruct, TKeysToSubscribe extends keyof TStruct = keyof TStruct, TKeysToPublish extends keyof TStruct = keyof TStruct> = {
7
+ provide?: TKeysToProvide;
8
+ subscribe?: TKeysToSubscribe;
9
+ publish?: TKeysToPublish;
10
+ };
11
+ export type ComponentPropStruct = Record<string, any>;
12
+ export type ComponentMethodStruct = Record<string, Function>;
13
+ export type ComponentRefStruct = {
14
+ [name: string]: ComponentStruct | ((params: any) => ComponentStruct);
15
+ };
16
+ export type ComponentStructBase<TMsgBusStruct extends MsgBusStruct = MsgBusStruct, TPropStruct extends ComponentPropStruct = ComponentPropStruct, TMsgScope extends MsgBusBrokerScope<TMsgBusStruct> = MsgBusBrokerScope<TMsgBusStruct>> = {
17
+ props?: TPropStruct;
18
+ methods?: ComponentMethodStruct;
19
+ children?: ComponentRefStruct;
20
+ msgScope?: TMsgScope;
21
+ };
22
+ export type ComponentStruct<TMsgBusStruct extends MsgBusStruct = MsgBusStruct, T extends ComponentStructBase<TMsgBusStruct> = ComponentStructBase<TMsgBusStruct>> = T & {
23
+ msgBus: TMsgBusStruct;
24
+ };
25
+ export type MsgBusBroker<TStructToProvide extends MsgBusStruct = MsgBusStruct, TStructToSubscribe extends MsgBusStruct = MsgBusStruct> = {
26
+ provide?: {
27
+ [TChannel in keyof TStructToProvide]: {
28
+ [TGroup in keyof Skip<TStructToProvide[TChannel], typeof $CG_OUT>]?: MsgBusChannelGroupProviderParams<TStructToProvide, TChannel, TGroup>;
29
+ };
30
+ };
31
+ subscribe?: {
32
+ [TChannel in keyof TStructToSubscribe]: {
33
+ [TGroup in keyof TStructToSubscribe[TChannel]]?: MsgBusChannelGroupSubscriberParams<TStructToSubscribe, TChannel, TGroup>;
34
+ };
35
+ };
36
+ };
37
+ type ValueConverter<TTo, TFrom> = {
38
+ convert(value: TFrom): TTo;
39
+ convertBack(value: TTo): TFrom;
40
+ };
41
+ type ValidationResult = {
42
+ valid: boolean;
43
+ message: string;
44
+ };
45
+ type Validator<T> = {
46
+ options: {
47
+ blur: boolean;
48
+ };
49
+ validate: (value: T) => MaybePromise<ValidationResult>;
50
+ };
51
+ export declare const symbols: {
52
+ $isBinding: symbol;
53
+ };
54
+ export interface IBinding<T = any, TFrom = any> {
55
+ readonly get: () => T;
56
+ readonly set: (value: T) => void;
57
+ readonly converter: ValueConverter<T, TFrom>;
58
+ readonly validator: Validator<T>;
59
+ readonly readOnly: boolean;
60
+ }
61
+ declare class Binding<T = any, TFrom = any> implements IBinding<any, any> {
62
+ [symbols.$isBinding]: boolean;
63
+ readonly get: () => T;
64
+ readonly set: (value: T) => void;
65
+ readonly converter: ValueConverter<T, TFrom>;
66
+ readonly validator: Validator<T>;
67
+ readonly readOnly: boolean;
68
+ constructor(get: () => T, set?: (value: T) => void, converter?: ValueConverter<T, TFrom>, validator?: Validator<T>);
69
+ }
70
+ export declare function isBinding(obj: any): obj is IBinding;
71
+ export declare function bind<T, TFrom = any>(get: () => T, set?: (value: T) => void, converter?: ValueConverter<T, TFrom>, validator?: Validator<T>): Binding<T, TFrom>;
72
+ export declare function bindProp<T extends object, P extends keyof T>(obj: T, prop: P): Binding<T[P], any>;
73
+ export type ComponentPropSource<T> = T | Binding<T>;
74
+ export type ComponentPropParams<TPropStruct extends ComponentPropStruct> = {
75
+ [P in keyof TPropStruct]?: ComponentPropSource<TPropStruct[P]>;
76
+ };
77
+ declare const $ON_GET = "onGet";
78
+ declare const $ON_CHANGING = "onChanging";
79
+ declare const $ON_CHANGE = "onChange";
80
+ type PropValueChangingHandler<TProp = PropKey> = (prop: TProp, oldValue: any, newValue: any) => boolean;
81
+ type PropValueChangeHandler<TProp = PropKey> = (prop: TProp, value: any) => void;
82
+ type ValueChangingHandler<T = any> = (oldValue: T, newValue: T) => boolean;
83
+ type ValueChangeHandler<T = any> = (value: T) => void;
84
+ type ComponentEvents<TStruct extends ComponentStruct = ComponentStruct> = {
85
+ onPropChanging?: PropValueChangingHandler<keyof TStruct['props']>;
86
+ onPropChange?: PropValueChangeHandler<keyof TStruct['props']>;
87
+ onInit?: (model: ComponentModel<TStruct>) => void;
88
+ onLayout?: (model: ComponentModel<TStruct>) => void;
89
+ onReady?: (model: ComponentModel<TStruct>) => void;
90
+ onLayoutDestroy?: (model: ComponentModel<TStruct>) => void;
91
+ onDestroy?: (model: ComponentModel<TStruct>) => void;
92
+ onError?: (model: ComponentModel<TStruct>, error: any) => void;
93
+ } & {
94
+ [P in keyof TStruct['props'] as `${typeof $ON_GET}${Capitalize<P & string>}`]?: () => TStruct['props'][P];
95
+ } & {
96
+ [P in keyof TStruct['props'] as `${typeof $ON_CHANGING}${Capitalize<P & string>}`]?: ValueChangingHandler<TStruct['props']>;
97
+ } & {
98
+ [P in keyof TStruct['props'] as `${typeof $ON_CHANGE}${Capitalize<P & string>}`]?: ValueChangeHandler<TStruct['props']>;
99
+ };
100
+ type ComponentViewProps = {
101
+ render?: boolean;
102
+ } & PropsWithChildren;
103
+ type ComponentViewFn = (props?: ComponentViewProps) => ReactNode;
104
+ export type Component<TStruct extends ComponentStruct> = {
105
+ props?: TStruct['props'];
106
+ methods?: TStruct['methods'];
107
+ children?: ComponentChildren<TStruct['children']>;
108
+ events?: ComponentEvents<TStruct>;
109
+ msgBroker?: MsgBusBroker<Pick<TStruct['msgBus'], SafeKey<TStruct['msgBus'], TStruct['msgScope']['provide']>>, Pick<TStruct['msgBus'], SafeKey<TStruct['msgBus'], TStruct['msgScope']['subscribe']>>>;
110
+ msgBus?: MsgBus<Pick<TStruct['msgBus'], SafeKey<TStruct['msgBus'], TStruct['msgScope']['provide']> | SafeKey<TStruct['msgBus'], TStruct['msgScope']['subscribe']> | SafeKey<TStruct['msgBus'], TStruct['msgScope']['publish']>>>;
111
+ view?: ComponentViewFn;
112
+ };
113
+ type ComponentChildren<TRefStruct extends ComponentRefStruct> = {
114
+ [P in keyof TRefStruct]: TRefStruct[P] extends (params: infer TParams) => infer T ? T extends ComponentStruct ? (params: TParams) => ComponentModel<T> : never : TRefStruct[P] extends ComponentStruct ? ComponentModel<TRefStruct[P]> : never;
115
+ };
116
+ type ComponentModelChildren<TRefStruct extends ComponentRefStruct> = {
117
+ [P in keyof TRefStruct as TRefStruct[P] extends Function ? `${Capitalize<P & string>}` : P]: TRefStruct[P] extends (params: infer TParams) => infer T ? T extends ComponentStruct ? FC<ComponentParams<T> & TParams> : never : TRefStruct[P] extends ComponentStruct ? ComponentModel<TRefStruct[P]> : never;
118
+ };
119
+ export type ComponentModelBase<TStruct extends ComponentStruct = ComponentStruct> = {
120
+ readonly msgBus?: MsgBus<Pick<TStruct['msgBus'], SafeKey<TStruct['msgBus'], TStruct['msgScope']['provide']> | SafeKey<TStruct['msgBus'], TStruct['msgScope']['subscribe']> | SafeKey<TStruct['msgBus'], TStruct['msgScope']['publish']>>>;
121
+ readonly View: ComponentViewFn;
122
+ };
123
+ export type ComponentModel<TStruct extends ComponentStruct = ComponentStruct> = TStruct['props'] & TStruct['methods'] & ComponentModelChildren<TStruct['children']> & ComponentModelBase<TStruct>;
124
+ type PropKey = string | symbol;
125
+ export type ComponentParams<TStruct extends ComponentStruct = ComponentStruct> = ComponentPropParams<TStruct['props']> & ComponentEvents<TStruct>;
126
+ export declare function useComponent<TStruct extends ComponentStruct = ComponentStruct>(component: Component<TStruct>, params: ComponentParams<TStruct>): ComponentModel<TStruct>;
127
+ export declare function getFC<TStruct extends ComponentStruct>(factory: (params: ComponentParams<TStruct>) => ComponentModel<TStruct>): FC<ComponentParams<TStruct>>;
128
+ export {};
129
+ //# sourceMappingURL=componentModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"componentModel.d.ts","sourceRoot":"","sources":["../../src/componentModel/componentModel.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@actdim/dynstruct",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
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",
@@ -77,8 +77,8 @@
77
77
  "react-dom": "^19.2.0",
78
78
  "react-router": "^7.9.3",
79
79
  "react-router-dom": "^7.9.4",
80
- "@actdim/utico": "^1.0.0",
81
- "@actdim/msgmesh": "^1.0.0",
80
+ "@actdim/utico": "^1.0.2",
81
+ "@actdim/msgmesh": "^1.0.2",
82
82
  "rxjs": "^7.8.2",
83
83
  "dexie": "^4.2.0",
84
84
  "moment": "^2.30.1",