@actdim/dynstruct 1.2.6 → 1.2.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.
Files changed (60) hide show
  1. package/README.md +2460 -18
  2. package/dist/appDomain/appContracts.d.ts.map +1 -1
  3. package/dist/appDomain/appContracts.es.js +1 -1
  4. package/dist/appDomain/appContracts.es.js.map +1 -1
  5. package/dist/appDomain/navigation.es.js.map +1 -1
  6. package/dist/appDomain/security/securityContracts.es.js.map +1 -1
  7. package/dist/appDomain/security/securityProvider.d.ts +6 -5
  8. package/dist/appDomain/security/securityProvider.d.ts.map +1 -1
  9. package/dist/appDomain/security/securityProvider.es.js +70 -45
  10. package/dist/appDomain/security/securityProvider.es.js.map +1 -1
  11. package/dist/appDomain/util.es.js.map +1 -1
  12. package/dist/componentModel/DynamicContent.d.ts +3 -4
  13. package/dist/componentModel/DynamicContent.d.ts.map +1 -1
  14. package/dist/componentModel/DynamicContent.es.js.map +1 -1
  15. package/dist/componentModel/adapters.es.js.map +1 -1
  16. package/dist/componentModel/componentContext.d.ts +5 -5
  17. package/dist/componentModel/componentContext.d.ts.map +1 -1
  18. package/dist/componentModel/componentContext.es.js.map +1 -1
  19. package/dist/componentModel/contracts.d.ts +29 -21
  20. package/dist/componentModel/contracts.d.ts.map +1 -1
  21. package/dist/componentModel/contracts.es.js +17 -7
  22. package/dist/componentModel/contracts.es.js.map +1 -1
  23. package/dist/componentModel/core.d.ts +2 -3
  24. package/dist/componentModel/core.d.ts.map +1 -1
  25. package/dist/componentModel/core.es.js +101 -101
  26. package/dist/componentModel/core.es.js.map +1 -1
  27. package/dist/componentModel/react/errorBoundary.d.ts +19 -0
  28. package/dist/componentModel/react/errorBoundary.d.ts.map +1 -0
  29. package/dist/componentModel/react/errorBoundary.es.js +52 -0
  30. package/dist/componentModel/react/errorBoundary.es.js.map +1 -0
  31. package/dist/componentModel/react.d.ts +2 -2
  32. package/dist/componentModel/react.d.ts.map +1 -1
  33. package/dist/componentModel/react.es.js +158 -140
  34. package/dist/componentModel/react.es.js.map +1 -1
  35. package/dist/componentModel/scope.d.ts +1 -1
  36. package/dist/componentModel/scope.d.ts.map +1 -1
  37. package/dist/componentModel/scope.es.js +1 -1
  38. package/dist/componentModel/scope.es.js.map +1 -1
  39. package/dist/globals.es.js.map +1 -1
  40. package/dist/net/apiError.es.js.map +1 -1
  41. package/dist/net/client.d.ts +9 -5
  42. package/dist/net/client.d.ts.map +1 -1
  43. package/dist/net/client.es.js +96 -80
  44. package/dist/net/client.es.js.map +1 -1
  45. package/dist/net/request.es.js.map +1 -1
  46. package/dist/reactHooks.d.ts +1 -1
  47. package/dist/reactHooks.d.ts.map +1 -1
  48. package/dist/reactHooks.es.js.map +1 -1
  49. package/dist/services/ServiceProvider.es.js.map +1 -1
  50. package/dist/services/StorageService.es.js.map +1 -1
  51. package/dist/services/react/NavService.d.ts.map +1 -1
  52. package/dist/services/react/NavService.es.js +15 -15
  53. package/dist/services/react/NavService.es.js.map +1 -1
  54. package/dist/services/react/ServiceProvider.d.ts +2 -2
  55. package/dist/services/react/ServiceProvider.d.ts.map +1 -1
  56. package/dist/services/react/ServiceProvider.es.js.map +1 -1
  57. package/dist/services/react/StorageService.d.ts.map +1 -1
  58. package/dist/services/react/StorageService.es.js +7 -7
  59. package/dist/services/react/StorageService.es.js.map +1 -1
  60. package/package.json +4 -2
@@ -1,8 +1,8 @@
1
1
  import { $CG_IN, $CG_OUT, Msg, MsgBus, MsgHeaders, MsgProviderParams, MsgStruct, MsgSubParams, OutStruct } from '@actdim/msgmesh/contracts';
2
2
  import { HasKeys, MaybeKeyOf, MaybePromise, Require, Skip } from '@actdim/utico/typeCore';
