@brandup/ui-app 1.0.16 → 1.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +152 -138
- package/dist/cjs/index.js.map +1 -1
- package/dist/mjs/index.js +152 -139
- package/dist/mjs/index.js.map +1 -1
- package/dist/types.d.ts +25 -23
- package/package.json +3 -3
package/dist/cjs/index.js
CHANGED
|
@@ -14,22 +14,17 @@ class MiddlewareInvoker {
|
|
|
14
14
|
else
|
|
15
15
|
this.__next = new MiddlewareInvoker(middleware);
|
|
16
16
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
await this.__exec(method, context);
|
|
20
|
-
}
|
|
21
|
-
catch (e) {
|
|
22
|
-
console.error(`Error middleware "${method}" execution: ${e}`);
|
|
23
|
-
throw e;
|
|
24
|
-
}
|
|
17
|
+
invoke(method, context) {
|
|
18
|
+
return this.__exec(method, context);
|
|
25
19
|
}
|
|
26
20
|
async __exec(method, context) {
|
|
27
21
|
const nextFunc = () => this.__next ? this.__next.__exec(method, context) : Promise.resolve();
|
|
22
|
+
context.abort.throwIfAborted();
|
|
28
23
|
const methodFunc = this.middleware[method];
|
|
29
24
|
if (typeof methodFunc === "function") {
|
|
30
25
|
const methodResult = methodFunc.call(this.middleware, context, nextFunc);
|
|
31
26
|
if (!methodResult || !(methodResult instanceof Promise))
|
|
32
|
-
throw new Error(`Middleware method "${method}" is not async.`);
|
|
27
|
+
throw new Error(`Middleware "${this.middleware.name}" method "${method}" is not async.`);
|
|
33
28
|
await methodResult;
|
|
34
29
|
}
|
|
35
30
|
else
|
|
@@ -141,9 +136,7 @@ var browser = /*#__PURE__*/Object.freeze({
|
|
|
141
136
|
const HYPERLINK_MIDDLEWARE_NAME = "app-hyperlink";
|
|
142
137
|
const HyperLinkMiddlewareFactory = () => {
|
|
143
138
|
let __ctrlPressed = false;
|
|
144
|
-
const onKeyDownUp = (e) =>
|
|
145
|
-
__ctrlPressed = e.ctrlKey;
|
|
146
|
-
};
|
|
139
|
+
const onKeyDownUp = (e) => __ctrlPressed = e.ctrlKey;
|
|
147
140
|
let onClick;
|
|
148
141
|
return {
|
|
149
142
|
name: HYPERLINK_MIDDLEWARE_NAME,
|
|
@@ -183,6 +176,7 @@ const HyperLinkMiddlewareFactory = () => {
|
|
|
183
176
|
elem.classList.add(result.LoadingElementClass);
|
|
184
177
|
context.app
|
|
185
178
|
.nav({ url, replace: elem.hasAttribute(result.NavUrlReplaceAttributeName), data: { clickElem: elem } })
|
|
179
|
+
.catch(() => { })
|
|
186
180
|
.finally(() => elem.classList.remove(result.LoadingElementClass));
|
|
187
181
|
}, false);
|
|
188
182
|
BROWSER.window.addEventListener("keydown", onKeyDownUp, false);
|
|
@@ -197,52 +191,6 @@ const HyperLinkMiddlewareFactory = () => {
|
|
|
197
191
|
};
|
|
198
192
|
};
|
|
199
193
|
|
|
200
|
-
const FORM_MIDDLEWARE_NAME = "app-form";
|
|
201
|
-
const FormMiddlewareFactory = () => {
|
|
202
|
-
let onWindowSubmit;
|
|
203
|
-
return {
|
|
204
|
-
name: FORM_MIDDLEWARE_NAME,
|
|
205
|
-
start: async (context, next) => {
|
|
206
|
-
await next();
|
|
207
|
-
BROWSER.window.addEventListener("submit", onWindowSubmit = (e) => {
|
|
208
|
-
const form = e.target;
|
|
209
|
-
if (!form.classList.contains(result.FormClassName))
|
|
210
|
-
return;
|
|
211
|
-
e.preventDefault();
|
|
212
|
-
context.app.submit({ form, button: e.submitter instanceof HTMLButtonElement ? e.submitter : null });
|
|
213
|
-
}, false);
|
|
214
|
-
},
|
|
215
|
-
submit: async (context, next) => {
|
|
216
|
-
const { form, button, method } = context;
|
|
217
|
-
if (!form.checkValidity())
|
|
218
|
-
return Promise.reject('Form is invalid.');
|
|
219
|
-
if (form.classList.contains(result.LoadingElementClass))
|
|
220
|
-
return form["_submit_"];
|
|
221
|
-
form.classList.add(result.LoadingElementClass);
|
|
222
|
-
if (button)
|
|
223
|
-
button.classList.add(result.LoadingElementClass);
|
|
224
|
-
context.replace = form.hasAttribute(result.NavUrlReplaceAttributeName);
|
|
225
|
-
if (button && button.hasAttribute(result.NavUrlReplaceAttributeName))
|
|
226
|
-
context.replace = true;
|
|
227
|
-
try {
|
|
228
|
-
if (method === "GET")
|
|
229
|
-
await context.app.nav({ url: context.url, query: new FormData(form), data: context.data });
|
|
230
|
-
else
|
|
231
|
-
await next();
|
|
232
|
-
}
|
|
233
|
-
finally {
|
|
234
|
-
form.classList.remove(result.LoadingElementClass);
|
|
235
|
-
if (button)
|
|
236
|
-
button.classList.remove(result.LoadingElementClass);
|
|
237
|
-
}
|
|
238
|
-
},
|
|
239
|
-
stop: (_context, next) => {
|
|
240
|
-
BROWSER.window.removeEventListener("submit", onWindowSubmit, false);
|
|
241
|
-
return next();
|
|
242
|
-
}
|
|
243
|
-
};
|
|
244
|
-
};
|
|
245
|
-
|
|
246
194
|
const parseUrl = (url) => {
|
|
247
195
|
const loc = BROWSER.location;
|
|
248
196
|
let origin = loc.origin;
|
|
@@ -410,45 +358,48 @@ var url = /*#__PURE__*/Object.freeze({
|
|
|
410
358
|
default: urlHelper
|
|
411
359
|
});
|
|
412
360
|
|
|
361
|
+
const NAV_OVERIDE_ERROR = "NavigationOveride";
|
|
413
362
|
/**
|
|
414
363
|
* Base application class.
|
|
415
364
|
*/
|
|
416
365
|
class Application extends ui.UIElement {
|
|
366
|
+
/** Application environment. */
|
|
417
367
|
env;
|
|
368
|
+
/** Application model. */
|
|
418
369
|
model;
|
|
419
|
-
|
|
370
|
+
/** Application middleware invoker. */
|
|
371
|
+
invoker;
|
|
420
372
|
__isInitialized = false;
|
|
421
373
|
__isDestroy = false;
|
|
422
374
|
__middlewares = {};
|
|
423
|
-
|
|
375
|
+
__globalSubmit;
|
|
376
|
+
__execNav; // current navigation invoking
|
|
377
|
+
__lastNav; // last success navigation
|
|
424
378
|
constructor(env, model, ...args) {
|
|
425
379
|
super();
|
|
426
380
|
this.env = env;
|
|
427
381
|
this.model = model;
|
|
428
382
|
const core = { name: "app-root" };
|
|
429
|
-
this.
|
|
383
|
+
this.invoker = new MiddlewareInvoker(core);
|
|
430
384
|
}
|
|
431
385
|
get typeName() { return "Application"; }
|
|
432
|
-
/** Middleware methods invoker. */
|
|
433
|
-
get invoker() { return this.__invoker; }
|
|
434
386
|
/** @internal */
|
|
435
387
|
initialize(middlewares) {
|
|
436
388
|
if (this.__isInitialized)
|
|
437
|
-
throw 'Application already initialized.';
|
|
389
|
+
throw new Error('Application already initialized.');
|
|
438
390
|
this.__isInitialized = true;
|
|
439
391
|
this.onInitialize();
|
|
440
392
|
middlewares.forEach(middleware => {
|
|
441
393
|
var name = middleware.name;
|
|
442
394
|
if (this.__middlewares.hasOwnProperty(name))
|
|
443
|
-
throw `Middleware "${name}" already registered
|
|
395
|
+
throw new Error(`Middleware "${name}" already registered.`);
|
|
444
396
|
this.__middlewares[name] = middleware;
|
|
445
|
-
this.
|
|
397
|
+
this.invoker.next(middleware);
|
|
446
398
|
});
|
|
447
399
|
}
|
|
448
400
|
onInitialize() {
|
|
449
|
-
this.
|
|
450
|
-
this.
|
|
451
|
-
this.__invoker.next(FormMiddlewareFactory());
|
|
401
|
+
this.invoker.next(StateMiddlewareFactory());
|
|
402
|
+
this.invoker.next(HyperLinkMiddlewareFactory());
|
|
452
403
|
}
|
|
453
404
|
/**
|
|
454
405
|
* Get middleware by type.
|
|
@@ -458,7 +409,7 @@ class Application extends ui.UIElement {
|
|
|
458
409
|
middleware(name) {
|
|
459
410
|
const middleware = this.__middlewares[name];
|
|
460
411
|
if (!middleware)
|
|
461
|
-
throw `Middleware ${name} is not registered
|
|
412
|
+
throw new Error(`Middleware ${name} is not registered.`);
|
|
462
413
|
return middleware;
|
|
463
414
|
}
|
|
464
415
|
/**
|
|
@@ -471,24 +422,36 @@ class Application extends ui.UIElement {
|
|
|
471
422
|
if (!contextData)
|
|
472
423
|
contextData = {};
|
|
473
424
|
this.setElement(element || BROWSER.body);
|
|
425
|
+
const abort = new AbortController();
|
|
426
|
+
const context = {
|
|
427
|
+
abort: abort.signal,
|
|
428
|
+
app: this,
|
|
429
|
+
data: contextData
|
|
430
|
+
};
|
|
474
431
|
try {
|
|
475
|
-
|
|
476
|
-
app: this,
|
|
477
|
-
data: contextData
|
|
478
|
-
};
|
|
479
|
-
await this.__invoker.invoke("start", context);
|
|
432
|
+
await this.invoker.invoke("start", context);
|
|
480
433
|
console.info("app start success");
|
|
481
|
-
|
|
434
|
+
abort.signal.throwIfAborted();
|
|
435
|
+
BROWSER.window.addEventListener("submit", this.__globalSubmit = (e) => {
|
|
436
|
+
const form = e.target;
|
|
437
|
+
if (!form.classList.contains(result.FormClassName))
|
|
438
|
+
return;
|
|
439
|
+
e.preventDefault();
|
|
440
|
+
this.__onSubmit({ form, button: e.submitter instanceof HTMLButtonElement ? e.submitter : null })
|
|
441
|
+
.catch(() => { });
|
|
442
|
+
}, false);
|
|
443
|
+
await this.invoker.invoke("loaded", context);
|
|
482
444
|
console.info("app load success");
|
|
445
|
+
abort.signal.throwIfAborted();
|
|
446
|
+
console.info("app runned");
|
|
483
447
|
return await this.nav({ data: context.data });
|
|
484
448
|
}
|
|
485
449
|
catch (reason) {
|
|
486
|
-
|
|
450
|
+
if (this.__globalSubmit)
|
|
451
|
+
BROWSER.window.removeEventListener("submit", this.__globalSubmit);
|
|
452
|
+
console.error(`Error run application: ${reason}`);
|
|
487
453
|
throw reason;
|
|
488
454
|
}
|
|
489
|
-
finally {
|
|
490
|
-
console.info("app runned");
|
|
491
|
-
}
|
|
492
455
|
}
|
|
493
456
|
/**
|
|
494
457
|
* Navigate application to url.
|
|
@@ -497,14 +460,28 @@ class Application extends ui.UIElement {
|
|
|
497
460
|
*/
|
|
498
461
|
async nav(options) {
|
|
499
462
|
const opt = (!options || typeof options === "string") ? { url: options } : options;
|
|
500
|
-
let { url = null, replace = false, data = {}
|
|
463
|
+
let { url = null, replace = false, data = {} } = opt;
|
|
501
464
|
const navUrl = urlHelper.parseUrl(url);
|
|
502
465
|
if (opt.query)
|
|
503
466
|
urlHelper.extendQuery(navUrl, opt.query);
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
467
|
+
let isFirst = !this.__lastNav && !this.__execNav;
|
|
468
|
+
let parentNav;
|
|
469
|
+
if (this.__execNav && this.__execNav.status === "work") {
|
|
470
|
+
parentNav = this.__execNav;
|
|
471
|
+
parentNav.abort.abort(NAV_OVERIDE_ERROR);
|
|
472
|
+
parentNav.context.overided = true;
|
|
473
|
+
}
|
|
474
|
+
const abort = new AbortController();
|
|
475
|
+
const externalAbort = opt.abort;
|
|
476
|
+
if (externalAbort)
|
|
477
|
+
externalAbort.addEventListener("abort", () => abort.abort(externalAbort.reason));
|
|
478
|
+
const context = {
|
|
507
479
|
source: isFirst ? "first" : "nav",
|
|
480
|
+
app: this,
|
|
481
|
+
abort: abort.signal,
|
|
482
|
+
current: this.__lastNav?.context,
|
|
483
|
+
parent: parentNav?.context,
|
|
484
|
+
overided: false,
|
|
508
485
|
data,
|
|
509
486
|
url: navUrl.url,
|
|
510
487
|
origin: navUrl.origin,
|
|
@@ -515,76 +492,81 @@ class Application extends ui.UIElement {
|
|
|
515
492
|
external: navUrl.external,
|
|
516
493
|
replace
|
|
517
494
|
};
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
if (callback)
|
|
522
|
-
callback({ status: "success", context: context });
|
|
523
|
-
console.info(`app nav success ${navUrl.full}`);
|
|
524
|
-
return context;
|
|
525
|
-
}
|
|
526
|
-
catch (reason) {
|
|
527
|
-
if (callback)
|
|
528
|
-
callback({ status: "error", context: context });
|
|
529
|
-
console.error(`app nav error ${navUrl.full}: ${reason}`);
|
|
530
|
-
throw reason;
|
|
531
|
-
}
|
|
495
|
+
const currentNav = { id: parentNav ? parentNav.id + 1 : 1, method: "navigate", context, abort, status: "work" };
|
|
496
|
+
await this.__execNavigate(currentNav);
|
|
497
|
+
return context;
|
|
532
498
|
}
|
|
533
|
-
|
|
534
|
-
* Submit application form.
|
|
535
|
-
* @param options Submit options.
|
|
536
|
-
* @returns Promise of submitted result.
|
|
537
|
-
*/
|
|
538
|
-
async submit(options) {
|
|
499
|
+
async __onSubmit(options) {
|
|
539
500
|
const opt = options instanceof HTMLFormElement ? { form: options } : options;
|
|
540
|
-
const { form, button = null, query, data = {}
|
|
501
|
+
const { form, button = null, query, data = {} } = opt;
|
|
502
|
+
if (!form.checkValidity())
|
|
503
|
+
return Promise.reject(new Error('Form is invalid.'));
|
|
504
|
+
let replace = form.hasAttribute(result.NavUrlReplaceAttributeName);
|
|
541
505
|
let method = form.method;
|
|
542
506
|
let enctype = form.enctype;
|
|
543
507
|
let url = form.action;
|
|
544
508
|
if (button) {
|
|
545
|
-
// Get button patameters for request
|
|
546
509
|
if (button.hasAttribute("formmethod"))
|
|
547
510
|
method = button.formMethod;
|
|
548
511
|
if (button.hasAttribute("formenctype"))
|
|
549
512
|
enctype = button.formEnctype;
|
|
550
513
|
if (button.hasAttribute("formaction"))
|
|
551
514
|
url = button.formAction;
|
|
515
|
+
button.classList.add(result.LoadingElementClass);
|
|
516
|
+
if (button.hasAttribute(result.NavUrlReplaceAttributeName))
|
|
517
|
+
replace = true;
|
|
552
518
|
}
|
|
519
|
+
if (form.classList.contains(result.LoadingElementClass))
|
|
520
|
+
return Promise.reject(new Error('Form already submitting.'));
|
|
521
|
+
form.classList.add(result.LoadingElementClass);
|
|
553
522
|
method = method.toUpperCase();
|
|
554
|
-
const navUrl = urlHelper.parseUrl(url);
|
|
555
|
-
if (query)
|
|
556
|
-
urlHelper.extendQuery(navUrl, query);
|
|
557
|
-
let submitContext = {
|
|
558
|
-
app: this,
|
|
559
|
-
source: "submit",
|
|
560
|
-
data,
|
|
561
|
-
form,
|
|
562
|
-
button,
|
|
563
|
-
method,
|
|
564
|
-
enctype,
|
|
565
|
-
url: navUrl.url,
|
|
566
|
-
origin: navUrl.origin,
|
|
567
|
-
pathAndQuery: navUrl.relative,
|
|
568
|
-
path: navUrl.path,
|
|
569
|
-
query: navUrl.query,
|
|
570
|
-
hash: navUrl.hash,
|
|
571
|
-
external: navUrl.external,
|
|
572
|
-
replace: false
|
|
573
|
-
};
|
|
574
523
|
try {
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
524
|
+
if (method === "GET")
|
|
525
|
+
await this.nav({ url, query: new FormData(form), data: data, replace });
|
|
526
|
+
else {
|
|
527
|
+
const navUrl = urlHelper.parseUrl(url);
|
|
528
|
+
if (query)
|
|
529
|
+
urlHelper.extendQuery(navUrl, query);
|
|
530
|
+
let parentNav;
|
|
531
|
+
if (this.__execNav && this.__execNav.status === "work") {
|
|
532
|
+
parentNav = this.__execNav;
|
|
533
|
+
parentNav.abort.abort(NAV_OVERIDE_ERROR);
|
|
534
|
+
parentNav.context.overided = true;
|
|
535
|
+
}
|
|
536
|
+
const abort = new AbortController();
|
|
537
|
+
const externalAbort = opt.abort;
|
|
538
|
+
if (externalAbort)
|
|
539
|
+
externalAbort.addEventListener("abort", () => abort.abort(externalAbort.reason));
|
|
540
|
+
let context = {
|
|
541
|
+
source: "submit",
|
|
542
|
+
app: this,
|
|
543
|
+
abort: abort.signal,
|
|
544
|
+
current: this.__lastNav?.context,
|
|
545
|
+
parent: parentNav?.context,
|
|
546
|
+
overided: false,
|
|
547
|
+
data,
|
|
548
|
+
form,
|
|
549
|
+
button,
|
|
550
|
+
method,
|
|
551
|
+
enctype,
|
|
552
|
+
url: navUrl.url,
|
|
553
|
+
origin: navUrl.origin,
|
|
554
|
+
pathAndQuery: navUrl.relative,
|
|
555
|
+
path: navUrl.path,
|
|
556
|
+
query: navUrl.query,
|
|
557
|
+
hash: navUrl.hash,
|
|
558
|
+
external: navUrl.external,
|
|
559
|
+
replace
|
|
560
|
+
};
|
|
561
|
+
const currentNav = { id: parentNav ? parentNav.id + 1 : 1, method: "submit", context, abort, status: "work" };
|
|
562
|
+
await this.__execNavigate(currentNav);
|
|
563
|
+
}
|
|
580
564
|
}
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
if (
|
|
584
|
-
|
|
585
|
-
throw reason;
|
|
565
|
+
finally {
|
|
566
|
+
form.classList.remove(result.LoadingElementClass);
|
|
567
|
+
if (button)
|
|
568
|
+
button.classList.remove(result.LoadingElementClass);
|
|
586
569
|
}
|
|
587
|
-
return submitContext;
|
|
588
570
|
}
|
|
589
571
|
/**
|
|
590
572
|
* Reload page with nav.
|
|
@@ -603,12 +585,18 @@ class Application extends ui.UIElement {
|
|
|
603
585
|
return Promise.reject('Application already destroyed.');
|
|
604
586
|
this.__isDestroy = true;
|
|
605
587
|
console.info("app destroy begin");
|
|
588
|
+
if (this.__globalSubmit)
|
|
589
|
+
BROWSER.window.removeEventListener("submit", this.__globalSubmit);
|
|
590
|
+
if (this.__execNav)
|
|
591
|
+
this.__execNav.abort.abort();
|
|
592
|
+
const abort = new AbortController();
|
|
606
593
|
const context = {
|
|
594
|
+
abort: abort.signal,
|
|
607
595
|
app: this,
|
|
608
596
|
data: contextData || {}
|
|
609
597
|
};
|
|
610
598
|
try {
|
|
611
|
-
await this.
|
|
599
|
+
await this.invoker.invoke("stop", context);
|
|
612
600
|
console.info("app destroy success");
|
|
613
601
|
return context;
|
|
614
602
|
}
|
|
@@ -630,6 +618,31 @@ class Application extends ui.UIElement {
|
|
|
630
618
|
buildUrl(path, query, hash) {
|
|
631
619
|
return urlHelper.buildUrl(this.env.basePath, path, query, hash);
|
|
632
620
|
}
|
|
621
|
+
async __execNavigate(nav) {
|
|
622
|
+
this.__execNav = nav;
|
|
623
|
+
try {
|
|
624
|
+
console.info(`${nav.method} begin`, nav.context);
|
|
625
|
+
await this.invoker.invoke(nav.method, nav.context);
|
|
626
|
+
this.__lastNav = nav;
|
|
627
|
+
nav.status = "success";
|
|
628
|
+
console.info(`${nav.method} ${nav.status} ${nav.context.url}`);
|
|
629
|
+
}
|
|
630
|
+
catch (reason) {
|
|
631
|
+
if (reason?.name === "AbortError") {
|
|
632
|
+
nav.status = "cancelled";
|
|
633
|
+
console.warn(`${nav.method} ${nav.status} ${nav.context.url}`);
|
|
634
|
+
}
|
|
635
|
+
else if (reason === NAV_OVERIDE_ERROR) {
|
|
636
|
+
nav.status = "overided";
|
|
637
|
+
console.warn(`${nav.method} ${nav.status} ${nav.context.url}`);
|
|
638
|
+
}
|
|
639
|
+
else {
|
|
640
|
+
nav.status = "error";
|
|
641
|
+
console.error(`${nav.method} ${nav.status} ${nav.context.url}: ${reason}`);
|
|
642
|
+
}
|
|
643
|
+
throw reason;
|
|
644
|
+
}
|
|
645
|
+
}
|
|
633
646
|
}
|
|
634
647
|
|
|
635
648
|
class ApplicationBuilder {
|
|
@@ -669,5 +682,6 @@ exports.Application = Application;
|
|
|
669
682
|
exports.ApplicationBuilder = ApplicationBuilder;
|
|
670
683
|
exports.BROWSER = browser;
|
|
671
684
|
exports.CONSTANTS = constants;
|
|
685
|
+
exports.NAV_OVERIDE_ERROR = NAV_OVERIDE_ERROR;
|
|
672
686
|
exports.UrlHelper = url;
|
|
673
687
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../source/middlewares/invoker.ts","../../../source/constants.ts","../../../source/middlewares/state.ts","../../../source/browser.ts","../../../source/middlewares/hyperlink.ts","../../../source/middlewares/form.ts","../../../source/helpers/url.ts","../../../source/app.ts","../../../source/builder.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["CONSTANTS","UIElement","StateMiddleware","HyperLinkMiddleware","FormMiddleware"],"mappings":";;;;MAEa,iBAAiB,CAAA;AACpB,IAAA,UAAU,CAAa;AACxB,IAAA,MAAM,CAAqB;AAEnC,IAAA,WAAA,CAAY,UAAsB,EAAA;AACjC,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;KAC7B;AAED,IAAA,IAAI,CAAC,UAAsB,EAAA;QAC1B,IAAI,IAAI,CAAC,MAAM;AACd,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;;YAE7B,IAAI,CAAC,MAAM,GAAG,IAAI,iBAAiB,CAAC,UAAU,CAAC,CAAC;KACjD;AAED,IAAA,MAAM,MAAM,CAAiC,MAAc,EAAE,OAAiB,EAAA;AAC7E,QAAA,IAAI;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACnC;QACD,OAAO,CAAC,EAAE;YACT,OAAO,CAAC,KAAK,CAAC,CAAA,kBAAA,EAAqB,MAAM,CAAgB,aAAA,EAAA,CAAC,CAAE,CAAA,CAAC,CAAC;AAE9D,YAAA,MAAM,CAAC,CAAC;SACR;KACD;AAEO,IAAA,MAAM,MAAM,CAAC,MAAc,EAAE,OAAsB,EAAA;AAC1D,QAAA,MAAM,QAAQ,GAAmB,MAAM,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAE7G,MAAM,UAAU,GAAqB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC7D,QAAA,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;AACrC,YAAA,MAAM,YAAY,GAAkB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAExF,IAAI,CAAC,YAAY,IAAI,EAAE,YAAY,YAAY,OAAO,CAAC;AACtD,gBAAA,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,CAAA,eAAA,CAAiB,CAAC,CAAC;AAEhE,YAAA,MAAM,YAAY,CAAC;SACnB;;YAEA,MAAM,QAAQ,EAAE,CAAC;KAClB;AACD;;AC7BD,MAAM,MAAM,GAAc;AACzB,IAAA,mBAAmB,EAAE,SAAS;AAC9B,IAAA,eAAe,EAAE,SAAS;AAC1B,IAAA,aAAa,EAAE,SAAS;AACxB,IAAA,mBAAmB,EAAE,cAAc;AACnC,IAAA,0BAA0B,EAAE,kBAAkB;AAC9C,IAAA,sBAAsB,EAAE,iBAAiB;AACzC,IAAA,WAAW,EAAE;AACZ,QAAA,OAAO,EAAE,kBAAkB;AAC3B,QAAA,MAAM,EAAE,iBAAiB;AACzB,QAAA,KAAK,EAAE,gBAAgB;AACvB,KAAA;CACD;;;;;;;ACvBM,MAAM,qBAAqB,GAAG,WAAW,CAAC;AAEjD,MAAM,sBAAsB,GAAG,MAAiB;IAC/C,IAAI,OAAO,GAAW,CAAC,CAAC;AAGxB,IAAA,MAAM,KAAK,GAAG,CAAC,OAAsB,KAAI;AACxC,QAAA,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;AAEvB,QAAA,IAAI,IAAI,KAAK,CAAC,EAAE;AAGf,YAAA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAACA,MAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACpE,YAAA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAACA,MAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;SAClE;AACF,KAAC,CAAA;AAED,IAAA,MAAM,GAAG,GAAG,CAAC,OAAsB,KAAI;AACtC,QAAA,OAAO,EAAE,CAAC;AAEV,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE;YACjB,OAAO,GAAG,CAAC,CAAC;AAEZ,YAAA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAACA,MAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACjE,YAAA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAACA,MAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;SACrE;AACF,KAAC,CAAA;IAED,OAAO;AACN,QAAA,IAAI,EAAE,qBAAqB;AAC3B,QAAA,KAAK,EAAE,OAAO,OAAqB,EAAE,IAAoB,KAAI;YAC5D,KAAK,CAAC,OAAO,CAAC,CAAC;AAEf,YAAA,IAAI;gBACH,MAAM,IAAI,EAAE,CAAC;aACb;YACD,OAAO,MAAM,EAAE;gBACd,GAAG,CAAC,OAAO,CAAC,CAAC;AACb,gBAAA,MAAM,MAAM,CAAC;aACb;SACD;AACD,QAAA,MAAM,EAAE,OAAO,OAAqB,EAAE,IAAoB,KAAI;AAC7D,YAAA,IAAI;gBACH,MAAM,IAAI,EAAE,CAAC;AAEb,gBAAA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAACA,MAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;aAChE;YACD,OAAO,MAAM,EAAE;gBACd,GAAG,CAAC,OAAO,CAAC,CAAC;AACb,gBAAA,MAAM,MAAM,CAAC;aACb;SACD;AACD,QAAA,QAAQ,EAAE,OAAO,OAAwB,EAAE,IAAoB,KAAI;YAClE,KAAK,CAAC,OAAO,CAAC,CAAC;AAEf,YAAA,IAAI;gBACH,MAAM,IAAI,EAAE,CAAC;aACb;oBACO;AACP,gBAAA,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO;oBAC5B,GAAG,CAAC,OAAO,CAAC,CAAC;gBAEd,GAAG,CAAC,OAAO,CAAC,CAAC;aACb;SACD;AACD,QAAA,MAAM,EAAE,OAAO,OAAsB,EAAE,IAAoB,KAAI;AAC9D,YAAA,IAAI;gBACH,MAAM,IAAI,EAAE,CAAC;aACb;oBACO;gBACP,GAAG,CAAC,OAAO,CAAC,CAAC;aACb;SACD;AACD,QAAA,IAAI,EAAE,OAAO,QAAqB,EAAE,IAAoB,KAAI;YAC3D,MAAM,IAAI,EAAE,CAAC;SACb;KACD,CAAC;AACH,CAAC;;AChFD,MAAM,GAAG,GAAG,MAAM,CAAC;AACnB,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;AACtB,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;AAE5B,cAAe;AACd,IAAA,MAAM,EAAE,GAAG;AACX,IAAA,QAAQ,EAAE,GAAG;IACb,IAAI;AACJ,IAAA,QAAQ,EAAE,GAAG;AACb,IAAA,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE;CAC1B;;;;;;;ACPM,MAAM,yBAAyB,GAAG,eAAe,CAAC;AAEzD,MAAM,0BAA0B,GAAG,MAAiB;IACnD,IAAI,aAAa,GAAG,KAAK,CAAC;AAE1B,IAAA,MAAM,WAAW,GAAG,CAAC,CAAgB,KAAI;AACxC,QAAA,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC;AAC3B,KAAC,CAAA;AAED,IAAA,IAAI,OAA4C,CAAC;IAEjD,OAAO;AACN,QAAA,IAAI,EAAE,yBAAyB;AAC/B,QAAA,KAAK,EAAE,OAAO,OAAqB,EAAE,IAAoB,KAAI;YAC5D,MAAM,IAAI,EAAE,CAAC;AAEb,YAAA,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,CAAC,CAAa,KAAI;AACpE,gBAAA,IAAI,IAAI,GAAgB,CAAC,CAAC,MAAc,CAAC;gBACzC,IAAI,MAAM,GAAG,KAAK,CAAC;gBACnB,OAAO,IAAI,EAAE;AACZ,oBAAA,IAAI,IAAI,YAAY,OAAO,EAAE;wBAC5B,IAAI,IAAI,CAAC,YAAY,CAACA,MAAS,CAAC,sBAAsB,CAAC,EAAE;4BACxD,MAAM,GAAG,IAAI,CAAC;4BACd,MAAM;yBACN;AAED,wBAAA,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAACA,MAAS,CAAC,eAAe,CAAC;4BACvE,MAAM;qBACP;AAED,oBAAA,IAAI,IAAI,KAAK,CAAC,CAAC,aAAa;wBAC3B,OAAO;AAER,oBAAA,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;iBAC1B;AAED,gBAAA,IAAI,CAAC,IAAI,IAAI,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,QAAQ;oBACrE,OAAO;gBAER,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;AAEpB,gBAAA,IAAI,MAAM;oBACT,OAAO;AAER,gBAAA,IAAI,GAAkB,CAAC;AACvB,gBAAA,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG;AACvB,oBAAA,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAC5B,qBAAA,IAAI,IAAI,CAAC,YAAY,CAACA,MAAS,CAAC,mBAAmB,CAAC;oBACxD,GAAG,GAAG,IAAI,CAAC,YAAY,CAACA,MAAS,CAAC,mBAAmB,CAAC,CAAC;;AAEvD,oBAAA,MAAM,+BAA+B,CAAC;gBAEvC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAACA,MAAS,CAAC,mBAAmB,CAAC;oBACzD,OAAO;gBACR,IAAI,CAAC,SAAS,CAAC,GAAG,CAACA,MAAS,CAAC,mBAAmB,CAAC,CAAC;AAElD,gBAAA,OAAO,CAAC,GAAG;qBACT,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAACA,MAAS,CAAC,0BAA0B,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;AACzG,qBAAA,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAACA,MAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC;aACtE,EAAE,KAAK,CAAC,CAAC;YAEV,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;YAC/D,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;SAC7D;AACD,QAAA,IAAI,EAAE,CAAC,QAAqB,EAAE,IAAoB,KAAI;YACrD,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAC5D,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;YAClE,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;YAEhE,OAAO,IAAI,EAAE,CAAC;SACd;KACD,CAAC;AACH,CAAC;;ACzEM,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAE/C,MAAM,qBAAqB,GAAG,MAAiB;AAC9C,IAAA,IAAI,cAAoD,CAAC;IAEzD,OAAO;AACN,QAAA,IAAI,EAAE,oBAAoB;AAC1B,QAAA,KAAK,EAAE,OAAO,OAAqB,EAAE,IAAoB,KAAI;YAC5D,MAAM,IAAI,EAAE,CAAC;AAEb,YAAA,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,CAAC,CAAc,KAAI;AAC7E,gBAAA,MAAM,IAAI,GAAG,CAAC,CAAC,MAAyB,CAAC;gBACzC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAACA,MAAS,CAAC,aAAa,CAAC;oBACpD,OAAO;gBAER,CAAC,CAAC,cAAc,EAAE,CAAC;gBAEnB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,YAAY,iBAAiB,GAAsB,CAAC,CAAC,SAAS,GAAG,IAAI,EAAE,CAAC,CAAC;aACvH,EAAE,KAAK,CAAC,CAAC;SACV;AACD,QAAA,MAAM,EAAE,OAAO,OAAsB,EAAE,IAAoB,KAAI;YAC9D,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;AAEzC,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACxB,gBAAA,OAAO,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAE3C,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAACA,MAAS,CAAC,mBAAmB,CAAC;AACzD,gBAAA,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC;YACzB,IAAI,CAAC,SAAS,CAAC,GAAG,CAACA,MAAS,CAAC,mBAAmB,CAAC,CAAC;AAElD,YAAA,IAAI,MAAM;gBACT,MAAM,CAAC,SAAS,CAAC,GAAG,CAACA,MAAS,CAAC,mBAAmB,CAAC,CAAC;YAErD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAACA,MAAS,CAAC,0BAA0B,CAAC,CAAC;YAC1E,IAAI,MAAM,IAAI,MAAM,CAAC,YAAY,CAACA,MAAS,CAAC,0BAA0B,CAAC;AACtE,gBAAA,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;AAExB,YAAA,IAAI;gBACH,IAAI,MAAM,KAAK,KAAK;AACnB,oBAAA,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;;oBAE3F,MAAM,IAAI,EAAE,CAAC;aACd;oBACO;gBACP,IAAI,CAAC,SAAS,CAAC,MAAM,CAACA,MAAS,CAAC,mBAAmB,CAAC,CAAC;AAErD,gBAAA,IAAI,MAAM;oBACT,MAAM,CAAC,SAAS,CAAC,MAAM,CAACA,MAAS,CAAC,mBAAmB,CAAC,CAAC;aACxD;SACD;AACD,QAAA,IAAI,EAAE,CAAC,QAAqB,EAAE,IAAoB,KAAI;YACrD,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;YAEpE,OAAO,IAAI,EAAE,CAAC;SACd;KACD,CAAC;AACH,CAAC;;ACzDD,MAAM,QAAQ,GAAG,CAAC,GAAkB,KAAe;AAClD,IAAA,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;AAC7B,IAAA,IAAI,MAAM,GAAW,GAAG,CAAC,MAAM,CAAC;AAChC,IAAA,IAAI,IAAY,CAAC;IACjB,IAAI,KAAK,GAA2B,IAAI,CAAC;IACzC,IAAI,IAAI,GAAkB,IAAI,CAAC;IAC/B,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,IAAI,CAAC,GAAG,EAAE;AACT,QAAA,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;QAEpB,IAAI,GAAG,CAAC,MAAM;YACb,KAAK,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEzC,IAAI,GAAG,CAAC,IAAI;AACX,YAAA,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;KACjB;SACI;AACJ,QAAA,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AACxB,YAAA,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;YACpB,KAAK,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,GAAG,GAAG,CAAC;SACX;AACI,aAAA,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YAC7B,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AACvC,YAAA,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;AACrB,gBAAA,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAChC,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;aAClC;AAED,YAAA,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;AACpB,YAAA,KAAK,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC;SACjC;AACI,aAAA,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AAChC,YAAA,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;AACvB,YAAA,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE;AACvB,gBAAA,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;gBAClB,UAAU,GAAG,IAAI,CAAC;aAClB;AAED,YAAA,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC;AAClB,YAAA,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC;AACvB,YAAA,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;SACtB;aACI;YACJ,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AACvC,YAAA,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;AACrB,gBAAA,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAChC,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;aAClC;YAED,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AACxC,YAAA,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;gBACtB,KAAK,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;gBACvD,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;aACnC;YAED,IAAI,GAAG,GAAG,CAAC;YAEX,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AAC1B,gBAAA,IAAI,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC;AAC3B,gBAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;AACxB,oBAAA,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACpD,gBAAA,IAAI,GAAG,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC;aAC5B;SACD;KACD;AAED,IAAA,IAAI,CAAC,IAAI;QACR,IAAI,GAAG,GAAG,CAAC;SACP,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;AAC7C,QAAA,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAE3C,IAAA,IAAI,CAAC,KAAK;AACT,QAAA,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;IAE/B,IAAI,IAAI,KAAK,GAAG;QACf,IAAI,GAAG,IAAI,CAAC;AACR,SAAA,IAAI,IAAI;AACZ,QAAA,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAE1B,IAAA,IAAI,MAAM,GAAG;AACZ,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,GAAG,EAAE,EAAE;AACP,QAAA,QAAQ,EAAE,EAAE;QACZ,MAAM;QACN,IAAI;QACJ,KAAK;QACL,IAAI;AACJ,QAAA,QAAQ,EAAE,UAAU;KACpB,CAAC;IAEF,UAAU,CAAC,MAAM,CAAC,CAAC;AAEnB,IAAA,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF;;;;AAIG;AACH,MAAM,WAAW,GAAG,CAAC,GAAc,EAAE,KAA+C,KAAI;AACvF,IAAA,IAAI,KAAK,YAAY,eAAe,EAAE;AACrC,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAChD;AACI,SAAA,IAAI,KAAK,YAAY,QAAQ,EAAE;AACnC,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;KAC3D;SACI;AACJ,QAAA,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE;AACtB,YAAA,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC1B,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aAC1B;iBACI;AACJ,gBAAA,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACtB,gBAAA,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;aACjD;SACD;KACD;IAED,UAAU,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,SAAoB,KAAI;AAC3C,IAAA,IAAI,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC;AAEjC,IAAA,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI;QACvB,WAAW,IAAI,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAEjD,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,GAAG,WAAW,CAAC;AAC/C,IAAA,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAC;IAEjC,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,GAAG,CAAA,EAAG,SAAS,CAAC,GAAG,CAAI,CAAA,EAAA,SAAS,CAAC,IAAI,CAAE,CAAA,GAAG,SAAS,CAAC,GAAG,CAAC;AACxF,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAE,IAAa,EAAE,KAAgD,EAAE,IAAa,KAAI;IACrH,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,IAAI,IAAI,EAAE;AACT,QAAA,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;AACvB,YAAA,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1B,GAAG,IAAI,IAAI,CAAC;KACZ;IAED,IAAI,KAAK,EAAE;AACV,QAAA,IAAI,MAAuB,CAAC;QAC5B,IAAI,KAAK,YAAY,eAAe;YACnC,MAAM,GAAG,KAAK,CAAC;AACX,aAAA,IAAI,KAAK,YAAY,QAAQ,EAAE;AACnC,YAAA,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YAC/B,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;SACnE;aACI;AACJ,YAAA,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;AAE/B,YAAA,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AACxB,gBAAA,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AACzB,gBAAA,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW;oBACjD,SAAS;AAEV,gBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AACvB,oBAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;;AAE1C,oBAAA,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aAC3B;SACD;QAED,IAAI,MAAM,CAAC,IAAI;AACd,YAAA,GAAG,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;KAChC;IAED,IAAI,IAAI,EAAE;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;AACxB,YAAA,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;QAEnB,IAAI,IAAI,IAAI,GAAG;YACd,GAAG,IAAI,IAAI,CAAC;KACb;AAED,IAAA,OAAO,GAAG,CAAC;AACZ,CAAC,CAAC;AAaF,gBAAe;IACd,QAAQ;IACR,WAAW;IACX,QAAQ;CACR;;;;;;;ACjMD;;AAEG;AACG,MAAO,WAAgE,SAAQC,YAAS,CAAA;AACpF,IAAA,GAAG,CAAmB;AACtB,IAAA,KAAK,CAAS;AACN,IAAA,SAAS,CAAoB;IACtC,eAAe,GAAG,KAAK,CAAC;IACxB,WAAW,GAAG,KAAK,CAAC;IACpB,aAAa,GAAkC,EAAE,CAAC;IAClD,SAAS,GAA2B,IAAI,CAAC;AAEjD,IAAA,WAAA,CAAY,GAAqB,EAAE,KAAa,EAAE,GAAG,IAAW,EAAA;AAC/D,QAAA,KAAK,EAAE,CAAC;AAER,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;AACf,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AAEnB,QAAA,MAAM,IAAI,GAAe,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;KAC7C;AAED,IAAA,IAAI,QAAQ,GAAa,EAAA,OAAO,aAAa,CAAA,EAAE;;IAG/C,IAAI,OAAO,KAAwB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE;;AAG3D,IAAA,UAAU,CAAC,WAA8B,EAAA;QACxC,IAAI,IAAI,CAAC,eAAe;AACvB,YAAA,MAAM,kCAAkC,CAAC;AAC1C,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAE5B,IAAI,CAAC,YAAY,EAAE,CAAC;AAEpB,QAAA,WAAW,CAAC,OAAO,CAAC,UAAU,IAAG;AAChC,YAAA,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;AAE3B,YAAA,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC;gBAC1C,MAAM,CAAA,YAAA,EAAe,IAAI,CAAA,qBAAA,CAAuB,CAAC;AAElD,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;AAEtC,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACjC,SAAC,CAAC,CAAC;KACH;IAES,YAAY,GAAA;QACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAACC,sBAAe,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,IAAI,CAACC,0BAAmB,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,IAAI,CAACC,qBAAc,EAAE,CAAC,CAAC;KACtC;AAED;;;;AAIG;AACH,IAAA,UAAU,CAAuB,IAAY,EAAA;QAC5C,MAAM,UAAU,GAAQ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,UAAU;YACd,MAAM,CAAA,WAAA,EAAc,IAAI,CAAA,mBAAA,CAAqB,CAAC;AAE/C,QAAA,OAAU,UAAU,CAAC;KACrB;AAED;;;;;AAKG;AACH,IAAA,MAAM,GAAG,CAA4B,WAA0B,EAAE,OAAqB,EAAA;AACrF,QAAA,IAAI,CAAC,WAAW;YACf,WAAW,GAAU,EAAE,CAAC;QAEzB,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzC,QAAA,IAAI;AACH,YAAA,MAAM,OAAO,GAA8B;AAC1C,gBAAA,GAAG,EAAE,IAAI;AACT,gBAAA,IAAI,EAAE,WAAW;aACjB,CAAC;YACF,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC9C,YAAA,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAElC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC/C,YAAA,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAEjC,YAAA,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;SAC9C;QACD,OAAO,MAAM,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,0CAA0C,MAAM,CAAA,CAAE,CAAC,CAAC;AAElE,YAAA,MAAM,MAAM,CAAC;SACb;gBACO;AACP,YAAA,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC3B;KACD;AAED;;;;AAIG;IACH,MAAM,GAAG,CAA4B,OAAkD,EAAA;QACtF,MAAM,GAAG,GAA6B,CAAC,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,EAAE,GAAG,EAAU,OAAO,EAAE,GAA6B,OAAO,CAAC;AAC/I,QAAA,IAAI,EAAE,GAAG,GAAG,IAAI,EAAE,OAAO,GAAG,KAAK,EAAE,IAAI,GAAU,EAAE,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;QAEtE,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,GAAG,CAAC,KAAK;YACZ,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;AAE1C,QAAA,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;AAEhC,QAAA,MAAM,OAAO,GAAiC,IAAI,CAAC,SAAS,GAAG;AAC9D,YAAA,GAAG,EAAE,IAAI;YACT,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,KAAK;YACjC,IAAI;YACJ,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,YAAY,EAAE,MAAM,CAAC,QAAQ;YAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO;SACP,CAAC;AAEF,QAAA,IAAI;YACH,OAAO,CAAC,IAAI,CAAC,CAAiB,cAAA,EAAA,MAAM,CAAC,IAAI,CAAE,CAAA,EAAE,OAAO,CAAC,CAAC;YAEtD,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAEjD,YAAA,IAAI,QAAQ;gBACX,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAEnD,OAAO,CAAC,IAAI,CAAC,CAAA,gBAAA,EAAmB,MAAM,CAAC,IAAI,CAAE,CAAA,CAAC,CAAC;AAE/C,YAAA,OAAO,OAAO,CAAC;SACf;QACD,OAAO,MAAM,EAAE;AACd,YAAA,IAAI,QAAQ;gBACX,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAEjD,OAAO,CAAC,KAAK,CAAC,CAAiB,cAAA,EAAA,MAAM,CAAC,IAAI,CAAK,EAAA,EAAA,MAAM,CAAE,CAAA,CAAC,CAAC;AAEzD,YAAA,MAAM,MAAM,CAAC;SACb;KACD;AAED;;;;AAIG;IACH,MAAM,MAAM,CAA4B,OAA+C,EAAA;AACtF,QAAA,MAAM,GAAG,GAAyB,OAAO,YAAY,eAAe,GAAG,EAAE,IAAI,EAAmB,OAAO,EAAE,GAAyB,OAAO,CAAC;AAC1I,QAAA,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,GAAU,EAAE,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;AAE9E,QAAA,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AACzB,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AAC3B,QAAA,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QAEtB,IAAI,MAAM,EAAE;;AAEX,YAAA,IAAI,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC;AACpC,gBAAA,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;AAC5B,YAAA,IAAI,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC;AACrC,gBAAA,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC;AAC9B,YAAA,IAAI,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC;AACpC,gBAAA,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;SACzB;AAED,QAAA,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAE9B,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAEvC,QAAA,IAAI,KAAK;AACR,YAAA,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAEtC,QAAA,IAAI,aAAa,GAA+B;AAC/C,YAAA,GAAG,EAAE,IAAI;AACT,YAAA,MAAM,EAAE,QAAQ;YAChB,IAAI;YACJ,IAAI;YACJ,MAAM;YACN,MAAM;YACN,OAAO;YACP,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,YAAY,EAAE,MAAM,CAAC,QAAQ;YAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;AACzB,YAAA,OAAO,EAAE,KAAK;SACd,CAAC;AAEF,QAAA,IAAI;YACH,OAAO,CAAC,IAAI,CAAC,CAAU,OAAA,EAAA,MAAM,CAAU,OAAA,EAAA,MAAM,CAAC,IAAI,CAAE,CAAA,CAAC,CAAC;YAEtD,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAErD,OAAO,CAAC,IAAI,CAAC,CAAU,OAAA,EAAA,MAAM,CAAY,SAAA,EAAA,MAAM,CAAC,IAAI,CAAE,CAAA,CAAC,CAAC;AAExD,YAAA,IAAI,QAAQ;gBACX,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;SACzD;QACD,OAAO,MAAM,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,CAAA,OAAA,EAAU,MAAM,CAAA,OAAA,EAAU,MAAM,CAAC,IAAI,CAAA,SAAA,EAAY,MAAM,CAAA,CAAE,CAAC,CAAA;AAExE,YAAA,IAAI,QAAQ;gBACX,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;AAEvD,YAAA,MAAM,MAAM,CAAC;SACb;AAED,QAAA,OAAO,aAAa,CAAC;KACrB;AAED;;AAEG;IACH,MAAM,GAAA;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;KACnC;AAED;;AAEG;IACH,OAAO,GAAA;QACN,OAAO,CAAC,MAAM,EAAE,CAAC;KACjB;IAED,MAAM,OAAO,CAA0C,WAA0B,EAAA;QAChF,IAAI,IAAI,CAAC,WAAW;AACnB,YAAA,OAAO,OAAO,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC;AACzD,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AAExB,QAAA,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAElC,QAAA,MAAM,OAAO,GAAoC;AAChD,YAAA,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,WAAW,IAAW,EAAE;SAC9B,CAAC;AAEF,QAAA,IAAI;YACH,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE7C,YAAA,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAEpC,YAAA,OAAO,OAAO,CAAC;SACf;QACD,OAAO,MAAM,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,sBAAsB,MAAM,CAAA,CAAE,CAAC,CAAC;AAC9C,YAAA,MAAM,MAAM,CAAC;SACb;gBACO;YACP,KAAK,CAAC,OAAO,EAAE,CAAC;SAChB;KACD;AAED;;;;;;AAMG;AACH,IAAA,QAAQ,CAAC,IAAa,EAAE,KAAgD,EAAE,IAAa,EAAA;AACtF,QAAA,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;KAChE;AACD;;MCxRY,kBAAkB,CAAA;AACtB,IAAA,OAAO,CAAS;AAChB,IAAA,SAAS,IAAG,WAAmB,EAAC;IAChC,aAAa,GAAiB,EAAE,CAAC;AAEzC,IAAA,WAAA,CAAY,KAAa,EAAA;AACxB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACrB;AAED,IAAA,MAAM,CAAC,OAAmC,EAAA;AACzC,QAAA,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;AAEzB,QAAA,OAAO,IAAI,CAAC;KACZ;AAED,IAAA,aAAa,CAAC,UAAgE,EAAE,GAAG,MAAkB,EAAA;AACpG,QAAA,IAAI,CAAC,UAAU;AACd,YAAA,MAAM,iCAAiC,CAAC;AAEzC,QAAA,IAAI,IAAgB,CAAC;QACrB,IAAI,OAAO,UAAU,KAAK,UAAU;AACnC,YAAA,IAAI,GAAG,UAAU,CAAC,GAAG,MAAM,CAAC,CAAC;;YAE7B,IAAI,GAAG,UAAU,CAAC;AAEnB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE9B,QAAA,OAAO,IAAI,CAAC;KACZ;AAED,IAAA,KAAK,CAAC,GAAqB,EAAE,GAAG,IAAW,EAAA;AAC1C,QAAA,IAAI,CAAC,GAAG;AACP,YAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAE/C,IAAI,CAAC,GAAG,CAAC,QAAQ;AAChB,YAAA,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC;AAEpB,QAAA,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;AAC3D,QAAA,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACnC,QAAA,OAAO,GAAG,CAAC;KACX;AACD;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../source/middlewares/invoker.ts","../../../source/constants.ts","../../../source/middlewares/state.ts","../../../source/browser.ts","../../../source/middlewares/hyperlink.ts","../../../source/helpers/url.ts","../../../source/app.ts","../../../source/builder.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["CONSTANTS","UIElement","StateMiddleware","HyperLinkMiddleware"],"mappings":"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"}
|
package/dist/mjs/index.js
CHANGED
|
@@ -12,22 +12,17 @@ class MiddlewareInvoker {
|
|
|
12
12
|
else
|
|
13
13
|
this.__next = new MiddlewareInvoker(middleware);
|
|
14
14
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
await this.__exec(method, context);
|
|
18
|
-
}
|
|
19
|
-
catch (e) {
|
|
20
|
-
console.error(`Error middleware "${method}" execution: ${e}`);
|
|
21
|
-
throw e;
|
|
22
|
-
}
|
|
15
|
+
invoke(method, context) {
|
|
16
|
+
return this.__exec(method, context);
|
|
23
17
|
}
|
|
24
18
|
async __exec(method, context) {
|
|
25
19
|
const nextFunc = () => this.__next ? this.__next.__exec(method, context) : Promise.resolve();
|
|
20
|
+
context.abort.throwIfAborted();
|
|
26
21
|
const methodFunc = this.middleware[method];
|
|
27
22
|
if (typeof methodFunc === "function") {
|
|
28
23
|
const methodResult = methodFunc.call(this.middleware, context, nextFunc);
|
|
29
24
|
if (!methodResult || !(methodResult instanceof Promise))
|
|
30
|
-
throw new Error(`Middleware method "${method}" is not async.`);
|
|
25
|
+
throw new Error(`Middleware "${this.middleware.name}" method "${method}" is not async.`);
|
|
31
26
|
await methodResult;
|
|
32
27
|
}
|
|
33
28
|
else
|
|
@@ -139,9 +134,7 @@ var browser = /*#__PURE__*/Object.freeze({
|
|
|
139
134
|
const HYPERLINK_MIDDLEWARE_NAME = "app-hyperlink";
|
|
140
135
|
const HyperLinkMiddlewareFactory = () => {
|
|
141
136
|
let __ctrlPressed = false;
|
|
142
|
-
const onKeyDownUp = (e) =>
|
|
143
|
-
__ctrlPressed = e.ctrlKey;
|
|
144
|
-
};
|
|
137
|
+
const onKeyDownUp = (e) => __ctrlPressed = e.ctrlKey;
|
|
145
138
|
let onClick;
|
|
146
139
|
return {
|
|
147
140
|
name: HYPERLINK_MIDDLEWARE_NAME,
|
|
@@ -181,6 +174,7 @@ const HyperLinkMiddlewareFactory = () => {
|
|
|
181
174
|
elem.classList.add(result.LoadingElementClass);
|
|
182
175
|
context.app
|
|
183
176
|
.nav({ url, replace: elem.hasAttribute(result.NavUrlReplaceAttributeName), data: { clickElem: elem } })
|
|
177
|
+
.catch(() => { })
|
|
184
178
|
.finally(() => elem.classList.remove(result.LoadingElementClass));
|
|
185
179
|
}, false);
|
|
186
180
|
BROWSER.window.addEventListener("keydown", onKeyDownUp, false);
|
|
@@ -195,52 +189,6 @@ const HyperLinkMiddlewareFactory = () => {
|
|
|
195
189
|
};
|
|
196
190
|
};
|
|
197
191
|
|
|
198
|
-
const FORM_MIDDLEWARE_NAME = "app-form";
|
|
199
|
-
const FormMiddlewareFactory = () => {
|
|
200
|
-
let onWindowSubmit;
|
|
201
|
-
return {
|
|
202
|
-
name: FORM_MIDDLEWARE_NAME,
|
|
203
|
-
start: async (context, next) => {
|
|
204
|
-
await next();
|
|
205
|
-
BROWSER.window.addEventListener("submit", onWindowSubmit = (e) => {
|
|
206
|
-
const form = e.target;
|
|
207
|
-
if (!form.classList.contains(result.FormClassName))
|
|
208
|
-
return;
|
|
209
|
-
e.preventDefault();
|
|
210
|
-
context.app.submit({ form, button: e.submitter instanceof HTMLButtonElement ? e.submitter : null });
|
|
211
|
-
}, false);
|
|
212
|
-
},
|
|
213
|
-
submit: async (context, next) => {
|
|
214
|
-
const { form, button, method } = context;
|
|
215
|
-
if (!form.checkValidity())
|
|
216
|
-
return Promise.reject('Form is invalid.');
|
|
217
|
-
if (form.classList.contains(result.LoadingElementClass))
|
|
218
|
-
return form["_submit_"];
|
|
219
|
-
form.classList.add(result.LoadingElementClass);
|
|
220
|
-
if (button)
|
|
221
|
-
button.classList.add(result.LoadingElementClass);
|
|
222
|
-
context.replace = form.hasAttribute(result.NavUrlReplaceAttributeName);
|
|
223
|
-
if (button && button.hasAttribute(result.NavUrlReplaceAttributeName))
|
|
224
|
-
context.replace = true;
|
|
225
|
-
try {
|
|
226
|
-
if (method === "GET")
|
|
227
|
-
await context.app.nav({ url: context.url, query: new FormData(form), data: context.data });
|
|
228
|
-
else
|
|
229
|
-
await next();
|
|
230
|
-
}
|
|
231
|
-
finally {
|
|
232
|
-
form.classList.remove(result.LoadingElementClass);
|
|
233
|
-
if (button)
|
|
234
|
-
button.classList.remove(result.LoadingElementClass);
|
|
235
|
-
}
|
|
236
|
-
},
|
|
237
|
-
stop: (_context, next) => {
|
|
238
|
-
BROWSER.window.removeEventListener("submit", onWindowSubmit, false);
|
|
239
|
-
return next();
|
|
240
|
-
}
|
|
241
|
-
};
|
|
242
|
-
};
|
|
243
|
-
|
|
244
192
|
const parseUrl = (url) => {
|
|
245
193
|
const loc = BROWSER.location;
|
|
246
194
|
let origin = loc.origin;
|
|
@@ -408,45 +356,48 @@ var url = /*#__PURE__*/Object.freeze({
|
|
|
408
356
|
default: urlHelper
|
|
409
357
|
});
|
|
410
358
|
|
|
359
|
+
const NAV_OVERIDE_ERROR = "NavigationOveride";
|
|
411
360
|
/**
|
|
412
361
|
* Base application class.
|
|
413
362
|
*/
|
|
414
363
|
class Application extends UIElement {
|
|
364
|
+
/** Application environment. */
|
|
415
365
|
env;
|
|
366
|
+
/** Application model. */
|
|
416
367
|
model;
|
|
417
|
-
|
|
368
|
+
/** Application middleware invoker. */
|
|
369
|
+
invoker;
|
|
418
370
|
__isInitialized = false;
|
|
419
371
|
__isDestroy = false;
|
|
420
372
|
__middlewares = {};
|
|
421
|
-
|
|
373
|
+
__globalSubmit;
|
|
374
|
+
__execNav; // current navigation invoking
|
|
375
|
+
__lastNav; // last success navigation
|
|
422
376
|
constructor(env, model, ...args) {
|
|
423
377
|
super();
|
|
424
378
|
this.env = env;
|
|
425
379
|
this.model = model;
|
|
426
380
|
const core = { name: "app-root" };
|
|
427
|
-
this.
|
|
381
|
+
this.invoker = new MiddlewareInvoker(core);
|
|
428
382
|
}
|
|
429
383
|
get typeName() { return "Application"; }
|
|
430
|
-
/** Middleware methods invoker. */
|
|
431
|
-
get invoker() { return this.__invoker; }
|
|
432
384
|
/** @internal */
|
|
433
385
|
initialize(middlewares) {
|
|
434
386
|
if (this.__isInitialized)
|
|
435
|
-
throw 'Application already initialized.';
|
|
387
|
+
throw new Error('Application already initialized.');
|
|
436
388
|
this.__isInitialized = true;
|
|
437
389
|
this.onInitialize();
|
|
438
390
|
middlewares.forEach(middleware => {
|
|
439
391
|
var name = middleware.name;
|
|
440
392
|
if (this.__middlewares.hasOwnProperty(name))
|
|
441
|
-
throw `Middleware "${name}" already registered
|
|
393
|
+
throw new Error(`Middleware "${name}" already registered.`);
|
|
442
394
|
this.__middlewares[name] = middleware;
|
|
443
|
-
this.
|
|
395
|
+
this.invoker.next(middleware);
|
|
444
396
|
});
|
|
445
397
|
}
|
|
446
398
|
onInitialize() {
|
|
447
|
-
this.
|
|
448
|
-
this.
|
|
449
|
-
this.__invoker.next(FormMiddlewareFactory());
|
|
399
|
+
this.invoker.next(StateMiddlewareFactory());
|
|
400
|
+
this.invoker.next(HyperLinkMiddlewareFactory());
|
|
450
401
|
}
|
|
451
402
|
/**
|
|
452
403
|
* Get middleware by type.
|
|
@@ -456,7 +407,7 @@ class Application extends UIElement {
|
|
|
456
407
|
middleware(name) {
|
|
457
408
|
const middleware = this.__middlewares[name];
|
|
458
409
|
if (!middleware)
|
|
459
|
-
throw `Middleware ${name} is not registered
|
|
410
|
+
throw new Error(`Middleware ${name} is not registered.`);
|
|
460
411
|
return middleware;
|
|
461
412
|
}
|
|
462
413
|
/**
|
|
@@ -469,24 +420,36 @@ class Application extends UIElement {
|
|
|
469
420
|
if (!contextData)
|
|
470
421
|
contextData = {};
|
|
471
422
|
this.setElement(element || BROWSER.body);
|
|
423
|
+
const abort = new AbortController();
|
|
424
|
+
const context = {
|
|
425
|
+
abort: abort.signal,
|
|
426
|
+
app: this,
|
|
427
|
+
data: contextData
|
|
428
|
+
};
|
|
472
429
|
try {
|
|
473
|
-
|
|
474
|
-
app: this,
|
|
475
|
-
data: contextData
|
|
476
|
-
};
|
|
477
|
-
await this.__invoker.invoke("start", context);
|
|
430
|
+
await this.invoker.invoke("start", context);
|
|
478
431
|
console.info("app start success");
|
|
479
|
-
|
|
432
|
+
abort.signal.throwIfAborted();
|
|
433
|
+
BROWSER.window.addEventListener("submit", this.__globalSubmit = (e) => {
|
|
434
|
+
const form = e.target;
|
|
435
|
+
if (!form.classList.contains(result.FormClassName))
|
|
436
|
+
return;
|
|
437
|
+
e.preventDefault();
|
|
438
|
+
this.__onSubmit({ form, button: e.submitter instanceof HTMLButtonElement ? e.submitter : null })
|
|
439
|
+
.catch(() => { });
|
|
440
|
+
}, false);
|
|
441
|
+
await this.invoker.invoke("loaded", context);
|
|
480
442
|
console.info("app load success");
|
|
443
|
+
abort.signal.throwIfAborted();
|
|
444
|
+
console.info("app runned");
|
|
481
445
|
return await this.nav({ data: context.data });
|
|
482
446
|
}
|
|
483
447
|
catch (reason) {
|
|
484
|
-
|
|
448
|
+
if (this.__globalSubmit)
|
|
449
|
+
BROWSER.window.removeEventListener("submit", this.__globalSubmit);
|
|
450
|
+
console.error(`Error run application: ${reason}`);
|
|
485
451
|
throw reason;
|
|
486
452
|
}
|
|
487
|
-
finally {
|
|
488
|
-
console.info("app runned");
|
|
489
|
-
}
|
|
490
453
|
}
|
|
491
454
|
/**
|
|
492
455
|
* Navigate application to url.
|
|
@@ -495,14 +458,28 @@ class Application extends UIElement {
|
|
|
495
458
|
*/
|
|
496
459
|
async nav(options) {
|
|
497
460
|
const opt = (!options || typeof options === "string") ? { url: options } : options;
|
|
498
|
-
let { url = null, replace = false, data = {}
|
|
461
|
+
let { url = null, replace = false, data = {} } = opt;
|
|
499
462
|
const navUrl = urlHelper.parseUrl(url);
|
|
500
463
|
if (opt.query)
|
|
501
464
|
urlHelper.extendQuery(navUrl, opt.query);
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
465
|
+
let isFirst = !this.__lastNav && !this.__execNav;
|
|
466
|
+
let parentNav;
|
|
467
|
+
if (this.__execNav && this.__execNav.status === "work") {
|
|
468
|
+
parentNav = this.__execNav;
|
|
469
|
+
parentNav.abort.abort(NAV_OVERIDE_ERROR);
|
|
470
|
+
parentNav.context.overided = true;
|
|
471
|
+
}
|
|
472
|
+
const abort = new AbortController();
|
|
473
|
+
const externalAbort = opt.abort;
|
|
474
|
+
if (externalAbort)
|
|
475
|
+
externalAbort.addEventListener("abort", () => abort.abort(externalAbort.reason));
|
|
476
|
+
const context = {
|
|
505
477
|
source: isFirst ? "first" : "nav",
|
|
478
|
+
app: this,
|
|
479
|
+
abort: abort.signal,
|
|
480
|
+
current: this.__lastNav?.context,
|
|
481
|
+
parent: parentNav?.context,
|
|
482
|
+
overided: false,
|
|
506
483
|
data,
|
|
507
484
|
url: navUrl.url,
|
|
508
485
|
origin: navUrl.origin,
|
|
@@ -513,76 +490,81 @@ class Application extends UIElement {
|
|
|
513
490
|
external: navUrl.external,
|
|
514
491
|
replace
|
|
515
492
|
};
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
if (callback)
|
|
520
|
-
callback({ status: "success", context: context });
|
|
521
|
-
console.info(`app nav success ${navUrl.full}`);
|
|
522
|
-
return context;
|
|
523
|
-
}
|
|
524
|
-
catch (reason) {
|
|
525
|
-
if (callback)
|
|
526
|
-
callback({ status: "error", context: context });
|
|
527
|
-
console.error(`app nav error ${navUrl.full}: ${reason}`);
|
|
528
|
-
throw reason;
|
|
529
|
-
}
|
|
493
|
+
const currentNav = { id: parentNav ? parentNav.id + 1 : 1, method: "navigate", context, abort, status: "work" };
|
|
494
|
+
await this.__execNavigate(currentNav);
|
|
495
|
+
return context;
|
|
530
496
|
}
|
|
531
|
-
|
|
532
|
-
* Submit application form.
|
|
533
|
-
* @param options Submit options.
|
|
534
|
-
* @returns Promise of submitted result.
|
|
535
|
-
*/
|
|
536
|
-
async submit(options) {
|
|
497
|
+
async __onSubmit(options) {
|
|
537
498
|
const opt = options instanceof HTMLFormElement ? { form: options } : options;
|
|
538
|
-
const { form, button = null, query, data = {}
|
|
499
|
+
const { form, button = null, query, data = {} } = opt;
|
|
500
|
+
if (!form.checkValidity())
|
|
501
|
+
return Promise.reject(new Error('Form is invalid.'));
|
|
502
|
+
let replace = form.hasAttribute(result.NavUrlReplaceAttributeName);
|
|
539
503
|
let method = form.method;
|
|
540
504
|
let enctype = form.enctype;
|
|
541
505
|
let url = form.action;
|
|
542
506
|
if (button) {
|
|
543
|
-
// Get button patameters for request
|
|
544
507
|
if (button.hasAttribute("formmethod"))
|
|
545
508
|
method = button.formMethod;
|
|
546
509
|
if (button.hasAttribute("formenctype"))
|
|
547
510
|
enctype = button.formEnctype;
|
|
548
511
|
if (button.hasAttribute("formaction"))
|
|
549
512
|
url = button.formAction;
|
|
513
|
+
button.classList.add(result.LoadingElementClass);
|
|
514
|
+
if (button.hasAttribute(result.NavUrlReplaceAttributeName))
|
|
515
|
+
replace = true;
|
|
550
516
|
}
|
|
517
|
+
if (form.classList.contains(result.LoadingElementClass))
|
|
518
|
+
return Promise.reject(new Error('Form already submitting.'));
|
|
519
|
+
form.classList.add(result.LoadingElementClass);
|
|
551
520
|
method = method.toUpperCase();
|
|
552
|
-
const navUrl = urlHelper.parseUrl(url);
|
|
553
|
-
if (query)
|
|
554
|
-
urlHelper.extendQuery(navUrl, query);
|
|
555
|
-
let submitContext = {
|
|
556
|
-
app: this,
|
|
557
|
-
source: "submit",
|
|
558
|
-
data,
|
|
559
|
-
form,
|
|
560
|
-
button,
|
|
561
|
-
method,
|
|
562
|
-
enctype,
|
|
563
|
-
url: navUrl.url,
|
|
564
|
-
origin: navUrl.origin,
|
|
565
|
-
pathAndQuery: navUrl.relative,
|
|
566
|
-
path: navUrl.path,
|
|
567
|
-
query: navUrl.query,
|
|
568
|
-
hash: navUrl.hash,
|
|
569
|
-
external: navUrl.external,
|
|
570
|
-
replace: false
|
|
571
|
-
};
|
|
572
521
|
try {
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
522
|
+
if (method === "GET")
|
|
523
|
+
await this.nav({ url, query: new FormData(form), data: data, replace });
|
|
524
|
+
else {
|
|
525
|
+
const navUrl = urlHelper.parseUrl(url);
|
|
526
|
+
if (query)
|
|
527
|
+
urlHelper.extendQuery(navUrl, query);
|
|
528
|
+
let parentNav;
|
|
529
|
+
if (this.__execNav && this.__execNav.status === "work") {
|
|
530
|
+
parentNav = this.__execNav;
|
|
531
|
+
parentNav.abort.abort(NAV_OVERIDE_ERROR);
|
|
532
|
+
parentNav.context.overided = true;
|
|
533
|
+
}
|
|
534
|
+
const abort = new AbortController();
|
|
535
|
+
const externalAbort = opt.abort;
|
|
536
|
+
if (externalAbort)
|
|
537
|
+
externalAbort.addEventListener("abort", () => abort.abort(externalAbort.reason));
|
|
538
|
+
let context = {
|
|
539
|
+
source: "submit",
|
|
540
|
+
app: this,
|
|
541
|
+
abort: abort.signal,
|
|
542
|
+
current: this.__lastNav?.context,
|
|
543
|
+
parent: parentNav?.context,
|
|
544
|
+
overided: false,
|
|
545
|
+
data,
|
|
546
|
+
form,
|
|
547
|
+
button,
|
|
548
|
+
method,
|
|
549
|
+
enctype,
|
|
550
|
+
url: navUrl.url,
|
|
551
|
+
origin: navUrl.origin,
|
|
552
|
+
pathAndQuery: navUrl.relative,
|
|
553
|
+
path: navUrl.path,
|
|
554
|
+
query: navUrl.query,
|
|
555
|
+
hash: navUrl.hash,
|
|
556
|
+
external: navUrl.external,
|
|
557
|
+
replace
|
|
558
|
+
};
|
|
559
|
+
const currentNav = { id: parentNav ? parentNav.id + 1 : 1, method: "submit", context, abort, status: "work" };
|
|
560
|
+
await this.__execNavigate(currentNav);
|
|
561
|
+
}
|
|
578
562
|
}
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
if (
|
|
582
|
-
|
|
583
|
-
throw reason;
|
|
563
|
+
finally {
|
|
564
|
+
form.classList.remove(result.LoadingElementClass);
|
|
565
|
+
if (button)
|
|
566
|
+
button.classList.remove(result.LoadingElementClass);
|
|
584
567
|
}
|
|
585
|
-
return submitContext;
|
|
586
568
|
}
|
|
587
569
|
/**
|
|
588
570
|
* Reload page with nav.
|
|
@@ -601,12 +583,18 @@ class Application extends UIElement {
|
|
|
601
583
|
return Promise.reject('Application already destroyed.');
|
|
602
584
|
this.__isDestroy = true;
|
|
603
585
|
console.info("app destroy begin");
|
|
586
|
+
if (this.__globalSubmit)
|
|
587
|
+
BROWSER.window.removeEventListener("submit", this.__globalSubmit);
|
|
588
|
+
if (this.__execNav)
|
|
589
|
+
this.__execNav.abort.abort();
|
|
590
|
+
const abort = new AbortController();
|
|
604
591
|
const context = {
|
|
592
|
+
abort: abort.signal,
|
|
605
593
|
app: this,
|
|
606
594
|
data: contextData || {}
|
|
607
595
|
};
|
|
608
596
|
try {
|
|
609
|
-
await this.
|
|
597
|
+
await this.invoker.invoke("stop", context);
|
|
610
598
|
console.info("app destroy success");
|
|
611
599
|
return context;
|
|
612
600
|
}
|
|
@@ -628,6 +616,31 @@ class Application extends UIElement {
|
|
|
628
616
|
buildUrl(path, query, hash) {
|
|
629
617
|
return urlHelper.buildUrl(this.env.basePath, path, query, hash);
|
|
630
618
|
}
|
|
619
|
+
async __execNavigate(nav) {
|
|
620
|
+
this.__execNav = nav;
|
|
621
|
+
try {
|
|
622
|
+
console.info(`${nav.method} begin`, nav.context);
|
|
623
|
+
await this.invoker.invoke(nav.method, nav.context);
|
|
624
|
+
this.__lastNav = nav;
|
|
625
|
+
nav.status = "success";
|
|
626
|
+
console.info(`${nav.method} ${nav.status} ${nav.context.url}`);
|
|
627
|
+
}
|
|
628
|
+
catch (reason) {
|
|
629
|
+
if (reason?.name === "AbortError") {
|
|
630
|
+
nav.status = "cancelled";
|
|
631
|
+
console.warn(`${nav.method} ${nav.status} ${nav.context.url}`);
|
|
632
|
+
}
|
|
633
|
+
else if (reason === NAV_OVERIDE_ERROR) {
|
|
634
|
+
nav.status = "overided";
|
|
635
|
+
console.warn(`${nav.method} ${nav.status} ${nav.context.url}`);
|
|
636
|
+
}
|
|
637
|
+
else {
|
|
638
|
+
nav.status = "error";
|
|
639
|
+
console.error(`${nav.method} ${nav.status} ${nav.context.url}: ${reason}`);
|
|
640
|
+
}
|
|
641
|
+
throw reason;
|
|
642
|
+
}
|
|
643
|
+
}
|
|
631
644
|
}
|
|
632
645
|
|
|
633
646
|
class ApplicationBuilder {
|
|
@@ -663,5 +676,5 @@ class ApplicationBuilder {
|
|
|
663
676
|
}
|
|
664
677
|
}
|
|
665
678
|
|
|
666
|
-
export { Application, ApplicationBuilder, browser as BROWSER, constants as CONSTANTS, url as UrlHelper };
|
|
679
|
+
export { Application, ApplicationBuilder, browser as BROWSER, constants as CONSTANTS, NAV_OVERIDE_ERROR, url as UrlHelper };
|
|
667
680
|
//# sourceMappingURL=index.js.map
|
package/dist/mjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../source/middlewares/invoker.ts","../../../source/constants.ts","../../../source/middlewares/state.ts","../../../source/browser.ts","../../../source/middlewares/hyperlink.ts","../../../source/middlewares/form.ts","../../../source/helpers/url.ts","../../../source/app.ts","../../../source/builder.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["CONSTANTS","StateMiddleware","HyperLinkMiddleware","FormMiddleware"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../source/middlewares/invoker.ts","../../../source/constants.ts","../../../source/middlewares/state.ts","../../../source/browser.ts","../../../source/middlewares/hyperlink.ts","../../../source/helpers/url.ts","../../../source/app.ts","../../../source/builder.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["CONSTANTS","StateMiddleware","HyperLinkMiddleware"],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -25,6 +25,7 @@ type MiddlewareNext = () => Promise<void>;
|
|
|
25
25
|
interface InvokeContext {
|
|
26
26
|
readonly app: Application;
|
|
27
27
|
readonly data: ContextData;
|
|
28
|
+
readonly abort: AbortSignal;
|
|
28
29
|
}
|
|
29
30
|
interface ContextData {
|
|
30
31
|
[key: string]: any;
|
|
@@ -38,10 +39,16 @@ interface StopContext<TApplication extends Application = Application, TData exte
|
|
|
38
39
|
readonly data: TData;
|
|
39
40
|
}
|
|
40
41
|
interface NavigateContext<TApplication extends Application = Application, TData extends ContextData = ContextData> extends InvokeContext {
|
|
41
|
-
readonly app: TApplication;
|
|
42
|
-
readonly data: TData;
|
|
43
42
|
/** Source navigation event. */
|
|
44
43
|
readonly source: NavigateSource;
|
|
44
|
+
/** Application instance of navigation. */
|
|
45
|
+
readonly app: TApplication;
|
|
46
|
+
/** Previous navigation. */
|
|
47
|
+
readonly current?: NavigateContext<TApplication, TData>;
|
|
48
|
+
/** Parent navigation context. Specified if the navigation is nested. */
|
|
49
|
+
readonly parent?: NavigateContext<TApplication, TData>;
|
|
50
|
+
readonly overided: boolean;
|
|
51
|
+
readonly data: TData;
|
|
45
52
|
/** Origin, path and query, but without hash. */
|
|
46
53
|
readonly url: string;
|
|
47
54
|
/** Scheme, host and port. */
|
|
@@ -61,9 +68,9 @@ interface NavigateContext<TApplication extends Application = Application, TData
|
|
|
61
68
|
}
|
|
62
69
|
/**
|
|
63
70
|
* Navigation event source.
|
|
64
|
-
* first - first navigation
|
|
65
|
-
* nav - from nav
|
|
66
|
-
* submit - from submit
|
|
71
|
+
* first - first navigation by application.
|
|
72
|
+
* nav - from nav application method.
|
|
73
|
+
* submit - from submit form.
|
|
67
74
|
*/
|
|
68
75
|
type NavigateSource = "first" | "nav" | "submit";
|
|
69
76
|
interface SubmitContext<TApplication extends Application = Application, TData extends ContextData = ContextData> extends NavigateContext<TApplication, TData> {
|
|
@@ -83,21 +90,25 @@ declare class MiddlewareInvoker {
|
|
|
83
90
|
private __exec;
|
|
84
91
|
}
|
|
85
92
|
|
|
93
|
+
declare const NAV_OVERIDE_ERROR = "NavigationOveride";
|
|
86
94
|
/**
|
|
87
95
|
* Base application class.
|
|
88
96
|
*/
|
|
89
97
|
declare class Application<TModel extends ApplicationModel = ApplicationModel> extends UIElement {
|
|
98
|
+
/** Application environment. */
|
|
90
99
|
readonly env: EnvironmentModel;
|
|
100
|
+
/** Application model. */
|
|
91
101
|
readonly model: TModel;
|
|
92
|
-
|
|
102
|
+
/** Application middleware invoker. */
|
|
103
|
+
readonly invoker: MiddlewareInvoker;
|
|
93
104
|
private __isInitialized;
|
|
94
105
|
private __isDestroy;
|
|
95
106
|
private __middlewares;
|
|
96
|
-
private
|
|
107
|
+
private __globalSubmit?;
|
|
108
|
+
private __execNav?;
|
|
109
|
+
private __lastNav?;
|
|
97
110
|
constructor(env: EnvironmentModel, model: TModel, ...args: any[]);
|
|
98
111
|
get typeName(): string;
|
|
99
|
-
/** Middleware methods invoker. */
|
|
100
|
-
get invoker(): MiddlewareInvoker;
|
|
101
112
|
protected onInitialize(): void;
|
|
102
113
|
/**
|
|
103
114
|
* Get middleware by type.
|
|
@@ -118,12 +129,7 @@ declare class Application<TModel extends ApplicationModel = ApplicationModel> ex
|
|
|
118
129
|
* @returns Promise of navigated result.
|
|
119
130
|
*/
|
|
120
131
|
nav<TData extends ContextData>(options?: NavigationOptions<TData> | string | null): Promise<NavigateContext<this, TData>>;
|
|
121
|
-
|
|
122
|
-
* Submit application form.
|
|
123
|
-
* @param options Submit options.
|
|
124
|
-
* @returns Promise of submitted result.
|
|
125
|
-
*/
|
|
126
|
-
submit<TData extends ContextData>(options: SubmitOptions<TData> | HTMLFormElement): Promise<SubmitContext<this, TData>>;
|
|
132
|
+
private __onSubmit;
|
|
127
133
|
/**
|
|
128
134
|
* Reload page with nav.
|
|
129
135
|
*/
|
|
@@ -141,26 +147,22 @@ declare class Application<TModel extends ApplicationModel = ApplicationModel> ex
|
|
|
141
147
|
* @returns Relative url with base path.
|
|
142
148
|
*/
|
|
143
149
|
buildUrl(path?: string, query?: QueryParams | URLSearchParams | FormData, hash?: string): string;
|
|
150
|
+
private __execNavigate;
|
|
144
151
|
}
|
|
145
152
|
interface NavigationOptions<TData extends ContextData = ContextData> {
|
|
146
153
|
url?: string | null;
|
|
147
154
|
query?: QueryParams | URLSearchParams | FormData;
|
|
148
155
|
replace?: boolean;
|
|
149
156
|
data?: TData;
|
|
150
|
-
|
|
157
|
+
abort?: AbortSignal;
|
|
151
158
|
}
|
|
152
159
|
interface SubmitOptions<TData extends ContextData = ContextData> {
|
|
153
160
|
form: HTMLFormElement;
|
|
154
161
|
button?: HTMLButtonElement | null;
|
|
155
162
|
query?: QueryParams | URLSearchParams;
|
|
156
163
|
data?: TData;
|
|
157
|
-
|
|
158
|
-
}
|
|
159
|
-
interface CallbackResult<TContext extends InvokeContext> {
|
|
160
|
-
status: CallbackStatus;
|
|
161
|
-
context: TContext;
|
|
164
|
+
abort?: AbortSignal;
|
|
162
165
|
}
|
|
163
|
-
type CallbackStatus = "success" | "error";
|
|
164
166
|
|
|
165
167
|
declare class ApplicationBuilder<TModel extends ApplicationModel> {
|
|
166
168
|
private __model;
|
|
@@ -224,4 +226,4 @@ declare namespace browser {
|
|
|
224
226
|
export { _default as default };
|
|
225
227
|
}
|
|
226
228
|
|
|
227
|
-
export { Application, ApplicationBuilder, type ApplicationModel, browser as BROWSER, constants as CONSTANTS, type
|
|
229
|
+
export { Application, ApplicationBuilder, type ApplicationModel, browser as BROWSER, constants as CONSTANTS, type ContextData, type EnvironmentModel, type InvokeContext, type Middleware, type MiddlewareMethod, type MiddlewareNext, NAV_OVERIDE_ERROR, type NavigateContext, type NavigateSource, type NavigationOptions, type QueryParams, type StartContext, type StopContext, type SubmitContext, type SubmitMethod, type SubmitOptions, url as UrlHelper };
|
package/package.json
CHANGED
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
"module": "dist/mjs/index.js",
|
|
25
25
|
"types": "dist/types.d.ts",
|
|
26
26
|
"license": "Apache-2.0",
|
|
27
|
-
"version": "1.0.
|
|
27
|
+
"version": "1.0.18",
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@brandup/ui": "^1.0.
|
|
30
|
-
"@brandup/ui-dom": "^1.0.
|
|
29
|
+
"@brandup/ui": "^1.0.18",
|
|
30
|
+
"@brandup/ui-dom": "^1.0.18"
|
|
31
31
|
},
|
|
32
32
|
"files": [
|
|
33
33
|
"dist",
|