peryl 1.5.21 → 1.5.23

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 (63) hide show
  1. package/demo/hash_demo.ts +6 -1
  2. package/demo/hsml-appel_demo.html +1 -1
  3. package/demo/hsml-appel_demo.ts +14 -10
  4. package/dist/browser-esmodule/hash.js +2 -2
  5. package/dist/browser-esmodule/hash.js.map +1 -1
  6. package/dist/browser-esmodule/hsml-app.js +24 -25
  7. package/dist/browser-esmodule/hsml-app.js.map +1 -1
  8. package/dist/browser-esmodule/index.js +26 -27
  9. package/dist/browser-esmodule/index.js.map +1 -1
  10. package/dist/browser-umd/hash.js +1 -1
  11. package/dist/browser-umd/hash.js.map +1 -1
  12. package/dist/browser-umd/hsml-app.js +1 -1
  13. package/dist/browser-umd/hsml-app.js.map +1 -1
  14. package/dist/browser-umd/index.js +1 -1
  15. package/dist/browser-umd/index.js.map +1 -1
  16. package/dist/demo/{hash_demo.1cbbc47a.js → hash_demo.57b93f2a.js} +2 -2
  17. package/dist/demo/hash_demo.57b93f2a.js.map +1 -0
  18. package/dist/demo/{hash_demo.80f80384.js → hash_demo.7e0ef005.js} +2 -2
  19. package/dist/demo/hash_demo.7e0ef005.js.map +1 -0
  20. package/dist/demo/hash_demo.html +1 -1
  21. package/dist/demo/hsml-app-bysquare_demo.html +1 -1
  22. package/dist/demo/hsml-app-form-validation_demo.html +1 -1
  23. package/dist/demo/hsml-app-form_demo.html +1 -1
  24. package/dist/demo/hsml-app-test_demo.html +1 -1
  25. package/dist/demo/hsml-app-tictactoe_demo.html +1 -1
  26. package/dist/demo/hsml-app_demo.html +1 -1
  27. package/dist/demo/hsml-appel_demo.39c5c95a.js +2 -0
  28. package/dist/demo/hsml-appel_demo.39c5c95a.js.map +1 -0
  29. package/dist/demo/hsml-appel_demo.fd0c6348.js +2 -0
  30. package/dist/demo/hsml-appel_demo.fd0c6348.js.map +1 -0
  31. package/dist/demo/hsml-appel_demo.html +1 -1
  32. package/dist/demo/hsml-appi_demo.64f70501.js +2 -0
  33. package/dist/demo/hsml-appi_demo.64f70501.js.map +1 -0
  34. package/dist/demo/hsml-appi_demo.9a157181.js +2 -0
  35. package/dist/demo/hsml-appi_demo.9a157181.js.map +1 -0
  36. package/dist/demo/hsml-appi_demo.html +1 -1
  37. package/dist/hash.d.ts +2 -2
  38. package/dist/hash.js +2 -2
  39. package/dist/hash.js.map +1 -1
  40. package/dist/hsml-app.d.ts +8 -8
  41. package/dist/hsml-app.js +44 -37
  42. package/dist/hsml-app.js.map +1 -1
  43. package/package.json +1 -1
  44. package/src/hash.ts +4 -5
  45. package/src/hsml-app.ts +92 -67
  46. package/dist/browser-esmodule/google-analytics.js +0 -50
  47. package/dist/browser-esmodule/google-analytics.js.map +0 -1
  48. package/dist/browser-umd/google-analytics.js +0 -2
  49. package/dist/browser-umd/google-analytics.js.map +0 -1
  50. package/dist/demo/hash_demo.1cbbc47a.js.map +0 -1
  51. package/dist/demo/hash_demo.80f80384.js.map +0 -1
  52. package/dist/demo/hsml-appel_demo.1da052b6.js +0 -2
  53. package/dist/demo/hsml-appel_demo.1da052b6.js.map +0 -1
  54. package/dist/demo/hsml-appel_demo.7fcc74a6.js +0 -2
  55. package/dist/demo/hsml-appel_demo.7fcc74a6.js.map +0 -1
  56. package/dist/demo/hsml-appi_demo.3d3d0e4e.js +0 -2
  57. package/dist/demo/hsml-appi_demo.3d3d0e4e.js.map +0 -1
  58. package/dist/demo/hsml-appi_demo.eac28520.js +0 -2
  59. package/dist/demo/hsml-appi_demo.eac28520.js.map +0 -1
  60. package/dist/google-analytics.d.ts +0 -21
  61. package/dist/google-analytics.js +0 -63
  62. package/dist/google-analytics.js.map +0 -1
  63. package/src/google-analytics.ts +0 -79
@@ -21,14 +21,15 @@ export declare enum HDispatchScopes {
21
21
  window = "window"
22
22
  }
23
23
  export type HDispatch<HActionType extends string> = (type: HAction<HActionType>["type"], data?: HAction<HActionType>["data"], scope?: HDispatchScope | HDispatchScopes) => Promise<void>;
24
- export type HDispatcher<State, HActionType extends string> = (action: HAction<HActionType | HAppAction | HAppActions>, state: State, dispatch: HDispatch<HActionType>) => Promise<void>;
24
+ type SkipUpdate = true;
25
+ export type HDispatcher<State, HActionType extends string> = (action: HAction<HActionType | HAppAction | HAppActions>, state: State, dispatch: HDispatch<HActionType>) => Promise<void | SkipUpdate>;
25
26
  export interface HAppI<State, HActionType extends string> {
26
27
  state: HState<State>;
27
28
  view: HView<State, HActionType>;
28
29
  dispatcher: HDispatcher<State, HActionType>;
29
30
  element?: Element | string | null;
30
31
  debug?: boolean;
31
- name?: string;
32
+ id?: string;
32
33
  attributes?: string[];
33
34
  }
