@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
@@ -0,0 +1,19 @@
1
+ import { default as React, PropsWithChildren } from 'react';
2
+ export declare class ErrorBoundary extends React.Component<{
3
+ onError?: (error: unknown, info?: unknown) => React.ReactNode;
4
+ } & PropsWithChildren, {
5
+ hasError: boolean;
6
+ error: unknown;
7
+ }> {
8
+ state: {
9
+ hasError: boolean;
10
+ error: any;
11
+ };
12
+ static getDerivedStateFromError(error: unknown): {
13
+ hasError: boolean;
14
+ error: unknown;
15
+ };
16
+ componentDidCatch(error: unknown, info: any): void;
17
+ render(): React.ReactNode;
18
+ }
19
+ //# sourceMappingURL=errorBoundary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorBoundary.d.ts","sourceRoot":"","sources":["../../../src/componentModel/react/errorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAEjD,qBAAa,aAAc,SAAQ,KAAK,CAAC,SAAS,CAC9C;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAA;CAAE,GAAG,iBAAiB,EACrF;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CACxC;IACG,KAAK;;;MAAoC;IAEzC,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO;;;;IAI9C,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG;IAM3C,MAAM;CAkDT"}
@@ -0,0 +1,52 @@
1
+ import t from "react";
2
+ class n extends t.Component {
3
+ state = { hasError: !1, error: null };
4
+ static getDerivedStateFromError(r) {
5
+ return { hasError: !0, error: r };
6
+ }
7
+ componentDidCatch(r, e) {
8
+ this.props.onError?.(r, e);
9
+ }
10
+ render() {
11
+ let r;
12
+ if (this.state.hasError) {
13
+ const e = this.state.error;
14
+ this.props.onError && (r = this.props.onError?.(e)), r == null && (r = /* @__PURE__ */ t.createElement(
15
+ "div",
16
+ {
17
+ style: {
18
+ border: "1px solid red",
19
+ padding: 16,
20
+ borderRadius: 4,
21
+ background: "#ffeeee",
22
+ fontFamily: "sans-serif"
23
+ }
24
+ },
25
+ /* @__PURE__ */ t.createElement("strong", null, "Something went wrong 😢"),
26
+ /* @__PURE__ */ t.createElement("div", null, e.message || String(e)),
27
+ e instanceof Error && e.stack && /* @__PURE__ */ t.createElement("details", { style: { marginTop: 8 } }, /* @__PURE__ */ t.createElement("summary", { style: { cursor: "pointer" } }, "Show details (stack trace)"), /* @__PURE__ */ t.createElement(
28
+ "pre",
29
+ {
30
+ style: {
31
+ marginTop: 4,
32
+ // background: '#fff5f5',
33
+ background: "#dddddd",
34
+ padding: 8,
35
+ borderRadius: 4,
36
+ fontSize: 12,
37
+ overflow: "auto",
38
+ maxHeight: 200
39
+ }
40
+ },
41
+ e.stack
42
+ ))
43
+ ));
44
+ } else
45
+ r = this.props.children;
46
+ return r;
47
+ }
48
+ }
49
+ export {
50
+ n as ErrorBoundary
51
+ };
52
+ //# sourceMappingURL=errorBoundary.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorBoundary.es.js","sources":["../../../src/componentModel/react/errorBoundary.tsx"],"sourcesContent":null,"names":["ErrorBoundary","React","error","info","content"],"mappings":";AAEO,MAAMA,UAAsBC,EAAM,UAGvC;AAAA,EACE,QAAQ,EAAE,UAAU,IAAO,OAAO,KAAA;AAAA,EAElC,OAAO,yBAAyBC,GAAgB;AAC5C,WAAO,EAAE,UAAU,IAAM,OAAAA,EAAA;AAAA,EAC7B;AAAA,EAEA,kBAAkBA,GAAgBC,GAAW;AAGzC,SAAK,MAAM,UAAUD,GAAOC,CAAI;AAAA,EACpC;AAAA,EAEA,SAAS;AACL,QAAIC;AACJ,QAAI,KAAK,MAAM,UAAU;AACrB,YAAMF,IAAQ,KAAK,MAAM;AACzB,MAAI,KAAK,MAAM,YACXE,IAAU,KAAK,MAAM,UAAUF,CAAK,IAEpCE,KAAW,SACXA,IACI,gBAAAH,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,OAAO;AAAA,YACH,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,cAAc;AAAA,YACd,YAAY;AAAA,YACZ,YAAY;AAAA,UAAA;AAAA,QAChB;AAAA,QAEA,gBAAAA,EAAA,cAAC,gBAAO,yBAAuB;AAAA,wCAC9B,OAAA,MAAKC,EAAM,WAAW,OAAOA,CAAK,CAAE;AAAA,QAEpCA,aAAiB,SAASA,EAAM,SAC7B,gBAAAD,EAAA,cAAC,WAAA,EAAQ,OAAO,EAAE,WAAW,OACzB,gBAAAA,EAAA,cAAC,aAAQ,OAAO,EAAE,QAAQ,YAAU,GAAG,4BAEvC,GACA,gBAAAA,EAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,OAAO;AAAA,cACH,WAAW;AAAA;AAAA,cAEX,YAAY;AAAA,cACZ,SAAS;AAAA,cACT,cAAc;AAAA,cACd,UAAU;AAAA,cACV,UAAU;AAAA,cACV,WAAW;AAAA,YAAA;AAAA,UACf;AAAA,UAECC,EAAM;AAAA,QAAA,CAEf;AAAA,MAAA;AAAA,IAKpB;AACI,MAAAE,IAAU,KAAK,MAAM;AAEzB,WAAOA;AAAA,EACX;AACJ;"}
@@ -1,5 +1,5 @@
1
1
  import { default as React } from 'react';
2
2
  import { Component, ComponentDef, ComponentMsgHeaders, ComponentParams, ComponentStruct } from './contracts';
3
- export declare function useComponent<TStruct extends ComponentStruct = ComponentStruct, TMsgHeaders extends ComponentMsgHeaders = ComponentMsgHeaders>(componentDef: ComponentDef<TStruct, TMsgHeaders>, params: ComponentParams<TStruct>): any;
4
- export declare function getFC<TStruct extends ComponentStruct>(factory: (params: ComponentParams<TStruct>) => Component<TStruct>): React.FC<ComponentParams<TStruct>>;
3
+ export declare function useComponent<TStruct extends ComponentStruct = ComponentStruct, TMsgHeaders extends ComponentMsgHeaders = ComponentMsgHeaders>(componentDef: ComponentDef<TStruct, TMsgHeaders>, params: ComponentParams<TStruct>): Component<TStruct, TMsgHeaders>;
4
+ export declare function toReact<TStruct extends ComponentStruct>(factoryHook: (params: ComponentParams<TStruct>) => Component<TStruct>): React.FC<ComponentParams<TStruct>>;
5
5
  //# sourceMappingURL=react.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/componentModel/react.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAO3E,OAAO,EAEH,SAAS,EAET,YAAY,EAEZ,mBAAmB,EACnB,eAAe,EAEf,eAAe,EAOlB,MAAM,aAAa,CAAC;AAkWrB,wBAAgB,YAAY,CACxB,OAAO,SAAS,eAAe,GAAG,eAAe,EACjD,WAAW,SAAS,mBAAmB,GAAG,mBAAmB,EAC/D,YAAY,EAAE,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,OASnF;AAGD,wBAAgB,KAAK,CAAC,OAAO,SAAS,eAAe,EACjD,OAAO,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,OAAO,CAAC,GAClE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAQpC"}
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/componentModel/react.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAO3E,OAAO,EAGH,SAAS,EAET,YAAY,EAGZ,mBAAmB,EACnB,eAAe,EAEf,eAAe,EASlB,MAAM,aAAa,CAAC;AA+YrB,wBAAgB,YAAY,CACxB,OAAO,SAAS,eAAe,GAAG,eAAe,EACjD,WAAW,SAAS,mBAAmB,GAAG,mBAAmB,EAC/D,YAAY,EAAE,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,mCAWnF;AAED,wBAAgB,OAAO,CAAC,OAAO,SAAS,eAAe,EACnD,WAAW,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,OAAO,CAAC,GACtE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAQpC"}
@@ -1,194 +1,212 @@
1
- import y, { useLayoutEffect as H, useEffect as G, useMemo as S } from "react";
2
- import { observer as F } from "mobx-react-lite";
3
- import { observable as P } from "mobx";
4
- import { useLazyRef as L } from "../reactHooks.es.js";
1
+ import a, { useLayoutEffect as B, useEffect as G, useMemo as D } from "react";
2
+ import { observer as L } from "mobx-react-lite";
3
+ import { observable as O } from "mobx";
4
+ import { useLazyRef as z } from "../reactHooks.es.js";
5
5
  import { getGlobalFlags as h } from "../globals.es.js";