3
- import { FC, PropsWithChildren, ReactNode } from 'react';
4
- export type BaseContext<TMsgStruct extends MsgStruct = MsgStruct> = {
5
- msgBus: MsgBus<TMsgStruct>;
3
+ export type BaseContext<TMsgStruct extends MsgStruct = MsgStruct, TMsgHeaders extends MsgHeaders = MsgHeaders> = {
4
+ msgBus: MsgBus<TMsgStruct, TMsgHeaders>;
5
+ abortSignal?: AbortSignal;
6
6
  };
7
7
  export type ComponentTreeNode = {
8
8
  id: string;
@@ -10,7 +10,7 @@ export type ComponentTreeNode = {
10
10
  parentId?: string;
11
11
  children: Set<string>;
12
12
  };
13
- export type ComponentRegistryContext<TMsgStruct extends MsgStruct = MsgStruct> = BaseContext<TMsgStruct> & {
13
+ export type ComponentRegistryContext<TMsgStruct extends MsgStruct = MsgStruct, TMsgHeaders extends MsgHeaders = MsgHeaders> = BaseContext<TMsgStruct, TMsgHeaders> & {
14
14
  currentId?: string;
15
15
  register: (id: string, regType: string, parentId?: string) => void;
16
16
  unregister: (id: string) => void;
@@ -46,7 +46,7 @@ export type MsgBrokerScope<TStruct extends MsgStruct, TKeysToProvide extends key
46
46
  export type ComponentPropStruct = Record<string, any>;
47
47
  export type ComponentMethodStruct = Record<string, Function>;
48
48
  export type ComponentRefStruct = {
49
- [name: string]: ComponentStruct | ((params: any) => ComponentStruct);
49
+ [name: string]: ComponentStruct | ((params: unknown) => ComponentStruct) | ((params: unknown) => unknown);
50
50
  };
51
51
  export type ComponentStructBase<TMsgStruct extends MsgStruct = MsgStruct, TPropStruct extends ComponentPropStruct = ComponentPropStruct, TMsgScope extends MsgBrokerScope<TMsgStruct> = MsgBrokerScope<TMsgStruct>> = {
52
52
  props?: TPropStruct;
@@ -94,9 +94,12 @@ export type Binding<T = any, TFrom = any> = {
94
94
  readonly readOnly?: boolean;
95
95
  [$isBinding]: true;
96
96
  };
97
+ export declare function isBinding(obj: any): obj is Binding;
97
98
  export type ComponentPropSource<T> = T | Binding<T>;
98
99
  export type ComponentPropParams<TPropStruct extends ComponentPropStruct> = {
99
100
  [P in keyof TPropStruct]?: ComponentPropSource<TPropStruct[P]>;
101
+ } & {
102
+ key?: string | number | null | undefined;
100
103
  };
101
104
  export declare const $ON_GET: "onGet";
102
105
  export declare const $ON_CHANGING: "onChanging";
@@ -109,23 +112,24 @@ export type ComponentEvents<TStruct extends ComponentStruct = ComponentStruct> =
109
112
  onPropChanging?: PropValueChangingHandler<keyof TStruct['props']>;
110
113
  onPropChange?: PropValueChangeHandler<keyof TStruct['props']>;
111
114
  onInit?: (component: Component<TStruct>) => void;
112
- onLayout?: (component: Component<TStruct>) => void;
115
+ onLayoutReady?: (component: Component<TStruct>) => void;
113
116
  onReady?: (component: Component<TStruct>) => void;
114
117
  onLayoutDestroy?: (component: Component<TStruct>) => void;
115
118
  onDestroy?: (component: Component<TStruct>) => void;
116
- onError?: (component: Component<TStruct>, error: any) => void;
119
+ onError?: (component: Component<TStruct>, error: unknown, info?: unknown) => unknown;
117
120
  } & {
118
121
  [P in keyof TStruct['props'] as `${typeof $ON_GET}${Capitalize<P & string>}`]?: () => TStruct['props'][P];
119
122
  } & {
120
- [P in keyof TStruct['props'] as `${typeof $ON_CHANGING}${Capitalize<P & string>}`]?: ValueChangingHandler<TStruct['props']>;
123
+ [P in keyof TStruct['props'] as `${typeof $ON_CHANGING}${Capitalize<P & string>}`]?: ValueChangingHandler<TStruct['props'][P]>;
121
124
  } & {
122
- [P in keyof TStruct['props'] as `${typeof $ON_CHANGE}${Capitalize<P & string>}`]?: ValueChangeHandler<TStruct['props']>;
125
+ [P in keyof TStruct['props'] as `${typeof $ON_CHANGE}${Capitalize<P & string>}`]?: ValueChangeHandler<TStruct['props'][P]>;
123
126
  };
124
127
  export type ComponentViewProps = {
125
128
  render?: boolean;
126
- } & PropsWithChildren;
127
- export type ComponentViewImplFn<TStruct extends ComponentStruct, TMsgHeaders extends ComponentMsgHeaders = ComponentMsgHeaders> = (props: ComponentViewProps, component?: Component<TStruct, TMsgHeaders>) => ReactNode;
128
- export type ComponentViewFn = (props: ComponentViewProps) => ReactNode;
129
+ children?: unknown;
130
+ };
131
+ export type ComponentViewImplFn<TStruct extends ComponentStruct, TMsgHeaders extends ComponentMsgHeaders = ComponentMsgHeaders> = (props: ComponentViewProps, component?: Component<TStruct, TMsgHeaders>) => any;
132
+ export type ComponentViewFn = (props: ComponentViewProps) => any;
129
133
  export type ComponentMsgBroker<TStruct extends ComponentStruct, TMsgHeaders extends ComponentMsgHeaders = ComponentMsgHeaders> = MsgBroker<Pick<TStruct['msg'], MaybeKeyOf<TStruct['msg'], TStruct['msgScope']['provide']>>, Pick<TStruct['msg'], MaybeKeyOf<TStruct['msg'], TStruct['msgScope']['subscribe']>>, TMsgHeaders, Component<TStruct, TMsgHeaders>>;
130
134
  export type EffectFn<TStruct extends ComponentStruct, TMsgHeaders extends ComponentMsgHeaders = ComponentMsgHeaders> = (component: Component<TStruct, TMsgHeaders>) => void | (() => void);
131
135
  export type ComponentDef<TStruct extends ComponentStruct, TMsgHeaders extends ComponentMsgHeaders = ComponentMsgHeaders> = {
@@ -138,15 +142,22 @@ export type ComponentDef<TStruct extends ComponentStruct, TMsgHeaders extends Co
138
142
  msgBroker?: ComponentMsgBroker<TStruct, TMsgHeaders>;
139
143
  msgBus?: MsgBus<TStruct['msg'], TMsgHeaders>;
140
144
  view?: ComponentViewImplFn<TStruct, TMsgHeaders>;
145
+ useErrorBoundary?: boolean;
141
146
  };
142
147
  export type ComponentDefChildren<TRefStruct extends ComponentRefStruct> = Require<{
143
- [P in keyof TRefStruct]: TRefStruct[P] extends (params: infer TParams) => infer T ? T extends ComponentStruct ? (params: TParams) => Component<T> : never : TRefStruct[P] extends ComponentStruct ? Component<TRefStruct[P]> : never;
148
+ [P in keyof TRefStruct]: TRefStruct[P] extends (params: infer TParams) => infer T ? T extends ComponentStruct ? (params: TParams) => Component<T> : (params: TParams) => T : TRefStruct[P] extends ComponentStruct ? Component<TRefStruct[P]> : never;
144
149
  }, HasKeys<TRefStruct>>;
150
+ export type RenderFn<P> = {
151
+ (props: P): any;
152
+ displayName?: string | undefined;
153
+ };
145
154
  export type ComponentChildren<TRefStruct extends ComponentRefStruct> = {
146
- readonly [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 ? Component<TRefStruct[P]> : never;
155
+ readonly [P in keyof TRefStruct as TRefStruct[P] extends Function ? `${Capitalize<P & string>}` : P]: TRefStruct[P] extends (params: infer TParams) => infer T ? T extends ComponentStruct ? RenderFn<ComponentParams<T> & TParams> : (params: TParams) => T : TRefStruct[P] extends ComponentStruct ? Component<TRefStruct[P]> : never;
147
156
  };
148
157
  export type ComponentMsgStruct<TStruct extends ComponentStruct = ComponentStruct> = Pick<TStruct['msg'], MaybeKeyOf<TStruct['msg'], TStruct['msgScope']['provide']> | MaybeKeyOf<TStruct['msg'], TStruct['msgScope']['subscribe']> | MaybeKeyOf<TStruct['msg'], TStruct['msgScope']['publish']>>;
158
+ export declare const $isComponent: unique symbol;
149
159
  export type ComponentBase<TStruct extends ComponentStruct = ComponentStruct, TMsgHeaders extends ComponentMsgHeaders = ComponentMsgHeaders> = {
160
+ readonly [$isComponent]: true;
150
161
  readonly id: string;
151
162
  readonly key: string;
152
163
  readonly regType: string;
@@ -160,13 +171,12 @@ export type ComponentBase<TStruct extends ComponentStruct = ComponentStruct, TMs
160
171
  readonly bindings: Map<PropertyKey, Binding>;
161
172
  readonly msgBus: MsgBus<ComponentMsgStruct<TStruct>, TMsgHeaders>;
162
173
  readonly msgBroker: ComponentMsgBroker<TStruct>;
163
- readonly effects: Record<string, EffectController>;
174
+ readonly effects: keyof TStruct['effects'] extends never ? never : Record<TStruct['effects'] extends string ? TStruct['effects'] : TStruct['effects'][number], EffectController>;
164
175
  readonly View: ComponentViewFn;
176
+ readonly [Symbol.dispose]: () => void;
165
177
  };
166
- export type ComponentModel<TStruct extends ComponentStruct = ComponentStruct> = TStruct['props'] & Readonly<TStruct['actions']> & {
167
- readonly $id?: string;
168
- readonly $key?: string;
169
- };
178
+ export declare function isComponent(obj: any): obj is ComponentBase;
179
+ export type ComponentModel<TStruct extends ComponentStruct = ComponentStruct> = TStruct['props'] & Readonly<TStruct['actions']>;
170
180
  export type Component<TStruct extends ComponentStruct = ComponentStruct, TMsgHeaders extends ComponentMsgHeaders = ComponentMsgHeaders> = {
171
181
  readonly model: ComponentModel<TStruct>;
172
182
  readonly children: ComponentChildren<TStruct['children']>;
@@ -181,10 +191,8 @@ export type ComponentParams<TStruct extends ComponentStruct = ComponentStruct> =
181
191
  $key?: string;
182
192
  };
183
193
  export type EffectController = {
184
- start: () => void;
185
194
  pause: () => void;
186
195
  resume: () => void;
187
196
  stop: () => void;
188
- restart: () => void;
189
197
  };
190
198
  //# sourceMappingURL=contracts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/componentModel/contracts.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/componentModel/contracts.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,20 @@
1
- var s = /* @__PURE__ */ ((n) => (n[n.None = 0] = "None", n[n.FromAncestors = 1] = "FromAncestors", n[n.FromDescendants = 2] = "FromDescendants", n))(s || {});
2
- const c = Symbol("$isBinding"), N = "onGet", o = "onChanging", a = "onChange";
1
+ var o = /* @__PURE__ */ ((n) => (n[n.None = 0] = "None", n[n.FromAncestors = 1] = "FromAncestors", n[n.FromDescendants = 2] = "FromDescendants", n))(o || {});
2
+ const t = Symbol("isBinding");
3
+ function c(n) {
4
+ return typeof n == "object" && n && n[t] === !0;
5
+ }
6
+ const e = "onGet", r = "onChanging", i = "onChange", s = Symbol("isComponent");
7
+ function N(n) {
8
+ return typeof n == "object" && n && n[s] === !0;
9
+ }
3
10
  export {
4
- a as $ON_CHANGE,
5
- o as $ON_CHANGING,
6
- N as $ON_GET,
7
- c as $isBinding,
8
- s as ComponentMsgFilter
11
+ i as $ON_CHANGE,
12
+ r as $ON_CHANGING,
13
+ e as $ON_GET,
14
+ t as $isBinding,
15
+ s as $isComponent,
16
+ o as ComponentMsgFilter,
17
+ c as isBinding,
18
+ N as isComponent
9
19
  };
10
20
  //# sourceMappingURL=contracts.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.es.js","sources":["../../src/componentModel/contracts.tsx"],"sourcesContent":["import {\r\n $CG_IN,\r\n $CG_OUT,\r\n Msg,\r\n MsgBus,\r\n MsgHeaders,\r\n MsgProviderParams,\r\n MsgStruct,\r\n MsgSubParams,\r\n OutStruct,\r\n} from '@actdim/msgmesh/contracts';\r\nimport { HasKeys, MaybeKeyOf, MaybePromise, Require, Skip } from '@actdim/utico/typeCore';\r\nimport { FC, PropsWithChildren, ReactNode } from 'react';\r\n\r\nexport type BaseContext<TMsgStruct extends MsgStruct = MsgStruct> = {\r\n msgBus: MsgBus<TMsgStruct>;\r\n};\r\n\r\nexport type ComponentTreeNode = {\r\n id: string;\r\n regType: string;\r\n parentId?: string;\r\n children: Set<string>;\r\n};\r\n\r\n// ComponentContext\r\nexport type ComponentRegistryContext<TMsgStruct extends MsgStruct = MsgStruct> =\r\n BaseContext<TMsgStruct> & {\r\n currentId?: string;\r\n register: (id: string, regType: string, parentId?: string) => void;\r\n unregister: (id: string) => void;\r\n getParent: (id: string) => string | undefined;\r\n getChildren: (id: string) => string[];\r\n getChainUp: (id: string) => string[];\r\n getChainDown: (id: string) => string[];\r\n getHierarchyPath: (id: string) => string;\r\n getNextId: (regType: string) => string;\r\n getNodeMap: () => Map<string, ComponentTreeNode>;\r\n };\r\n\r\nexport type ComponentMsgHeaders = MsgHeaders & {};\r\n\r\nexport enum ComponentMsgFilter {\r\n None = 0,\r\n // AcceptFrom...\r\n FromAncestors = 1 << 0,\r\n FromDescendants = 1 << 1,\r\n}\r\n\r\nexport type MsgChannelGroupProviderParams<\r\n TStruct extends MsgStruct = MsgStruct,\r\n TChannel extends keyof TStruct = keyof TStruct,\r\n TGroup extends keyof TStruct[TChannel] = typeof $CG_IN, // keyof TStruct[TChannel]\r\n TMsgHeaders extends ComponentMsgHeaders = ComponentMsgHeaders,\r\n TScope = any,\r\n> = Skip<\r\n MsgProviderParams<TStruct, TChannel, TGroup>,\r\n 'channel' | 'group' | 'callback' | 'filter'\r\n> & {\r\n // resolve\r\n callback?: (\r\n msgIn: Msg<TStruct, TChannel, TGroup, TMsgHeaders>,\r\n headers: TMsgHeaders,\r\n scope: TScope,\r\n ) => MaybePromise<OutStruct<TStruct, TChannel>>;\r\n filter?: (msg: Msg<TStruct, TChannel, TGroup, TMsgHeaders>, scope: TScope) => boolean;\r\n componentFilter?: ComponentMsgFilter;\r\n};\r\n\r\nexport type MsgChannelGroupSubscriberParams<\r\n TStruct extends MsgStruct = MsgStruct,\r\n TChannel extends keyof TStruct = keyof TStruct,\r\n TGroup extends keyof TStruct[TChannel] = typeof $CG_IN, // keyof TStruct[TChannel]\r\n TMsgHeaders extends ComponentMsgHeaders = ComponentMsgHeaders,\r\n TScope = any,\r\n> = Skip<MsgSubParams<TStruct, TChannel, TGroup>, 'channel' | 'group' | 'callback' | 'filter'> & {\r\n callback?: (msg: Msg<TStruct, TChannel, TGroup, TMsgHeaders>, scope: TScope) => void;\r\n filter?: (msg: Msg<TStruct, TChannel, TGroup, TMsgHeaders>, scope: TScope) => boolean;\r\n componentFilter?: ComponentMsgFilter;\r\n};\r\n\r\n// MsgScope\r\nexport type MsgBrokerScope<\r\n TStruct extends MsgStruct /*= MsgStruct*/,\r\n TKeysToProvide extends keyof TStruct = keyof TStruct,\r\n TKeysToSubscribe extends keyof TStruct = keyof TStruct,\r\n TKeysToPublish extends keyof TStruct = keyof TStruct,\r\n> = {\r\n provide?: TKeysToProvide;\r\n // consume\r\n subscribe?: TKeysToSubscribe;\r\n // produce\r\n publish?: TKeysToPublish;\r\n};\r\n\r\nexport type ComponentPropStruct = Record<string, any>;\r\n// export type ComponentPropStruct = {\r\n// [prop: string]: any;\r\n// };\r\n\r\nexport type ComponentMethodStruct = Record<string, Function>;\r\n// export type ComponentMethodStruct = {\r\n// [action: string]: Function;\r\n// };\r\n\r\n// export type ComponentRefStruct = Record<string, ComponentStruct<TMsgStruct, T>>;\r\nexport type ComponentRefStruct = {\r\n [name: string]: ComponentStruct | ((params: any) => ComponentStruct);\r\n};\r\n\r\nexport type ComponentStructBase<\r\n TMsgStruct extends MsgStruct = MsgStruct,\r\n TPropStruct extends ComponentPropStruct = ComponentPropStruct,\r\n TMsgScope extends MsgBrokerScope<TMsgStruct> = MsgBrokerScope<TMsgStruct>,\r\n> = {\r\n props?: TPropStruct;\r\n actions?: ComponentMethodStruct;\r\n effects?: string[] | string | undefined;\r\n children?: ComponentRefStruct;\r\n // msgs?\r\n msgScope?: TMsgScope;\r\n};\r\n\r\n// ComponentShape\r\nexport type ComponentStruct<\r\n TMsgStruct extends MsgStruct = MsgStruct,\r\n T extends ComponentStructBase<TMsgStruct> = ComponentStructBase<TMsgStruct>,\r\n> = T & {\r\n msg: TMsgStruct;\r\n};\r\n\r\nexport type MsgBroker<\r\n TStructToProvide extends MsgStruct = MsgStruct,\r\n TStructToSubscribe extends MsgStruct = MsgStruct,\r\n TMsgHeaders extends ComponentMsgHeaders = ComponentMsgHeaders,\r\n TScope = any,\r\n> = Require<\r\n {\r\n // providers\r\n provide?: Require<\r\n {\r\n [TChannel in keyof TStructToProvide]: {\r\n [TGroup in keyof Skip<\r\n TStructToProvide[TChannel],\r\n typeof $CG_OUT\r\n >]?: MsgChannelGroupProviderParams<\r\n TStructToProvide,\r\n TChannel,\r\n TGroup,\r\n TMsgHeaders,\r\n TScope\r\n >;\r\n };\r\n },\r\n HasKeys<TStructToProvide>\r\n >;\r\n // subscribers\r\n subscribe?: Require<\r\n {\r\n [TChannel in keyof TStructToSubscribe]: {\r\n [TGroup in keyof TStructToSubscribe[TChannel]]?: MsgChannelGroupSubscriberParams<\r\n TStructToSubscribe,\r\n TChannel,\r\n TGroup,\r\n TMsgHeaders,\r\n TScope\r\n >;\r\n };\r\n },\r\n HasKeys<TStructToSubscribe>\r\n >;\r\n abortController?: AbortController;\r\n },\r\n HasKeys<TStructToProvide & TStructToSubscribe>\r\n>;\r\n\r\nexport type ValueConverter<TTo, TFrom> = {\r\n // ConvertFrom\r\n convert(value: TFrom): TTo;\r\n // ConvertTo\r\n convertBack(value: TTo): TFrom;\r\n};\r\n\r\nexport type ValidationResult = {\r\n valid: boolean;\r\n message: string;\r\n};\r\n\r\nexport type Validator<T> = {\r\n options: {\r\n blur: boolean;\r\n };\r\n validate: (value: T) => MaybePromise<ValidationResult>;\r\n};\r\n\r\nexport const $isBinding = Symbol('$isBinding'); // brand\r\n\r\nexport type Binding<T = any, TFrom = any> = {\r\n // getter\r\n readonly get: () => T;\r\n // setter\r\n readonly set?: (value: T) => void;\r\n readonly converter?: ValueConverter<T, TFrom>;\r\n readonly validator?: Validator<T>;\r\n readonly readOnly?: boolean;\r\n [$isBinding]: true;\r\n};\r\n\r\nexport type ComponentPropSource<T> = T | Binding<T>;\r\n\r\nexport type ComponentPropParams<TPropStruct extends ComponentPropStruct> = {\r\n [P in keyof TPropStruct]?: ComponentPropSource<TPropStruct[P]>;\r\n};\r\n\r\n// export const $ON_PROP_CHANGING = \"onPropChanging\" as const;\r\n// export const $ON_PROP_CHANGE = \"onPropChange\" as const;\r\n\r\nexport const $ON_GET = 'onGet' as const;\r\n// export const $ON_BEFORE_SET = \"onBeforeSet\" as const;\r\nexport const $ON_CHANGING = 'onChanging' as const;\r\nexport const $ON_CHANGE = 'onChange' as const;\r\n// export const $ON_SET = \"onSet\" as const;\r\n\r\nexport type PropValueChangingHandler<TProp = PropertyKey> = (\r\n prop: TProp,\r\n oldValue: any,\r\n newValue: any,\r\n) => boolean;\r\n\r\nexport type PropValueChangeHandler<TProp = PropertyKey> = (prop: TProp, value: any) => void;\r\n\r\n// BeforeValueSetHandler\r\nexport type ValueChangingHandler<T = any> = (oldValue: T, newValue: T) => boolean;\r\n// ValueSetHandler\r\nexport type ValueChangeHandler<T = any> = (value: T) => void;\r\n\r\nexport type ComponentEvents<TStruct extends ComponentStruct = ComponentStruct> = {\r\n onPropChanging?: PropValueChangingHandler<keyof TStruct['props']>;\r\n onPropChange?: PropValueChangeHandler<keyof TStruct['props']>;\r\n onInit?: (component: Component<TStruct>) => void;\r\n onLayout?: (component: Component<TStruct>) => void;\r\n onReady?: (component: Component<TStruct>) => void;\r\n onLayoutDestroy?: (component: Component<TStruct>) => void; // onLayoutCleanup\r\n onDestroy?: (component: Component<TStruct>) => void; // onDispose/onCleanup\r\n onError?: (component: Component<TStruct>, error: any) => void;\r\n} & {\r\n [P in keyof TStruct['props'] as `${typeof $ON_GET}${Capitalize<P & string>}`]?: () => TStruct['props'][P];\r\n} & {\r\n [P in keyof TStruct['props'] as `${typeof $ON_CHANGING}${Capitalize<P & string>}`]?: ValueChangingHandler<\r\n TStruct['props']\r\n >;\r\n} & {\r\n [P in keyof TStruct['props'] as `${typeof $ON_CHANGE}${Capitalize<P & string>}`]?: ValueChangeHandler<\r\n TStruct['props']\r\n >;\r\n};\r\n\r\n// AllHTMLAttributes<JSX.Element>\r\n\r\nexport type ComponentViewProps = {\r\n render?: boolean;\r\n} & PropsWithChildren;\r\n\r\n// ComponentRenderImplFn\r\nexport type ComponentViewImplFn<\r\n TStruct extends ComponentStruct,\r\n TMsgHeaders extends ComponentMsgHeaders = ComponentMsgHeaders,\r\n> = (props: ComponentViewProps, component?: Component<TStruct, TMsgHeaders>) => ReactNode; // JSX.Element\r\n\r\n// ComponentRenderFn\r\nexport type ComponentViewFn = (props: ComponentViewProps) => ReactNode; // JSX.Element\r\n\r\nexport type ComponentMsgBroker<\r\n TStruct extends ComponentStruct,\r\n TMsgHeaders extends ComponentMsgHeaders = ComponentMsgHeaders,\r\n> = MsgBroker<\r\n Pick<TStruct['msg'], MaybeKeyOf<TStruct['msg'], TStruct['msgScope']['provide']>>,\r\n Pick<TStruct['msg'], MaybeKeyOf<TStruct['msg'], TStruct['msgScope']['subscribe']>>,\r\n TMsgHeaders,\r\n Component<TStruct, TMsgHeaders>\r\n>;\r\n\r\nexport type EffectFn<\r\n TStruct extends ComponentStruct,\r\n TMsgHeaders extends ComponentMsgHeaders = ComponentMsgHeaders,\r\n> = (component: Component<TStruct, TMsgHeaders>) => void | (() => void);\r\n\r\nexport type ComponentDef<\r\n TStruct extends ComponentStruct,\r\n TMsgHeaders extends ComponentMsgHeaders = ComponentMsgHeaders,\r\n> = {\r\n // typeId\r\n regType?: string;\r\n props?: Require<TStruct['props'], HasKeys<TStruct['props']>>;\r\n actions?: Require<TStruct['actions'], HasKeys<TStruct['actions']>>;\r\n effects?: keyof TStruct['effects'] extends never\r\n ? never\r\n : Record<\r\n TStruct['effects'] extends string ? TStruct['effects'] : TStruct['effects'][number],\r\n EffectFn<TStruct, TMsgHeaders>\r\n >;\r\n children?: ComponentDefChildren<TStruct['children']>;\r\n events?: ComponentEvents<TStruct>;\r\n // msgs?\r\n msgBroker?: ComponentMsgBroker<TStruct, TMsgHeaders>;\r\n msgBus?: MsgBus<TStruct['msg'], TMsgHeaders>;\r\n view?: ComponentViewImplFn<TStruct, TMsgHeaders>;\r\n};\r\n\r\nexport type ComponentDefChildren<TRefStruct extends ComponentRefStruct> = Require<\r\n {\r\n [P in keyof TRefStruct]: TRefStruct[P] extends (params: infer TParams) => infer T\r\n ? T extends ComponentStruct\r\n ? (params: TParams) => Component<T>\r\n : never\r\n : TRefStruct[P] extends ComponentStruct\r\n ? Component<TRefStruct[P]>\r\n : never;\r\n },\r\n HasKeys<TRefStruct>\r\n>;\r\n\r\nexport type ComponentChildren<TRefStruct extends ComponentRefStruct> = {\r\n readonly [P in keyof TRefStruct as TRefStruct[P] extends Function\r\n ? `${Capitalize<P & string>}`\r\n : P]: TRefStruct[P] extends (params: infer TParams) => infer T\r\n ? T extends ComponentStruct\r\n ? FC<ComponentParams<T> & TParams>\r\n : never\r\n : TRefStruct[P] extends ComponentStruct\r\n ? Component<TRefStruct[P]>\r\n : never;\r\n};\r\n\r\nexport type ComponentMsgStruct<TStruct extends ComponentStruct = ComponentStruct> = Pick<\r\n TStruct['msg'],\r\n | MaybeKeyOf<TStruct['msg'], TStruct['msgScope']['provide']>\r\n | MaybeKeyOf<TStruct['msg'], TStruct['msgScope']['subscribe']>\r\n | MaybeKeyOf<TStruct['msg'], TStruct['msgScope']['publish']>\r\n>;\r\n\r\n// style?: CSSProperties;\r\n// classNames?: string[];\r\nexport type ComponentBase<\r\n TStruct extends ComponentStruct = ComponentStruct,\r\n TMsgHeaders extends ComponentMsgHeaders = ComponentMsgHeaders,\r\n> = {\r\n readonly id: string;\r\n readonly key: string;\r\n readonly regType: string;\r\n readonly parentId: string;\r\n // getHierarchyPath?\r\n readonly getHierarchyId: () => string;\r\n readonly getParent: () => string | undefined;\r\n readonly getChildren: () => string[];\r\n readonly getChainUp: () => string[];\r\n readonly getChainDown: () => string[];\r\n readonly getNodeMap: () => Map<string, ComponentTreeNode>;\r\n readonly bindings: Map<PropertyKey, Binding>;\r\n readonly msgBus: MsgBus<ComponentMsgStruct<TStruct>, TMsgHeaders>;\r\n readonly msgBroker: ComponentMsgBroker<TStruct>;\r\n readonly effects: Record<string, EffectController>;\r\n readonly View: ComponentViewFn;\r\n};\r\n\r\nexport type ComponentModel<TStruct extends ComponentStruct = ComponentStruct> = TStruct['props'] &\r\n Readonly<TStruct['actions']> & {\r\n // readonly __id?: string;\r\n // readonly __key?: string;\r\n readonly $id?: string;\r\n readonly $key?: string;\r\n };\r\n\r\nexport type Component<\r\n TStruct extends ComponentStruct = ComponentStruct,\r\n TMsgHeaders extends ComponentMsgHeaders = ComponentMsgHeaders,\r\n> = {\r\n readonly model: ComponentModel<TStruct>;\r\n readonly children: ComponentChildren<TStruct['children']>;\r\n} & ComponentBase<TStruct, TMsgHeaders>;\r\n\r\nexport type PropEventHandlers = {\r\n onGet?: () => any;\r\n onChanging?: (oldValue: any, newValue: any) => boolean;\r\n onChange?: (value: any) => void;\r\n};\r\n\r\nexport type ComponentParams<TStruct extends ComponentStruct = ComponentStruct> =\r\n ComponentPropParams<TStruct['props']> &\r\n ComponentEvents<TStruct> & {\r\n $id?: string;\r\n $key?: string;\r\n }; // & PropsWithChildren?\r\n\r\nexport type EffectController = {\r\n start: () => void;\r\n pause: () => void;\r\n resume: () => void;\r\n stop: () => void;\r\n restart: () => void;\r\n};\r\n"],"names":["ComponentMsgFilter","$isBinding","$ON_GET","$ON_CHANGING","$ON_CHANGE"],"mappings":"AA0CO,IAAKA,sBAAAA,OACRA,EAAAA,EAAA,OAAO,CAAA,IAAP,QAEAA,EAAAA,EAAA,gBAAgB,CAAA,IAAhB,iBACAA,EAAAA,EAAA,kBAAkB,CAAA,IAAlB,mBAJQA,IAAAA,KAAA,CAAA,CAAA;AAyJL,MAAMC,IAAa,OAAO,YAAY,GAsBhCC,IAAU,SAEVC,IAAe,cACfC,IAAa;"}
1
+ {"version":3,"file":"contracts.es.js","sources":["../../src/componentModel/contracts.tsx"],"sourcesContent":null,"names":["ComponentMsgFilter","$isBinding","isBinding","obj","$ON_GET","$ON_CHANGING","$ON_CHANGE","$isComponent","isComponent"],"mappings":"AAgDO,IAAKA,sBAAAA,OACRA,EAAAA,EAAA,OAAO,CAAA,IAAP,QAEAA,EAAAA,EAAA,gBAAgB,CAAA,IAAhB,iBACAA,EAAAA,EAAA,kBAAkB,CAAA,IAAlB,mBAJQA,IAAAA,KAAA,CAAA,CAAA;AA4JL,MAAMC,IAAa,OAAO,WAAW;AAarC,SAASC,EAAUC,GAA0B;AAChD,SAAO,OAAOA,KAAO,YAAYA,KAAOA,EAAIF,CAAU,MAAM;AAChE;AAaO,MAAMG,IAAU,SAEVC,IAAe,cACfC,IAAa,YAuIbC,IAAe,OAAO,aAAa;AAgCzC,SAASC,EAAYL,GAAgC;AACxD,SAAO,OAAOA,KAAO,YAAYA,KAAOA,EAAII,CAAY,MAAM;AAClE;"}
@@ -1,6 +1,5 @@
1
1
  import { MsgBus } from '@actdim/msgmesh/contracts';
2
2
  import { Binding, Component, ComponentMsgHeaders, ComponentStruct, EffectController, EffectFn, PropEventHandlers, PropValueChangeHandler, PropValueChangingHandler, Validator, ValueConverter } from './contracts';
3
- export declare function isBinding(obj: any): obj is Binding;
4
3
  export declare function bind<T, TFrom = any>(get: () => T, set?: (value: T) => void, converter?: ValueConverter<T, TFrom>, validator?: Validator<T>): Binding;
5
4
  export declare function bindProp<T extends object, P extends keyof T>(target: () => T, prop: P): Binding;
6
5
  export type ProxyEventHandlers = {
@@ -11,7 +10,7 @@ export declare function createRecursiveProxy(target: any, bindings: Map<Property
11
10
  export declare function toHtmlId(url: string): string;
12
11
  export declare function getComponentSourceByCaller(depth?: number): string | null;
13
12
  export declare function getComponentNameByCaller(depth?: number): string | null;
14
- export declare function registerMsgBroker<TStruct extends ComponentStruct = ComponentStruct>(component: Component<TStruct>): void;
15
- export declare function getComponentMsgBus<TStruct extends ComponentStruct = ComponentStruct>(msgBus: MsgBus<TStruct['msg']>, headerSetter: (headers?: ComponentMsgHeaders) => void): MsgBus<TStruct["msg"]>;
13
+ export declare function registerMsgBroker<TStruct extends ComponentStruct = ComponentStruct>(component: Component<TStruct>, abortController: AbortController): void;
14
+ export declare function getComponentMsgBus<TStruct extends ComponentStruct = ComponentStruct, TMsgHeaders extends ComponentMsgHeaders = ComponentMsgHeaders>(msgBus: MsgBus<TStruct['msg'], TMsgHeaders>, headerSetter: (headers?: TMsgHeaders) => void): MsgBus<TStruct["msg"], TMsgHeaders>;
16
15
  export declare function createEffect<TStruct extends ComponentStruct, TMsgHeaders extends ComponentMsgHeaders = ComponentMsgHeaders>(component: Component<TStruct, TMsgHeaders>, name: string, fn: EffectFn<TStruct, TMsgHeaders>): EffectController;
17
16
  //# sourceMappingURL=core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/componentModel/core.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnD,OAAO,KAAK,EACR,OAAO,EACP,SAAS,EACT,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,QAAQ,EAGR,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,SAAS,EACT,cAAc,EACjB,MAAM,aAAa,CAAC;AAMrB,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,OAAO,CAElD;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,GAAG,EAC/B,GAAG,EAAE,MAAM,CAAC,EACZ,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,EACxB,SAAS,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,EACpC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,GACzB,OAAO,CAST;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAQ/F;AAID,MAAM,MAAM,kBAAkB,GAAG;IAC7B,cAAc,CAAC,EAAE,wBAAwB,CAAC,WAAW,CAAC,CAAC;IACvD,YAAY,CAAC,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC;CACtD,GAAG,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;AAE3C,wBAAgB,oBAAoB,CAChC,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,EACnC,QAAQ,EAAE,kBAAkB,OAsE/B;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAkB5C;AAED,wBAAgB,0BAA0B,CAAC,KAAK,SAAI,GAAG,MAAM,GAAG,IAAI,CAiBnE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,SAAI,GAAG,MAAM,GAAG,IAAI,CAiBjE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,SAAS,eAAe,GAAG,eAAe,EAC/E,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,QAkFhC;AAED,wBAAgB,kBAAkB,CAAC,OAAO,SAAS,eAAe,GAAG,eAAe,EAChF,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAC9B,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE,mBAAmB,KAAK,IAAI,GAkChD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAC9B;AAED,wBAAgB,YAAY,CACxB,OAAO,SAAS,eAAe,EAC/B,WAAW,SAAS,mBAAmB,GAAG,mBAAmB,EAE7D,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,EAC1C,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,GACnC,gBAAgB,CAiDlB"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/componentModel/core.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAUnD,OAAO,KAAK,EACR,OAAO,EACP,SAAS,EACT,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,QAAQ,EAGR,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,SAAS,EACT,cAAc,EACjB,MAAM,aAAa,CAAC;AAUrB,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,GAAG,EAC/B,GAAG,EAAE,MAAM,CAAC,EACZ,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,EACxB,SAAS,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,EACpC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,GACzB,OAAO,CAST;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAQ/F;AAID,MAAM,MAAM,kBAAkB,GAAG;IAC7B,cAAc,CAAC,EAAE,wBAAwB,CAAC,WAAW,CAAC,CAAC;IACvD,YAAY,CAAC,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC;CACtD,GAAG,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;AAE3C,wBAAgB,oBAAoB,CAChC,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,EACnC,QAAQ,EAAE,kBAAkB,OAsE/B;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAkB5C;AAED,wBAAgB,0BAA0B,CAAC,KAAK,SAAI,GAAG,MAAM,GAAG,IAAI,CAiBnE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,SAAI,GAAG,MAAM,GAAG,IAAI,CAiBjE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,SAAS,eAAe,GAAG,eAAe,EAC/E,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,EAC7B,eAAe,EAAE,eAAe,QAsFnC;AAED,wBAAgB,kBAAkB,CAC9B,OAAO,SAAS,eAAe,GAAG,eAAe,EACjD,WAAW,SAAS,mBAAmB,GAAG,mBAAmB,EAC/D,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,KAAK,IAAI,GAiCnF,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAC3C;AAED,wBAAgB,YAAY,CACxB,OAAO,SAAS,eAAe,EAC/B,WAAW,SAAS,mBAAmB,GAAG,mBAAmB,EAE7D,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,EAC1C,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,GACnC,gBAAgB,CA4ClB"}
@@ -1,118 +1,116 @@
1
- import { isObservable as p, runInAction as k, toJS as I, autorun as y } from "mobx";
2
- import { $isBinding as C, ComponentMsgFilter as g } from "./contracts.es.js";
3
- function v(e) {
4
- return e[C] === !0;
5
- }
6
- function x(e, c, n, t) {
1
+ import { isObservable as k, runInAction as h, observable as y, toJS as O, autorun as F } from "mobx";
2
+ import { $isBinding as I, ComponentMsgFilter as b } from "./contracts.es.js";
3
+ function v(e, o, n, t) {
7
4
  return {
8
5
  get: e,
9
- set: c,
6
+ set: o,
10
7
  converter: n,
11
8
  validator: t,
12
- readOnly: !!c,
13
- [C]: !0
9
+ readOnly: !!o,
10
+ [I]: !0
14
11
  };
15
12
  }
16
- function P(e, c) {
13
+ function w(e, o) {
17
14
  return {
18
- get: () => e()[c],
15
+ get: () => e()?.[o],
19
16
  set: (n) => {
20
- e()[c] = n;
17
+ e()[o] = n;
21
18
  },
22
- [C]: !0
19
+ [I]: !0
23
20
  };
24
21
  }
25
- const h = /* @__PURE__ */ new WeakMap();
26
- function O(e, c, n) {
27
- if (typeof e != "object" || e === null || !p(e))
22
+ const p = /* @__PURE__ */ new WeakMap();
23
+ function m(e, o, n) {
24
+ if (typeof e != "object" || e === null || !k(e))
28
25
  return e;
29
- if (h.has(e))
30
- return h.get(e);
26
+ if (p.has(e))
27
+ return p.get(e);
31
28
  const t = new Proxy(e, {
32
- get(o, r, s) {
33
- const i = n[r]?.onGet;
34
- if (i) return i();
35
- const a = c.get(r);
36
- if (a?.get)
37
- return a.get();
38
- const u = Reflect.get(o, r, s);
39
- return typeof u == "object" && u !== null && p(u) ? O(u, c, n) : u;
29
+ get(r, s, i) {
30
+ const a = n[s]?.onGet;
31
+ if (a) return a();
32
+ const c = o.get(s), l = Reflect.get(r, s, i);
33
+ return c?.get ? c.get() : typeof l == "object" && l !== null && k(l) ? m(l, o, n) : l;
40
34
  },
41
- set(o, r, s, i) {
42
- const a = o[r], u = n[r]?.onChanging;
43
- if (u && u(a, s) === !1 || n.onPropChanging && n.onPropChanging(r, a, s) === !1)
35
+ set(r, s, i, a) {
36
+ const c = r[s], l = n[s]?.onChanging;
37
+ if (l && l(c, i) === !1 || n.onPropChanging && n.onPropChanging(s, c, i) === !1)
44
38
  return !0;
45
- const d = k(() => Reflect.set(o, r, s, i));
46
- return c.get(r)?.set?.(s), n[r]?.onChange?.(s), n.onPropChange?.(r, s), d;
39
+ const d = h(() => Reflect.set(r, s, i, a));
40
+ return o.get(s)?.set?.(i), n[s]?.onChange?.(i), n.onPropChange?.(s, i), d;
47
41
  }
48
42
  });
49
- return h.set(e, t), t;
43
+ return p.set(e, t), t;
50
44
  }
51
- function w(e) {
52
- return e.split("/").filter(Boolean).map((o) => decodeURIComponent(o)).join("-").normalize("NFKD").replace(/[^a-zA-Z0-9\-_:.+#]/g, "-").replace(/-+/g, "-").replace(/^[^a-zA-Z]+/, "-").replace(/[+#]$/, "-");
45
+ function E(e) {
46
+ return e.split("/").filter(Boolean).map((r) => decodeURIComponent(r)).join("-").normalize("NFKD").replace(/[^a-zA-Z0-9\-_:.+#]/g, "-").replace(/-+/g, "-").replace(/^[^a-zA-Z]+/, "-").replace(/[+#]$/, "-");
53
47
  }
54
- function B(e = 2) {
48
+ function N(e = 2) {
55
49
  const n = new Error().stack?.split(`
56
50
  `);
57
51
  if (!n || n.length <= e)
58
52
  return null;
59
- const o = n[e].match(/\(([^)]+)\)/)?.[1];
60
- return o && document.querySelector('script[type="module"][src*="/@vite/"]') && globalThis.CONFIG_TYPE === "DEVELOPMENT" ? o.replace(/\?[^:]+/, "") : o;
53
+ const r = n[e].match(/\(([^)]+)\)/)?.[1];
54
+ return r && document.querySelector('script[type="module"][src*="/@vite/"]') && globalThis.CONFIG_TYPE === "DEVELOPMENT" ? r.replace(/\?[^:]+/, "") : r;
61
55
  }
62
- function E(e = 2) {
56
+ function j(e = 2) {
63
57
  const n = new Error().stack?.split(`
64
58
  `);
65
59
  if (!n || n.length <= e)
66
60
  return null;
67
- const o = n[e].trim().match(/^at\s+([^\s(]+)/);
68
- if (!o)
61
+ const r = n[e].trim().match(/^at\s+([^\s(]+)/);
62
+ if (!r)
69
63
  return null;
70
- const r = o[1], s = r.match(/^use(.+)/);
71
- return s ? s[1] : r;
64
+ const s = r[1], i = s.match(/^use(.+)/);
65
+ return i ? i[1] : s;
72
66
  }
73
- function N(e) {
74
- const c = e?.msgBroker.provide;
75
- if (c)
76
- for (const [t, o] of Object.entries(c))
77
- for (const [r, s] of Object.entries(o)) {
78
- const i = s, a = i.callback;
79
- a && (i.callback = (l, f) => a(l, f, e));
80
- const u = i.filter, d = i.componentFilter || g.None;
81
- i.filter = (l) => {
82
- let f = !0;
83
- return d & g.FromAncestors && (f = e.getChainUp()?.indexOf(l.headers?.sourceId) >= 0), f && d & g.FromDescendants && (f = e.getChainDown()?.indexOf(l.headers?.sourceId) >= 0), f && u && (f = u(l, e)), f;
67
+ function A(e, o) {
68
+ AbortSignal.any([
69
+ e.msgBroker.abortController.signal,
70
+ o.signal
71
+ ]);
72
+ const n = e?.msgBroker.provide;
73
+ if (n)
74
+ for (const [r, s] of Object.entries(n))
75
+ for (const [i, a] of Object.entries(s)) {
76
+ const c = a, l = c.callback;
77
+ l && (c.callback = (f, u) => l(f, u, e));
78
+ const d = c.filter, g = c.componentFilter || b.None;
79
+ c.filter = (f) => {
80
+ let u = !0;
81
+ return g & b.FromAncestors && (u = e.getChainUp()?.indexOf(f.headers?.sourceId) >= 0), u && g & b.FromDescendants && (u = e.getChainDown()?.indexOf(f.headers?.sourceId) >= 0), u && d && (u = d(f, e)), u;
84
82
  }, e.msgBus.provide({
85
- ...s,
86
- channel: t,
87
- group: r,
83
+ ...a,
84
+ channel: r,
85
+ group: i,
88
86
  options: {
89
- abortSignal: e.msgBroker.abortController.signal
87
+ abortSignal: o.signal
90
88
  }
91
89
  });
92
90
  }
93
- const n = e?.msgBroker?.subscribe;
94
- if (n)
95
- for (const [t, o] of Object.entries(n))
96
- for (const [r, s] of Object.entries(o)) {
97
- const i = s, a = i.callback;
98
- a && (i.callback = (l) => a(l, e));
99
- const u = i.filter, d = i.componentFilter || g.None;
100
- i.filter = (l) => {
101
- let f = !0;
102
- return d & g.FromAncestors && (f = e.getChainUp()?.indexOf(l.headers?.sourceId) >= 0), f && d & g.FromDescendants && (f = e.getChainDown()?.indexOf(l.headers?.sourceId) >= 0), f && u && (f = u(l, e)), f;
91
+ const t = e?.msgBroker?.subscribe;
92
+ if (t)
93
+ for (const [r, s] of Object.entries(t))
94
+ for (const [i, a] of Object.entries(s)) {
95
+ const c = a, l = c.callback;
96
+ l && (c.callback = (f) => l(f, e));
97
+ const d = c.filter, g = c.componentFilter || b.None;
98
+ c.filter = (f) => {
99
+ let u = !0;
100
+ return g & b.FromAncestors && (u = e.getChainUp()?.indexOf(f.headers?.sourceId) >= 0), u && g & b.FromDescendants && (u = e.getChainDown()?.indexOf(f.headers?.sourceId) >= 0), u && d && (u = d(f, e)), u;
103
101
  }, e.msgBus.on({
104
- ...s,
105
- channel: t,
106
- group: r,
102
+ ...a,
103
+ channel: r,
104
+ group: i,
107
105
  options: {
108
- abortSignal: e.msgBroker.abortController.signal
106
+ abortSignal: o.signal
109
107
  }
110
108
  });
111
109
  }
112
110
  }
113
- function j(e, c) {
111
+ function D(e, o) {
114
112
  const n = (t) => {
115
- t.payload != null && (t.payload = structuredClone(I(t.payload))), t.headers || (t.headers = {}), c?.(t.headers);
113
+ t.payload != null && (t.payload = structuredClone(O(t.payload))), t.headers || (t.headers = {}), o?.(t.headers);
116
114
  };
117
115
  return {
118
116
  config: e.config,
@@ -124,39 +122,41 @@ function j(e, c) {
124
122
  request: (t) => (n(t), e.request(t))
125
123
  };
126
124
  }
127
- function D(e, c, n) {
128
- let t = null, o = !1, r;
129
- const s = () => {
130
- t || (t = y(
131
- () => {
132
- if (!o) {
133
- const l = n(e);
134
- typeof l == "function" && (l(), r = l);
125
+ function M(e, o, n) {
126
+ let t = null;
127
+ const r = y.box(!1), s = () => {
128
+ t || h(() => {
129
+ r.set(!1), t = F(
130
+ () => {
131
+ r.get() || n(e);
132
+ },
133
+ {
134
+ name: `${e.id}/effects/${o}`
135
135
  }
136
- },
137
- { name: `effect:${c}` }
138
- ));
136
+ );
137
+ });
139
138
  }, i = () => {
140
- t?.(), t = null, r && (r(), r = void 0);
139
+ t?.(), t = null;
141
140
  }, a = () => {
142
- o = !0;
143
- }, u = () => {
144
- o = !1;
145
- }, d = () => {
146
- i(), s();
141
+ h(() => {
142
+ r.set(!0);
143
+ });
144
+ }, c = () => {
145
+ h(() => {
146
+ r.set(!1);
147
+ });
147
148
  };
148
- return s(), { start: s, pause: a, resume: u, stop: i, restart: d };
149
+ return s(), { pause: a, resume: c, stop: i };
149
150
  }
150
151
  export {
151
- x as bind,
152
- P as bindProp,
153
- D as createEffect,
154
- O as createRecursiveProxy,
155
- j as getComponentMsgBus,
156
- E as getComponentNameByCaller,
157
- B as getComponentSourceByCaller,
158
- v as isBinding,
159
- N as registerMsgBroker,
160
- w as toHtmlId
152
+ v as bind,
153
+ w as bindProp,
154
+ M as createEffect,
155
+ m as createRecursiveProxy,
156
+ D as getComponentMsgBus,
157
+ j as getComponentNameByCaller,
158
+ N as getComponentSourceByCaller,
159
+ A as registerMsgBroker,
160
+ E as toHtmlId
161
161
  };
162
162
  //# sourceMappingURL=core.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.es.js","sources":["../../src/componentModel/core.tsx"],"sourcesContent":["import React from 'react';\r\nimport { MsgBus } from '@actdim/msgmesh/contracts';\r\nimport { isObservable, runInAction, toJS, autorun, IReactionDisposer } from 'mobx';\r\nimport type {\r\n Binding,\r\n Component,\r\n ComponentMsgHeaders,\r\n ComponentStruct,\r\n EffectController,\r\n EffectFn,\r\n MsgChannelGroupProviderParams,\r\n MsgChannelGroupSubscriberParams,\r\n PropEventHandlers,\r\n PropValueChangeHandler,\r\n PropValueChangingHandler,\r\n Validator,\r\n ValueConverter,\r\n} from './contracts';\r\nimport { $isBinding, ComponentMsgFilter } from './contracts';\r\nimport { isPlainObject } from 'mobx/dist/internal';\r\n\r\nconst blankView = () => null;\r\n\r\nexport function isBinding(obj: any): obj is Binding {\r\n return obj[$isBinding] === true;\r\n}\r\n\r\nexport function bind<T, TFrom = any>(\r\n get: () => T,\r\n set?: (value: T) => void,\r\n converter?: ValueConverter<T, TFrom>,\r\n validator?: Validator<T>,\r\n): Binding {\r\n return {\r\n get: get,\r\n set: set,\r\n converter: converter,\r\n validator: validator,\r\n readOnly: !!set,\r\n [$isBinding]: true,\r\n };\r\n}\r\n\r\nexport function bindProp<T extends object, P extends keyof T>(target: () => T, prop: P): Binding {\r\n return {\r\n get: () => target()[prop],\r\n set: (value: T[P]) => {\r\n target()[prop] = value;\r\n },\r\n [$isBinding]: true,\r\n };\r\n}\r\n\r\nconst proxyCache = new WeakMap<object, any>();\r\n\r\nexport type ProxyEventHandlers = {\r\n onPropChanging?: PropValueChangingHandler<PropertyKey>;\r\n onPropChange?: PropValueChangeHandler<PropertyKey>;\r\n} & Record<PropertyKey, PropEventHandlers>;\r\n\r\nexport function createRecursiveProxy(\r\n target: any,\r\n bindings: Map<PropertyKey, Binding>,\r\n handlers: ProxyEventHandlers,\r\n) {\r\n if (typeof target !== 'object' || target === null) {\r\n return target;\r\n }\r\n\r\n // isPlainObject\r\n if (!isObservable(target)) {\r\n return target;\r\n }\r\n\r\n if (proxyCache.has(target)) {\r\n return proxyCache.get(target);\r\n }\r\n\r\n const proxy = new Proxy(target, {\r\n get(obj, prop, receiver) {\r\n // 1. custom handlers\r\n const onGet = handlers[prop]?.onGet;\r\n if (onGet) return onGet();\r\n\r\n // 2. bindings\r\n const binding = bindings.get(prop);\r\n if (binding?.get) {\r\n return binding.get();\r\n }\r\n\r\n const value = Reflect.get(obj, prop, receiver);\r\n\r\n if (typeof value === 'object' && value !== null && isObservable(value)) {\r\n return createRecursiveProxy(value, bindings, handlers);\r\n }\r\n\r\n return value;\r\n },\r\n\r\n set(obj, prop, value, receiver) {\r\n const oldValue = obj[prop];\r\n\r\n // before-change hooks\r\n const onChanging = handlers[prop]?.onChanging;\r\n if (onChanging && onChanging(oldValue, value) === false) {\r\n return true;\r\n }\r\n\r\n if (\r\n handlers.onPropChanging &&\r\n handlers.onPropChanging(prop, oldValue, value) === false\r\n ) {\r\n return true;\r\n }\r\n\r\n const result = runInAction(() => {\r\n return Reflect.set(obj, prop, value, receiver);\r\n });\r\n\r\n // bindings\r\n const binding = bindings.get(prop);\r\n binding?.set?.(value);\r\n\r\n // after-change hooks\r\n handlers[prop]?.onChange?.(value);\r\n handlers.onPropChange?.(prop, value);\r\n\r\n return result;\r\n },\r\n });\r\n\r\n proxyCache.set(target, proxy);\r\n return proxy;\r\n}\r\n\r\nexport function toHtmlId(url: string): string {\r\n let parts = url\r\n .split('/')\r\n .filter(Boolean)\r\n .map((segment) => decodeURIComponent(segment));\r\n\r\n const raw = parts.join('-');\r\n // sanitize\r\n let id = raw\r\n .normalize('NFKD')\r\n .replace(/[^a-zA-Z0-9\\-_:.+#]/g, '-')\r\n .replace(/-+/g, '-')\r\n .replace(/^[^a-zA-Z]+/, '-')\r\n // .replace(/:/g, '-')\r\n // .replace(/\\./g, '_')\r\n // .replace(/#/g, '-')\r\n .replace(/[+#]$/, '-');\r\n return id;\r\n}\r\n\r\nexport function getComponentSourceByCaller(depth = 2): string | null {\r\n const err = new Error();\r\n const stack = err.stack?.split('\\n');\r\n if (!stack || stack.length <= depth) {\r\n return null;\r\n }\r\n const match = stack[depth].match(/\\(([^)]+)\\)/);\r\n const result = match?.[1];\r\n if (result) {\r\n if (\r\n document.querySelector('script[type=\"module\"][src*=\"/@vite/\"]') &&\r\n globalThis['CONFIG_TYPE'] === 'DEVELOPMENT'\r\n ) {\r\n return result.replace(/\\?[^:]+/, '');\r\n }\r\n }\r\n return result;\r\n}\r\n\r\nexport function getComponentNameByCaller(depth = 2): string | null {\r\n const err = new Error();\r\n const stack = err.stack?.split('\\n');\r\n if (!stack || stack.length <= depth) {\r\n return null;\r\n }\r\n const line = stack[depth].trim();\r\n const match = line.match(/^at\\s+([^\\s(]+)/);\r\n if (!match) {\r\n return null;\r\n }\r\n const fnName = match[1];\r\n const hookMatch = fnName.match(/^use(.+)/);\r\n if (hookMatch) {\r\n return hookMatch[1];\r\n }\r\n return fnName;\r\n}\r\n\r\nexport function registerMsgBroker<TStruct extends ComponentStruct = ComponentStruct>(\r\n component: Component<TStruct>,\r\n) {\r\n const providers = component?.msgBroker.provide;\r\n if (providers) {\r\n for (const [channel, providerGroups] of Object.entries(providers)) {\r\n for (const [g, p] of Object.entries(providerGroups)) {\r\n const provider = p as MsgChannelGroupProviderParams;\r\n const callback = provider.callback;\r\n if (callback) {\r\n provider.callback = (msg, headers) => {\r\n return callback(msg, headers, component);\r\n };\r\n }\r\n const filter = provider.filter;\r\n const componentFilter = provider.componentFilter || ComponentMsgFilter.None;\r\n provider.filter = (msg) => {\r\n let result = true;\r\n if (componentFilter & ComponentMsgFilter.FromAncestors) {\r\n const ancestorIds = component.getChainUp();\r\n result = ancestorIds?.indexOf(msg.headers?.sourceId) >= 0;\r\n }\r\n if (result && componentFilter & ComponentMsgFilter.FromDescendants) {\r\n const descendantIds = component.getChainDown();\r\n result = descendantIds?.indexOf(msg.headers?.sourceId) >= 0;\r\n }\r\n if (result && filter) {\r\n result = filter(msg, component);\r\n }\r\n return result;\r\n };\r\n\r\n component.msgBus.provide({\r\n ...p,\r\n channel: channel,\r\n group: g,\r\n options: {\r\n abortSignal: component.msgBroker.abortController.signal,\r\n },\r\n });\r\n }\r\n }\r\n }\r\n const subscribers = component?.msgBroker?.subscribe;\r\n if (subscribers) {\r\n for (const [channel, subscriberGroups] of Object.entries(subscribers)) {\r\n for (const [g, s] of Object.entries(subscriberGroups)) {\r\n const subscriber = s as MsgChannelGroupSubscriberParams;\r\n const callback = subscriber.callback;\r\n if (callback) {\r\n subscriber.callback = (msg) => {\r\n return callback(msg, component);\r\n };\r\n }\r\n const filter = subscriber.filter;\r\n const componentFilter = subscriber.componentFilter || ComponentMsgFilter.None;\r\n subscriber.filter = (msg) => {\r\n let result = true;\r\n if (componentFilter & ComponentMsgFilter.FromAncestors) {\r\n const ancestorIds = component.getChainUp();\r\n result = ancestorIds?.indexOf(msg.headers?.sourceId) >= 0;\r\n }\r\n if (result && componentFilter & ComponentMsgFilter.FromDescendants) {\r\n const descendantIds = component.getChainDown();\r\n result = descendantIds?.indexOf(msg.headers?.sourceId) >= 0;\r\n }\r\n if (result && filter) {\r\n result = filter(msg, component);\r\n }\r\n return result;\r\n };\r\n\r\n component.msgBus.on({\r\n ...s,\r\n channel: channel,\r\n group: g,\r\n options: {\r\n abortSignal: component.msgBroker.abortController.signal,\r\n },\r\n });\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport function getComponentMsgBus<TStruct extends ComponentStruct = ComponentStruct>(\r\n msgBus: MsgBus<TStruct['msg']>,\r\n headerSetter: (headers?: ComponentMsgHeaders) => void,\r\n) {\r\n const updateParams = (params: { payload?: any; headers?: ComponentMsgHeaders }) => {\r\n if (params.payload != undefined) {\r\n params.payload = structuredClone(toJS(params.payload)); // always?\r\n }\r\n if (!params.headers) {\r\n params.headers = {};\r\n }\r\n headerSetter?.(params.headers);\r\n };\r\n return {\r\n config: msgBus.config,\r\n on: (params) => {\r\n return msgBus.on(params);\r\n },\r\n once: (params) => {\r\n return msgBus.once(params);\r\n },\r\n stream: (params) => {\r\n return msgBus.stream(params);\r\n },\r\n provide: (params) => {\r\n updateParams(params);\r\n return msgBus.provide(params);\r\n },\r\n send: (params) => {\r\n updateParams(params);\r\n return msgBus.send(params);\r\n },\r\n request: (params) => {\r\n updateParams(params);\r\n return msgBus.request(params);\r\n },\r\n } as MsgBus<TStruct['msg']>;\r\n}\r\n\r\nexport function createEffect<\r\n TStruct extends ComponentStruct,\r\n TMsgHeaders extends ComponentMsgHeaders = ComponentMsgHeaders,\r\n>(\r\n component: Component<TStruct, TMsgHeaders>,\r\n name: string,\r\n fn: EffectFn<TStruct, TMsgHeaders>,\r\n): EffectController {\r\n let disposer: IReactionDisposer | null = null;\r\n let paused = false;\r\n let effectCleanup: () => void = undefined;\r\n\r\n const start = () => {\r\n if (disposer) {\r\n return;\r\n }\r\n\r\n disposer = autorun(\r\n () => {\r\n if (!paused) {\r\n const cleanup = fn(component);\r\n if (typeof cleanup === 'function') {\r\n cleanup();\r\n effectCleanup = cleanup;\r\n }\r\n }\r\n },\r\n { name: `effect:${name}` },\r\n );\r\n };\r\n\r\n const stop = () => {\r\n disposer?.();\r\n disposer = null;\r\n if (effectCleanup) {\r\n effectCleanup();\r\n effectCleanup = undefined;\r\n }\r\n };\r\n\r\n const pause = () => {\r\n paused = true;\r\n };\r\n\r\n const resume = () => {\r\n paused = false;\r\n };\r\n\r\n const restart = () => {\r\n stop();\r\n start();\r\n };\r\n\r\n start();\r\n\r\n return { start, pause, resume, stop, restart };\r\n}\r\n\r\n// TODO: move to utico\r\n// function asyncToGeneratorFlow(asyncFn: (...args: any[]) => Promise<any>) {\r\n// return function* (...args: any[]) {\r\n// const result = yield asyncFn(...args);\r\n// return result;\r\n// };\r\n// }\r\n"],"names":["isBinding","obj","$isBinding","bind","get","set","converter","validator","bindProp","target","prop","value","proxyCache","createRecursiveProxy","bindings","handlers","isObservable","proxy","receiver","onGet","binding","oldValue","onChanging","result","runInAction","toHtmlId","url","segment","getComponentSourceByCaller","depth","stack","getComponentNameByCaller","match","fnName","hookMatch","registerMsgBroker","component","providers","channel","providerGroups","g","p","provider","callback","msg","headers","filter","componentFilter","ComponentMsgFilter","subscribers","subscriberGroups","subscriber","getComponentMsgBus","msgBus","headerSetter","updateParams","params","toJS","createEffect","name","fn","disposer","paused","effectCleanup","start","autorun","cleanup","stop","pause","resume","restart"],"mappings":";;AAuBO,SAASA,EAAUC,GAA0B;AAChD,SAAOA,EAAIC,CAAU,MAAM;AAC/B;AAEO,SAASC,EACZC,GACAC,GACAC,GACAC,GACO;AACP,SAAO;AAAA,IACH,KAAAH;AAAA,IACA,KAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAU,CAAC,CAACF;AAAA,IACZ,CAACH,CAAU,GAAG;AAAA,EAAA;AAEtB;AAEO,SAASM,EAA8CC,GAAiBC,GAAkB;AAC7F,SAAO;AAAA,IACH,KAAK,MAAMD,EAAA,EAASC,CAAI;AAAA,IACxB,KAAK,CAACC,MAAgB;AAClB,MAAAF,EAAA,EAASC,CAAI,IAAIC;AAAA,IACrB;AAAA,IACA,CAACT,CAAU,GAAG;AAAA,EAAA;AAEtB;AAEA,MAAMU,wBAAiB,QAAA;AAOhB,SAASC,EACZJ,GACAK,GACAC,GACF;AAME,MALI,OAAON,KAAW,YAAYA,MAAW,QAKzC,CAACO,EAAaP,CAAM;AACpB,WAAOA;AAGX,MAAIG,EAAW,IAAIH,CAAM;AACrB,WAAOG,EAAW,IAAIH,CAAM;AAGhC,QAAMQ,IAAQ,IAAI,MAAMR,GAAQ;AAAA,IAC5B,IAAIR,GAAKS,GAAMQ,GAAU;AAErB,YAAMC,IAAQJ,EAASL,CAAI,GAAG;AAC9B,UAAIS,UAAcA,EAAA;AAGlB,YAAMC,IAAUN,EAAS,IAAIJ,CAAI;AACjC,UAAIU,GAAS;AACT,eAAOA,EAAQ,IAAA;AAGnB,YAAMT,IAAQ,QAAQ,IAAIV,GAAKS,GAAMQ,CAAQ;AAE7C,aAAI,OAAOP,KAAU,YAAYA,MAAU,QAAQK,EAAaL,CAAK,IAC1DE,EAAqBF,GAAOG,GAAUC,CAAQ,IAGlDJ;AAAA,IACX;AAAA,IAEA,IAAIV,GAAKS,GAAMC,GAAOO,GAAU;AAC5B,YAAMG,IAAWpB,EAAIS,CAAI,GAGnBY,IAAaP,EAASL,CAAI,GAAG;AAKnC,UAJIY,KAAcA,EAAWD,GAAUV,CAAK,MAAM,MAK9CI,EAAS,kBACTA,EAAS,eAAeL,GAAMW,GAAUV,CAAK,MAAM;AAEnD,eAAO;AAGX,YAAMY,IAASC,EAAY,MAChB,QAAQ,IAAIvB,GAAKS,GAAMC,GAAOO,CAAQ,CAChD;AAID,aADgBJ,EAAS,IAAIJ,CAAI,GACxB,MAAMC,CAAK,GAGpBI,EAASL,CAAI,GAAG,WAAWC,CAAK,GAChCI,EAAS,eAAeL,GAAMC,CAAK,GAE5BY;AAAA,IACX;AAAA,EAAA,CACH;AAED,SAAAX,EAAW,IAAIH,GAAQQ,CAAK,GACrBA;AACX;AAEO,SAASQ,EAASC,GAAqB;AAiB1C,SAhBYA,EACP,MAAM,GAAG,EACT,OAAO,OAAO,EACd,IAAI,CAACC,MAAY,mBAAmBA,CAAO,CAAC,EAE/B,KAAK,GAAG,EAGrB,UAAU,MAAM,EAChB,QAAQ,wBAAwB,GAAG,EACnC,QAAQ,OAAO,GAAG,EAClB,QAAQ,eAAe,GAAG,EAI1B,QAAQ,SAAS,GAAG;AAE7B;AAEO,SAASC,EAA2BC,IAAQ,GAAkB;AAEjE,QAAMC,IADM,IAAI,MAAA,EACE,OAAO,MAAM;AAAA,CAAI;AACnC,MAAI,CAACA,KAASA,EAAM,UAAUD;AAC1B,WAAO;AAGX,QAAMN,IADQO,EAAMD,CAAK,EAAE,MAAM,aAAa,IACvB,CAAC;AACxB,SAAIN,KAEI,SAAS,cAAc,uCAAuC,KAC9D,WAAW,gBAAmB,gBAEvBA,EAAO,QAAQ,WAAW,EAAE,IAGpCA;AACX;AAEO,SAASQ,EAAyBF,IAAQ,GAAkB;AAE/D,QAAMC,IADM,IAAI,MAAA,EACE,OAAO,MAAM;AAAA,CAAI;AACnC,MAAI,CAACA,KAASA,EAAM,UAAUD;AAC1B,WAAO;AAGX,QAAMG,IADOF,EAAMD,CAAK,EAAE,KAAA,EACP,MAAM,iBAAiB;AAC1C,MAAI,CAACG;AACD,WAAO;AAEX,QAAMC,IAASD,EAAM,CAAC,GAChBE,IAAYD,EAAO,MAAM,UAAU;AACzC,SAAIC,IACOA,EAAU,CAAC,IAEfD;AACX;AAEO,SAASE,EACZC,GACF;AACE,QAAMC,IAAYD,GAAW,UAAU;AACvC,MAAIC;AACA,eAAW,CAACC,GAASC,CAAc,KAAK,OAAO,QAAQF,CAAS;AAC5D,iBAAW,CAACG,GAAGC,CAAC,KAAK,OAAO,QAAQF,CAAc,GAAG;AACjD,cAAMG,IAAWD,GACXE,IAAWD,EAAS;AAC1B,QAAIC,MACAD,EAAS,WAAW,CAACE,GAAKC,MACfF,EAASC,GAAKC,GAAST,CAAS;AAG/C,cAAMU,IAASJ,EAAS,QAClBK,IAAkBL,EAAS,mBAAmBM,EAAmB;AACvE,QAAAN,EAAS,SAAS,CAACE,MAAQ;AACvB,cAAIrB,IAAS;AACb,iBAAIwB,IAAkBC,EAAmB,kBAErCzB,IADoBa,EAAU,WAAA,GACR,QAAQQ,EAAI,SAAS,QAAQ,KAAK,IAExDrB,KAAUwB,IAAkBC,EAAmB,oBAE/CzB,IADsBa,EAAU,aAAA,GACR,QAAQQ,EAAI,SAAS,QAAQ,KAAK,IAE1DrB,KAAUuB,MACVvB,IAASuB,EAAOF,GAAKR,CAAS,IAE3Bb;AAAA,QACX,GAEAa,EAAU,OAAO,QAAQ;AAAA,UACrB,GAAGK;AAAA,UACH,SAAAH;AAAA,UACA,OAAOE;AAAA,UACP,SAAS;AAAA,YACL,aAAaJ,EAAU,UAAU,gBAAgB;AAAA,UAAA;AAAA,QACrD,CACH;AAAA,MACL;AAGR,QAAMa,IAAcb,GAAW,WAAW;AAC1C,MAAIa;AACA,eAAW,CAACX,GAASY,CAAgB,KAAK,OAAO,QAAQD,CAAW;AAChE,iBAAW,CAACT,GAAG,CAAC,KAAK,OAAO,QAAQU,CAAgB,GAAG;AACnD,cAAMC,IAAa,GACbR,IAAWQ,EAAW;AAC5B,QAAIR,MACAQ,EAAW,WAAW,CAACP,MACZD,EAASC,GAAKR,CAAS;AAGtC,cAAMU,IAASK,EAAW,QACpBJ,IAAkBI,EAAW,mBAAmBH,EAAmB;AACzE,QAAAG,EAAW,SAAS,CAACP,MAAQ;AACzB,cAAIrB,IAAS;AACb,iBAAIwB,IAAkBC,EAAmB,kBAErCzB,IADoBa,EAAU,WAAA,GACR,QAAQQ,EAAI,SAAS,QAAQ,KAAK,IAExDrB,KAAUwB,IAAkBC,EAAmB,oBAE/CzB,IADsBa,EAAU,aAAA,GACR,QAAQQ,EAAI,SAAS,QAAQ,KAAK,IAE1DrB,KAAUuB,MACVvB,IAASuB,EAAOF,GAAKR,CAAS,IAE3Bb;AAAA,QACX,GAEAa,EAAU,OAAO,GAAG;AAAA,UAChB,GAAG;AAAA,UACH,SAAAE;AAAA,UACA,OAAOE;AAAA,UACP,SAAS;AAAA,YACL,aAAaJ,EAAU,UAAU,gBAAgB;AAAA,UAAA;AAAA,QACrD,CACH;AAAA,MACL;AAGZ;AAEO,SAASgB,EACZC,GACAC,GACF;AACE,QAAMC,IAAe,CAACC,MAA6D;AAC/E,IAAIA,EAAO,WAAW,SAClBA,EAAO,UAAU,gBAAgBC,EAAKD,EAAO,OAAO,CAAC,IAEpDA,EAAO,YACRA,EAAO,UAAU,CAAA,IAErBF,IAAeE,EAAO,OAAO;AAAA,EACjC;AACA,SAAO;AAAA,IACH,QAAQH,EAAO;AAAA,IACf,IAAI,CAACG,MACMH,EAAO,GAAGG,CAAM;AAAA,IAE3B,MAAM,CAACA,MACIH,EAAO,KAAKG,CAAM;AAAA,IAE7B,QAAQ,CAACA,MACEH,EAAO,OAAOG,CAAM;AAAA,IAE/B,SAAS,CAACA,OACND,EAAaC,CAAM,GACZH,EAAO,QAAQG,CAAM;AAAA,IAEhC,MAAM,CAACA,OACHD,EAAaC,CAAM,GACZH,EAAO,KAAKG,CAAM;AAAA,IAE7B,SAAS,CAACA,OACND,EAAaC,CAAM,GACZH,EAAO,QAAQG,CAAM;AAAA,EAChC;AAER;AAEO,SAASE,EAIZtB,GACAuB,GACAC,GACgB;AAChB,MAAIC,IAAqC,MACrCC,IAAS,IACTC;AAEJ,QAAMC,IAAQ,MAAM;AAChB,IAAIH,MAIJA,IAAWI;AAAA,MACP,MAAM;AACF,YAAI,CAACH,GAAQ;AACT,gBAAMI,IAAUN,EAAGxB,CAAS;AAC5B,UAAI,OAAO8B,KAAY,eACnBA,EAAA,GACAH,IAAgBG;AAAA,QAExB;AAAA,MACJ;AAAA,MACA,EAAE,MAAM,UAAUP,CAAI,GAAA;AAAA,IAAG;AAAA,EAEjC,GAEMQ,IAAO,MAAM;AACf,IAAAN,IAAA,GACAA,IAAW,MACPE,MACAA,EAAA,GACAA,IAAgB;AAAA,EAExB,GAEMK,IAAQ,MAAM;AAChB,IAAAN,IAAS;AAAA,EACb,GAEMO,IAAS,MAAM;AACjB,IAAAP,IAAS;AAAA,EACb,GAEMQ,IAAU,MAAM;AAClB,IAAAH,EAAA,GACAH,EAAA;AAAA,EACJ;AAEA,SAAAA,EAAA,GAEO,EAAE,OAAAA,GAAO,OAAAI,GAAO,QAAAC,GAAQ,MAAAF,GAAM,SAAAG,EAAA;AACzC;"}
1
+ {"version":3,"file":"core.es.js","sources":["../../src/componentModel/core.tsx"],"sourcesContent":null,"names":["bind","get","set","converter","validator","$isBinding","bindProp","target","prop","value","proxyCache","createRecursiveProxy","bindings","handlers","isObservable","proxy","obj","receiver","onGet","binding","oldValue","onChanging","result","runInAction","toHtmlId","url","segment","getComponentSourceByCaller","depth","stack","getComponentNameByCaller","match","fnName","hookMatch","registerMsgBroker","component","abortController","providers","channel","providerGroups","g","p","provider","callback","msg","headers","filter","componentFilter","ComponentMsgFilter","subscribers","subscriberGroups","s","subscriber","getComponentMsgBus","msgBus","headerSetter","updateParams","params","toJS","createEffect","name","fn","disposer","paused","observable","start","autorun","stop","pause","resume"],"mappings":"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"}