@brandup/ui-app 1.0.19 → 1.0.21

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 CHANGED
@@ -358,6 +358,7 @@ var url = /*#__PURE__*/Object.freeze({
358
358
  default: urlHelper
359
359
  });
360
360
 
361
+ const APP_TYPENAME = "brandup-ui-app";
361
362
  const NAV_OVERIDE_ERROR = "NavigationOveride";
362
363
  /**
363
364
  * Base application class.
@@ -369,8 +370,9 @@ class Application extends ui.UIElement {
369
370
  model;
370
371
  /** Application middleware invoker. */
371
372
  invoker;
372
- __isInitialized = false;
373
- __isDestroy = false;
373
+ __abort;
374
+ __isInited;
375
+ __isRuned;
374
376
  __middlewares = {};
375
377
  __globalSubmit;
376
378
  __execNav; // current navigation invoking
@@ -381,13 +383,17 @@ class Application extends ui.UIElement {
381
383
  this.model = model;
382
384
  const core = { name: "app-root" };
383
385
  this.invoker = new MiddlewareInvoker(core);
386
+ this.__abort = new AbortController();
384
387
  }
385
- get typeName() { return "Application"; }
388
+ get typeName() { return APP_TYPENAME; }
389
+ get current() { return this.__lastNav?.context; }
390
+ /** Application destroy signal. */
391
+ get abort() { return this.__abort.signal; }
386
392
  /** @internal */