6
- import { useComponentContext as w, ReactComponentContext as z } from "./componentContext.es.js";
7
- import { $ON_CHANGE as x, $ON_CHANGING as A, $ON_GET as T } from "./contracts.es.js";
8
- import { lazy as U } from "@actdim/utico/utils";
9
- import { getComponentSourceByCaller as _, getComponentMsgBus as J, toHtmlId as V, registerMsgBroker as q, isBinding as K, createRecursiveProxy as Q, createEffect as W } from "./core.es.js";
10
- function C(e) {
6
+ import { useComponentContext as P, ReactComponentContext as x } from "./componentContext.es.js";
7
+ import { isBinding as A, $isComponent as F, isComponent as T, $ON_CHANGE as U, $ON_CHANGING as _, $ON_GET as V } from "./contracts.es.js";
8
+ import { lazy as q } from "@actdim/utico/utils";
9
+ import { getComponentSourceByCaller as J, getComponentMsgBus as K, toHtmlId as Q, registerMsgBroker as W, createRecursiveProxy as X, createEffect as Y } from "./core.es.js";
10
+ import { ErrorBoundary as Z } from "./react/errorBoundary.es.js";
11
+ function d(e) {
11
12
  return e.replace(/^./, e[0].toUpperCase());
12
13
  }
13
- function X(e) {
14
+ function ee(e) {
14
15
  return e.replace(/^[a-z][a-z0-9+.-]*:\/\/[^\/]+/, "");
15
16
  }
16
- function Y(e, u, i) {
17
- let t, l;
18
- e || (e = {});
19
- let d = e.regType;
20
- d || (d = _(6), d = X(d)), i || (i = {});
21
- const $ = e.view;
22
- let v = e.msgBus;
23
- const b = /* @__PURE__ */ new Map(), B = U(() => J(v, (r) => {
24
- r?.sourceId == null && (r.sourceId = t.id);
17
+ function te(e, y, r) {
18
+ let t, g;
19
+ e || (e = {}), e.useErrorBoundary == null && (e.useErrorBoundary = !0);
20
+ let f = e.regType;
21
+ f || (f = J(6), f = ee(f)), r || (r = {});
22
+ const I = e.view;
23
+ let C = e.msgBus;
24
+ const v = /* @__PURE__ */ new Map(), w = q(() => K(C, (n) => {
25
+ n?.sourceId == null && (n.sourceId = t.id);
25
26
  }));
26
- let a = {
27
+ let b = {
27
28
  ...e.msgBroker
28
29
  };
29
- a.abortController || (a.abortController = new AbortController());
30
- const N = F((r) => {
31
- const n = w(), g = n.currentId;
32
- if (t.parentId = g, v || (v = n.msgBus), !t.id) {
33
- let o = i.$id;
34
- if (!o) {
35
- const f = i.$key;
36
- f ? o = `${V(d)}#${f}` : o = n.getNextId(d);
30
+ b.abortController || (b.abortController = new AbortController());
31
+ const R = () => {
32
+ if (e.effects)
33
+ for (const [n, o] of Object.entries(e.effects))
34
+ try {
35
+ t.effects[n] = Y(
36
+ t,
37
+ n,
38
+ o
39
+ );
40
+ } catch (c) {
41
+ console.log(c);
42
+ }
43
+ }, m = L((n) => {
44
+ const o = P(), c = o.currentId;
45
+ if (t.parentId = c, C || (C = o.msgBus), !t.id) {
46
+ let i = r.$id;
47
+ if (!i) {
48
+ const l = r.$key;
49
+ l ? i = `${Q(f)}#${l}` : i = o.getNextId(f);
37
50
  }
38
- t.id = o;
51
+ t.id = i;
39
52
  }
40
- H(() => {
53
+ B(() => {
41
54
  try {
42
- if (n.register(t.id, d, g), h().debug) {
43
- const o = t.getHierarchyId();
44
- console.debug(`${o}>layout`);
55
+ if (o.register(t.id, f, c), R(), e.events?.onLayoutReady?.(t), r.onLayoutReady?.(t), h().debug) {
56
+ const i = t.getHierarchyId();
57
+ console.debug(`${i}>layout-ready`);
58
+ }
59
+ } catch (i) {
60
+ if (e.events?.onError?.(t, i), r.onError?.(t, i), h().debug) {
61
+ const l = t.getHierarchyId();
62
+ console.debug(`${l}>layout-error`);
45
63
  }
46
- q(t), e.events?.onLayout?.(t), i.onLayout?.(t);
47
- } catch (o) {
48
- e.events?.onError?.(t, o), i.onError?.(t, o);
49
64
  }
50
65
  return () => {
51
- if (h().debug) {
52
- const o = t.getHierarchyId();
53
- console.debug(`${o}>layout-destroy`);
66
+ if (o.unregister(t.id), e.events?.onLayoutDestroy?.(t), r.onLayoutDestroy?.(t), h().debug) {
67
+ const i = t.getHierarchyId();
68
+ console.debug(`${i}>layout-destroy`);
54
69
  }
55
- n.unregister(t.id), a.abortController?.abort(), e.events?.onLayoutDestroy?.(t), i.onLayoutDestroy?.(t);
56
70
  };
57
- }, [e, i, n]), G(() => {
71
+ }, [e, r, o]), G(() => {
72
+ const i = new AbortController();
58
73
  try {
59
- if (h().debug) {
60
- const o = t.getHierarchyId();
61
- console.debug(`${o}>ready`);
74
+ if (W(t, i), e.events?.onReady?.(t), r.onReady?.(t), h().debug) {
75
+ const l = t.getHierarchyId();
76
+ console.debug(`${l}>ready`);
62
77
  }
63
- e.events?.onReady?.(t), i.onReady?.(t);
64
- } catch (o) {
65
- if (h().debug) {
66
- const f = t.getHierarchyId();
67
- console.debug(`${f}>destroy`);
78
+ } catch (l) {
79
+ if (e.events?.onError?.(t, l), r.onError?.(t, l), h().debug) {
80
+ const S = t.getHierarchyId();
81
+ console.debug(`${S}>mount-error`);
68
82
  }
69
- e.events?.onError?.(t, o), i.onError?.(t, o);
83
+ throw l;
70
84
  }
71
85
  return () => {
72
- e.events?.onDestroy?.(t), i.onDestroy?.(t);
86
+ if (i?.abort(), e.events?.onDestroy?.(t), r.onDestroy?.(t), t[Symbol.dispose](), h().debug) {
87
+ const l = t.getHierarchyId();
88
+ console.debug(`${l}>destroy`);
89
+ }
73
90
  };
74
- }, [e, i, n]);
91
+ }, [e, r, o]);
75
92
  let s;
76
- try {
77
- if (h().debug) {
78
- const o = t.getHierarchyId();
79
- console.debug(`${o}>view`);
80
- }
81
- typeof $ == "function" ? s = $(r, t) : s = /* @__PURE__ */ y.createElement(y.Fragment, null, r.children);
82
- } catch (o) {
83
- const f = JSON.stringify(o);
84
- s = /* @__PURE__ */ y.createElement(y.Fragment, null, f);
93
+ if (h().debug) {
94
+ const i = t.getHierarchyId();
95
+ console.debug(`${i}>view`);
85
96
  }
86
- const c = S(
87
- () => ({ ...n, currentId: t.id }),
88
- [e, i, n]
97
+ typeof I == "function" ? s = I(n, t) : s = /* @__PURE__ */ a.createElement(a.Fragment, null, n.children);
98
+ const u = D(
99
+ () => ({ ...o, currentId: t.id }),
100
+ [e, r, o]
89
101
  );
90
- return /* @__PURE__ */ y.createElement(z.Provider, { value: c }, s);
91
- }), I = {};
92
- if (l = {}, e.props && Object.assign(l, e.props), e.actions && Object.assign(l, e.actions), e.children)
93
- for (const [r, n] of Object.entries(e.children))
94
- if (typeof n == "function") {
95
- const g = n, s = (c) => {
96
- const o = g(c);
97
- return /* @__PURE__ */ y.createElement(o.View, null);
102
+ return /* @__PURE__ */ a.createElement(x.Provider, { value: u }, s);
103
+ });
104
+ let p = null;
105
+ (e.events?.onError || r.onError) && (p = (n, o) => {
106
+ let c = e.events?.onError(t, n, o), s = r.onError?.(t, n, o);
107
+ return c || s;
108
+ });
109
+ let $ = m;
110
+ (p || e.useErrorBoundary) && ($ = ((n) => /* @__PURE__ */ a.createElement(Z, { onError: p }, /* @__PURE__ */ a.createElement(m, { ...n }))));
111
+ const E = {};
112
+ if (g = {}, e.props && Object.assign(g, e.props), e.actions && Object.assign(g, e.actions), e.children)
113
+ for (const [n, o] of Object.entries(e.children))
114
+ if (typeof o == "function") {
115
+ const c = o, s = (u) => {
116
+ const i = c(u);
117
+ return T(i) && i.View ? /* @__PURE__ */ a.createElement(i.View, null) : i;
98
118
  };
99
- Reflect.set(I, C(r), s);
119
+ Reflect.set(E, d(n), s);
100
120
  } else
101
- Reflect.set(I, r, n);
102
- for (const [r, n] of Object.entries(i))
103
- r in l && (K(n) ? b.set(r, n) : Reflect.set(l, r, n));
104
- const E = {
105
- onPropChanging: i.onPropChanging || e.events?.onPropChanging ? (r, n, g) => {
106
- let s = !0, c = i.onPropChanging;
107
- return c && (s = c(String(r), n, g)), s && (c = e.events?.onPropChanging, c && (s = c(String(r), n, g))), s;
121
+ Reflect.set(E, n, o);
122
+ for (const [n, o] of Object.entries(r))
123
+ n in g && (A(o) ? v.set(n, o) : Reflect.set(g, n, o));
124
+ const k = {
125
+ onPropChanging: r.onPropChanging || e.events?.onPropChanging ? (n, o, c) => {
126
+ let s = !0, u = r.onPropChanging;
127
+ return u && (s = u(String(n), o, c)), s && (u = e.events?.onPropChanging, u && (s = u(String(n), o, c))), s;
108
128
  } : void 0,
109
- onPropChange: i.onPropChange || e.events?.onPropChange ? (r, n) => {
110
- i.onPropChange?.(String(r), n), e.events?.onPropChange?.(String(r), n);
129
+ onPropChange: r.onPropChange || e.events?.onPropChange ? (n, o) => {
130
+ r.onPropChange?.(String(n), o), e.events?.onPropChange?.(String(n), o);
111
131
  } : void 0
112
132
  };
113
- function R(r) {
114
- const n = `${T}${C(r)}`;
115
- return i[n] || e.events?.[n];
133
+ function j(n) {
134
+ const o = `${V}${d(n)}`;
135
+ return r[o] || e.events?.[o];
116
136
  }
117
- function j(r) {
118
- const n = `${A}${C(r)}`;
119
- return ((g, s) => {
120
- let c = !0, o = i[n];
121
- return o && (c = o(g, s)), c && (o = e.events?.[n], o && (c = o(g, s))), c;
137
+ function N(n) {
138
+ const o = `${_}${d(n)}`;
139
+ return ((c, s) => {
140
+ let u = !0, i = r[o];
141
+ return i && (u = i(c, s)), u && (i = e.events?.[o], i && (u = i(c, s))), u;
122
142
  });
123
143
  }
124
- function M(r) {
125
- const n = `${x}${C(r)}`;
126
- return ((g) => {
127
- i[n]?.(g), e.events?.[n]?.(g);
144
+ function M(n) {
145
+ const o = `${U}${d(n)}`;
146
+ return ((c) => {
147
+ r[o]?.(c), e.events?.[o]?.(c);
128
148
  });
129
149
  }
130
- let k = {};
150
+ let H = {};
131
151
  if (e.props) {
132
- for (const r of Object.keys(e.props))
133
- E[r] = {
134
- onGet: R(r),
135
- onChanging: j(r),
136
- onChange: M(r)
152
+ for (const n of Object.keys(e.props))
153
+ k[n] = {
154
+ onGet: j(n),
155
+ onChanging: N(n),
156
+ onChange: M(n)
137
157
  };
138
- for (const r of Object.keys(e.props))
139
- k[r] = P.deep;
158
+ for (const n of Object.keys(e.props))
159
+ H[n] = O.deep;
140
160
  }
141
161
  if (e.actions)
142
- for (const r of Object.keys(e.actions))
162
+ for (const n of Object.keys(e.actions))
143
163
  ;
144
- l = P(l, k, {
164
+ return g = O(g, H, {
145
165
  deep: !0
146
- }), l = Q(l, b, E);
147
- let O = {};
148
- if (t = {
149
- id: i.$id,
150
- key: i.$key,
151
- regType: d,
166
+ }), g = X(g, v, k), t = {
167
+ [F]: !0,
168
+ id: r.$id,
169
+ key: r.$key,
170
+ regType: f,
152
171
  parentId: void 0,
153
- getHierarchyId: () => u.getHierarchyPath(t.id),
154
- getChainDown: () => u.getChainDown(t.id),
155
- getChainUp: () => u.getChainUp(t.id),
156
- getChildren: () => u.getChildren(t.id),
157
- getParent: () => u.getParent(t.id),
158
- getNodeMap: () => u.getNodeMap(),
159
- bindings: b,
172
+ getHierarchyId: () => y.getHierarchyPath(t.id),
173
+ getChainDown: () => y.getChainDown(t.id),
174
+ getChainUp: () => y.getChainUp(t.id),
175
+ getChildren: () => y.getChildren(t.id),
176
+ getParent: () => y.getParent(t.id),
177
+ getNodeMap: () => y.getNodeMap(),
178
+ bindings: v,
160
179
  get msgBus() {
161
- return B();
180
+ return w();
162
181
  },
163
- msgBroker: a,
164
- effects: O,
182
+ msgBroker: b,
183
+ effects: {},
165
184
  // view: componentDef.view,
166
- View: N,
167
- children: I,
168
- model: l
169
- }, e.effects)
170
- for (const [r, n] of Object.entries(e.effects))
171
- O[r] = W(
172
- t,
173
- r,
174
- n
175
- );
176
- return e.events?.onInit && e.events.onInit(t), i.onInit && i.onInit(t), t;
185
+ View: $,
186
+ children: E,
187
+ model: g,
188
+ [Symbol.dispose]: () => {
189
+ for (const [n, o] of Object.entries(t.effects))
190
+ o.stop();
191
+ }
192
+ }, e.events?.onInit && e.events.onInit(t), r.onInit && r.onInit(t), t;
177
193
  }
178
- function oe(e, u) {
179
- const i = w(), t = L(() => Y(e, i, u));
180
- return H(() => () => {
194
+ function fe(e, y) {
195
+ const r = P(), t = z(
196
+ () => te(e, r, y)
197
+ );
198
+ return B(() => () => {
181
199
  t.current = null;
182
200
  }, []), t.current;
183
201
  }
184
- function se(e) {
185
- return (i) => {
186
- const t = e(i);
187
- return /* @__PURE__ */ y.createElement(t.View, { ...i });
202
+ function he(e) {
203
+ return (r) => {
204
+ const t = e(r);
205
+ return /* @__PURE__ */ a.createElement(t.View, { ...r });
188
206
  };
189
207
  }
190
208
  export {
191
- se as getFC,
192
- oe as useComponent
209
+ he as toReact,
210
+ fe as useComponent
193
211
  };
194
212
  //# sourceMappingURL=react.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"react.es.js","sources":["../../src/componentModel/react.tsx"],"sourcesContent":["import React, { useEffect, useLayoutEffect, useMemo, useRef } from 'react';\r\nimport { Mutable } from '@actdim/utico/typeCore';\r\nimport { observer } from 'mobx-react-lite';\r\nimport { action, observable } from 'mobx';\r\nimport { useLazyRef } from '@/reactHooks';\r\nimport { getGlobalFlags } from '@/globals';\r\nimport { ReactComponentContext, useComponentContext } from './componentContext';\r\nimport {\r\n Binding,\r\n Component,\r\n ComponentChildren,\r\n ComponentDef,\r\n ComponentModel,\r\n ComponentMsgHeaders,\r\n ComponentParams,\r\n ComponentRegistryContext,\r\n ComponentStruct,\r\n ComponentViewImplFn,\r\n ComponentViewProps,\r\n EffectController,\r\n EffectFn,\r\n ValueChangeHandler,\r\n ValueChangingHandler,\r\n} from './contracts';\r\nimport { $ON_CHANGE, $ON_CHANGING, $ON_GET, $isBinding, ComponentMsgFilter } from './contracts';\r\nimport { lazy } from '@actdim/utico/utils';\r\nimport {\r\n createEffect,\r\n createRecursiveProxy,\r\n getComponentSourceByCaller,\r\n getComponentMsgBus,\r\n isBinding,\r\n ProxyEventHandlers,\r\n registerMsgBroker,\r\n toHtmlId,\r\n} from './core';\r\n\r\nfunction capitalize(name: string) {\r\n return name.replace(/^./, name[0].toUpperCase());\r\n}\r\n\r\nfunction cleanSourceRef(sourceRef: string) {\r\n // remove origin\r\n return sourceRef.replace(/^[a-z][a-z0-9+.-]*:\\/\\/[^\\/]+/, '');\r\n}\r\n\r\nfunction createComponent<TStruct extends ComponentStruct = ComponentStruct>(\r\n componentDef: ComponentDef<TStruct>,\r\n context: ComponentRegistryContext,\r\n params?: ComponentParams<TStruct>,\r\n): Component<TStruct> {\r\n // result\r\n let component: Mutable<Component<TStruct>>;\r\n let model: Mutable<ComponentModel<TStruct>>;\r\n\r\n if (!componentDef) {\r\n componentDef = {};\r\n }\r\n\r\n let regType = componentDef.regType;\r\n if (!regType) {\r\n regType = getComponentSourceByCaller(6);\r\n // type = getComponentNameByCaller(6);\r\n regType = cleanSourceRef(regType);\r\n // throw new Error('Valid component definition is required');\r\n }\r\n\r\n if (!params) {\r\n params = {};\r\n }\r\n\r\n const view = componentDef.view;\r\n let msgBus = componentDef.msgBus;\r\n\r\n const bindings = new Map<PropertyKey, Binding>();\r\n\r\n const componentMsgBus = lazy(() => {\r\n return getComponentMsgBus(msgBus, (headers) => {\r\n if (headers?.sourceId == undefined) {\r\n headers.sourceId = component.id;\r\n }\r\n }); // as ComponentModel<TStruct>['msgBus']\r\n });\r\n\r\n let msgBroker = {\r\n ...componentDef.msgBroker,\r\n };\r\n\r\n if (!msgBroker.abortController) {\r\n msgBroker.abortController = new AbortController();\r\n }\r\n\r\n const ViewFC = observer((props: ComponentViewProps) => {\r\n const context = useComponentContext();\r\n const parentId = context.currentId;\r\n\r\n component.parentId = parentId;\r\n\r\n if (!msgBus) {\r\n msgBus = context.msgBus;\r\n }\r\n\r\n if (!component.id) {\r\n let id = params.$id;\r\n if (!id) {\r\n const key = params.$key;\r\n if (key) {\r\n id = `${toHtmlId(regType)}#${key}`;\r\n } else {\r\n id = context.getNextId(regType);\r\n }\r\n }\r\n component.id = id;\r\n }\r\n\r\n useLayoutEffect(() => {\r\n try {\r\n context.register(component.id, regType, parentId);\r\n\r\n if (getGlobalFlags().debug) {\r\n const hierarchyId = component.getHierarchyId();\r\n console.debug(`${hierarchyId}>layout`);\r\n }\r\n\r\n registerMsgBroker(component);\r\n\r\n componentDef.events?.onLayout?.(component);\r\n params.onLayout?.(component);\r\n } catch (err) {\r\n componentDef.events?.onError?.(component, err);\r\n params.onError?.(component, err);\r\n }\r\n\r\n return () => {\r\n if (getGlobalFlags().debug) {\r\n const hierarchyId = component.getHierarchyId();\r\n console.debug(`${hierarchyId}>layout-destroy`);\r\n }\r\n context.unregister(component.id);\r\n\r\n msgBroker.abortController?.abort();\r\n\r\n componentDef.events?.onLayoutDestroy?.(component);\r\n params.onLayoutDestroy?.(component);\r\n };\r\n }, [componentDef, params, context]);\r\n\r\n useEffect(() => {\r\n try {\r\n if (getGlobalFlags().debug) {\r\n // mount\r\n const hierarchyId = component.getHierarchyId();\r\n console.debug(`${hierarchyId}>ready`);\r\n }\r\n componentDef.events?.onReady?.(component);\r\n params.onReady?.(component);\r\n } catch (err) {\r\n if (getGlobalFlags().debug) {\r\n // unmount\r\n const hierarchyId = component.getHierarchyId();\r\n console.debug(`${hierarchyId}>destroy`);\r\n }\r\n componentDef.events?.onError?.(component, err);\r\n params.onError?.(component, err);\r\n }\r\n return () => {\r\n componentDef.events?.onDestroy?.(component);\r\n params.onDestroy?.(component);\r\n };\r\n }, [componentDef, params, context]);\r\n\r\n let content: React.ReactNode;\r\n // let content: any;\r\n try {\r\n if (getGlobalFlags().debug) {\r\n // render\r\n const hierarchyId = component.getHierarchyId();\r\n console.debug(`${hierarchyId}>view`);\r\n }\r\n if (typeof view === 'function') {\r\n content = view(props, component);\r\n } else {\r\n // content = props.children;\r\n content = <>{props.children}</>;\r\n }\r\n } catch (err) {\r\n // throw err;\r\n const errDetails = JSON.stringify(err);\r\n // msgBus.send\r\n content = <>{errDetails}</>;\r\n }\r\n const scopeContext = useMemo(\r\n () => ({ ...context, currentId: component.id }),\r\n [componentDef, params, context],\r\n );\r\n return (\r\n <ReactComponentContext.Provider value={scopeContext}>\r\n {content}\r\n </ReactComponentContext.Provider>\r\n );\r\n });\r\n\r\n const children = {} as ComponentChildren<TStruct['children']>;\r\n\r\n model = {} as Mutable<ComponentModel<TStruct>>;\r\n\r\n if (componentDef.props) {\r\n Object.assign(model, componentDef.props);\r\n }\r\n\r\n if (componentDef.actions) {\r\n Object.assign(model, componentDef.actions);\r\n }\r\n\r\n if (componentDef.children) {\r\n for (const [key, value] of Object.entries(componentDef.children)) {\r\n if (typeof value == 'function') {\r\n const view = value as (params: any) => Component;\r\n const ChildViewFC: ComponentViewImplFn<TStruct> = (props) => {\r\n const c = view(props);\r\n return <c.View />;\r\n // if (typeof c.view === \"function\") {\r\n // return c.view(props);\r\n // }\r\n // return <>{props.children}</>;\r\n };\r\n Reflect.set(children, capitalize(key), ChildViewFC);\r\n } else {\r\n Reflect.set(children, key, value);\r\n }\r\n }\r\n }\r\n\r\n // Reflect.ownKeys/Object.keys\r\n for (const [key, value] of Object.entries(params)) {\r\n // model.hasOwnProperty(key)\r\n if (key in model) {\r\n if (isBinding(value)) {\r\n bindings.set(key, value);\r\n } else {\r\n Reflect.set(model, key, value);\r\n }\r\n }\r\n }\r\n\r\n const proxyEventHandlers: Pick<ProxyEventHandlers, 'onPropChanging' | 'onPropChange'> = {\r\n onPropChanging:\r\n params.onPropChanging || componentDef.events?.onPropChanging\r\n ? (prop, oldValue, newValue) => {\r\n let result = true;\r\n let handler = params.onPropChanging;\r\n if (handler) {\r\n result = handler(String(prop), oldValue, newValue);\r\n }\r\n if (result) {\r\n handler = componentDef.events?.onPropChanging;\r\n if (handler) {\r\n result = handler(String(prop), oldValue, newValue);\r\n }\r\n }\r\n return result;\r\n }\r\n : undefined,\r\n onPropChange:\r\n params.onPropChange || componentDef.events?.onPropChange\r\n ? (prop, value) => {\r\n params.onPropChange?.(String(prop), value);\r\n componentDef.events?.onPropChange?.(String(prop), value);\r\n }\r\n : undefined,\r\n };\r\n\r\n function resolveOnGetEventHandler(prop: string) {\r\n const key = `${$ON_GET}${capitalize(prop)}`;\r\n return params[key] || componentDef.events?.[key];\r\n }\r\n\r\n function resolveOnChangingEventHandler(prop: string) {\r\n const key = `${$ON_CHANGING}${capitalize(prop)}`;\r\n return ((oldValue: any, newValue: any) => {\r\n let result = true;\r\n let handler = params[key] as ValueChangingHandler<any>;\r\n if (handler) {\r\n result = handler(oldValue, newValue);\r\n }\r\n if (result) {\r\n handler = componentDef.events?.[key] as ValueChangingHandler<any>;\r\n if (handler) {\r\n result = handler(oldValue, newValue);\r\n }\r\n }\r\n return result;\r\n }) as ValueChangingHandler;\r\n }\r\n\r\n function resolveOnChangeEventHandler(prop: string) {\r\n const key = `${$ON_CHANGE}${capitalize(prop)}`;\r\n return ((value: any) => {\r\n (params[key] as ValueChangeHandler<any>)?.(value);\r\n (componentDef.events?.[key] as ValueChangeHandler<any>)?.(value);\r\n }) as ValueChangeHandler;\r\n }\r\n\r\n let annotationMap: Record<string, any> = {};\r\n\r\n if (componentDef.props) {\r\n for (const prop of Object.keys(componentDef.props)) {\r\n proxyEventHandlers[prop] = {\r\n onGet: resolveOnGetEventHandler(prop),\r\n onChanging: resolveOnChangingEventHandler(prop),\r\n onChange: resolveOnChangeEventHandler(prop),\r\n };\r\n }\r\n\r\n for (const key of Object.keys(componentDef.props)) {\r\n annotationMap[key] = observable.deep;\r\n }\r\n }\r\n\r\n if (componentDef.actions) {\r\n const annotationMap: Record<string, any> = {};\r\n for (const key of Object.keys(componentDef.actions)) {\r\n annotationMap[key] = action;\r\n }\r\n }\r\n\r\n model = observable(model, annotationMap, {\r\n deep: true,\r\n });\r\n\r\n model = createRecursiveProxy(model, bindings, proxyEventHandlers);\r\n\r\n let effects: Record<string, EffectController> = {};\r\n component = {\r\n id: params.$id,\r\n key: params.$key,\r\n regType: regType,\r\n parentId: undefined,\r\n getHierarchyId: () => context.getHierarchyPath(component.id),\r\n getChainDown: () => context.getChainDown(component.id),\r\n getChainUp: () => context.getChainUp(component.id),\r\n getChildren: () => context.getChildren(component.id),\r\n getParent: () => context.getParent(component.id),\r\n getNodeMap: () => context.getNodeMap(),\r\n bindings: bindings,\r\n get msgBus() {\r\n return componentMsgBus();\r\n },\r\n msgBroker: msgBroker,\r\n effects: effects,\r\n // view: componentDef.view,\r\n View: ViewFC,\r\n children: children,\r\n model: model,\r\n };\r\n\r\n if (componentDef.effects) {\r\n for (const [name, fn] of Object.entries(componentDef.effects)) {\r\n effects[name] = createEffect(\r\n component,\r\n name,\r\n fn as EffectFn<TStruct, ComponentMsgHeaders>,\r\n );\r\n }\r\n }\r\n\r\n if (componentDef.events?.onInit) {\r\n componentDef.events.onInit(component);\r\n }\r\n\r\n if (params.onInit) {\r\n params.onInit(component);\r\n }\r\n\r\n return component;\r\n}\r\n\r\nexport function useComponent<\r\n TStruct extends ComponentStruct = ComponentStruct,\r\n TMsgHeaders extends ComponentMsgHeaders = ComponentMsgHeaders,\r\n>(componentDef: ComponentDef<TStruct, TMsgHeaders>, params: ComponentParams<TStruct>) {\r\n const context = useComponentContext();\r\n const ref = useLazyRef(() => createComponent(componentDef, context, params));\r\n useLayoutEffect(() => {\r\n return () => {\r\n ref.current = null;\r\n };\r\n }, []); // [params]?\r\n return ref.current;\r\n}\r\n\r\n// asFC/toFC\r\nexport function getFC<TStruct extends ComponentStruct>(\r\n factory: (params: ComponentParams<TStruct>) => Component<TStruct>,\r\n): React.FC<ComponentParams<TStruct>> {\r\n const result = (params: ComponentParams<TStruct> & React.PropsWithChildren) => {\r\n // componentHook\r\n const c = factory(params);\r\n // return c.view();\r\n return <c.View {...params} />;\r\n };\r\n return result;\r\n}\r\n\r\n// TODO:\r\n// do not observe props with \"_\", \"$\" prefixes\r\n"],"names":["capitalize","name","cleanSourceRef","sourceRef","createComponent","componentDef","context","params","component","model","regType","getComponentSourceByCaller","view","msgBus","bindings","componentMsgBus","lazy","getComponentMsgBus","headers","msgBroker","ViewFC","observer","props","useComponentContext","parentId","id","key","toHtmlId","useLayoutEffect","getGlobalFlags","hierarchyId","registerMsgBroker","err","useEffect","content","React","errDetails","scopeContext","useMemo","ReactComponentContext","children","value","ChildViewFC","c","isBinding","proxyEventHandlers","prop","oldValue","newValue","result","handler","resolveOnGetEventHandler","$ON_GET","resolveOnChangingEventHandler","$ON_CHANGING","resolveOnChangeEventHandler","$ON_CHANGE","annotationMap","observable","createRecursiveProxy","effects","fn","createEffect","useComponent","ref","useLazyRef","getFC","factory"],"mappings":";;;;;;;;;AAqCA,SAASA,EAAWC,GAAc;AAC9B,SAAOA,EAAK,QAAQ,MAAMA,EAAK,CAAC,EAAE,aAAa;AACnD;AAEA,SAASC,EAAeC,GAAmB;AAEvC,SAAOA,EAAU,QAAQ,iCAAiC,EAAE;AAChE;AAEA,SAASC,EACLC,GACAC,GACAC,GACkB;AAElB,MAAIC,GACAC;AAEJ,EAAKJ,MACDA,IAAe,CAAA;AAGnB,MAAIK,IAAUL,EAAa;AAC3B,EAAKK,MACDA,IAAUC,EAA2B,CAAC,GAEtCD,IAAUR,EAAeQ,CAAO,IAI/BH,MACDA,IAAS,CAAA;AAGb,QAAMK,IAAOP,EAAa;AAC1B,MAAIQ,IAASR,EAAa;AAE1B,QAAMS,wBAAe,IAAA,GAEfC,IAAkBC,EAAK,MAClBC,EAAmBJ,GAAQ,CAACK,MAAY;AAC3C,IAAIA,GAAS,YAAY,SACrBA,EAAQ,WAAWV,EAAU;AAAA,EAErC,CAAC,CACJ;AAED,MAAIW,IAAY;AAAA,IACZ,GAAGd,EAAa;AAAA,EAAA;AAGpB,EAAKc,EAAU,oBACXA,EAAU,kBAAkB,IAAI,gBAAA;AAGpC,QAAMC,IAASC,EAAS,CAACC,MAA8B;AACnD,UAAMhB,IAAUiB,EAAA,GACVC,IAAWlB,EAAQ;AAQzB,QANAE,EAAU,WAAWgB,GAEhBX,MACDA,IAASP,EAAQ,SAGjB,CAACE,EAAU,IAAI;AACf,UAAIiB,IAAKlB,EAAO;AAChB,UAAI,CAACkB,GAAI;AACL,cAAMC,IAAMnB,EAAO;AACnB,QAAImB,IACAD,IAAK,GAAGE,EAASjB,CAAO,CAAC,IAAIgB,CAAG,KAEhCD,IAAKnB,EAAQ,UAAUI,CAAO;AAAA,MAEtC;AACA,MAAAF,EAAU,KAAKiB;AAAA,IACnB;AAEA,IAAAG,EAAgB,MAAM;AAClB,UAAI;AAGA,YAFAtB,EAAQ,SAASE,EAAU,IAAIE,GAASc,CAAQ,GAE5CK,EAAA,EAAiB,OAAO;AACxB,gBAAMC,IAActB,EAAU,eAAA;AAC9B,kBAAQ,MAAM,GAAGsB,CAAW,SAAS;AAAA,QACzC;AAEA,QAAAC,EAAkBvB,CAAS,GAE3BH,EAAa,QAAQ,WAAWG,CAAS,GACzCD,EAAO,WAAWC,CAAS;AAAA,MAC/B,SAASwB,GAAK;AACV,QAAA3B,EAAa,QAAQ,UAAUG,GAAWwB,CAAG,GAC7CzB,EAAO,UAAUC,GAAWwB,CAAG;AAAA,MACnC;AAEA,aAAO,MAAM;AACT,YAAIH,EAAA,EAAiB,OAAO;AACxB,gBAAMC,IAActB,EAAU,eAAA;AAC9B,kBAAQ,MAAM,GAAGsB,CAAW,iBAAiB;AAAA,QACjD;AACAxB,QAAAA,EAAQ,WAAWE,EAAU,EAAE,GAE/BW,EAAU,iBAAiB,MAAA,GAE3Bd,EAAa,QAAQ,kBAAkBG,CAAS,GAChDD,EAAO,kBAAkBC,CAAS;AAAA,MACtC;AAAA,IACJ,GAAG,CAACH,GAAcE,GAAQD,CAAO,CAAC,GAElC2B,EAAU,MAAM;AACZ,UAAI;AACA,YAAIJ,EAAA,EAAiB,OAAO;AAExB,gBAAMC,IAActB,EAAU,eAAA;AAC9B,kBAAQ,MAAM,GAAGsB,CAAW,QAAQ;AAAA,QACxC;AACA,QAAAzB,EAAa,QAAQ,UAAUG,CAAS,GACxCD,EAAO,UAAUC,CAAS;AAAA,MAC9B,SAASwB,GAAK;AACV,YAAIH,EAAA,EAAiB,OAAO;AAExB,gBAAMC,IAActB,EAAU,eAAA;AAC9B,kBAAQ,MAAM,GAAGsB,CAAW,UAAU;AAAA,QAC1C;AACA,QAAAzB,EAAa,QAAQ,UAAUG,GAAWwB,CAAG,GAC7CzB,EAAO,UAAUC,GAAWwB,CAAG;AAAA,MACnC;AACA,aAAO,MAAM;AACT,QAAA3B,EAAa,QAAQ,YAAYG,CAAS,GAC1CD,EAAO,YAAYC,CAAS;AAAA,MAChC;AAAA,IACJ,GAAG,CAACH,GAAcE,GAAQD,CAAO,CAAC;AAElC,QAAI4B;AAEJ,QAAI;AACA,UAAIL,EAAA,EAAiB,OAAO;AAExB,cAAMC,IAActB,EAAU,eAAA;AAC9B,gBAAQ,MAAM,GAAGsB,CAAW,OAAO;AAAA,MACvC;AACA,MAAI,OAAOlB,KAAS,aAChBsB,IAAUtB,EAAKU,GAAOd,CAAS,IAG/B0B,IAAU,gBAAAC,EAAA,cAAAA,EAAA,UAAA,MAAGb,EAAM,QAAS;AAAA,IAEpC,SAASU,GAAK;AAEV,YAAMI,IAAa,KAAK,UAAUJ,CAAG;AAErC,MAAAE,sDAAaE,CAAW;AAAA,IAC5B;AACA,UAAMC,IAAeC;AAAA,MACjB,OAAO,EAAE,GAAGhC,GAAS,WAAWE,EAAU,GAAA;AAAA,MAC1C,CAACH,GAAcE,GAAQD,CAAO;AAAA,IAAA;AAElC,2CACKiC,EAAsB,UAAtB,EAA+B,OAAOF,KAClCH,CACL;AAAA,EAER,CAAC,GAEKM,IAAW,CAAA;AAYjB,MAVA/B,IAAQ,CAAA,GAEJJ,EAAa,SACb,OAAO,OAAOI,GAAOJ,EAAa,KAAK,GAGvCA,EAAa,WACb,OAAO,OAAOI,GAAOJ,EAAa,OAAO,GAGzCA,EAAa;AACb,eAAW,CAACqB,GAAKe,CAAK,KAAK,OAAO,QAAQpC,EAAa,QAAQ;AAC3D,UAAI,OAAOoC,KAAS,YAAY;AAC5B,cAAM7B,IAAO6B,GACPC,IAA4C,CAACpB,MAAU;AACzD,gBAAMqB,IAAI/B,EAAKU,CAAK;AACpB,iBAAO,gBAAAa,EAAA,cAACQ,EAAE,MAAF,IAAO;AAAA,QAKnB;AACA,gBAAQ,IAAIH,GAAUxC,EAAW0B,CAAG,GAAGgB,CAAW;AAAA,MACtD;AACI,gBAAQ,IAAIF,GAAUd,GAAKe,CAAK;AAM5C,aAAW,CAACf,GAAKe,CAAK,KAAK,OAAO,QAAQlC,CAAM;AAE5C,IAAImB,KAAOjB,MACHmC,EAAUH,CAAK,IACf3B,EAAS,IAAIY,GAAKe,CAAK,IAEvB,QAAQ,IAAIhC,GAAOiB,GAAKe,CAAK;AAKzC,QAAMI,IAAkF;AAAA,IACpF,gBACItC,EAAO,kBAAkBF,EAAa,QAAQ,iBACxC,CAACyC,GAAMC,GAAUC,MAAa;AAC1B,UAAIC,IAAS,IACTC,IAAU3C,EAAO;AACrB,aAAI2C,MACAD,IAASC,EAAQ,OAAOJ,CAAI,GAAGC,GAAUC,CAAQ,IAEjDC,MACAC,IAAU7C,EAAa,QAAQ,gBAC3B6C,MACAD,IAASC,EAAQ,OAAOJ,CAAI,GAAGC,GAAUC,CAAQ,KAGlDC;AAAA,IACX,IACA;AAAA,IACV,cACI1C,EAAO,gBAAgBF,EAAa,QAAQ,eACtC,CAACyC,GAAML,MAAU;AACb,MAAAlC,EAAO,eAAe,OAAOuC,CAAI,GAAGL,CAAK,GACzCpC,EAAa,QAAQ,eAAe,OAAOyC,CAAI,GAAGL,CAAK;AAAA,IAC3D,IACA;AAAA,EAAA;AAGd,WAASU,EAAyBL,GAAc;AAC5C,UAAMpB,IAAM,GAAG0B,CAAO,GAAGpD,EAAW8C,CAAI,CAAC;AACzC,WAAOvC,EAAOmB,CAAG,KAAKrB,EAAa,SAASqB,CAAG;AAAA,EACnD;AAEA,WAAS2B,EAA8BP,GAAc;AACjD,UAAMpB,IAAM,GAAG4B,CAAY,GAAGtD,EAAW8C,CAAI,CAAC;AAC9C,YAAQ,CAACC,GAAeC,MAAkB;AACtC,UAAIC,IAAS,IACTC,IAAU3C,EAAOmB,CAAG;AACxB,aAAIwB,MACAD,IAASC,EAAQH,GAAUC,CAAQ,IAEnCC,MACAC,IAAU7C,EAAa,SAASqB,CAAG,GAC/BwB,MACAD,IAASC,EAAQH,GAAUC,CAAQ,KAGpCC;AAAA,IACX;AAAA,EACJ;AAEA,WAASM,EAA4BT,GAAc;AAC/C,UAAMpB,IAAM,GAAG8B,CAAU,GAAGxD,EAAW8C,CAAI,CAAC;AAC5C,YAAQ,CAACL,MAAe;AACnB,MAAAlC,EAAOmB,CAAG,IAAgCe,CAAK,GAC/CpC,EAAa,SAASqB,CAAG,IAAgCe,CAAK;AAAA,IACnE;AAAA,EACJ;AAEA,MAAIgB,IAAqC,CAAA;AAEzC,MAAIpD,EAAa,OAAO;AACpB,eAAWyC,KAAQ,OAAO,KAAKzC,EAAa,KAAK;AAC7C,MAAAwC,EAAmBC,CAAI,IAAI;AAAA,QACvB,OAAOK,EAAyBL,CAAI;AAAA,QACpC,YAAYO,EAA8BP,CAAI;AAAA,QAC9C,UAAUS,EAA4BT,CAAI;AAAA,MAAA;AAIlD,eAAWpB,KAAO,OAAO,KAAKrB,EAAa,KAAK;AAC5C,MAAAoD,EAAc/B,CAAG,IAAIgC,EAAW;AAAA,EAExC;AAEA,MAAIrD,EAAa;AAEb,eAAWqB,KAAO,OAAO,KAAKrB,EAAa,OAAO;AAAG;AAKzD,EAAAI,IAAQiD,EAAWjD,GAAOgD,GAAe;AAAA,IACrC,MAAM;AAAA,EAAA,CACT,GAEDhD,IAAQkD,EAAqBlD,GAAOK,GAAU+B,CAAkB;AAEhE,MAAIe,IAA4C,CAAA;AAwBhD,MAvBApD,IAAY;AAAA,IACR,IAAID,EAAO;AAAA,IACX,KAAKA,EAAO;AAAA,IACZ,SAAAG;AAAA,IACA,UAAU;AAAA,IACV,gBAAgB,MAAMJ,EAAQ,iBAAiBE,EAAU,EAAE;AAAA,IAC3D,cAAc,MAAMF,EAAQ,aAAaE,EAAU,EAAE;AAAA,IACrD,YAAY,MAAMF,EAAQ,WAAWE,EAAU,EAAE;AAAA,IACjD,aAAa,MAAMF,EAAQ,YAAYE,EAAU,EAAE;AAAA,IACnD,WAAW,MAAMF,EAAQ,UAAUE,EAAU,EAAE;AAAA,IAC/C,YAAY,MAAMF,EAAQ,WAAA;AAAA,IAC1B,UAAAQ;AAAA,IACA,IAAI,SAAS;AACT,aAAOC,EAAA;AAAA,IACX;AAAA,IACA,WAAAI;AAAA,IACA,SAAAyC;AAAA;AAAA,IAEA,MAAMxC;AAAA,IACN,UAAAoB;AAAA,IACA,OAAA/B;AAAA,EAAA,GAGAJ,EAAa;AACb,eAAW,CAACJ,GAAM4D,CAAE,KAAK,OAAO,QAAQxD,EAAa,OAAO;AACxD,MAAAuD,EAAQ3D,CAAI,IAAI6D;AAAA,QACZtD;AAAA,QACAP;AAAA,QACA4D;AAAA,MAAA;AAKZ,SAAIxD,EAAa,QAAQ,UACrBA,EAAa,OAAO,OAAOG,CAAS,GAGpCD,EAAO,UACPA,EAAO,OAAOC,CAAS,GAGpBA;AACX;AAEO,SAASuD,GAGd1D,GAAkDE,GAAkC;AAClF,QAAMD,IAAUiB,EAAA,GACVyC,IAAMC,EAAW,MAAM7D,EAAgBC,GAAcC,GAASC,CAAM,CAAC;AAC3E,SAAAqB,EAAgB,MACL,MAAM;AACT,IAAAoC,EAAI,UAAU;AAAA,EAClB,GACD,CAAA,CAAE,GACEA,EAAI;AACf;AAGO,SAASE,GACZC,GACkC;AAOlC,SANe,CAAC5D,MAA+D;AAE3E,UAAMoC,IAAIwB,EAAQ5D,CAAM;AAExB,WAAO,gBAAA4B,EAAA,cAACQ,EAAE,MAAF,EAAQ,GAAGpC,GAAQ;AAAA,EAC/B;AAEJ;"}
1
+ {"version":3,"file":"react.es.js","sources":["../../src/componentModel/react.tsx"],"sourcesContent":null,"names":["capitalize","name","cleanSourceRef","sourceRef","createComponent","def","context","params","component","model","regType","getComponentSourceByCaller","view","msgBus","bindings","componentMsgBus","lazy","getComponentMsgBus","headers","msgBroker","initEffects","fn","createEffect","e","OrigView","observer","props","useComponentContext","parentId","id","key","toHtmlId","useLayoutEffect","getGlobalFlags","hierarchyId","err","useEffect","abortController","registerMsgBroker","content","React","scopeContext","useMemo","ReactComponentContext","onError","error","info","result1","result2","View","ErrorBoundary","children","value","ChildViewFC","c","isComponent","isBinding","proxyEventHandlers","prop","oldValue","newValue","result","handler","resolveOnGetEventHandler","$ON_GET","resolveOnChangingEventHandler","$ON_CHANGING","resolveOnChangeEventHandler","$ON_CHANGE","annotationMap","observable","createRecursiveProxy","$isComponent","useComponent","componentDef","ref","useLazyRef","toReact","factoryHook"],"mappings":"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"}
@@ -12,7 +12,7 @@ export declare class DisposableComponent implements Disposable {
12
12
  protected deepObserve<T = any>(target: T, listener: (change: IObjectDidChange | IArraySplice | IMapDidChange, path: string, root: T) => void): IDisposer;
13
13
  protected autorun(view: (r: IReactionPublic) => any, opts?: IAutorunOptions): IReactionDisposer;
14
14
  protected observe<T = Object>(object: T, listener: (change: IObjectChange<T>) => void, registerDisposer?: boolean): Lambda;
15
- allHandlersAsync(): Promise<void>;
15
+ allHandlers(): Promise<void>;
16
16
  protected validateState(): void;
17
17
  protected observeAsync<T = Object>(object: T, listener: (change: IObjectChange<T>) => Promise<any>, registerDisposer?: boolean, handlers?: Set<Promise<any>>): Lambda;
18
18
  protected multiObserve(objects: Object[], listener: (change: IObjectDidChange) => void, fireImmediately?: boolean, registerDisposer?: (d: () => void) => void): Lambda[];
@@ -1 +1 @@
1
- {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../src/componentModel/scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../src/componentModel/scope.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ class z {
20
20
  const i = o(e, r);
21
21
  return s && this.registerFinalizers(i), i;
22
22
  }
23
- async allHandlersAsync() {
23
+ async allHandlers() {
24
24
  await Promise.all(this.handlers);
25
25
  }
26
26
  validateState() {
@@ -1 +1 @@
1
- {"version":3,"file":"scope.es.js","sources":["../../src/componentModel/scope.ts"],"sourcesContent":["// import { createViewModel } from \"@/componentModel\";\r\nimport {\r\n reaction,\r\n observe,\r\n Lambda,\r\n IReactionPublic,\r\n IReactionOptions,\r\n IReactionDisposer,\r\n IObjectDidChange,\r\n // IArrayChange,\r\n IArraySplice,\r\n IMapDidChange,\r\n autorun,\r\n IAutorunOptions\r\n} from \"mobx\";\r\nimport { deepObserve, IDisposer } from \"mobx-utils\";\r\n\r\nexport type IObjectChange<T> = IObjectDidChange & {\r\n name: keyof T;\r\n object: T;\r\n};\r\nexport class DisposableComponent implements Disposable {\r\n // finalizers\r\n protected readonly finalizers: IDisposer[];\r\n\r\n protected isDisposed: boolean;\r\n\r\n public handlers: Set<Promise<any>>;\r\n\r\n constructor() {\r\n this.isDisposed = false;\r\n this.finalizers = [];\r\n this.handlers = new Set<Promise<any>>();\r\n }\r\n\r\n protected deepObserve<T = any>(\r\n target: T,\r\n // | IArrayChange\r\n listener: (change: IObjectDidChange | IArraySplice | IMapDidChange, path: string, root: T) => void\r\n ): IDisposer {\r\n const releaser = deepObserve(target, listener);\r\n this.registerFinalizers(releaser);\r\n return releaser;\r\n }\r\n\r\n protected autorun(view: (r: IReactionPublic) => any, opts?: IAutorunOptions): IReactionDisposer {\r\n const releaser = autorun(view, opts);\r\n this.registerFinalizers(releaser);\r\n return releaser;\r\n }\r\n\r\n protected observe<T = Object>(object: T, listener: (change: IObjectChange<T>) => void, registerDisposer = true): Lambda {\r\n const releaser = observe(object, listener);\r\n if (registerDisposer) {\r\n this.registerFinalizers(releaser);\r\n }\r\n return releaser;\r\n }\r\n\r\n public async allHandlersAsync(): Promise<void> {\r\n await Promise.all(this.handlers);\r\n }\r\n\r\n protected validateState() {\r\n if (this.isDisposed) {\r\n throw new Error(\"Cannot access a disposed object\");\r\n }\r\n }\r\n \r\n protected observeAsync<T = Object>(\r\n object: T,\r\n listener: (change: IObjectChange<T>) => Promise<any>,\r\n registerDisposer = true,\r\n handlers = this.handlers\r\n ): Lambda {\r\n this.validateState(); \r\n const releaser = observe(object, (change) => {\r\n let task: Promise<any> = null;\r\n task = (async () => {\r\n await listener(change as IObjectChange<T>);\r\n handlers.delete(task);\r\n })();\r\n handlers.add(task);\r\n });\r\n if (registerDisposer) {\r\n this.registerFinalizers(releaser);\r\n }\r\n return releaser;\r\n }\r\n\r\n protected multiObserve(\r\n objects: Object[],\r\n listener: (change: IObjectDidChange) => void,\r\n fireImmediately?: boolean,\r\n registerDisposer = (d: () => void) => {\r\n this.registerFinalizer(d);\r\n }\r\n ): Lambda[] {\r\n const releasers: Lambda[] = [];\r\n for (const object of objects) {\r\n const releaser = observe(object, listener, fireImmediately);\r\n releasers.push(releaser);\r\n if (registerDisposer) {\r\n registerDisposer(releaser);\r\n }\r\n }\r\n return releasers;\r\n }\r\n\r\n protected reaction<T>(\r\n expression: (r: IReactionPublic) => T,\r\n effect: (arg: T, prev: T, r: IReactionPublic) => void,\r\n opts?: IReactionOptions<T, boolean>\r\n ): IReactionDisposer {\r\n const releaser = reaction(expression, effect, opts);\r\n this.registerFinalizers(releaser);\r\n return releaser;\r\n }\r\n\r\n protected multiReaction<T>(\r\n expressions: ((r: IReactionPublic) => T)[],\r\n effect: (arg: T, prev: T, r: IReactionPublic) => void,\r\n opts: IReactionOptions<T, boolean> = undefined,\r\n registerDisposer = (d: () => void) => {\r\n this.registerFinalizer(d);\r\n }\r\n ): IReactionDisposer[] {\r\n const releasers: IReactionDisposer[] = [];\r\n if (!opts) {\r\n opts = undefined;\r\n }\r\n for (const expression of expressions) {\r\n const releaser = reaction(expression, effect, opts);\r\n releasers.push(releaser);\r\n if (registerDisposer) {\r\n registerDisposer(releaser);\r\n }\r\n }\r\n\r\n return releasers;\r\n }\r\n\r\n // registerDisposers\r\n protected registerFinalizers(...actions: (() => void)[]) {\r\n this.finalizers.push(...actions);\r\n }\r\n\r\n // registerDisposer\r\n protected registerFinalizer(action: () => void) {\r\n this.registerFinalizers(action);\r\n return action;\r\n }\r\n\r\n protected registerDisposable(disposable: Disposable) {\r\n return this.registerFinalizer(disposable[Symbol.dispose].bind(disposable));\r\n }\r\n\r\n [Symbol.dispose]() {\r\n if (this === undefined) {\r\n console.error('undefined \"this\"');\r\n }\r\n if (!this.isDisposed) {\r\n for (const d of this.finalizers) {\r\n try {\r\n d && d();\r\n } catch (err) {\r\n throw err; // for debug\r\n }\r\n }\r\n this.finalizers.length = 0;\r\n // while (this.finalizers.length) {\r\n // const d = this.finalizers.pop();\r\n // d && d();\r\n // }\r\n this.isDisposed = true;\r\n }\r\n }\r\n}\r\n\r\n// export class Model extends DisposableComponent {\r\n \r\n// public isBusy: boolean = true; // isLoading\r\n\r\n// protected async withBusyAsync<T>(asyncAction: () => Promise<T>) {\r\n// transaction(() => {\r\n// this.isBusy = true;\r\n// });\r\n// try {\r\n// return await asyncAction();\r\n// } finally {\r\n// transaction(() => {\r\n// this.isBusy = false;\r\n// });\r\n// }\r\n// }\r\n\r\n// protected withBusy<T>(action: () => T) {\r\n// transaction(() => {\r\n// this.isBusy = true;\r\n// });\r\n// try {\r\n// return action();\r\n// } finally {\r\n// transaction(() => {\r\n// this.isBusy = false;\r\n// });\r\n// }\r\n// }\r\n// }\r\n"],"names":["DisposableComponent","target","listener","releaser","deepObserve","view","opts","autorun","object","registerDisposer","observe","handlers","change","task","objects","fireImmediately","d","releasers","expression","effect","reaction","expressions","actions","action","disposable","err"],"mappings":"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"}
1
+ {"version":3,"file":"scope.es.js","sources":["../../src/componentModel/scope.ts"],"sourcesContent":null,"names":["DisposableComponent","target","listener","releaser","deepObserve","view","opts","autorun","object","registerDisposer","observe","handlers","change","task","objects","fireImmediately","d","releasers","expression","effect","reaction","expressions","actions","action","disposable","err"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"globals.es.js","sources":["../src/globals.ts"],"sourcesContent":["export { };\r\n\r\nexport type GlobalFlags = {\r\n debug?: boolean;\r\n};\r\n\r\nconst defaultGlobalFlags: GlobalFlags = {\r\n debug: false\r\n}\r\n\r\ndeclare global {\r\n interface Window {\r\n __DYNSTRUCT__?: GlobalFlags;\r\n }\r\n\r\n}\r\n\r\n// getUserFlags\r\nexport function getGlobalFlags() {\r\n // window\r\n const globalObj = globalThis as Window & typeof globalThis;\r\n\r\n if (typeof globalObj === 'undefined') {\r\n return defaultGlobalFlags;\r\n }\r\n\r\n return window.__DYNSTRUCT__ || defaultGlobalFlags;\r\n}"],"names":["defaultGlobalFlags","getGlobalFlags"],"mappings":"AAMA,MAAMA,IAAkC;AAAA,EACpC,OAAO;AACX;AAUO,SAASC,IAAiB;AAI7B,SAAI,OAFc,aAEO,MACdD,IAGJ,OAAO,iBAAiBA;AACnC;"}
1
+ {"version":3,"file":"globals.es.js","sources":["../src/globals.ts"],"sourcesContent":null,"names":["defaultGlobalFlags","getGlobalFlags"],"mappings":"AAMA,MAAMA,IAAkC;AAAA,EACpC,OAAO;AACX;AAUO,SAASC,IAAiB;AAI7B,SAAI,OAFc,aAEO,MACdD,IAGJ,OAAO,iBAAiBA;AACnC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"apiError.es.js","sources":["../../src/net/apiError.ts"],"sourcesContent":["import { IRequestState, IResponseState, getResponseResult } from \"@/net/request\";\r\nimport HttpStatus from \"http-status\";\r\n\r\n// UNKNOWN/UNRECOGNIZED\r\nexport const API_ERROR_INTERNAL_ERROR = \"API_ERROR_INTERNAL_ERROR\";\r\n\r\n// \"notmodified\", \"nocontent\", \"error\", \"timeout\", \"abort\", or \"parsererror\"\r\n\r\n// TODO: use http-problem-details or error-http-response (application/problem+json)\r\n\r\nexport interface IApiErrorOptions<TDetails = any> extends ErrorOptions {\r\n cause?: TDetails;\r\n // type/code\r\n name?: string;\r\n status?: number;\r\n request: IRequestState;\r\n response?: Partial<IResponseState>;\r\n}\r\n\r\n// RequestError\r\nexport class ApiError<TDetails = any> extends Error {\r\n public isApiError = true;\r\n\r\n readonly name: string;\r\n\r\n readonly message: string;\r\n\r\n readonly request: IRequestState;\r\n\r\n readonly response: Partial<IResponseState>;\r\n\r\n readonly status: number; // code/type\r\n\r\n public constructor(message: string, options?: IApiErrorOptions<TDetails>) {\r\n // status: number, request: IRequestState, response?: Partial<IResponseState>, name?: string\r\n super(message);\r\n this.status = options.status;\r\n this.message = message || options.name; // message ?? options.name\r\n this.request = options.request;\r\n this.response = options.response;\r\n this.name = options.name || API_ERROR_INTERNAL_ERROR;\r\n Object.setPrototypeOf(this, ApiError.prototype);\r\n }\r\n\r\n static create(response: Partial<IResponseState>, request?: IRequestState) {\r\n if (!response) {\r\n return new ApiError(\"Invalid request\", {\r\n request\r\n });\r\n }\r\n\r\n const status = response.status;\r\n\r\n if (status === HttpStatus.OK) {\r\n return null;\r\n }\r\n\r\n // const statusClass = HttpStatus[`${status}_CLASS`] as HttpStatus.HttpStatusClasses;\r\n // const statusClassName = HttpStatus.classes[String(statusClass)]; // HttpStatus.classes[`${statusClass}_NAME`]\r\n // const statusClassMsg = HttpStatus.classes[`${statusClass}_MESSAGE`];\r\n const msg = HttpStatus[`${status}_MESSAGE`] as string; // || \"An unexpected server error occurred.\"\r\n const name = `HTTP_STATUS_${status}`;\r\n // response.resolved\r\n const error = new ApiError(msg, {\r\n status,\r\n request,\r\n response,\r\n name\r\n });\r\n return error;\r\n }\r\n\r\n static async assert(response: IResponseState, request: IRequestState) {\r\n const err = await ApiError.create(response, request);\r\n if (err) {\r\n throw err;\r\n }\r\n }\r\n\r\n static isApiError(obj: any): obj is ApiError {\r\n return obj.isApiError === true;\r\n }\r\n}\r\n"],"names":["API_ERROR_INTERNAL_ERROR","ApiError","message","options","response","request","status","HttpStatus","msg","name","err","obj"],"mappings":";AAIO,MAAMA,IAA2B;AAgBjC,MAAMC,UAAiC,MAAM;AAAA,EACzC,aAAa;AAAA,EAEX;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA;AAAA;AAAA,EAEF,YAAYC,GAAiBC,GAAsC;AAEtE,UAAMD,CAAO,GACb,KAAK,SAASC,EAAQ,QACtB,KAAK,UAAUD,KAAWC,EAAQ,MAClC,KAAK,UAAUA,EAAQ,SACvB,KAAK,WAAWA,EAAQ,UACxB,KAAK,OAAOA,EAAQ,QAAQH,GAC5B,OAAO,eAAe,MAAMC,EAAS,SAAS;AAAA,EAClD;AAAA,EAEA,OAAO,OAAOG,GAAmCC,GAAyB;AACtE,QAAI,CAACD;AACD,aAAO,IAAIH,EAAS,mBAAmB;AAAA,QACnC,SAAAI;AAAA,MAAA,CACH;AAGL,UAAMC,IAASF,EAAS;AAExB,QAAIE,MAAWC,EAAW;AACtB,aAAO;AAMX,UAAMC,IAAMD,EAAW,GAAGD,CAAM,UAAU,GACpCG,IAAO,eAAeH,CAAM;AAQlC,WANc,IAAIL,EAASO,GAAK;AAAA,MAC5B,QAAAF;AAAA,MACA,SAAAD;AAAA,MACA,UAAAD;AAAA,MACA,MAAAK;AAAA,IAAA,CACH;AAAA,EAEL;AAAA,EAEA,aAAa,OAAOL,GAA0BC,GAAwB;AAClE,UAAMK,IAAM,MAAMT,EAAS,OAAOG,GAAUC,CAAO;AACnD,QAAIK;AACA,YAAMA;AAAA,EAEd;AAAA,EAEA,OAAO,WAAWC,GAA2B;AACzC,WAAOA,EAAI,eAAe;AAAA,EAC9B;AACJ;"}
1
+ {"version":3,"file":"apiError.es.js","sources":["../../src/net/apiError.ts"],"sourcesContent":null,"names":["API_ERROR_INTERNAL_ERROR","ApiError","message","options","response","request","status","HttpStatus","msg","name","err","obj"],"mappings":";AAIO,MAAMA,IAA2B;AAgBjC,MAAMC,UAAiC,MAAM;AAAA,EACzC,aAAa;AAAA,EAEX;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA;AAAA;AAAA,EAEF,YAAYC,GAAiBC,GAAsC;AAEtE,UAAMD,CAAO,GACb,KAAK,SAASC,EAAQ,QACtB,KAAK,UAAUD,KAAWC,EAAQ,MAClC,KAAK,UAAUA,EAAQ,SACvB,KAAK,WAAWA,EAAQ,UACxB,KAAK,OAAOA,EAAQ,QAAQH,GAC5B,OAAO,eAAe,MAAMC,EAAS,SAAS;AAAA,EAClD;AAAA,EAEA,OAAO,OAAOG,GAAmCC,GAAyB;AACtE,QAAI,CAACD;AACD,aAAO,IAAIH,EAAS,mBAAmB;AAAA,QACnC,SAAAI;AAAA,MAAA,CACH;AAGL,UAAMC,IAASF,EAAS;AAExB,QAAIE,MAAWC,EAAW;AACtB,aAAO;AAMX,UAAMC,IAAMD,EAAW,GAAGD,CAAM,UAAU,GACpCG,IAAO,eAAeH,CAAM;AAQlC,WANc,IAAIL,EAASO,GAAK;AAAA,MAC5B,QAAAF;AAAA,MACA,SAAAD;AAAA,MACA,UAAAD;AAAA,MACA,MAAAK;AAAA,IAAA,CACH;AAAA,EAEL;AAAA,EAEA,aAAa,OAAOL,GAA0BC,GAAwB;AAClE,UAAMK,IAAM,MAAMT,EAAS,OAAOG,GAAUC,CAAO;AACnD,QAAIK;AACA,YAAMA;AAAA,EAEd;AAAA,EAEA,OAAO,WAAWC,GAA2B;AACzC,WAAOA,EAAI,eAAe;AAAA,EAC9B;AACJ;"}