34
35
  export declare function happ<State, HActionType extends string>(hAppI: {
@@ -37,14 +38,14 @@ export declare function happ<State, HActionType extends string>(hAppI: {
37
38
  dispatcher: HDispatcher<State, HActionType>;
38
39
  element: Element | string | null;
39
40
  debug?: boolean;
40
- name?: string;
41
+ id?: string;
41
42
  }): HApp<State, HActionType>;
42
43
  export declare function happel<State, HActionType extends string>(hAppI: {
43
44
  state: HState<State>;
44
45
  view: HView<State, HActionType>;
45
46
  dispatcher: HDispatcher<State, HActionType>;
46
- name: string;
47
- attributes: string[];
47
+ id: string;
48
+ attributes?: string[];
48
49
  debug?: boolean;
49
50
  }): void;
50
51
  export declare class HApp<State, HActionType extends string> implements HHandlerCtx<HActionType> {
@@ -64,8 +65,7 @@ export declare class HApp<State, HActionType extends string> implements HHandler
64
65
  readonly view: HView<State, HActionType>;
65
66
  readonly dispatcher: HDispatcher<State, HActionType>;
66
67
  debug: boolean;
67
- readonly name: string;
68
- readonly attributes: string[];
68
+ readonly id: string;
69
69
  readonly element?: HTMLElement;
70
70
  readonly refs: {
71
71
  [key: string]: HTMLElement;
@@ -73,7 +73,7 @@ export declare class HApp<State, HActionType extends string> implements HHandler
73
73
  readonly customElement?: HTMLElement;
74
74
  private _updateSched?;
75
75
  private _windowActionListener?;
76
- constructor(state: HState<State>, view: HView<State, HActionType>, dispatcher?: HDispatcher<State, HActionType>, element?: Element | string | null, debug?: boolean, name?: string, attributes?: string[]);
76
+ constructor(state: HState<State>, view: HView<State, HActionType>, dispatcher?: HDispatcher<State, HActionType>, element?: Element | string | null, debug?: boolean, id?: string);
77
77
  dispatch: HDispatch<HActionType>;
78
78
  private _dispatchAction;
79
79
  private _dispatch;
package/dist/hsml-app.js CHANGED
@@ -34,37 +34,43 @@ const msgRender = "render:";
34
34
  const msgUpdate = "update:";
35
35
  const HAPP = "happ";
36
36
  function happ(hAppI) {
37
- return new HApp(hAppI.state, hAppI.view, hAppI.dispatcher, hAppI.element, hAppI.debug, hAppI.name);
37
+ return new HApp(hAppI.state, hAppI.view, hAppI.dispatcher, hAppI.element, hAppI.debug, hAppI.id);
38
38
  }
39
39
  exports.happ = happ;
40
40
  function happel(hAppI) {
41
- customElements.define(`${HAPP}-${hAppI.name}`, class HAppElement extends HTMLElement {
42
- static get observedAttributes() {
43
- return hAppI.attributes;
44
- }
45
- constructor() {
46
- super();
47
- this._happel = new HApp(hAppI.state, hAppI.view, hAppI.dispatcher, undefined, hAppI.debug, hAppI.name, hAppI.attributes);
48
- this._happel.customElement = this;
49
- }
50
- connectedCallback() {
51
- this.attachShadow({ mode: "open" });
52
- this._happel.mount(this.shadowRoot);
53
- }
54
- disconnectedCallback() {
55
- this._happel.umount();
56
- }
57
- adoptedCallback() {
58
- this._happel.update();
59
- }
60
- attributeChangedCallback(attrName, oldVal, newVal) {
61
- this._happel.dispatch(HAppActions.attribute, { attrName, oldVal, newVal });
62
- }
63
- });
41
+ if (!customElements.get(hAppI.id)) {
42
+ customElements.define(hAppI.id, class HAppElement extends HTMLElement {
43
+ static get observedAttributes() {
44
+ var _a;
45
+ const state = hAppI.state();
46
+ return ((_a = hAppI.attributes) !== null && _a !== void 0 ? _a : typeof state === "object")
47
+ ? Object.keys(state)
48
+ : [];
49
+ }
50
+ constructor() {
51
+ super();
52
+ this._happel = new HApp(hAppI.state, hAppI.view, hAppI.dispatcher, undefined, hAppI.debug, hAppI.id);
53
+ this._happel.customElement = this;
54
+ }
55
+ connectedCallback() {
56
+ this.attachShadow({ mode: "open" });
57
+ this._happel.mount(this.shadowRoot);
58
+ }
59
+ disconnectedCallback() {
60
+ this._happel.umount();
61
+ }
62
+ adoptedCallback() {
63
+ this._happel.update();
64
+ }
65
+ attributeChangedCallback(attrName, oldVal, newVal) {
66
+ this._happel.dispatch(HAppActions.attribute, { attrName, oldVal, newVal });
67
+ }
68
+ });
69
+ }
64
70
  }
65
71
  exports.happel = happel;
66
72
  class HApp {
67
- constructor(state, view, dispatcher, element, debug, name, attributes) {
73
+ constructor(state, view, dispatcher, element, debug, id) {
68
74
  this.refs = {};
69
75
  this.dispatch = (type, data, scope) => __awaiter(this, void 0, void 0, function* () {
70
76
  return this._dispatchAction(type, data, undefined, scope);
@@ -77,10 +83,10 @@ class HApp {
77
83
  hsmls = this.view(this.state);
78
84
  }
79
85
  catch (e) {
80
- HApp.error(this.name, msgRender, e);
86
+ HApp.error(this.id, msgRender, e);
81
87
  }
82
88
  const t1 = performance.now();
83
- HApp.log(this.name, msgRender, `${t1 - t0} ms`, hsmls);
89
+ HApp.log(this.id, msgRender, `${t1 - t0} ms`, hsmls);
84
90
  return hsmls !== null && hsmls !== void 0 ? hsmls : [];
85
91
  }
86
92
  else {
@@ -89,7 +95,7 @@ class HApp {
89
95
  hsmls = this.view(this.state);
90
96
  }
91
97
  catch (e) {
92
- HApp.error(this.name, msgRender, e);
98
+ HApp.error(this.id, msgRender, e);
93
99
  }
94
100
  return hsmls !== null && hsmls !== void 0 ? hsmls : [];
95
101
  }
@@ -180,22 +186,21 @@ class HApp {
180
186
  this.toHtml = () => {
181
187
  return this.element ? this.element.outerHTML : "";
182
188
  };
189
+ this.id = id !== null && id !== void 0 ? id : HAPP;
183
190
  this.debug = debug !== null && debug !== void 0 ? debug : false;
184
- this.name = name !== null && name !== void 0 ? name : HAPP;
185
- this.attributes = attributes !== null && attributes !== void 0 ? attributes : [];
186
191
  this.state = state();
187
192
  this.view = view;
188
- this.dispatcher = dispatcher !== null && dispatcher !== void 0 ? dispatcher : ((a) => __awaiter(this, void 0, void 0, function* () { return HApp.log(this.name, msgAction, a.type, a.data); }));
193
+ this.dispatcher = dispatcher !== null && dispatcher !== void 0 ? dispatcher : ((a) => __awaiter(this, void 0, void 0, function* () { return HApp.log(this.id, msgAction, a.type, a.data); }));
189
194
  this._dispatchAction(HAppActions.init, this).then(() => element && this.mount(element));
190
195
  }
191
196
  _dispatchAction(type, data, event, scope) {
192
197
  return __awaiter(this, void 0, void 0, function* () {
193
198
  if (this.debug) {
194
- HApp.log(this.name, msgAction, { type, data, event });
199
+ HApp.log(this.id, msgAction, { type, data, event });
195
200
  const t0 = performance.now();
196
201
  yield this._dispatch(type, data, event, scope);
197
202
  const t1 = performance.now();
198
- HApp.log(this.name, msgDispatch, `${t1 - t0} ms`, this.state);
203
+ HApp.log(this.id, msgDispatch, `${t1 - t0} ms`, this.state);
199
204
  }
200
205
  else {
201
206
  yield this._dispatch(type, data, event, scope);
@@ -206,12 +211,14 @@ class HApp {
206
211
  return __awaiter(this, void 0, void 0, function* () {
207
212
  if (!scope) {
208
213
  try {
209
- yield this.dispatcher({ type: type, data, event }, this.state, this.dispatch);
214
+ const skipUpdate = yield this.dispatcher({ type: type, data, event }, this.state, this.dispatch);
215
+ if (!skipUpdate) {
216
+ this.update();
217
+ }
210
218
  }
211
219
  catch (e) {
212
- HApp.error(this.name, msgDispatch, e);
220
+ HApp.error(this.id, msgDispatch, e);
213
221
  }
214
- this.update();
215
222
  }
216
223
  scope === "element" && this._dispatchElement(type, data);
217
224
  scope === "window" && this._dispatchWindow(type, data);
@@ -245,7 +252,7 @@ class HApp {
245
252
  const t0 = performance.now();
246
253
  (0, hsml_idom_1.hsmls2idomPatch)(el, hsml, ctx);
247
254
  const t1 = performance.now();
248
- HApp.log(this.name, msgUpdate, `${t1 - t0} ms`, el);
255
+ HApp.log(this.id, msgUpdate, `${t1 - t0} ms`, el);
249
256
  }
250
257
  else {
251
258
  (0, hsml_idom_1.hsmls2idomPatch)(el, hsml, ctx);
@@ -1 +1 @@
1
- {"version":3,"file":"hsml-app.js","sourceRoot":"","sources":["../src/hsml-app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hsml-app.js","sourceRoot":"","sources":["../src/hsml-app.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,2CAA8C;AAmB9C,IAAY,WAMX;AAND,WAAY,WAAW;IACnB,iCAAkB,CAAA;IAClB,mCAAoB,CAAA;IACpB,qCAAsB,CAAA;IACtB,qCAAsB,CAAA;IACtB,2CAA4B,CAAA;AAChC,CAAC,EANW,WAAW,2BAAX,WAAW,QAMtB;AAYD,IAAY,eAGX;AAHD,WAAY,eAAe;IACvB,sCAAmB,CAAA;IACnB,oCAAiB,CAAA;AACrB,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B;AAiBD,MAAM,QAAQ,GAAG,MAAM,CAAC,qBAAqB;IAKzC,UAAU,QAAkB,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9E,MAAM,UAAU,GAAG,MAAM,CAAC,oBAAoB;IAK1C,UAAU,MAAc,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/D,MAAM,SAAS,GAAG,SAAS,CAAC;AAC5B,MAAM,WAAW,GAAG,WAAW,CAAC;AAChC,MAAM,SAAS,GAAG,SAAS,CAAC;AAC5B,MAAM,SAAS,GAAG,SAAS,CAAC;AAE5B,MAAM,IAAI,GAAG,MAAM,CAAC;AAmBpB,SAAgB,IAAI,CAAoC,KASvD;IACG,OAAO,IAAI,IAAI,CACX,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,EAAE,CAEX,CAAC;AACN,CAAC;AAnBD,oBAmBC;AA6BD,SAAgB,MAAM,CAAoC,KASzD;IAEG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;QAC/B,cAAc,CAAC,MAAM,CACjB,KAAK,CAAC,EAAE,EACR,MAAM,WAAY,SAAQ,WAAW;YACjC,MAAM,KAAK,kBAAkB;;gBACzB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC5B,OAAO,CAAA,MAAA,KAAK,CAAC,UAAU,mCAAI,OAAO,KAAK,KAAK,QAAQ;oBAChD,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC;oBAC9B,CAAC,CAAC,EAAE,CAAC;YACb,CAAC;YAID;gBACI,KAAK,EAAE,CAAC;gBACR,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CACnB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,UAAU,EAChB,SAAS,EACT,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,EAAE,CAEX,CAAC;gBACD,IAAI,CAAC,OAAe,CAAC,aAAa,GAAG,IAAI,CAAC;YAC/C,CAAC;YAED,iBAAiB;gBAEb,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;gBACpC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAiB,CAAC,CAAC;YAC/C,CAAC;YAED,oBAAoB;gBAChB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1B,CAAC;YAED,eAAe;gBACX,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1B,CAAC;YAED,wBAAwB,CACpB,QAAgB,EAChB,MAAqB,EACrB,MAAqB;gBAErB,IAAI,CAAC,OAAO,CAAC,QAAQ,CACjB,WAAW,CAAC,SAAgB,EAC5B,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACtC,CAAC;SACJ,CACJ,CAAC;KACL;AACL,CAAC;AAhED,wBAgEC;AAKD,MAAa,IAAI;IAmCb,YACI,KAAoB,EACpB,IAA+B,EAC/B,UAA4C,EAC5C,OAAiC,EACjC,KAAe,EACf,EAAW;QAxBN,SAAI,GAAmC,EAAE,CAAC;QA0CnD,aAAQ,GAA2B,CAC/B,IAAiB,EACjB,IAAU,EACV,KAAsB,EACT,EAAE;YACf,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC9D,CAAC,CAAA,CAAA;QAmFD,WAAM,GAAG,GAA2B,EAAE;YAClC,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBAC7B,IAAI,KAAK,CAAC;gBACV,IAAI;oBACA,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACjC;gBAAC,OAAO,CAAC,EAAE;oBACR,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;iBACrC;gBACD,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBACrD,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;aACtB;iBAAM;gBACH,IAAI,KAAK,CAAC;gBACV,IAAI;oBACA,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACjC;gBAAC,OAAO,CAAC,EAAE;oBACR,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;iBACrC;gBACD,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;aACtB;QACL,CAAC,CAAA;QAKD,aAAQ,GAAG,CAAC,UAAuB,EAAE,IAAiB,EAAE,KAAY,EAAQ,EAAE;YAC1E,IAAI,GAAG,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,MAAK,QAAQ,CAAC;gBACnC,CAAC,CAAE,IAAuB,CAAC,KAAK,CAAC;gBACjC,CAAC,CAAC,IAAI,CAAC;YACX,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,EAAE;gBAC7B,IAAI,KAAK,YAAY,WAAW,EAAE;oBAC9B,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;iBACvB;qBAAM;oBACH,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAQ,CAAC;iBAOjC;aACJ;YACD,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC,CAAA;QAsBD,UAAK,GAAG,CAAC,CAA0B,EAAQ,EAAE;YACzC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,IAAI,EAAE,IAAK,EAAU,CAAC,IAAI,CAAC,EAAE;gBACzB,MAAM,CAAC,GAAI,EAAU,CAAC,IAAI,CAA6B,CAAC;gBACxD,CAAC,CAAC,MAAM,EAAE,CAAC;aACd;YACD,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACpB,IAAY,CAAC,OAAO,GAAG,EAAE,CAAC;gBAC1B,EAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;gBACzB,MAAM,KAAK,GAAI,IAAY,CAAC,MAAM,EAAE,CAAC;gBACrC,IAAI,CAAC,UAAU,CAAc,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC9C,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;aACzD;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA;QAKD,WAAM,GAAG,GAAS,EAAE;YAChB,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvD,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;oBACjC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;iBACtC;gBACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;gBAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACpC,MAAM,CAAC,GAAI,MAAM,CAAC,CAAC,CAAS,CAAC,IAAgC,CAAC;oBAC9D,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,MAAM,EAAE,CAAC;iBACf;gBACD,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAuB;oBACjD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;iBACrD;gBACD,OAAQ,IAAI,CAAC,OAAe,CAAC,IAAI,CAAC;gBACjC,IAAY,CAAC,OAAO,GAAG,SAAS,CAAC;aACrC;YACD,IAAI,IAAI,CAAC,qBAAqB,EAAE;gBAC5B,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;aAC9E;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA;QAKD,WAAM,GAAG,GAAS,EAAE;YAChB,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBACpC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,GAAG,EAAE;oBAC9B,IAAI,IAAI,CAAC,OAAO,EAAE;wBACd,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;wBAC5B,IAAI,CAAC,UAAU,CAAc,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;qBAC3D;oBACD,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;gBAClC,CAAC,CAAC,CAAC;aACN;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA;QAED,WAAM,GAAG,GAA0B,EAAE;YACjC,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,IAAI,CAAC,YAAY,EAAE;oBACnB,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC9B,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;iBACjC;qBAAM;oBACH,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBAClC;aACJ;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CACN,CAAC,CAAU,EAAE,EAAE;gBACX,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;oBACd,IAAY,CAAC,OAAO,GAAG,CAAC,CAAC;oBACzB,CAAS,CAAC,IAAI,GAAG,IAAI,CAAC;oBACvB,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;iBACzD;YACL,CAAC,CAAC,CAAC;YACP,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAA;QAED,WAAM,GAAG,GAAW,EAAE;YAClB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,CAAC,CAAA;QA3PG,IAAI,CAAC,EAAE,GAAG,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,IAAI,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,KAAK,CAAC;QAK5B,IAAI,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,CAAC,CAAO,CAAC,EAAE,EAAE,gDAAC,OAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA,GAAA,CAAC,CAAC;QAC5F,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5F,CAAC;IAkBa,eAAe,CACzB,IAA4C,EAC5C,IAAU,EACV,KAAa,EACb,KAAsB;;YAEtB,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBACpD,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC/C,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;aAC/D;iBAAM;gBACH,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;aAClD;QACL,CAAC;KAAA;IAEa,SAAS,CACnB,IAA4C,EAC5C,IAAS,EACT,KAAa,EACb,KAAsB;;YAEtB,IAAI,CAAC,KAAK,EAAE;gBACR,IAAI;oBACA,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CACpC,EAAE,IAAI,EAAE,IAAmB,EAAE,IAAI,EAAE,KAAK,EAAE,EAC1C,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,QAAQ,CAChB,CAAC;oBACF,IAAI,CAAC,UAAU,EAAE;wBACb,IAAI,CAAC,MAAM,EAAE,CAAC;qBACjB;iBACJ;gBAAC,OAAO,CAAC,EAAE;oBACR,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;iBACvC;aACJ;YACD,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACzD,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3D,CAAC;KAAA;IAEa,gBAAgB,CAC1B,IAA4C,EAC5C,IAAU;;YAEV,IAAI,CAAC,aAAa,IAAI,0BAA0B,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACzG,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,IAAI,0BAA0B,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAExH,CAAC;KAAA;IAEa,eAAe,CACzB,IAA4C,EAC5C,IAAU;;YACV,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1F,CAAC;KAAA;IAOD,kBAAkB;QACd,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAC7B,IAAI,CAAC,qBAAqB,GAAG,CAAC,KAAY,EAAE,EAAE;gBAC1C,MAAM,MAAM,GAAI,KAAqB,CAAC,MAA8B,CAAC;gBACrE,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACrD,CAAC,CAAC;YACF,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;SAC3E;aAAM;YACH,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;SAClD;IACL,CAAC;IAmDO,UAAU,CACd,EAAW,EACX,IAA4B,EAC5B,GAA6B;QAE7B,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAA,2BAAe,EAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YAC/B,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;SACrD;aAAM;YACH,IAAA,2BAAe,EAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;SAClC;IACL,CAAC;;AA/ML,oBAySC;AAvSU,QAAG,GAAG,OAAO,CAAC,GAAG,AAAd,CAAe;AAClB,UAAK,GAAG,OAAO,CAAC,KAAK,AAAhB,CAAiB;AACtB,SAAI,GAAG,OAAO,CAAC,IAAI,AAAf,CAAgB;AAuS/B,SAAS,0BAA0B,CAC/B,EAAe,EACf,IAAiB,EACjB,IAAS;;IAET,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3D,MAAA,MAAC,EAAU,EAAC,KAAK,IAAI,EAAE,CAAC,mDAAG,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACxE,CAAC;AAsCD,SAAS,QAAQ,CAAC,CAAQ;IACtB,MAAM,EAAE,GAAG,CAAC,CAAC,MAAqB,CAAC;IACnC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QACjB,KAAK,MAAM;YACN,CAAW,CAAC,cAAc,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAa;gBACnB,IAAI,EAAE,EAAE;gBACR,UAAU,EAAE,EAAE;gBACd,KAAK,EAAE,IAAI;aACd,CAAC;YACF,MAAM,GAAG,GAAI,EAAsB,CAAC,QAAQ,CAAC;YAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACjC,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxC,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE;oBAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;oBAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;oBAC5B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;oBAC9B,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;wBAC9B,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;qBAC1B;yBAAM,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,MAAM,EAAE;wBAC/E,IAAI,KAAK,YAAY,KAAK,EAAE;4BACxB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAW,EAAE,GAAG,KAAK,CAAC,CAAC;yBACzD;6BAAM;4BACH,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAW,EAAE,KAAe,CAAC,CAAC;yBAChE;qBACJ;yBAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,KAAK,EAAE;wBACxC,IAAI,KAAK,YAAY,KAAK,EAAE;4BACxB,QAAQ,CAAC,IAAI,CAAC,GAAI,QAAQ,CAAC,IAAI,CAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;yBACjE;6BAAM;4BACF,QAAQ,CAAC,IAAI,CAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;yBAC9C;qBACJ;yBAAM;wBACH,IAAI,KAAK,YAAY,KAAK,EAAE;4BACxB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAW,EAAE,GAAG,KAAK,CAAC,CAAC;yBACzD;6BAAM;4BACH,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAW,EAAE,KAAK,CAAC,CAAC;yBACtD;qBACJ;oBACD,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,KAAK,EAAE;wBACjC,QAAQ,CAAC,IAAI,CAAC,GAAI,QAAQ,CAAC,IAAI,CAAgB;6BAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;wBAC7B,IAAK,GAAG,CAAC,CAAC,CAAsB,CAAC,IAAI,KAAK,OAAO,EAAE;4BAC/C,QAAQ,CAAC,IAAI,CAAC,GAAI,QAAQ,CAAC,IAAI,CAAgB,CAAC,MAAM;gCAClD,CAAC,CAAE,QAAQ,CAAC,IAAI,CAAgB,CAAC,CAAC,CAAC;gCACnC,CAAC,CAAC,IAAI,CAAC;yBACd;qBACJ;oBACD,IAAI,SAAS,CAAC,UAAU,EAAE;wBACtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC;qBAChD;oBACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;wBAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;qBACtB;iBACJ;aACJ;YACD,OAAO,IAAI,CAAC;QAChB;YACI,OAAO,aAAa,CAAC,EAAE,CAAC,CAAC;KAChC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,EAAW;IAG9B,MAAM,GAAG,GAAG,EAAsB,CAAC;IACnC,IAAI,GAAG,CAAC,YAAY,EAAE;QAClB,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE;YAC5B,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,OAAO,EAAE;gBAC1C,IAAK,GAAG,CAAC,QAAgB,CAAC,GAAG,CAAC,EAAE;oBAC5B,MAAM,IAAI,GAAI,GAAW,CAAC,YAAY,CAAC,CAAC;oBACxC,IAAI,IAAI,EAAE;wBACN,MAAM,GAAG,GAAI,IAAY,CAAC,GAAG,CAAC,CAAC;wBAC/B,IAAI,GAAG,EAAE;4BACL,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;4BAE3B,KAAK,GAAG,KAAK,CAAC;4BACd,MAAM;yBACT;6BAAM;4BACH,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;4BAE1B,MAAM;yBACT;qBACJ;iBACJ;aACJ;SACJ;QACD,IAAI,KAAK,EAAE;YACP,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;SAE7B;KACJ;IAED,IAAI,IAA+B,CAAC;IACpC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QACjB,KAAK,OAAO;YACR,MAAM,GAAG,GAAG,EAAsB,CAAC;YACnC,QAAQ,GAAG,CAAC,IAAI,EAAE;gBACd,KAAK,MAAM,CAAC;gBACZ,KAAK,QAAQ,CAAC;gBACd,KAAK,UAAU,CAAC;gBAChB,KAAK,OAAO,CAAC;gBACb,KAAK,QAAQ,CAAC;gBACd,KAAK,KAAK,CAAC;gBACX,KAAK,KAAK,CAAC;gBACX,KAAK,OAAO,CAAC;gBACb,KAAK,QAAQ,CAAC;gBACd,KAAK,QAAQ;oBACT,IAAI,GAAG;wBACH,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,KAAK,EAAE,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK;wBAC1C,UAAU,EAAE,GAAG,CAAC,iBAAiB;wBACjC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK;qBAC5B,CAAC;oBACF,MAAM;gBACV,KAAK,QAAQ,CAAC;gBACd,KAAK,OAAO;oBACR,IAAI,GAAG;wBACH,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC;4BAC3B,CAAC,CAAC,IAAI;4BACN,CAAC,CAAC,GAAG,CAAC,aAAa;wBACvB,WAAW,EAAE,GAAG,CAAC,KAAK;wBACtB,UAAU,EAAE,GAAG,CAAC,iBAAiB;wBACjC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK;qBAC5B,CAAC;oBACF,MAAM;gBACV,KAAK,gBAAgB;oBACjB,IAAI,GAAG;wBACH,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,KAAK,EAAE,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK;wBAC1C,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC;4BACjC,CAAC,CAAC,IAAI;4BACN,CAAC,CAAC,GAAG,CAAC,aAAa;wBACvB,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC;4BAC/B,CAAC,CAAC,IAAI;4BACN,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;wBACjC,UAAU,EAAE,GAAG,CAAC,iBAAiB;wBACjC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK;qBAC5B,CAAC;oBACF,MAAM;gBACV,KAAK,MAAM,CAAC;gBACZ,KAAK,OAAO,CAAC;gBACb,KAAK,MAAM,CAAC;gBACZ,KAAK,MAAM;oBACP,IAAI,GAAG;wBACH,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,KAAK,EAAE,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK;wBAC1C,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC;4BACjC,CAAC,CAAC,IAAI;4BACN,CAAC,CAAC,GAAG,CAAC,aAAa;wBACvB,SAAS,EAAE,GAAG,CAAC,WAAW;wBAC1B,UAAU,EAAE,GAAG,CAAC,iBAAiB;wBACjC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK;qBAC5B,CAAC;oBACF,MAAM;gBACV,KAAK,OAAO;oBACR,IAAI,GAAG;wBACH,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBACrC,WAAW,EAAE,GAAG,CAAC,KAAK;wBACtB,UAAU,EAAE,GAAG,CAAC,iBAAiB;wBACjC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK;qBAC5B,CAAC;oBACF,MAAM;gBACV,KAAK,UAAU;oBACX,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,EAAE;wBACpB,IAAI,GAAG;4BACH,IAAI,EAAE,GAAG,CAAC,IAAI;4BACd,KAAK,EAAE,GAAG,CAAC,OAAO;4BAClB,WAAW,EAAE,GAAG,CAAC,KAAK;4BACtB,UAAU,EAAE,GAAG,CAAC,iBAAiB;4BACjC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK;yBAC5B,CAAC;qBACL;yBAAM;wBACH,IAAI,GAAG;4BACH,IAAI,EAAE,GAAG,CAAC,IAAI;4BACd,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;4BAC7C,WAAW,EAAE,GAAG,CAAC,KAAK;4BACtB,UAAU,EAAE,GAAG,CAAC,iBAAiB;4BACjC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK;yBAC5B,CAAC;qBACL;oBACD,MAAM;gBACV,KAAK,MAAM;oBACP,MAAM,KAAK,GAAI,GAAW,CAAC,KAAiB,CAAC;oBAC7C,MAAM,KAAK,GAAQ,GAAG,CAAC,QAAQ;wBAC3B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;wBACV,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC3C,IAAI,GAAG;wBACH,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,KAAK;wBACL,WAAW,EAAE,GAAG,CAAC,KAAK;wBACtB,UAAU,EAAE,GAAG,CAAC,iBAAiB;wBACjC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK;qBAC5B,CAAC;oBACF,MAAM;aACb;YACD,MAAM;QACV,KAAK,QAAQ;YACT,MAAM,GAAG,GAAG,EAAuB,CAAC;YACpC,IAAI,GAAG,CAAC,QAAQ,EAAE;gBACd,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACjE,IAAI,GAAG;oBACH,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,KAAK,EAAE,MAAM;oBACb,WAAW,EAAE,GAAG,CAAC,KAAK;oBACtB,UAAU,EAAE,GAAG,CAAC,iBAAiB;oBACjC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK;iBAC5B,CAAC;aACL;iBAAM;gBACH,IAAI,GAAG;oBACH,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,KAAK,EAAE,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK;oBAC1C,UAAU,EAAE,GAAG,CAAC,iBAAiB;oBACjC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK;iBAC5B,CAAC;aACL;YACD,MAAM;QACV,KAAK,UAAU;YACX,MAAM,GAAG,GAAG,EAAyB,CAAC;YACtC,IAAI,GAAG;gBACH,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,KAAK,EAAE,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK;gBAC1C,UAAU,EAAE,GAAG,CAAC,iBAAiB;gBACjC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK;aAC5B,CAAC;YACF,MAAM;QACV,KAAK,QAAQ;YACT,MAAM,GAAG,GAAG,EAAuB,CAAC;YACpC,IAAI,GAAG;gBACH,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,KAAK,EAAE,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK;gBAC1C,UAAU,EAAE,GAAG,CAAC,iBAAiB;gBACjC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK;aAC5B,CAAC;YACF,MAAM;KACb;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "peryl",
3
- "version": "1.5.21",
3
+ "version": "1.5.23",
4
4
  "description": "PeRyL TypeScript library and tools for rapid web development",
5
5
  "keywords": [
6
6
  "PeRyL",
package/src/hash.ts CHANGED
@@ -1,8 +1,8 @@
1
1
 
2
2
  export interface HashUrlData <QueryKeys extends string = string> {
3
- path: string[];
3
+ path: (string | undefined | null)[];
4
4
  query: {
5
- [key in QueryKeys]?: string | string[];
5
+ [key in QueryKeys]?: string | string[] | undefined | null;
6
6
  };
7
7
  }
8
8
 
@@ -16,7 +16,7 @@ export const hashUrlEncode = <QueryKeys extends string = string>(data: HashUrlDa
16
16
  : data as HashUrlData;
17
17
  const dpath = d.path ?? [];
18
18
  const dquery = d.query ?? {};
19
- const path = dpath.map(p => encodeURIComponent(p)).join("/");
19
+ const path = dpath.map(p => encodeURIComponent(p ?? "")).join("/");
20
20
  // const params = new URLSearchParams();
21
21
  const query = Object.entries(dquery)
22
22
  .reduce(
@@ -126,8 +126,7 @@ export class Hash<T = string> {
126
126
  }
127
127
 
128
128
  write(data: T): this {
129
- location.hash = "#" + this._encode(data);
130
- // location.hash = "#" + this._encode(data);
129
+ location.hash = this._encode(data);
131
130
  if (!this._emitWritten) {
132
131
  this._writtenDataJson = JSON.stringify(data);
133
132
  this._cb && this._cb(data);
package/src/hsml-app.ts CHANGED
@@ -47,12 +47,14 @@ export type HDispatch<HActionType extends string> = (
47
47
  scope?: HDispatchScope | HDispatchScopes
48
48
  ) => Promise<void>;
49
49
 
50
+ type SkipUpdate = true;
51
+
50
52
  export type HDispatcher<State, HActionType extends string> = (
51
53
  // this: HApp<State, HActionType>,
52
54
  action: HAction<HActionType | HAppAction | HAppActions>,
53
55
  state: State,
54
56
  dispatch: HDispatch<HActionType>
55
- ) => Promise<void>;
57
+ ) => Promise<void | SkipUpdate>;
56
58
 
57
59
  const schedule = window.requestAnimationFrame ||
58
60
  // window.webkitRequestAnimationFrame ||
@@ -81,7 +83,8 @@ export interface HAppI<State, HActionType extends string> {
81
83
  dispatcher: HDispatcher<State, HActionType>;
82
84
  element?: Element | string | null;
83
85
  debug?: boolean;
84
- name?: string;
86
+ /** Pattern ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ */
87
+ id?: string;
85
88
  attributes?: string[];
86
89
  }
87
90
 
@@ -97,7 +100,8 @@ export function happ<State, HActionType extends string>(hAppI: {
97
100
  dispatcher: HDispatcher<State, HActionType>;
98
101
  element: Element | string | null;
99
102
  debug?: boolean;
100
- name?: string;
103
+ /** Pattern ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ */
104
+ id?: string;
101
105
  // attributes?: string[];
102
106
  }) {
103
107
  return new HApp<State, HActionType>(
@@ -106,7 +110,7 @@ export function happ<State, HActionType extends string>(hAppI: {
106
110
  hAppI.dispatcher,
107
111
  hAppI.element,
108
112
  hAppI.debug,
109
- hAppI.name
113
+ hAppI.id
110
114
  // hAppI!.attributes
111
115
  );
112
116
  }
@@ -117,8 +121,9 @@ export function happ<State, HActionType extends string>(hAppI: {
117
121
  // hAppI: Class<HAppI<State, HActionType>>,
118
122
  // element?: Element | string | null,
119
123
  // debug? boolean,
120
- // name?: string,
121
- // attributes: string[]
124
+ // /** Pattern ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ */
125
+ // id?: string
126
+ // // attributes?: string[]
122
127
  // ) {
123
128
  // const hapi = new hAppI();
124
129
  // return new HApp<State, HActionType>(
@@ -141,60 +146,66 @@ export function happel<State, HActionType extends string>(hAppI: {
141
146
  state: HState<State>;
142
147
  view: HView<State, HActionType>;
143
148
  dispatcher: HDispatcher<State, HActionType>;
144
- /** Element suffix name, element name patern is `happ-${name}` */
145
- name: string;
149
+ /** Pattern ^[a-z]{0,10}-[a-z0-9-]{0,30}[a-z0-9]$ */
150
+ id: string;
146
151
  /** Element attribute list */
147
- attributes: string[];
152
+ attributes?: string[];
148
153
  debug?: boolean;
149
154
  }): void {
150
- customElements.define(
151
- `${HAPP}-${hAppI.name}`,
152
- class HAppElement extends HTMLElement {
153
- static get observedAttributes() {
154
- return hAppI.attributes;
155
- }
155
+ // condition to prevent rerunning on hot module reloads
156
+ if (!customElements.get(hAppI.id)) {
157
+ customElements.define(
158
+ hAppI.id,
159
+ class HAppElement extends HTMLElement {
160
+ static get observedAttributes() {
161
+ const state = hAppI.state();
162
+ return hAppI.attributes ?? typeof state === "object"
163
+ ? Object.keys(state as object)
164
+ : [];
165
+ }
156
166
 
157
- private _happel: HApp<State, HActionType>;
158
-
159
- constructor() {
160
- super();
161
- this._happel = new HApp<State, HActionType>(
162
- hAppI.state,
163
- hAppI.view,
164
- hAppI.dispatcher,
165
- undefined,
166
- hAppI.debug,
167
- hAppI.name,
168
- hAppI.attributes
169
- );
170
- (this._happel as any).customElement = this;
171
- }
167
+ private _happel: HApp<State, HActionType>;
168
+
169
+ constructor() {
170
+ super();
171
+ this._happel = new HApp<State, HActionType>(
172
+ hAppI.state,
173
+ hAppI.view,
174
+ hAppI.dispatcher,
175
+ undefined,
176
+ hAppI.debug,
177
+ hAppI.id
178
+ // hAppI.attributes
179
+ );
180
+ (this._happel as any).customElement = this;
181
+ }
172
182
 
173
- connectedCallback() {
174
- // this._happel.mount(this);
175
- this.attachShadow({ mode: "open" });
176
- this._happel.mount(this.shadowRoot as any);
177
- }
183
+ connectedCallback() {
184
+ // this._happel.mount(this);
185
+ this.attachShadow({ mode: "open" });
186
+ this._happel.mount(this.shadowRoot as any);
187
+ }
178
188
 
179
- disconnectedCallback() {
180
- this._happel.umount();
181
- }
189
+ disconnectedCallback() {
190
+ this._happel.umount();
191
+ }
182
192
 
183
- adoptedCallback() {
184
- this._happel.update();
185
- }
193
+ adoptedCallback() {
194
+ this._happel.update();
195
+ }
186
196
 
187
- attributeChangedCallback(
188
- attrName: string,
189
- oldVal: string | null,
190
- newVal: string | null
191
- ) {
192
- this._happel.dispatch(
193
- HAppActions.attribute as any,
194
- { attrName, oldVal, newVal });
197
+ attributeChangedCallback(
198
+ attrName: string,
199
+ oldVal: string | null,
200
+ newVal: string | null
201
+ ) {
202
+ this._happel.dispatch(
203
+ HAppActions.attribute as any,
204
+ { attrName, oldVal, newVal });
205
+ }
195
206
  }
196
- }
197
- );
207
+ );
208
+ }
198
209
  }
199
210
 
200
211
  /**
@@ -212,8 +223,9 @@ export class HApp<State, HActionType extends string> implements HHandlerCtx<HAct
212
223
 
213
224
  debug: boolean;
214
225
 
215
- readonly name: string;
216
- readonly attributes: string[];
226
+ /** Pattern ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ */
227
+ readonly id: string;
228
+ // readonly attributes?: string[];
217
229
 
218
230
  readonly element?: HTMLElement;
219
231
  readonly refs: { [key: string]: HTMLElement } = {};
@@ -226,21 +238,32 @@ export class HApp<State, HActionType extends string> implements HHandlerCtx<HAct
226
238
 
227
239
  private _windowActionListener?: (event: Event) => void;
228
240
 
241
+ /**
242
+ * @param state State init function
243
+ * @param view View renderer function
244
+ * @param dispatcher Dispatcher function
245
+ * @param element Root element
246
+ * @param debug Debug mode
247
+ * @param id HApp ID, pattern "^[a-z][a-z0-9-]{0,30}[a-z0-9]$"
248
+ */
229
249
  constructor(
230
250
  state: HState<State>,
231
251
  view: HView<State, HActionType>,
232
252
  dispatcher?: HDispatcher<State, HActionType>,
233
253
  element?: Element | string | null,
234
254
  debug?: boolean ,
235
- name?: string,
236
- attributes?: string[]
255
+ id?: string,
256
+ // attributes?: string[]
237
257
  ) {
258
+ this.id = id ?? HAPP;
238
259
  this.debug = debug ?? false;
239
- this.name = name ?? HAPP;
240
- this.attributes = attributes ?? [];
260
+ // this.attributes = attributes ?? [];
261
+ // this.attributes = attributes ?? typeof state() === "object"
262
+ // ? Object.keys(state() as object)
263
+ // : [];
241
264
  this.state = state();
242
265
  this.view = view;
243
- this.dispatcher = dispatcher ?? (async (a) => HApp.log(this.name, msgAction, a.type, a.data));
266
+ this.dispatcher = dispatcher ?? (async (a) => HApp.log(this.id, msgAction, a.type, a.data));
244
267
  this._dispatchAction(HAppActions.init, this).then(() => element && this.mount(element));
245
268
  }
246
269
 
@@ -267,11 +290,11 @@ export class HApp<State, HActionType extends string> implements HHandlerCtx<HAct
267
290
  scope?: HDispatchScope
268
291
  ): Promise<void> {
269
292
  if (this.debug) {
270
- HApp.log(this.name, msgAction, { type, data, event });
293
+ HApp.log(this.id, msgAction, { type, data, event });
271
294
  const t0 = performance.now();
272
295
  await this._dispatch(type, data, event, scope);
273
296
  const t1 = performance.now();
274
- HApp.log(this.name, msgDispatch, `${t1 - t0} ms`, this.state);
297
+ HApp.log(this.id, msgDispatch, `${t1 - t0} ms`, this.state);
275
298
  } else {
276
299
  await this._dispatch(type, data, event, scope);
277
300
  }
@@ -285,15 +308,17 @@ export class HApp<State, HActionType extends string> implements HHandlerCtx<HAct
285
308
  ): Promise<void> {
286
309
  if (!scope) {
287
310
  try {
288
- await this.dispatcher(
311
+ const skipUpdate = await this.dispatcher(
289
312
  { type: type as HActionType, data, event },
290
313
  this.state,
291
314
  this.dispatch
292
315
  );
316
+ if (!skipUpdate) {
317
+ this.update();
318
+ }
293
319
  } catch (e) {
294
- HApp.error(this.name, msgDispatch, e);
320
+ HApp.error(this.id, msgDispatch, e);
295
321
  }
296
- this.update();
297
322
  }
298
323
  scope === "element" && this._dispatchElement(type, data);
299
324
  scope === "window" && this._dispatchWindow(type, data);
@@ -341,17 +366,17 @@ export class HApp<State, HActionType extends string> implements HHandlerCtx<HAct
341
366
  try {
342
367
  hsmls = this.view(this.state);
343
368
  } catch (e) {
344
- HApp.error(this.name, msgRender, e);
369
+ HApp.error(this.id, msgRender, e);
345
370
  }
346
371
  const t1 = performance.now();
347
- HApp.log(this.name, msgRender, `${t1 - t0} ms`, hsmls);
372
+ HApp.log(this.id, msgRender, `${t1 - t0} ms`, hsmls);
348
373
  return hsmls ?? [];
349
374
  } else {
350
375
  let hsmls;
351
376
  try {
352
377
  hsmls = this.view(this.state);
353
378
  } catch (e) {
354
- HApp.error(this.name, msgRender, e);
379
+ HApp.error(this.id, msgRender, e);
355
380
  }
356
381
  return hsmls ?? [];
357
382
  }
@@ -389,7 +414,7 @@ export class HApp<State, HActionType extends string> implements HHandlerCtx<HAct
389
414
  const t0 = performance.now();
390
415
  hsmls2idomPatch(el, hsml, ctx);
391
416
  const t1 = performance.now();
392
- HApp.log(this.name, msgUpdate, `${t1 - t0} ms`, el);
417
+ HApp.log(this.id, msgUpdate, `${t1 - t0} ms`, el);
393
418
  } else {
394
419
  hsmls2idomPatch(el, hsml, ctx);
395
420
  }
@@ -1,50 +0,0 @@
1
- class $571ecd486c0e84ba$export$2c816677949efbbf {
2
- static init(trackingId, dimensions) {
3
- $571ecd486c0e84ba$export$2c816677949efbbf.ga = new $571ecd486c0e84ba$export$2c816677949efbbf(trackingId, dimensions);
4
- }
5
- static pageview(path, title) {
6
- if ($571ecd486c0e84ba$export$2c816677949efbbf.ga) $571ecd486c0e84ba$export$2c816677949efbbf.ga.pageview(path, title);
7
- }
8
- static event(name, parameters) {
9
- if ($571ecd486c0e84ba$export$2c816677949efbbf.ga) $571ecd486c0e84ba$export$2c816677949efbbf.ga.event(name, parameters);
10
- }
11
- static set(parameters) {
12
- if ($571ecd486c0e84ba$export$2c816677949efbbf.ga) $571ecd486c0e84ba$export$2c816677949efbbf.ga.set(parameters);
13
- }
14
- constructor(trackingId, dimensions){
15
- this._trackingId = trackingId;
16
- this._load();
17
- }
18
- pageview(path, title) {
19
- if (this._trackingId) self.gtag("config", this._trackingId, {
20
- page_path: path,
21
- page_title: title
22
- });
23
- }
24
- event(name, parameters) {
25
- if (this._trackingId) self.gtag("event", name, parameters);
26
- }
27
- set(parameters) {
28
- if (this._trackingId) self.gtag("set", parameters);
29
- }
30
- _load() {
31
- if (this._trackingId) {
32
- const script = document.createElement("script");
33
- script.async = true;
34
- script.src = `https://www.googletagmanager.com/gtag/js?id=${this._trackingId}`;
35
- document.getElementsByTagName("head")[0].appendChild(script);
36
- const script1 = document.createElement("script");
37
- script1.textContent = `
38
- window.dataLayer = window.dataLayer || [];
39
- function gtag(){dataLayer.push(arguments);}
40
- gtag('js', new Date());
41
- gtag('config', '${this._trackingId}');
42
- `;
43
- document.getElementsByTagName("head")[0].appendChild(script1);
44
- }
45
- }
46
- }
47
-
48
-
49
- export {$571ecd486c0e84ba$export$2c816677949efbbf as GA};
50
- //# sourceMappingURL=google-analytics.js.map