387
393
  initialize(middlewares) {
388
- if (this.__isInitialized)
394
+ if (this.__isInited)
389
395
  throw new Error('Application already initialized.');
390
- this.__isInitialized = true;
396
+ this.__isInited = true;
391
397
  this.onInitialize();
392
398
  middlewares.forEach(middleware => {
393
399
  var name = middleware.name;
@@ -407,6 +413,7 @@ class Application extends ui.UIElement {
407
413
  * @returns Middleware instance.
408
414
  */
409
415
  middleware(name) {
416
+ this.__abort.signal.throwIfAborted();
410
417
  const middleware = this.__middlewares[name];
411
418
  if (!middleware)
412
419
  throw new Error(`Middleware ${name} is not registered.`);
@@ -419,20 +426,28 @@ class Application extends ui.UIElement {
419
426
  * @returns Promise of runned result.
420
427
  */
421
428
  async run(contextData, element) {
429
+ if (this.__abort.signal.aborted)
430
+ throw new Error('Application is destroyed.');
431
+ if (this.__isRuned)
432
+ throw new Error('Application already run.');
433
+ this.__isRuned = true;
422
434
  if (!contextData)
423
435
  contextData = {};
424
- this.setElement(element || BROWSER.body);
425
- const abort = new AbortController();
436
+ element = element || BROWSER.body;
437
+ this.setElement(element);
426
438
  const context = {
427
- abort: abort.signal,
439
+ abort: this.__abort.signal,
428
440
  app: this,
429
441
  data: contextData
430
442
  };
431
443
  try {
432
444
  await this.invoker.invoke("start", context);
433
445
  console.info("app start success");
434
- abort.signal.throwIfAborted();
435
- BROWSER.window.addEventListener("submit", this.__globalSubmit = (e) => {
446
+ this.__abort.signal.throwIfAborted();
447
+ await this.invoker.invoke("loaded", context);
448
+ console.info("app load success");
449
+ this.__abort.signal.throwIfAborted();
450
+ element.addEventListener("submit", this.__globalSubmit = (e) => {
436
451
  const form = e.target;
437
452
  if (!form.classList.contains(result.FormClassName))
438
453
  return;
@@ -440,23 +455,23 @@ class Application extends ui.UIElement {
440
455
  this.__onSubmit({ form, button: e.submitter instanceof HTMLButtonElement ? e.submitter : null })
441
456
  .catch(() => { });
442
457
  }, false);
443
- await this.invoker.invoke("loaded", context);
444
- console.info("app load success");
445
- abort.signal.throwIfAborted();
446
458
  console.info("app runned");
447
- await this.nav({ data: context.data });
448
- return context;
459
+ }
460
+ catch (reason) {
461
+ console.error(`app run error: ${reason}`);
462
+ throw reason;
463
+ }
464
+ try {
465
+ await this.nav({ data: context.data, abort: this.__abort.signal });
449
466
  }
450
467
  catch (reason) {
451
468
  if (reason === NAV_OVERIDE_ERROR) {
452
469
  console.info(`app run nav overided`);
453
470
  return context;
454
471
  }
455
- if (this.__globalSubmit)
456
- BROWSER.window.removeEventListener("submit", this.__globalSubmit);
457
- console.error(`app run error: ${reason}`);
458
472
  throw reason;
459
473
  }
474
+ return context;
460
475
  }
461
476
  /**
462
477
  * Navigate application to url.
@@ -476,14 +491,17 @@ class Application extends ui.UIElement {
476
491
  parentNav.abort.abort(NAV_OVERIDE_ERROR);
477
492
  parentNav.context.overided = true;
478
493
  }
479
- const abort = new AbortController();
480
- const externalAbort = opt.abort;
481
- if (externalAbort)
482
- externalAbort.addEventListener("abort", () => abort.abort(externalAbort.reason));
494
+ const navIndex = parentNav ? parentNav.context.index + 1 : 1;
495
+ const navAbort = new AbortController();
496
+ const aborts = [this.__abort.signal, navAbort.signal];
497
+ if (opt.abort)
498
+ aborts.push(opt.abort);
499
+ const complextAbort = AbortSignal.any(aborts);
483
500
  const context = {
501
+ index: navIndex,
484
502
  source: isFirst ? "first" : "nav",
485
503
  app: this,
486
- abort: abort.signal,
504
+ abort: complextAbort,
487
505
  current: this.__lastNav?.context,
488
506
  parent: parentNav?.context,
489
507
  overided: false,
@@ -495,17 +513,78 @@ class Application extends ui.UIElement {
495
513
  query: navUrl.query,
496
514
  hash: navUrl.hash,
497
515
  external: navUrl.external,
498
- replace
516
+ replace,
517
+ redirect: async (options) => {
518
+ complextAbort.throwIfAborted();
519
+ const result = await this.nav(options);
520
+ complextAbort.throwIfAborted();
521
+ return result;
522
+ }
499
523
  };
500
- const currentNav = { id: parentNav ? parentNav.id + 1 : 1, method: "navigate", context, abort, status: "work" };
524
+ const currentNav = { method: "navigate", context, abort: navAbort, status: "work" };
501
525
  await this.__execNavigate(currentNav);
502
526
  return context;
503
527
  }
528
+ /**
529
+ * Reload page with nav.
530
+ */
531
+ reload() {
532
+ this.__abort.signal.throwIfAborted();
533
+ return this.nav({ replace: true });
534
+ }
535
+ /**
536
+ * Global reload page in browser.
537
+ */
538
+ restart() {
539
+ this.__abort.signal.throwIfAborted();
540
+ BROWSER.reload();
541
+ }
542
+ async destroy(contextData) {
543
+ if (this.__abort.signal.aborted)
544
+ return Promise.reject('Application already destroyed.');
545
+ this.__abort.abort();
546
+ console.info("app destroy begin");
547
+ if (this.__execNav)
548
+ this.__execNav.abort.abort();
549
+ if (this.__lastNav)
550
+ this.__lastNav.abort.abort();
551
+ if (this.__globalSubmit)
552
+ this.element?.removeEventListener("submit", this.__globalSubmit);
553
+ const destroyAbort = new AbortController();
554
+ const context = {
555
+ abort: destroyAbort.signal,
556
+ app: this,
557
+ data: contextData || {}
558
+ };
559
+ try {
560
+ await this.invoker.invoke("stop", context);
561
+ console.info("app destroy success");
562
+ return context;
563
+ }
564
+ catch (reason) {
565
+ console.error(`app destroy error: ${reason}`);
566
+ throw reason;
567
+ }
568
+ finally {
569
+ super.destroy();
570
+ }
571
+ }
572
+ /**
573
+ * Generate url of application base url.
574
+ * @param path Add optional path of base url.
575
+ * @param query Add optional query params.
576
+ * @param hash Add optional hash.
577
+ * @returns Relative url with base path.
578
+ */
579
+ buildUrl(path, query, hash) {
580
+ this.__abort.signal.throwIfAborted();
581
+ return urlHelper.buildUrl(this.env.basePath, path, query, hash);
582
+ }
504
583
  async __onSubmit(options) {
505
584
  const opt = options instanceof HTMLFormElement ? { form: options } : options;
506
585
  const { form, button = null, query, data = {} } = opt;
507
586
  if (!form.checkValidity())
508
- return Promise.reject(new Error('Form is invalid.'));
587
+ throw new Error('Form is invalid.');
509
588
  let replace = form.hasAttribute(result.NavUrlReplaceAttributeName);
510
589
  let method = form.method;
511
590
  let enctype = form.enctype;
@@ -522,12 +601,12 @@ class Application extends ui.UIElement {
522
601
  replace = true;
523
602
  }
524
603
  if (form.classList.contains(result.LoadingElementClass))
525
- return Promise.reject(new Error('Form already submitting.'));
604
+ throw new Error('Form already submitting.');
526
605
  form.classList.add(result.LoadingElementClass);
527
606
  method = method.toUpperCase();
528
607
  try {
529
608
  if (method === "GET")
530
- await this.nav({ url, query: new FormData(form), data: data, replace });
609
+ await this.nav({ url, query: new FormData(form), data: data, replace, abort: opt.abort });
531
610
  else {
532
611
  const navUrl = urlHelper.parseUrl(url);
533
612
  if (query)
@@ -538,14 +617,17 @@ class Application extends ui.UIElement {
538
617
  parentNav.abort.abort(NAV_OVERIDE_ERROR);
539
618
  parentNav.context.overided = true;
540
619
  }
541
- const abort = new AbortController();
542
- const externalAbort = opt.abort;
543
- if (externalAbort)
544
- externalAbort.addEventListener("abort", () => abort.abort(externalAbort.reason));
620
+ const navIndex = parentNav ? parentNav.context.index + 1 : 1;
621
+ const submitAbort = new AbortController();
622
+ const aborts = [this.__abort.signal, submitAbort.signal];
623
+ if (opt.abort)
624
+ aborts.push(opt.abort);
625
+ const complextAbort = AbortSignal.any(aborts);
545
626
  let context = {
627
+ index: navIndex,
546
628
  source: "submit",
547
629
  app: this,
548
- abort: abort.signal,
630
+ abort: complextAbort,
549
631
  current: this.__lastNav?.context,
550
632
  parent: parentNav?.context,
551
633
  overided: false,
@@ -561,9 +643,15 @@ class Application extends ui.UIElement {
561
643
  query: navUrl.query,
562
644
  hash: navUrl.hash,
563
645
  external: navUrl.external,
564
- replace
646
+ replace,
647
+ redirect: async (options) => {
648
+ complextAbort.throwIfAborted();
649
+ const result = await this.nav(options);
650
+ complextAbort.throwIfAborted();
651
+ return result;
652
+ }
565
653
  };
566
- const currentNav = { id: parentNav ? parentNav.id + 1 : 1, method: "submit", context, abort, status: "work" };
654
+ const currentNav = { method: "submit", context, abort: submitAbort, status: "work" };
567
655
  await this.__execNavigate(currentNav);
568
656
  }
569
657
  }
@@ -573,60 +661,11 @@ class Application extends ui.UIElement {
573
661
  button.classList.remove(result.LoadingElementClass);
574
662
  }
575
663
  }
576
- /**
577
- * Reload page with nav.
578
- */
579
- reload() {
580
- return this.nav({ replace: true });
581
- }
582
- /**
583
- * Global reload page in browser.
584
- */
585
- restart() {
586
- BROWSER.reload();
587
- }
588
- async destroy(contextData) {
589
- if (this.__isDestroy)
590
- return Promise.reject('Application already destroyed.');
591
- this.__isDestroy = true;
592
- console.info("app destroy begin");
593
- if (this.__globalSubmit)
594
- BROWSER.window.removeEventListener("submit", this.__globalSubmit);
595
- if (this.__execNav)
596
- this.__execNav.abort.abort();
597
- const abort = new AbortController();
598
- const context = {
599
- abort: abort.signal,
600
- app: this,
601
- data: contextData || {}
602
- };
603
- try {
604
- await this.invoker.invoke("stop", context);
605
- console.info("app destroy success");
606
- return context;
607
- }
608
- catch (reason) {
609
- console.error(`app destroy error: ${reason}`);
610
- throw reason;
611
- }
612
- finally {
613
- super.destroy();
614
- }
615
- }
616
- /**
617
- * Generate url of application base url.
618
- * @param path Add optional path of base url.
619
- * @param query Add optional query params.
620
- * @param hash Add optional hash.
621
- * @returns Relative url with base path.
622
- */
623
- buildUrl(path, query, hash) {
624
- return urlHelper.buildUrl(this.env.basePath, path, query, hash);
625
- }
626
664
  async __execNavigate(nav) {
627
- this.__execNav = nav;
628
665
  try {
629
666
  console.info(`${nav.method} begin`, nav.context);
667
+ nav.context.abort.throwIfAborted();
668
+ this.__execNav = nav;
630
669
  await this.invoker.invoke(nav.method, nav.context);
631
670
  this.__lastNav = nav;
632
671
  nav.status = "success";
@@ -683,6 +722,7 @@ class ApplicationBuilder {
683
722
  }
684
723
  }
685
724
 
725
+ exports.APP_TYPENAME = APP_TYPENAME;
686
726
  exports.Application = Application;
687
727
  exports.ApplicationBuilder = ApplicationBuilder;
688
728
  exports.BROWSER = browser;
@@ -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/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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"}
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
@@ -356,6 +356,7 @@ var url = /*#__PURE__*/Object.freeze({
356
356
  default: urlHelper
357
357
  });
358
358
 
359
+ const APP_TYPENAME = "brandup-ui-app";
359
360
  const NAV_OVERIDE_ERROR = "NavigationOveride";
360
361
  /**
361
362
  * Base application class.
@@ -367,8 +368,9 @@ class Application extends UIElement {
367
368
  model;
368
369
  /** Application middleware invoker. */
369
370
  invoker;
370
- __isInitialized = false;
371
- __isDestroy = false;
371
+ __abort;
372
+ __isInited;
373
+ __isRuned;
372
374
  __middlewares = {};
373
375
  __globalSubmit;
374
376
  __execNav; // current navigation invoking
@@ -379,13 +381,17 @@ class Application extends UIElement {
379
381
  this.model = model;
380
382
  const core = { name: "app-root" };
381
383
  this.invoker = new MiddlewareInvoker(core);
384
+ this.__abort = new AbortController();
382
385
  }
383
- get typeName() { return "Application"; }
386
+ get typeName() { return APP_TYPENAME; }
387
+ get current() { return this.__lastNav?.context; }
388
+ /** Application destroy signal. */
389
+ get abort() { return this.__abort.signal; }
384
390
  /** @internal */
385
391
  initialize(middlewares) {
386
- if (this.__isInitialized)
392
+ if (this.__isInited)
387
393
  throw new Error('Application already initialized.');
388
- this.__isInitialized = true;
394
+ this.__isInited = true;
389
395
  this.onInitialize();
390
396
  middlewares.forEach(middleware => {
391
397
  var name = middleware.name;
@@ -405,6 +411,7 @@ class Application extends UIElement {
405
411
  * @returns Middleware instance.
406
412
  */
407
413
  middleware(name) {
414
+ this.__abort.signal.throwIfAborted();
408
415
  const middleware = this.__middlewares[name];
409
416
  if (!middleware)
410
417
  throw new Error(`Middleware ${name} is not registered.`);
@@ -417,20 +424,28 @@ class Application extends UIElement {
417
424
  * @returns Promise of runned result.
418
425
  */
419
426
  async run(contextData, element) {
427
+ if (this.__abort.signal.aborted)
428
+ throw new Error('Application is destroyed.');
429
+ if (this.__isRuned)
430
+ throw new Error('Application already run.');
431
+ this.__isRuned = true;
420
432
  if (!contextData)
421
433
  contextData = {};
422
- this.setElement(element || BROWSER.body);
423
- const abort = new AbortController();
434
+ element = element || BROWSER.body;
435
+ this.setElement(element);
424
436
  const context = {
425
- abort: abort.signal,
437
+ abort: this.__abort.signal,
426
438
  app: this,
427
439
  data: contextData
428
440
  };
429
441
  try {
430
442
  await this.invoker.invoke("start", context);
431
443
  console.info("app start success");
432
- abort.signal.throwIfAborted();
433
- BROWSER.window.addEventListener("submit", this.__globalSubmit = (e) => {
444
+ this.__abort.signal.throwIfAborted();
445
+ await this.invoker.invoke("loaded", context);
446
+ console.info("app load success");
447
+ this.__abort.signal.throwIfAborted();
448
+ element.addEventListener("submit", this.__globalSubmit = (e) => {
434
449
  const form = e.target;
435
450
  if (!form.classList.contains(result.FormClassName))
436
451
  return;
@@ -438,23 +453,23 @@ class Application extends UIElement {
438
453
  this.__onSubmit({ form, button: e.submitter instanceof HTMLButtonElement ? e.submitter : null })
439
454
  .catch(() => { });
440
455
  }, false);
441
- await this.invoker.invoke("loaded", context);
442
- console.info("app load success");
443
- abort.signal.throwIfAborted();
444
456
  console.info("app runned");
445
- await this.nav({ data: context.data });
446
- return context;
457
+ }
458
+ catch (reason) {
459
+ console.error(`app run error: ${reason}`);
460
+ throw reason;
461
+ }
462
+ try {
463
+ await this.nav({ data: context.data, abort: this.__abort.signal });
447
464
  }
448
465
  catch (reason) {
449
466
  if (reason === NAV_OVERIDE_ERROR) {
450
467
  console.info(`app run nav overided`);
451
468
  return context;
452
469
  }
453
- if (this.__globalSubmit)
454
- BROWSER.window.removeEventListener("submit", this.__globalSubmit);
455
- console.error(`app run error: ${reason}`);
456
470
  throw reason;
457
471
  }
472
+ return context;
458
473
  }
459
474
  /**
460
475
  * Navigate application to url.
@@ -474,14 +489,17 @@ class Application extends UIElement {
474
489
  parentNav.abort.abort(NAV_OVERIDE_ERROR);
475
490
  parentNav.context.overided = true;
476
491
  }
477
- const abort = new AbortController();
478
- const externalAbort = opt.abort;
479
- if (externalAbort)
480
- externalAbort.addEventListener("abort", () => abort.abort(externalAbort.reason));
492
+ const navIndex = parentNav ? parentNav.context.index + 1 : 1;
493
+ const navAbort = new AbortController();
494
+ const aborts = [this.__abort.signal, navAbort.signal];
495
+ if (opt.abort)
496
+ aborts.push(opt.abort);
497
+ const complextAbort = AbortSignal.any(aborts);
481
498
  const context = {
499
+ index: navIndex,
482
500
  source: isFirst ? "first" : "nav",
483
501
  app: this,
484
- abort: abort.signal,
502
+ abort: complextAbort,
485
503
  current: this.__lastNav?.context,
486
504
  parent: parentNav?.context,
487
505
  overided: false,
@@ -493,17 +511,78 @@ class Application extends UIElement {
493
511
  query: navUrl.query,
494
512
  hash: navUrl.hash,
495
513
  external: navUrl.external,
496
- replace
514
+ replace,
515
+ redirect: async (options) => {
516
+ complextAbort.throwIfAborted();
517
+ const result = await this.nav(options);
518
+ complextAbort.throwIfAborted();
519
+ return result;
520
+ }
497
521
  };
498
- const currentNav = { id: parentNav ? parentNav.id + 1 : 1, method: "navigate", context, abort, status: "work" };
522
+ const currentNav = { method: "navigate", context, abort: navAbort, status: "work" };
499
523
  await this.__execNavigate(currentNav);
500
524
  return context;
501
525
  }
526
+ /**
527
+ * Reload page with nav.
528
+ */
529
+ reload() {
530
+ this.__abort.signal.throwIfAborted();
531
+ return this.nav({ replace: true });
532
+ }
533
+ /**
534
+ * Global reload page in browser.
535
+ */
536
+ restart() {
537
+ this.__abort.signal.throwIfAborted();
538
+ BROWSER.reload();
539
+ }
540
+ async destroy(contextData) {
541
+ if (this.__abort.signal.aborted)
542
+ return Promise.reject('Application already destroyed.');
543
+ this.__abort.abort();
544
+ console.info("app destroy begin");
545
+ if (this.__execNav)
546
+ this.__execNav.abort.abort();
547
+ if (this.__lastNav)
548
+ this.__lastNav.abort.abort();
549
+ if (this.__globalSubmit)
550
+ this.element?.removeEventListener("submit", this.__globalSubmit);
551
+ const destroyAbort = new AbortController();
552
+ const context = {
553
+ abort: destroyAbort.signal,
554
+ app: this,
555
+ data: contextData || {}
556
+ };
557
+ try {
558
+ await this.invoker.invoke("stop", context);
559
+ console.info("app destroy success");
560
+ return context;
561
+ }
562
+ catch (reason) {
563
+ console.error(`app destroy error: ${reason}`);
564
+ throw reason;
565
+ }
566
+ finally {
567
+ super.destroy();
568
+ }
569
+ }
570
+ /**
571
+ * Generate url of application base url.
572
+ * @param path Add optional path of base url.
573
+ * @param query Add optional query params.
574
+ * @param hash Add optional hash.
575
+ * @returns Relative url with base path.
576
+ */
577
+ buildUrl(path, query, hash) {
578
+ this.__abort.signal.throwIfAborted();
579
+ return urlHelper.buildUrl(this.env.basePath, path, query, hash);
580
+ }
502
581
  async __onSubmit(options) {
503
582
  const opt = options instanceof HTMLFormElement ? { form: options } : options;
504
583
  const { form, button = null, query, data = {} } = opt;
505
584
  if (!form.checkValidity())
506
- return Promise.reject(new Error('Form is invalid.'));
585
+ throw new Error('Form is invalid.');
507
586
  let replace = form.hasAttribute(result.NavUrlReplaceAttributeName);
508
587
  let method = form.method;
509
588
  let enctype = form.enctype;
@@ -520,12 +599,12 @@ class Application extends UIElement {
520
599
  replace = true;
521
600
  }
522
601
  if (form.classList.contains(result.LoadingElementClass))
523
- return Promise.reject(new Error('Form already submitting.'));
602
+ throw new Error('Form already submitting.');
524
603
  form.classList.add(result.LoadingElementClass);
525
604
  method = method.toUpperCase();
526
605
  try {
527
606
  if (method === "GET")
528
- await this.nav({ url, query: new FormData(form), data: data, replace });
607
+ await this.nav({ url, query: new FormData(form), data: data, replace, abort: opt.abort });
529
608
  else {
530
609
  const navUrl = urlHelper.parseUrl(url);
531
610
  if (query)
@@ -536,14 +615,17 @@ class Application extends UIElement {
536
615
  parentNav.abort.abort(NAV_OVERIDE_ERROR);
537
616
  parentNav.context.overided = true;
538
617
  }
539
- const abort = new AbortController();
540
- const externalAbort = opt.abort;
541
- if (externalAbort)
542
- externalAbort.addEventListener("abort", () => abort.abort(externalAbort.reason));
618
+ const navIndex = parentNav ? parentNav.context.index + 1 : 1;
619
+ const submitAbort = new AbortController();
620
+ const aborts = [this.__abort.signal, submitAbort.signal];
621
+ if (opt.abort)
622
+ aborts.push(opt.abort);
623
+ const complextAbort = AbortSignal.any(aborts);
543
624
  let context = {
625
+ index: navIndex,
544
626
  source: "submit",
545
627
  app: this,
546
- abort: abort.signal,
628
+ abort: complextAbort,
547
629
  current: this.__lastNav?.context,
548
630
  parent: parentNav?.context,
549
631
  overided: false,
@@ -559,9 +641,15 @@ class Application extends UIElement {
559
641
  query: navUrl.query,
560
642
  hash: navUrl.hash,
561
643
  external: navUrl.external,
562
- replace
644
+ replace,
645
+ redirect: async (options) => {
646
+ complextAbort.throwIfAborted();
647
+ const result = await this.nav(options);
648
+ complextAbort.throwIfAborted();
649
+ return result;
650
+ }
563
651
  };
564
- const currentNav = { id: parentNav ? parentNav.id + 1 : 1, method: "submit", context, abort, status: "work" };
652
+ const currentNav = { method: "submit", context, abort: submitAbort, status: "work" };
565
653
  await this.__execNavigate(currentNav);
566
654
  }
567
655
  }
@@ -571,60 +659,11 @@ class Application extends UIElement {
571
659
  button.classList.remove(result.LoadingElementClass);
572
660
  }
573
661
  }
574
- /**
575
- * Reload page with nav.
576
- */
577
- reload() {
578
- return this.nav({ replace: true });
579
- }
580
- /**
581
- * Global reload page in browser.
582
- */
583
- restart() {
584
- BROWSER.reload();
585
- }
586
- async destroy(contextData) {
587
- if (this.__isDestroy)
588
- return Promise.reject('Application already destroyed.');
589
- this.__isDestroy = true;
590
- console.info("app destroy begin");
591
- if (this.__globalSubmit)
592
- BROWSER.window.removeEventListener("submit", this.__globalSubmit);
593
- if (this.__execNav)
594
- this.__execNav.abort.abort();
595
- const abort = new AbortController();
596
- const context = {
597
- abort: abort.signal,
598
- app: this,
599
- data: contextData || {}
600
- };
601
- try {
602
- await this.invoker.invoke("stop", context);
603
- console.info("app destroy success");
604
- return context;
605
- }
606
- catch (reason) {
607
- console.error(`app destroy error: ${reason}`);
608
- throw reason;
609
- }
610
- finally {
611
- super.destroy();
612
- }
613
- }
614
- /**
615
- * Generate url of application base url.
616
- * @param path Add optional path of base url.
617
- * @param query Add optional query params.
618
- * @param hash Add optional hash.
619
- * @returns Relative url with base path.
620
- */
621
- buildUrl(path, query, hash) {
622
- return urlHelper.buildUrl(this.env.basePath, path, query, hash);
623
- }
624
662
  async __execNavigate(nav) {
625
- this.__execNav = nav;
626
663
  try {
627
664
  console.info(`${nav.method} begin`, nav.context);
665
+ nav.context.abort.throwIfAborted();
666
+ this.__execNav = nav;
628
667
  await this.invoker.invoke(nav.method, nav.context);
629
668
  this.__lastNav = nav;
630
669
  nav.status = "success";
@@ -681,5 +720,5 @@ class ApplicationBuilder {
681
720
  }
682
721
  }
683
722
 
684
- export { Application, ApplicationBuilder, browser as BROWSER, constants as CONSTANTS, NAV_OVERIDE_ERROR, url as UrlHelper };
723
+ export { APP_TYPENAME, Application, ApplicationBuilder, browser as BROWSER, constants as CONSTANTS, NAV_OVERIDE_ERROR, url as UrlHelper };
685
724
  //# sourceMappingURL=index.js.map
@@ -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/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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"}
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":";;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;IAED,MAAM,CAAiC,MAAc,EAAE,OAAiB,EAAA;QACvE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC;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;AAE7G,QAAA,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QAE/B,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,CAAA,YAAA,EAAe,IAAI,CAAC,UAAU,CAAC,IAAI,CAAA,UAAA,EAAa,MAAM,CAAA,eAAA,CAAiB,CAAC,CAAC;AAE1F,YAAA,MAAM,YAAY,CAAC;SACnB;;YAEA,MAAM,QAAQ,EAAE,CAAC;KAClB;AACD;;ACxBD,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;AAC1B,IAAA,MAAM,WAAW,GAAG,CAAC,CAAgB,KAAK,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC;AACpE,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,KAAK,CAAC,MAAK,GAAI,CAAC;AAChB,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;;ACvED,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;;;;;;;ACjMM,MAAM,YAAY,GAAG,iBAAiB;AACtC,MAAM,iBAAiB,GAAG,oBAAoB;AAErD;;AAEG;AACG,MAAO,WAAgE,SAAQ,SAAS,CAAA;;AAEpF,IAAA,GAAG,CAAmB;;AAEtB,IAAA,KAAK,CAAS;;AAEd,IAAA,OAAO,CAAoB;AAC5B,IAAA,OAAO,CAAkB;AACzB,IAAA,UAAU,CAAW;AACrB,IAAA,SAAS,CAAW;IACpB,aAAa,GAAkC,EAAE,CAAC;AAClD,IAAA,cAAc,CAA4B;IAC1C,SAAS,CAAsB;IAC/B,SAAS,CAAsB;AAEvC,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,OAAO,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC3C,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;KACrC;AAED,IAAA,IAAI,QAAQ,GAAa,EAAA,OAAO,YAAY,CAAC,EAAE;IAC/C,IAAI,OAAO,GAAkC,EAAA,OAAO,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE;;IAE9E,IAAI,KAAK,GAAkB,EAAA,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;;AAGxD,IAAA,UAAU,CAAC,WAA8B,EAAA;QACxC,IAAI,IAAI,CAAC,UAAU;AAClB,YAAA,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;AACrD,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,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;AAC1C,gBAAA,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,CAAA,qBAAA,CAAuB,CAAC,CAAC;AAE7D,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;AAEtC,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC/B,SAAC,CAAC,CAAC;KACH;IAES,YAAY,GAAA;QACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAACC,sBAAe,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAACC,0BAAmB,EAAE,CAAC,CAAC;KACzC;AAED;;;;AAIG;AACH,IAAA,UAAU,CAAuB,IAAY,EAAA;AAC5C,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAErC,MAAM,UAAU,GAAQ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,UAAU;AACd,YAAA,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAA,mBAAA,CAAqB,CAAC,CAAC;AAE1D,QAAA,OAAU,UAAU,CAAC;KACrB;AAED;;;;;AAKG;AACH,IAAA,MAAM,GAAG,CAA4B,WAA0B,EAAE,OAAqB,EAAA;AACrF,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO;AAC9B,YAAA,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAE9C,IAAI,IAAI,CAAC,SAAS;AACjB,YAAA,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAC7C,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AAEtB,QAAA,IAAI,CAAC,WAAW;YACf,WAAW,GAAU,EAAE,CAAC;AAEzB,QAAA,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;AAClC,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAEzB,QAAA,MAAM,OAAO,GAA8B;AAC1C,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;AAC1B,YAAA,GAAG,EAAE,IAAI;AACT,YAAA,IAAI,EAAE,WAAW;SACjB,CAAC;AAEF,QAAA,IAAI;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5C,YAAA,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAElC,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAErC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC7C,YAAA,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAEjC,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;AAErC,YAAA,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,GAAG,CAAC,CAAc,KAAI;AAC3E,gBAAA,MAAM,IAAI,GAAG,CAAC,CAAC,MAAyB,CAAC;gBACzC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAACF,MAAS,CAAC,aAAa,CAAC;oBACpD,OAAO;gBAER,CAAC,CAAC,cAAc,EAAE,CAAC;gBAEnB,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,YAAY,iBAAiB,GAAsB,CAAC,CAAC,SAAS,GAAG,IAAI,EAAE,CAAC;AACjH,qBAAA,KAAK,CAAC,MAAQ,GAAC,CAAC,CAAC;aACnB,EAAE,KAAK,CAAC,CAAC;AAEV,YAAA,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC3B;QACD,OAAO,MAAW,EAAE;AACnB,YAAA,OAAO,CAAC,KAAK,CAAC,kBAAkB,MAAM,CAAA,CAAE,CAAC,CAAC;AAC1C,YAAA,MAAM,MAAM,CAAC;SACb;AAED,QAAA,IAAI;YACH,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;SACnE;QACD,OAAO,MAAW,EAAE;AACnB,YAAA,IAAI,MAAM,KAAK,iBAAiB,EAAE;AACjC,gBAAA,OAAO,CAAC,IAAI,CAAC,CAAA,oBAAA,CAAsB,CAAC,CAAC;AACrC,gBAAA,OAAO,OAAO,CAAC;aACf;AAED,YAAA,MAAM,MAAM,CAAC;SACb;AAED,QAAA,OAAO,OAAO,CAAC;KACf;AAED;;;;AAIG;IACH,MAAM,GAAG,CAA4B,OAAgD,EAAA;QACpF,MAAM,GAAG,GAA2B,CAAC,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,EAAE,GAAG,EAAU,OAAO,EAAE,GAA2B,OAAO,CAAC;AAC3I,QAAA,IAAI,EAAE,GAAG,GAAG,IAAI,EAAE,OAAO,GAAG,KAAK,EAAE,IAAI,GAAU,EAAE,EAAE,GAAG,GAAG,CAAC;QAE5D,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;QAE1C,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AAEjD,QAAA,IAAI,SAAyC,CAAC;AAC9C,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,EAAE;AACvD,YAAA,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AAE3B,YAAA,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACnC,YAAA,SAAS,CAAC,OAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;SACzC;AAED,QAAA,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;AAE7D,QAAA,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;AACvC,QAAA,MAAM,MAAM,GAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACrE,IAAI,GAAG,CAAC,KAAK;AACZ,YAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAE9C,QAAA,MAAM,OAAO,GAAiC;AAC7C,YAAA,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,KAAK;AACjC,YAAA,GAAG,EAAE,IAAI;AACT,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,OAAO,EAAgC,IAAI,CAAC,SAAS,EAAE,OAAO;YAC9D,MAAM,EAAgC,SAAS,EAAE,OAAO;AACxD,YAAA,QAAQ,EAAE,KAAK;YACf,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;AACP,YAAA,QAAQ,EAAE,OAAO,OAAgD,KAAI;gBACpE,aAAa,CAAC,cAAc,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAQ,OAAO,CAAC,CAAC;gBAC9C,aAAa,CAAC,cAAc,EAAE,CAAC;AAC/B,gBAAA,OAAO,MAAM,CAAC;aACd;SACD,CAAC;AAEF,QAAA,MAAM,UAAU,GAAuB,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACxG,QAAA,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;AAEtC,QAAA,OAAO,OAAO,CAAC;KACf;AAED;;AAEG;IACH,MAAM,GAAA;AACL,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAErC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;KACnC;AAED;;AAEG;IACH,OAAO,GAAA;AACN,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAErC,OAAO,CAAC,MAAM,EAAE,CAAC;KACjB;IAED,MAAM,OAAO,CAA0C,WAA0B,EAAA;AAChF,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO;AAC9B,YAAA,OAAO,OAAO,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC;AACzD,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;AAErB,QAAA,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAElC,IAAI,IAAI,CAAC,SAAS;AACjB,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,SAAS;AACjB,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAE9B,IAAI,IAAI,CAAC,cAAc;YACtB,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;AAElE,QAAA,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;AAE3C,QAAA,MAAM,OAAO,GAAoC;YAChD,KAAK,EAAE,YAAY,CAAC,MAAM;AAC1B,YAAA,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,WAAW,IAAW,EAAE;SAC9B,CAAC;AAEF,QAAA,IAAI;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3C,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,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;AAErC,QAAA,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;KAChE;IAEO,MAAM,UAAU,CAA4B,OAA+C,EAAA;AAClG,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,GAAG,GAAG,CAAC;AAE7D,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACxB,YAAA,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAErC,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAACA,MAAS,CAAC,0BAA0B,CAAC,CAAC;AACtE,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;AACX,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;YAEzB,MAAM,CAAC,SAAS,CAAC,GAAG,CAACA,MAAS,CAAC,mBAAmB,CAAC,CAAC;AAEpD,YAAA,IAAI,MAAM,CAAC,YAAY,CAACA,MAAS,CAAC,0BAA0B,CAAC;gBAC5D,OAAO,GAAG,IAAI,CAAC;SAChB;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAACA,MAAS,CAAC,mBAAmB,CAAC;AACzD,YAAA,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,GAAG,CAACA,MAAS,CAAC,mBAAmB,CAAC,CAAC;AAElD,QAAA,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;AAE9B,QAAA,IAAI;YAEH,IAAI,MAAM,KAAK,KAAK;AACnB,gBAAA,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;iBACtF;gBACJ,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACvC,gBAAA,IAAI,KAAK;AACR,oBAAA,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAEtC,gBAAA,IAAI,SAAyC,CAAC;AAC9C,gBAAA,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,EAAE;AACvD,oBAAA,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AAE3B,oBAAA,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACnC,oBAAA,SAAS,CAAC,OAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;iBACzC;AAED,gBAAA,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;AAE7D,gBAAA,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;AAC1C,gBAAA,MAAM,MAAM,GAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;gBACxE,IAAI,GAAG,CAAC,KAAK;AACZ,oBAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAE9C,gBAAA,IAAI,OAAO,GAA+B;AACzC,oBAAA,KAAK,EAAE,QAAQ;AACf,oBAAA,MAAM,EAAE,QAAQ;AAChB,oBAAA,GAAG,EAAE,IAAI;AACT,oBAAA,KAAK,EAAE,aAAa;AACpB,oBAAA,OAAO,EAAgC,IAAI,CAAC,SAAS,EAAE,OAAO;oBAC9D,MAAM,EAAgC,SAAS,EAAE,OAAO;AACxD,oBAAA,QAAQ,EAAE,KAAK;oBACf,IAAI;oBACJ,IAAI;oBACJ,MAAM;oBACN,MAAM;oBACN,OAAO;oBACP,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,YAAY,EAAE,MAAM,CAAC,QAAQ;oBAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,OAAO;AACP,oBAAA,QAAQ,EAAE,OAAO,OAAgD,KAAI;wBACpE,aAAa,CAAC,cAAc,EAAE,CAAC;wBAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAQ,OAAO,CAAC,CAAC;wBAC9C,aAAa,CAAC,cAAc,EAAE,CAAC;AAC/B,wBAAA,OAAO,MAAM,CAAC;qBACd;iBACD,CAAC;AAEF,gBAAA,MAAM,UAAU,GAAuB,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACzG,gBAAA,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;aACtC;SACD;gBACO;YACP,IAAI,CAAC,SAAS,CAAC,MAAM,CAACA,MAAS,CAAC,mBAAmB,CAAC,CAAC;AAErD,YAAA,IAAI,MAAM;gBACT,MAAM,CAAC,SAAS,CAAC,MAAM,CAACA,MAAS,CAAC,mBAAmB,CAAC,CAAC;SACxD;KACD;IAEO,MAAM,cAAc,CAAC,GAAuB,EAAA;AACnD,QAAA,IAAI;AACH,YAAA,OAAO,CAAC,IAAI,CAAC,CAAA,EAAG,GAAG,CAAC,MAAM,CAAA,MAAA,CAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;AAEjD,YAAA,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;AACnC,YAAA,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;AAErB,YAAA,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;AAEnD,YAAA,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;AAErB,YAAA,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC;AACvB,YAAA,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAI,CAAA,EAAA,GAAG,CAAC,MAAM,CAAA,CAAA,EAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAA,CAAE,CAAC,CAAC;SAC/D;QACD,OAAO,MAAW,EAAE;AACnB,YAAA,IAAI,MAAM,EAAE,IAAI,KAAK,YAAY,EAAE;AAClC,gBAAA,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC;AACzB,gBAAA,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAI,CAAA,EAAA,GAAG,CAAC,MAAM,CAAA,CAAA,EAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAA,CAAE,CAAC,CAAC;aAC/D;AACI,iBAAA,IAAI,MAAM,KAAK,iBAAiB,EAAE;AACtC,gBAAA,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC;AACxB,gBAAA,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAI,CAAA,EAAA,GAAG,CAAC,MAAM,CAAA,CAAA,EAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAA,CAAE,CAAC,CAAC;aAC/D;iBACI;AACJ,gBAAA,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC;gBACrB,OAAO,CAAC,KAAK,CAAC,CAAA,EAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAI,CAAA,EAAA,GAAG,CAAC,OAAO,CAAC,GAAG,CAAK,EAAA,EAAA,MAAM,CAAE,CAAA,CAAC,CAAC;aAC3E;AAED,YAAA,MAAM,MAAM,CAAC;SACb;KACD;AACD;;MC9ZY,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;;;;"}
package/dist/types.d.ts CHANGED
@@ -38,7 +38,16 @@ interface StopContext<TApplication extends Application = Application, TData exte
38
38
  readonly app: TApplication;
39
39
  readonly data: TData;
40
40
  }
41
+ interface NavigateOptions<TData extends ContextData = ContextData> {
42
+ url?: string | null;
43
+ query?: QueryParams | URLSearchParams | FormData;
44
+ replace?: boolean;
45
+ data?: TData;
46
+ abort?: AbortSignal;
47
+ }
41
48
  interface NavigateContext<TApplication extends Application = Application, TData extends ContextData = ContextData> extends InvokeContext {
49
+ /** Index number of all application navigations. */
50
+ readonly index: number;
42
51
  /** Source navigation event. */
43
52
  readonly source: NavigateSource;
44
53
  /** Application instance of navigation. */
@@ -65,6 +74,8 @@ interface NavigateContext<TApplication extends Application = Application, TData
65
74
  readonly external: boolean;
66
75
  /** Replace current navigation entry. */
67
76
  replace: boolean;
77
+ /** Redirect to new url and throw for end current context. */
78
+ redirect(options?: NavigateOptions<TData> | string | null): Promise<NavigateContext<TApplication, TData>>;
68
79
  }
69
80
  /**
70
81
  * Navigation event source.
@@ -73,6 +84,13 @@ interface NavigateContext<TApplication extends Application = Application, TData
73
84
  * submit - from submit form.
74
85
  */
75
86
  type NavigateSource = "first" | "nav" | "submit";
87
+ interface SubmitOptions<TData extends ContextData = ContextData> {
88
+ form: HTMLFormElement;
89
+ button?: HTMLButtonElement | null;
90
+ query?: QueryParams | URLSearchParams;
91
+ data?: TData;
92
+ abort?: AbortSignal;
93
+ }
76
94
  interface SubmitContext<TApplication extends Application = Application, TData extends ContextData = ContextData> extends NavigateContext<TApplication, TData> {
77
95
  readonly form: HTMLFormElement;
78
96
  readonly button: HTMLButtonElement | null;
@@ -90,6 +108,7 @@ declare class MiddlewareInvoker {
90
108
  private __exec;
91
109
  }
92
110
 
111
+ declare const APP_TYPENAME = "brandup-ui-app";
93
112
  declare const NAV_OVERIDE_ERROR = "NavigationOveride";
94
113
  /**
95
114
  * Base application class.
@@ -101,14 +120,18 @@ declare class Application<TModel extends ApplicationModel = ApplicationModel> ex
101
120
  readonly model: TModel;
102
121
  /** Application middleware invoker. */
103
122
  readonly invoker: MiddlewareInvoker;
104
- private __isInitialized;
105
- private __isDestroy;
123
+ private __abort;
124
+ private __isInited?;
125
+ private __isRuned?;
106
126
  private __middlewares;
107
127
  private __globalSubmit?;
108
128
  private __execNav?;
109
129
  private __lastNav?;
110
130
  constructor(env: EnvironmentModel, model: TModel, ...args: any[]);
111
131
  get typeName(): string;
132
+ get current(): NavigateContext | undefined;
133
+ /** Application destroy signal. */
134
+ get abort(): AbortSignal;
112
135
  protected onInitialize(): void;
113
136
  /**
114
137
  * Get middleware by type.
@@ -128,8 +151,7 @@ declare class Application<TModel extends ApplicationModel = ApplicationModel> ex
128
151
  * @param options Navigate options.
129
152
  * @returns Promise of navigated result.
130
153
  */
131
- nav<TData extends ContextData>(options?: NavigationOptions<TData> | string | null): Promise<NavigateContext<this, TData>>;
132
- private __onSubmit;
154
+ nav<TData extends ContextData>(options?: NavigateOptions<TData> | string | null): Promise<NavigateContext<this, TData>>;
133
155
  /**
134
156
  * Reload page with nav.
135
157
  */
@@ -147,22 +169,9 @@ declare class Application<TModel extends ApplicationModel = ApplicationModel> ex
147
169
  * @returns Relative url with base path.
148
170
  */
149
171
  buildUrl(path?: string, query?: QueryParams | URLSearchParams | FormData, hash?: string): string;
172
+ private __onSubmit;
150
173
  private __execNavigate;
151
174
  }
152
- interface NavigationOptions<TData extends ContextData = ContextData> {
153
- url?: string | null;
154
- query?: QueryParams | URLSearchParams | FormData;
155
- replace?: boolean;
156
- data?: TData;
157
- abort?: AbortSignal;
158
- }
159
- interface SubmitOptions<TData extends ContextData = ContextData> {
160
- form: HTMLFormElement;
161
- button?: HTMLButtonElement | null;
162
- query?: QueryParams | URLSearchParams;
163
- data?: TData;
164
- abort?: AbortSignal;
165
- }
166
175
 
167
176
  declare class ApplicationBuilder<TModel extends ApplicationModel> {
168
177
  private __model;
@@ -226,4 +235,4 @@ declare namespace browser {
226
235
  export { _default as default };
227
236
  }
228
237
 
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 };
238
+ export { APP_TYPENAME, 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 NavigateOptions, type NavigateSource, 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.19",
27
+ "version": "1.0.21",
28
28
  "dependencies": {
29
- "@brandup/ui": "^1.0.19",
30
- "@brandup/ui-dom": "^1.0.19"
29
+ "@brandup/ui": "^1.0.21",
30
+ "@brandup/ui-dom": "^1.0.21"
31
31
  },
32
32
  "files": [
33
33
  "dist",