@warp-drive/ember 0.0.0-alpha.18 → 0.0.0-alpha.19
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/README.md +56 -5
- package/addon/index.js +193 -10
- package/addon/index.js.map +1 -1
- package/package.json +9 -9
- package/unstable-preview-types/-private/await.d.ts +2 -2
- package/unstable-preview-types/-private/await.d.ts.map +1 -1
- package/unstable-preview-types/-private/request-state.d.ts +5 -5
- package/unstable-preview-types/-private/request-state.d.ts.map +1 -1
- package/unstable-preview-types/-private/request.d.ts +60 -12
- package/unstable-preview-types/-private/request.d.ts.map +1 -1
package/README.md
CHANGED
|
@@ -218,6 +218,9 @@ import { Await } from '@warp-drive/ember';
|
|
|
218
218
|
</template>
|
|
219
219
|
```
|
|
220
220
|
|
|
221
|
+
When using the Await component, if no error block is provided and the promise rejects,
|
|
222
|
+
the error will be thrown.
|
|
223
|
+
|
|
221
224
|
### RequestState
|
|
222
225
|
|
|
223
226
|
RequestState extends PromiseState to provide a reactive wrapper for a request `Future` which
|
|
@@ -320,6 +323,10 @@ import { Request } from '@warp-drive/ember';
|
|
|
320
323
|
</template>
|
|
321
324
|
```
|
|
322
325
|
|
|
326
|
+
When using the Await component, if no error block is provided and the request rejects,
|
|
327
|
+
the error will be thrown. Cancellation errors are not rethrown if no error block or
|
|
328
|
+
cancellation block is present.
|
|
329
|
+
|
|
323
330
|
- Streaming Data
|
|
324
331
|
|
|
325
332
|
The loading state exposes the download `ReadableStream` instance for consumption
|
|
@@ -365,7 +372,36 @@ import { Request } from '@warp-drive/ember';
|
|
|
365
372
|
If a request is aborted but no cancelled block is present, the error will be given
|
|
366
373
|
to the error block to handle.
|
|
367
374
|
|
|
368
|
-
If no error block is present, the error will be
|
|
375
|
+
If no error block is present, the cancellation error will be swallowed.
|
|
376
|
+
|
|
377
|
+
- retry
|
|
378
|
+
|
|
379
|
+
Cancelled and error'd requests may be retried,
|
|
380
|
+
retry will reuse the error, cancelled and loading
|
|
381
|
+
blocks as appropriate.
|
|
382
|
+
|
|
383
|
+
```gjs
|
|
384
|
+
import { Request } from '@warp-drive/ember';
|
|
385
|
+
import { on } from '@ember/modifier';
|
|
386
|
+
|
|
387
|
+
<template>
|
|
388
|
+
<Request @request={{@request}}>
|
|
389
|
+
<:cancelled as |error state|>
|
|
390
|
+
<h2>The Request Cancelled</h2>
|
|
391
|
+
<button {{on "click" state.retry}}>Retry</button>
|
|
392
|
+
</:cancelled>
|
|
393
|
+
|
|
394
|
+
<:error as |error state|>
|
|
395
|
+
<ErrorForm @error={{error}} />
|
|
396
|
+
<button {{on "click" state.retry}}>Retry</button>
|
|
397
|
+
</:error>
|
|
398
|
+
|
|
399
|
+
<:content as |result|>
|
|
400
|
+
<h1>{{result.title}}</h1>
|
|
401
|
+
</:content>
|
|
402
|
+
</Request>
|
|
403
|
+
</template>
|
|
404
|
+
```
|
|
369
405
|
|
|
370
406
|
- Reloading states
|
|
371
407
|
|
|
@@ -434,21 +470,36 @@ import { Request } from '@warp-drive/ember';
|
|
|
434
470
|
</template>
|
|
435
471
|
```
|
|
436
472
|
|
|
437
|
-
-
|
|
473
|
+
- Autorefresh behavior
|
|
438
474
|
|
|
439
475
|
Requests can be made to automatically refresh when a browser window or tab comes back to the
|
|
440
|
-
foreground after being backgrounded
|
|
476
|
+
foreground after being backgrounded or when the network reports as being online after having
|
|
477
|
+
been offline.
|
|
441
478
|
|
|
442
479
|
```gjs
|
|
443
480
|
import { Request } from '@warp-drive/ember';
|
|
444
481
|
|
|
445
482
|
<template>
|
|
446
|
-
<Request @request={{@request}} @
|
|
483
|
+
<Request @request={{@request}} @autorefresh={{true}}>
|
|
447
484
|
<!-- ... -->
|
|
448
485
|
</Request>
|
|
449
486
|
</template>
|
|
450
487
|
```
|
|
451
488
|
|
|
489
|
+
By default, an autorefresh will only occur if the browser was backgrounded or offline for more than
|
|
490
|
+
30s before coming back available. This amount of time can be tweaked by setting the number of milliseconds
|
|
491
|
+
via `@autorefreshThreshold`.
|
|
492
|
+
|
|
493
|
+
The behavior of the fetch initiated by the autorefresh can also be adjusted by `@autorefreshBehavior`
|
|
494
|
+
|
|
495
|
+
Options are:
|
|
496
|
+
|
|
497
|
+
- `refresh` update while continuing to show the current state.
|
|
498
|
+
- `reload` update and show the loading state until update completes)
|
|
499
|
+
- `delegate` (**default**) trigger the request, but let the cache handler decide whether the update should occur or if the cache is still valid.
|
|
500
|
+
|
|
501
|
+
---
|
|
502
|
+
|
|
452
503
|
Similarly, refresh could be set up on a timer or on a websocket subscription by using the yielded
|
|
453
504
|
refresh function and passing it to another component.
|
|
454
505
|
|
|
@@ -456,7 +507,7 @@ refresh function and passing it to another component.
|
|
|
456
507
|
import { Request } from '@warp-drive/ember';
|
|
457
508
|
|
|
458
509
|
<template>
|
|
459
|
-
<Request @request={{@request}}
|
|
510
|
+
<Request @request={{@request}}>
|
|
460
511
|
<:content as |result state|>
|
|
461
512
|
<h1>{{result.title}}</h1>
|
|
462
513
|
|
package/addon/index.js
CHANGED
|
@@ -3,6 +3,7 @@ import { getPromiseResult, setPromiseResult } from '@ember-data/request';
|
|
|
3
3
|
import { assert } from '@ember/debug';
|
|
4
4
|
import { service } from '@ember/service';
|
|
5
5
|
import Component from '@glimmer/component';
|
|
6
|
+
import { EnableHydration } from '@warp-drive/core-types/request';
|
|
6
7
|
import { macroCondition, moduleExists, importSync } from '@embroider/macros';
|
|
7
8
|
import { precompileTemplate } from '@ember/template-compilation';
|
|
8
9
|
import { setComponentTemplate } from '@ember/component';
|
|
@@ -543,10 +544,6 @@ function getPromiseState(promise) {
|
|
|
543
544
|
return state;
|
|
544
545
|
}
|
|
545
546
|
|
|
546
|
-
function notNull(x1) {
|
|
547
|
-
assert('Expected a non-null value, but got null', x1 !== null);
|
|
548
|
-
return x1;
|
|
549
|
-
}
|
|
550
547
|
const and = (x1, y1) => Boolean(x1 && y1);
|
|
551
548
|
class Throw extends Component {
|
|
552
549
|
constructor(owner1, args1) {
|
|
@@ -563,11 +560,16 @@ class Await extends Component {
|
|
|
563
560
|
get state() {
|
|
564
561
|
return getPromiseState(this.args.promise);
|
|
565
562
|
}
|
|
563
|
+
get error() {
|
|
564
|
+
return this.state.error;
|
|
565
|
+
}
|
|
566
|
+
get result() {
|
|
567
|
+
return this.state.result;
|
|
568
|
+
}
|
|
566
569
|
static {
|
|
567
|
-
setComponentTemplate(precompileTemplate("\n {{#if this.state.isPending}}\n {{yield to=\"pending\"}}\n {{else if (and this.state.isError (has-block \"error\"))}}\n {{yield
|
|
570
|
+
setComponentTemplate(precompileTemplate("\n {{#if this.state.isPending}}\n {{yield to=\"pending\"}}\n {{else if (and this.state.isError (has-block \"error\"))}}\n {{yield this.error to=\"error\"}}\n {{else if this.state.isSuccess}}\n {{yield this.result to=\"success\"}}\n {{else}}\n <Throw @error={{this.error}} />\n {{/if}}\n ", {
|
|
568
571
|
scope: () => ({
|
|
569
572
|
and,
|
|
570
|
-
notNull,
|
|
571
573
|
Throw
|
|
572
574
|
}),
|
|
573
575
|
strictMode: true
|
|
@@ -575,6 +577,13 @@ class Await extends Component {
|
|
|
575
577
|
}
|
|
576
578
|
}
|
|
577
579
|
|
|
580
|
+
function notNull(x1) {
|
|
581
|
+
assert('Expected a non-null value, but got null', x1 !== null);
|
|
582
|
+
return x1;
|
|
583
|
+
}
|
|
584
|
+
const not = x1 => !x1;
|
|
585
|
+
// default to 30 seconds unavailable before we refresh
|
|
586
|
+
const DEFAULT_DEADLINE = 30_000;
|
|
578
587
|
let provide = service;
|
|
579
588
|
if (macroCondition(moduleExists('ember-provide-consume-context'))) {
|
|
580
589
|
const {
|
|
@@ -590,15 +599,185 @@ class Request extends Component {
|
|
|
590
599
|
/**
|
|
591
600
|
* @internal
|
|
592
601
|
*/
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
602
|
+
static {
|
|
603
|
+
decorateFieldV2(this.prototype, "isOnline", [tracked], function () {
|
|
604
|
+
return true;
|
|
605
|
+
});
|
|
606
|
+
}
|
|
607
|
+
#isOnline = (initializeDeferredDecorator(this, "isOnline"), void 0);
|
|
608
|
+
static {
|
|
609
|
+
decorateFieldV2(this.prototype, "isHidden", [tracked], function () {
|
|
610
|
+
return true;
|
|
611
|
+
});
|
|
612
|
+
}
|
|
613
|
+
#isHidden = (initializeDeferredDecorator(this, "isHidden"), void 0);
|
|
614
|
+
static {
|
|
615
|
+
decorateFieldV2(this.prototype, "isRefreshing", [tracked], function () {
|
|
616
|
+
return false;
|
|
617
|
+
});
|
|
618
|
+
}
|
|
619
|
+
#isRefreshing = (initializeDeferredDecorator(this, "isRefreshing"), void 0);
|
|
620
|
+
static {
|
|
621
|
+
decorateFieldV2(this.prototype, "_localRequest", [tracked]);
|
|
622
|
+
}
|
|
623
|
+
#_localRequest = (initializeDeferredDecorator(this, "_localRequest"), void 0);
|
|
624
|
+
static {
|
|
625
|
+
decorateFieldV2(this.prototype, "_latestRequest", [tracked]);
|
|
626
|
+
}
|
|
627
|
+
#_latestRequest = (initializeDeferredDecorator(this, "_latestRequest"), void 0);
|
|
628
|
+
unavailableStart;
|
|
629
|
+
onlineChanged;
|
|
630
|
+
backgroundChanged;
|
|
631
|
+
_originalRequest;
|
|
632
|
+
_originalQuery;
|
|
633
|
+
constructor(owner1, args1) {
|
|
634
|
+
super(owner1, args1);
|
|
635
|
+
this.installListeners();
|
|
636
|
+
}
|
|
637
|
+
installListeners() {
|
|
638
|
+
if (typeof window === 'undefined') {
|
|
639
|
+
return;
|
|
640
|
+
}
|
|
641
|
+
this.isOnline = window.navigator.onLine;
|
|
642
|
+
this.unavailableStart = this.isOnline ? null : Date.now();
|
|
643
|
+
this.isHidden = document.visibilityState === 'hidden';
|
|
644
|
+
this.onlineChanged = event1 => {
|
|
645
|
+
this.isOnline = event1.type === 'online';
|
|
646
|
+
if (event1.type === 'offline') {
|
|
647
|
+
this.unavailableStart = Date.now();
|
|
648
|
+
}
|
|
649
|
+
this.maybeUpdate();
|
|
650
|
+
};
|
|
651
|
+
this.backgroundChanged = () => {
|
|
652
|
+
this.isHidden = document.visibilityState === 'hidden';
|
|
653
|
+
this.maybeUpdate();
|
|
654
|
+
};
|
|
655
|
+
window.addEventListener('online', this.onlineChanged, {
|
|
656
|
+
passive: true,
|
|
657
|
+
capture: true
|
|
658
|
+
});
|
|
659
|
+
window.addEventListener('offline', this.onlineChanged, {
|
|
660
|
+
passive: true,
|
|
661
|
+
capture: true
|
|
662
|
+
});
|
|
663
|
+
document.addEventListener('visibilitychange', this.backgroundChanged, {
|
|
664
|
+
passive: true,
|
|
665
|
+
capture: true
|
|
666
|
+
});
|
|
667
|
+
}
|
|
668
|
+
maybeUpdate(mode1) {
|
|
669
|
+
if (this.isOnline && !this.isHidden && (mode1 || this.args.autorefresh)) {
|
|
670
|
+
const deadline1 = typeof this.args.autorefreshThreshold === 'number' ? this.args.autorefreshThreshold : DEFAULT_DEADLINE;
|
|
671
|
+
const shouldAttempt1 = mode1 || this.unavailableStart && Date.now() - this.unavailableStart > deadline1;
|
|
672
|
+
this.unavailableStart = null;
|
|
673
|
+
if (shouldAttempt1) {
|
|
674
|
+
const request1 = Object.assign({}, this.reqState.request);
|
|
675
|
+
const val1 = mode1 ?? this.args.autorefreshBehavior ?? 'policy';
|
|
676
|
+
switch (val1) {
|
|
677
|
+
case 'reload':
|
|
678
|
+
request1.cacheOptions = Object.assign({}, request1.cacheOptions, {
|
|
679
|
+
reload: true
|
|
680
|
+
});
|
|
681
|
+
break;
|
|
682
|
+
case 'refresh':
|
|
683
|
+
request1.cacheOptions = Object.assign({}, request1.cacheOptions, {
|
|
684
|
+
backgroundReload: true
|
|
685
|
+
});
|
|
686
|
+
break;
|
|
687
|
+
case 'policy':
|
|
688
|
+
break;
|
|
689
|
+
default:
|
|
690
|
+
throw new Error(`Invalid ${mode1 ? 'update mode' : '@autorefreshBehavior'} for <Request />: ${val1}`);
|
|
691
|
+
}
|
|
692
|
+
const wasStoreRequest1 = request1[EnableHydration] === true;
|
|
693
|
+
assert(`Cannot supply a different store via context than was used to create the request`, !request1.store || request1.store === this.store);
|
|
694
|
+
this._latestRequest = wasStoreRequest1 ? this.store.request(request1) : this.store.requestManager.request(request1);
|
|
695
|
+
if (val1 !== 'refresh') {
|
|
696
|
+
this._localRequest = this._latestRequest;
|
|
697
|
+
}
|
|
698
|
+
}
|
|
699
|
+
}
|
|
700
|
+
if (mode1) {
|
|
701
|
+
throw new Error(`Reload not available: the network is not online or the tab is hidden`);
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
retry = async () => {
|
|
705
|
+
this.maybeUpdate('reload');
|
|
706
|
+
await this._localRequest;
|
|
707
|
+
};
|
|
708
|
+
refresh = async () => {
|
|
709
|
+
this.isRefreshing = true;
|
|
710
|
+
this.maybeUpdate('refresh');
|
|
711
|
+
try {
|
|
712
|
+
await this._latestRequest;
|
|
713
|
+
} finally {
|
|
714
|
+
this.isRefreshing = false;
|
|
715
|
+
}
|
|
716
|
+
};
|
|
717
|
+
get errorFeatures() {
|
|
718
|
+
return {
|
|
719
|
+
isHidden: this.isHidden,
|
|
720
|
+
isOnline: this.isOnline,
|
|
721
|
+
retry: this.retry
|
|
722
|
+
};
|
|
723
|
+
}
|
|
724
|
+
static {
|
|
725
|
+
decorateMethodV2(this.prototype, "errorFeatures", [cached]);
|
|
726
|
+
}
|
|
727
|
+
get contentFeatures() {
|
|
728
|
+
const feat1 = {
|
|
729
|
+
isHidden: this.isHidden,
|
|
730
|
+
isOnline: this.isOnline,
|
|
731
|
+
reload: this.retry,
|
|
732
|
+
refresh: this.refresh,
|
|
733
|
+
isRefreshing: this.isRefreshing,
|
|
734
|
+
latestRequest: this._latestRequest
|
|
735
|
+
};
|
|
736
|
+
if (feat1.isRefreshing) {
|
|
737
|
+
feat1.abort = () => {
|
|
738
|
+
this._latestRequest?.abort();
|
|
739
|
+
};
|
|
740
|
+
}
|
|
741
|
+
return feat1;
|
|
742
|
+
}
|
|
743
|
+
static {
|
|
744
|
+
decorateMethodV2(this.prototype, "contentFeatures", [cached]);
|
|
745
|
+
}
|
|
746
|
+
willDestroy() {
|
|
747
|
+
if (typeof window === 'undefined') {
|
|
748
|
+
return;
|
|
749
|
+
}
|
|
750
|
+
window.removeEventListener('online', this.onlineChanged, {
|
|
751
|
+
passive: true,
|
|
752
|
+
capture: true
|
|
753
|
+
});
|
|
754
|
+
window.removeEventListener('offline', this.onlineChanged, {
|
|
755
|
+
passive: true,
|
|
756
|
+
capture: true
|
|
757
|
+
});
|
|
758
|
+
document.removeEventListener('visibilitychange', this.backgroundChanged, {
|
|
759
|
+
passive: true,
|
|
760
|
+
capture: true
|
|
761
|
+
});
|
|
762
|
+
}
|
|
596
763
|
get request() {
|
|
597
764
|
const {
|
|
598
765
|
request: request1,
|
|
599
766
|
query: query1
|
|
600
767
|
} = this.args;
|
|
601
768
|
assert(`Cannot use both @request and @query args with the <Request> component`, !request1 || !query1);
|
|
769
|
+
const {
|
|
770
|
+
_localRequest: _localRequest1,
|
|
771
|
+
_originalRequest: _originalRequest1,
|
|
772
|
+
_originalQuery: _originalQuery1
|
|
773
|
+
} = this;
|
|
774
|
+
const isOriginalRequest1 = request1 === _originalRequest1 && query1 === _originalQuery1;
|
|
775
|
+
if (_localRequest1 && isOriginalRequest1) {
|
|
776
|
+
return _localRequest1;
|
|
777
|
+
}
|
|
778
|
+
// update state checks for the next time
|
|
779
|
+
this._originalQuery = query1;
|
|
780
|
+
this._originalRequest = request1;
|
|
602
781
|
if (request1) {
|
|
603
782
|
return request1;
|
|
604
783
|
}
|
|
@@ -616,11 +795,15 @@ class Request extends Component {
|
|
|
616
795
|
get reqState() {
|
|
617
796
|
return getRequestState(this.request);
|
|
618
797
|
}
|
|
798
|
+
get result() {
|
|
799
|
+
return this.reqState.result;
|
|
800
|
+
}
|
|
619
801
|
static {
|
|
620
|
-
setComponentTemplate(precompileTemplate("\n {{#if this.reqState.isLoading}}\n {{yield this.reqState.loadingState to=\"loading\"}}\n {{else if (and this.reqState.isCancelled (has-block \"cancelled\"))}}\n {{yield (notNull this.reqState.error) to=\"cancelled\"}}\n {{else if (and this.reqState.isError (has-block \"error\"))}}\n {{yield (notNull this.reqState.error) to=\"error\"}}\n {{else if this.reqState.isSuccess}}\n {{yield
|
|
802
|
+
setComponentTemplate(precompileTemplate("\n {{#if this.reqState.isLoading}}\n {{yield this.reqState.loadingState to=\"loading\"}}\n {{else if (and this.reqState.isCancelled (has-block \"cancelled\"))}}\n {{yield (notNull this.reqState.error) this.errorFeatures to=\"cancelled\"}}\n {{else if (and this.reqState.isError (has-block \"error\"))}}\n {{yield (notNull this.reqState.error) this.errorFeatures to=\"error\"}}\n {{else if this.reqState.isSuccess}}\n {{yield this.result this.contentFeatures to=\"content\"}}\n {{else if (not this.reqState.isCancelled)}}\n <Throw @error={{(notNull this.reqState.error)}} />\n {{/if}}\n {{yield this.reqState to=\"always\"}}\n ", {
|
|
621
803
|
scope: () => ({
|
|
622
804
|
and,
|
|
623
805
|
notNull,
|
|
806
|
+
not,
|
|
624
807
|
Throw
|
|
625
808
|
}),
|
|
626
809
|
strictMode: true
|
package/addon/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../node_modules/.pnpm/decorator-transforms@1.1.0_@babel+core@7.24.4/node_modules/decorator-transforms/dist/chunk-CSAU5B4Q.js","../../../node_modules/.pnpm/decorator-transforms@1.1.0_@babel+core@7.24.4/node_modules/decorator-transforms/dist/chunk-3SQBS3Y5.js","../src/-private/request-state.ts","../src/-private/promise-state.ts","../src/-private/await.gts","../src/-private/request.gts"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\n\nexport {\n __export\n};\n//# sourceMappingURL=chunk-CSAU5B4Q.js.map","import {\n __export\n} from \"./chunk-CSAU5B4Q.js\";\n\n// src/runtime.ts\nvar runtime_exports = {};\n__export(runtime_exports, {\n c: () => decorateClass,\n f: () => decorateFieldV1,\n g: () => decorateFieldV2,\n i: () => initializeDeferredDecorator,\n m: () => decorateMethodV1,\n n: () => decorateMethodV2,\n p: () => decoratePOJO\n});\nvar deferred = /* @__PURE__ */ new WeakMap();\nfunction deferDecorator(proto, prop, desc) {\n let map = deferred.get(proto);\n if (!map) {\n map = /* @__PURE__ */ new Map();\n deferred.set(proto, map);\n }\n map.set(prop, desc);\n}\nfunction findDeferredDecorator(target, prop) {\n let cursor = target.prototype;\n while (cursor) {\n let desc = deferred.get(cursor)?.get(prop);\n if (desc) {\n return desc;\n }\n cursor = cursor.prototype;\n }\n}\nfunction decorateFieldV1(target, prop, decorators, initializer) {\n return decorateFieldV2(target.prototype, prop, decorators, initializer);\n}\nfunction decorateFieldV2(prototype, prop, decorators, initializer) {\n let desc = {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n };\n if (initializer) {\n desc.initializer = initializer;\n }\n for (let decorator of decorators) {\n desc = decorator(prototype, prop, desc) || desc;\n }\n if (desc.initializer === void 0) {\n Object.defineProperty(prototype, prop, desc);\n } else {\n deferDecorator(prototype, prop, desc);\n }\n}\nfunction decorateMethodV1({ prototype }, prop, decorators) {\n return decorateMethodV2(prototype, prop, decorators);\n}\nfunction decorateMethodV2(prototype, prop, decorators) {\n const origDesc = Object.getOwnPropertyDescriptor(prototype, prop);\n let desc = { ...origDesc };\n for (let decorator of decorators) {\n desc = decorator(prototype, prop, desc) || desc;\n }\n if (desc.initializer !== void 0) {\n desc.value = desc.initializer ? desc.initializer.call(prototype) : void 0;\n desc.initializer = void 0;\n }\n Object.defineProperty(prototype, prop, desc);\n}\nfunction initializeDeferredDecorator(target, prop) {\n let desc = findDeferredDecorator(target.constructor, prop);\n if (desc) {\n Object.defineProperty(target, prop, {\n enumerable: desc.enumerable,\n configurable: desc.configurable,\n writable: desc.writable,\n value: desc.initializer ? desc.initializer.call(target) : void 0\n });\n }\n}\nfunction decorateClass(target, decorators) {\n return decorators.reduce(\n (accum, decorator) => decorator(accum) || accum,\n target\n );\n}\nfunction decoratePOJO(pojo, decorated) {\n for (let [type, prop, decorators] of decorated) {\n if (type === \"field\") {\n decoratePojoField(pojo, prop, decorators);\n } else {\n decorateMethodV2(pojo, prop, decorators);\n }\n }\n return pojo;\n}\nfunction decoratePojoField(pojo, prop, decorators) {\n let desc = {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: () => Object.getOwnPropertyDescriptor(pojo, prop)?.value\n };\n for (let decorator of decorators) {\n desc = decorator(pojo, prop, desc) || desc;\n }\n if (desc.initializer) {\n desc.value = desc.initializer.call(pojo);\n delete desc.initializer;\n }\n Object.defineProperty(pojo, prop, desc);\n}\n\nexport {\n decorateFieldV1,\n decorateFieldV2,\n decorateMethodV1,\n decorateMethodV2,\n initializeDeferredDecorator,\n decorateClass,\n decoratePOJO,\n runtime_exports\n};\n//# sourceMappingURL=chunk-3SQBS3Y5.js.map","import { tracked } from '@glimmer/tracking';\n\nimport type {\n Future,\n ImmutableRequestInfo,\n ResponseInfo,\n StructuredDocument,\n StructuredErrorDocument,\n} from '@ember-data/request';\nimport { getPromiseResult, setPromiseResult } from '@ember-data/request';\n\nconst RequestCache = new WeakMap<Future<unknown>, RequestState>();\n\nfunction isAbortError(error: unknown): boolean {\n return error instanceof DOMException && error.name === 'AbortError';\n}\n\nasync function watchStream(stream: ReadableStream<Uint8Array>, state: RequestLoadingState): Promise<void> {\n const reader = stream.getReader();\n let bytesLoaded = 0;\n let shouldForward = state._stream !== null && state._stream.readable.locked;\n let isForwarding = shouldForward;\n let writer = state._stream?.writable.getWriter();\n const buffer = [];\n\n state._isPending = false;\n state._isStarted = true;\n state._startTime = performance.now();\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const { value, done } = await reader.read();\n if (done) {\n break;\n }\n bytesLoaded += value.byteLength;\n state._bytesLoaded = bytesLoaded;\n state._lastPacketTime = performance.now();\n\n shouldForward = shouldForward || (state._stream !== null && state._stream.readable.locked);\n\n if (shouldForward) {\n if (!isForwarding) {\n isForwarding = true;\n writer = state._stream!.writable.getWriter();\n for (const item of buffer) {\n await writer.ready;\n await writer.write(item);\n }\n buffer.length = 0;\n }\n await writer!.ready;\n await writer!.write(value);\n } else {\n buffer.push(value);\n }\n }\n\n // if we are still forwarding, we need to close the writer\n if (isForwarding) {\n await writer!.ready;\n await writer!.close();\n } else if (state._stream) {\n // if we are not forwarding, we need to cancel the stream\n await state._stream.readable.cancel('The Stream Has Already Ended');\n state._stream = null;\n }\n\n const endTime = performance.now();\n state._endTime = endTime;\n state._isComplete = true;\n state._isStarted = false;\n}\n\nexport class RequestLoadingState {\n _stream: TransformStream | null = null;\n _future: Future<unknown>;\n _triggered = false;\n _trigger() {\n if (this._triggered) {\n return;\n }\n this._triggered = true;\n const future = this._future;\n const promise: Promise<ReadableStream<Uint8Array> | null> & { sizeHint?: number } = future.getStream();\n if (promise.sizeHint) {\n this._sizeHint = promise.sizeHint;\n }\n this.promise = promise.then(\n (stream) => {\n if (!stream) {\n this._isPending = false;\n this._isComplete = true;\n return;\n }\n return watchStream(stream, this);\n },\n (error: Error) => {\n this._isPending = false;\n this._isStarted = false;\n if (isAbortError(error)) {\n this._isCancelled = true;\n this._isComplete = true;\n }\n this._isErrored = true;\n this._error = error;\n }\n );\n }\n\n promise: Promise<void> | null = null;\n @tracked _sizeHint = 0;\n @tracked _bytesLoaded = 0;\n\n @tracked _startTime = 0;\n @tracked _endTime = 0;\n @tracked _lastPacketTime = 0;\n\n @tracked _isPending = true;\n @tracked _isStarted = false;\n @tracked _isComplete = false;\n @tracked _isCancelled = false;\n @tracked _isErrored = false;\n @tracked _error: Error | null = null;\n\n get isPending(): boolean {\n this._trigger();\n return this._isPending;\n }\n\n get sizeHint(): number {\n this._trigger();\n return this._sizeHint;\n }\n\n get stream(): ReadableStream | null {\n this._trigger();\n if (!this._stream) {\n if (this._isComplete || this._isCancelled || this._isErrored) {\n return null;\n }\n this._stream = new TransformStream();\n }\n return this._stream.readable;\n }\n\n get isStarted(): boolean {\n this._trigger();\n return this._isStarted;\n }\n\n get bytesLoaded(): number {\n this._trigger();\n return this._bytesLoaded;\n }\n\n get startTime(): number {\n this._trigger();\n return this._startTime;\n }\n\n get endTime(): number {\n this._trigger();\n return this._endTime;\n }\n\n get lastPacketTime(): number {\n this._trigger();\n return this._lastPacketTime;\n }\n\n get isComplete(): boolean {\n this._trigger();\n return this._isComplete;\n }\n\n get isCancelled(): boolean {\n this._trigger();\n return this._isCancelled;\n }\n\n get isErrored(): boolean {\n this._trigger();\n return this._isErrored;\n }\n\n get error(): Error | null {\n this._trigger();\n return this._error;\n }\n\n get elapsedTime(): number {\n return (this.endTime || this.lastPacketTime) - this.startTime;\n }\n\n get completeRatio(): number {\n return this.sizeHint ? this.bytesLoaded / this.sizeHint : 0;\n }\n\n get remainingRatio(): number {\n return 1 - this.completeRatio;\n }\n\n get duration(): number {\n return this.endTime - this.startTime;\n }\n\n get speed(): number {\n // bytes per second\n return this.bytesLoaded / (this.elapsedTime / 1000);\n }\n\n constructor(future: Future<unknown>) {\n this._future = future;\n }\n\n abort(): void {\n this._future.abort();\n }\n}\n\nexport class RequestState<T = unknown> {\n #request: Future<T>;\n #loadingState: RequestLoadingState | null = null;\n\n @tracked result: T | null = null;\n @tracked error: StructuredErrorDocument | null = null;\n @tracked isLoading = true;\n @tracked isSuccess = false;\n @tracked isError = false;\n @tracked request: ImmutableRequestInfo | null = null;\n @tracked response: Response | ResponseInfo | null = null;\n\n get isCancelled(): boolean {\n return this.isError && isAbortError(this.error);\n }\n\n get loadingState() {\n if (!this.#loadingState) {\n this.#loadingState = new RequestLoadingState(this.#request);\n }\n\n return this.#loadingState;\n }\n\n constructor(future: Future<T>) {\n this.#request = future;\n const state = getPromiseResult<StructuredDocument<T>, StructuredErrorDocument>(future);\n\n if (state) {\n this.request = state.result.request;\n this.response = state.result.response;\n this.isLoading = false;\n\n if (state.isError) {\n this.error = state.result;\n this.isError = true;\n } else {\n this.result = state.result.content!;\n this.isSuccess = true;\n }\n } else {\n void future.then(\n (result) => {\n setPromiseResult(future, { isError: false, result });\n this.result = result.content;\n this.isSuccess = true;\n this.isLoading = false;\n this.request = result.request;\n this.response = result.response;\n },\n (error: StructuredErrorDocument) => {\n setPromiseResult(future, { isError: true, result: error });\n this.error = error;\n this.isError = true;\n this.isLoading = false;\n this.request = error.request;\n this.response = error.response;\n }\n );\n }\n }\n}\n\nexport function getRequestState<T>(future: Future<T>): RequestState<T> {\n let state = RequestCache.get(future) as RequestState<T> | undefined;\n\n if (!state) {\n state = new RequestState(future);\n RequestCache.set(future, state);\n }\n\n return state;\n}\n","import { tracked } from '@glimmer/tracking';\n\nimport type { Awaitable } from '@ember-data/request';\nimport { getPromiseResult, setPromiseResult } from '@ember-data/request';\n\nconst PromiseCache = new WeakMap<Awaitable, PromiseState>();\n\nexport class PromiseState<T = unknown, E = unknown> {\n @tracked result: T | null = null;\n @tracked error: E | null = null;\n @tracked isPending = true;\n @tracked isSuccess = false;\n @tracked isError = false;\n\n constructor(promise: Promise<T> | Awaitable<T, E>) {\n const state = getPromiseResult<T, E>(promise);\n\n if (state) {\n if (state.isError) {\n this.error = state.result;\n this.isError = true;\n this.isPending = false;\n } else {\n this.result = state.result;\n this.isSuccess = true;\n this.isPending = false;\n }\n } else {\n void promise.then(\n (result) => {\n setPromiseResult(promise, { isError: false, result });\n this.result = result;\n this.isSuccess = true;\n this.isPending = false;\n },\n (error: E) => {\n setPromiseResult(promise, { isError: true, result: error });\n this.error = error;\n this.isError = true;\n this.isPending = false;\n }\n );\n }\n }\n}\n\nconst LegacyPromiseProxy = Symbol.for('LegacyPromiseProxy');\ntype LegacyAwaitable<T, E> = { promise: Promise<T> | Awaitable<T, E>; [LegacyPromiseProxy]: true };\n\nfunction isLegacyAwaitable<T, E>(promise: object): promise is LegacyAwaitable<T, E> {\n return LegacyPromiseProxy in promise && 'promise' in promise && promise[LegacyPromiseProxy] === true;\n}\n\nfunction getPromise<T, E>(promise: Promise<T> | Awaitable<T, E> | LegacyAwaitable<T, E>): Promise<T> | Awaitable<T, E> {\n return isLegacyAwaitable(promise) ? promise.promise : promise;\n}\n\nexport function getPromiseState<T = unknown, E = unknown>(promise: Promise<T> | Awaitable<T, E>): PromiseState<T, E> {\n const _promise = getPromise(promise);\n let state = PromiseCache.get(_promise) as PromiseState<T, E> | undefined;\n\n if (!state) {\n state = new PromiseState(_promise);\n PromiseCache.set(_promise, state);\n }\n\n return state;\n}\n","import { template } from \"@ember/template-compiler\";\nimport { assert } from '@ember/debug';\nimport Component from '@glimmer/component';\nimport { getPromiseState } from './promise-state.ts';\nimport { Awaitable } from '@ember-data/request';\nexport function notNull<T>(x1: null): never;\nexport function notNull<T>(x1: T): Exclude<T, null>;\nexport function notNull<T>(x1: T | null) {\n assert('Expected a non-null value, but got null', x1 !== null);\n return x1;\n}\nexport const and = (x1: unknown, y1: unknown)=>Boolean(x1 && y1);\ninterface ThrowSignature<E = Error | string | object> {\n Args: {\n error: E;\n };\n}\nexport class Throw<T> extends Component<ThrowSignature<T>> {\n constructor(owner1: unknown, args1: ThrowSignature<T>['Args']){\n super(owner1, args1);\n throw this.args.error;\n }\n static{\n template(``, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\ninterface AwaitSignature<T, E = Error | string | object> {\n Args: {\n promise: Promise<T> | Awaitable<T, E>;\n };\n Blocks: {\n pending: [];\n error: [error: E];\n success: [value: T];\n };\n}\nexport class Await<T, E> extends Component<AwaitSignature<T, E>> {\n get state() {\n return getPromiseState<T, E>(this.args.promise);\n }\n static{\n template(`\n {{#if this.state.isPending}}\n {{yield to=\"pending\"}}\n {{else if (and this.state.isError (has-block \"error\"))}}\n {{yield (notNull this.state.error) to=\"error\"}}\n {{else if this.state.isSuccess}}\n {{yield (notNull this.state.result) to=\"success\"}}\n {{else}}\n <Throw @error={{(notNull this.state.error)}} />\n {{/if}}\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RhdGEvZGF0YS9wYWNrYWdlcy9lbWJlci9zcmMvLXByaXZhdGUvYXdhaXQuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFzc2VydCB9IGZyb20gJ0BlbWJlci9kZWJ1Zyc7XG5pbXBvcnQgQ29tcG9uZW50IGZyb20gJ0BnbGltbWVyL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBnZXRQcm9taXNlU3RhdGUgfSBmcm9tICcuL3Byb21pc2Utc3RhdGUudHMnO1xuaW1wb3J0IHsgQXdhaXRhYmxlIH0gZnJvbSAnQGVtYmVyLWRhdGEvcmVxdWVzdCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBub3ROdWxsPFQ-KHg6IG51bGwpOiBuZXZlcjtcbmV4cG9ydCBmdW5jdGlvbiBub3ROdWxsPFQ-KHg6IFQpOiBFeGNsdWRlPFQsIG51bGw-O1xuZXhwb3J0IGZ1bmN0aW9uIG5vdE51bGw8VD4oeDogVCB8IG51bGwpIHtcbiAgYXNzZXJ0KCdFeHBlY3RlZCBhIG5vbi1udWxsIHZhbHVlLCBidXQgZ290IG51bGwnLCB4ICE9PSBudWxsKTtcbiAgcmV0dXJuIHg7XG59XG5leHBvcnQgY29uc3QgYW5kID0gKHg6IHVua25vd24sIHk6IHVua25vd24pID0-IEJvb2xlYW4oeCAmJiB5KTtcblxuaW50ZXJmYWNlIFRocm93U2lnbmF0dXJlPEUgPSBFcnJvciB8IHN0cmluZyB8IG9iamVjdD4ge1xuICBBcmdzOiB7XG4gICAgZXJyb3I6IEU7XG4gIH07XG59XG5cbmV4cG9ydCBjbGFzcyBUaHJvdzxUPiBleHRlbmRzIENvbXBvbmVudDxUaHJvd1NpZ25hdHVyZTxUPj4ge1xuICBjb25zdHJ1Y3Rvcihvd25lcjogdW5rbm93biwgYXJnczogVGhyb3dTaWduYXR1cmU8VD5bJ0FyZ3MnXSkge1xuICAgIHN1cGVyKG93bmVyLCBhcmdzKTtcbiAgICB0aHJvdyB0aGlzLmFyZ3MuZXJyb3I7XG4gIH1cbiAgPHRlbXBsYXRlPjwvdGVtcGxhdGU-XG59XG5cbmludGVyZmFjZSBBd2FpdFNpZ25hdHVyZTxULCBFID0gRXJyb3IgfCBzdHJpbmcgfCBvYmplY3Q-IHtcbiAgQXJnczoge1xuICAgIHByb21pc2U6IFByb21pc2U8VD4gfCBBd2FpdGFibGU8VCwgRT47XG4gIH07XG4gIEJsb2Nrczoge1xuICAgIHBlbmRpbmc6IFtdO1xuICAgIGVycm9yOiBbZXJyb3I6IEVdO1xuICAgIHN1Y2Nlc3M6IFt2YWx1ZTogVF07XG4gIH07XG59XG5cbmV4cG9ydCBjbGFzcyBBd2FpdDxULCBFPiBleHRlbmRzIENvbXBvbmVudDxBd2FpdFNpZ25hdHVyZTxULCBFPj4ge1xuICBnZXQgc3RhdGUoKSB7XG4gICAgcmV0dXJuIGdldFByb21pc2VTdGF0ZTxULCBFPih0aGlzLmFyZ3MucHJvbWlzZSk7XG4gIH1cblxuICA8dGVtcGxhdGU-XG4gICAge3sjaWYgdGhpcy5zdGF0ZS5pc1BlbmRpbmd9fVxuICAgICAge3t5aWVsZCB0bz1cInBlbmRpbmdcIn19XG4gICAge3tlbHNlIGlmIChhbmQgdGhpcy5zdGF0ZS5pc0Vycm9yIChoYXMtYmxvY2sgXCJlcnJvclwiKSl9fVxuICAgICAge3t5aWVsZCAobm90TnVsbCB0aGlzLnN0YXRlLmVycm9yKSB0bz1cImVycm9yXCJ9fVxuICAgIHt7ZWxzZSBpZiB0aGlzLnN0YXRlLmlzU3VjY2Vzc319XG4gICAgICB7e3lpZWxkIChub3ROdWxsIHRoaXMuc3RhdGUucmVzdWx0KSB0bz1cInN1Y2Nlc3NcIn19XG4gICAge3tlbHNlfX1cbiAgICAgIDxUaHJvdyBAZXJyb3I9e3sobm90TnVsbCB0aGlzLnN0YXRlLmVycm9yKX19IC8-XG4gICAge3svaWZ9fVxuICA8L3RlbXBsYXRlPlxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTLE1BQU0sUUFBUSxlQUFlO0FBQ3RDLE9BQU8sZUFBZSxxQkFBcUI7QUFDM0MsU0FBUyxlQUFlLFFBQVEscUJBQXFCO0FBQ3JELFNBQVMsU0FBUyxRQUFRLHNCQUFzQjtBQUVoRCxPQUFPLFNBQVMsUUFBUSxHQUFHLElBQUcsSUFBSSxHQUFHLEtBQUs7QUFDMUMsT0FBTyxTQUFTLFFBQVEsR0FBRyxJQUFHLENBQUMsR0FBRyxRQUFRLEdBQUcsSUFBSTtBQUNqRCxPQUFPLFNBQVMsUUFBUSxHQUFHLElBQUcsSUFBSSxJQUFJO0lBQ3BDLE9BQU8sMkNBQTJDLE9BQU07SUFDeEQsT0FBTztBQUNUO0FBQ0EsT0FBTyxNQUFNLE1BQU0sQ0FBQyxJQUFHLE9BQU8sRUFBRSxJQUFHLE9BQU8sR0FBSyxRQUFRLE1BQUssSUFBRztVQUVyRCxlQUFlLElBQUksUUFBUSxNQUFNLEdBQUcsTUFBTTtJQUNsRDtRQUNFLE9BQU87OztBQUlYLE9BQU8sTUFBTSxNQUFNLFdBQVcsVUFBVSxlQUFlO0lBQ3JELFlBQVksUUFBTyxPQUFPLEVBQUUsT0FBTSxlQUFlLEdBQUcsT0FBTyxDQUFFO1FBQzNELEtBQUssQ0FBQyxRQUFPO1FBQ2IsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7SUFDdkI7SUFDQSxNQUFBO1FBQUEsU0FBVSxDQUFBLENBQUEsRUFBQTtZQUFBLFdBQUEsSUFBVztZQUFYO2dCQUFBLE9BQUEsS0FBQSxTQUFBLENBQUEsRUFBVztZQUFEO1FBQUE7SUFBQSxDQUFWO0FBQ1o7VUFFVSxlQUFlLEdBQUcsSUFBSSxRQUFRLE1BQU0sR0FBRyxNQUFNO0lBQ3JEO1FBQ0UsU0FBUyxRQUFRLEtBQUssVUFBVSxHQUFHOztJQUVyQztRQUNFO1FBQ0EsUUFBUSxPQUFPO1FBQ2YsVUFBVSxPQUFPOzs7QUFJckIsT0FBTyxNQUFNLE1BQU0sR0FBRyxXQUFXLFVBQVUsZUFBZSxHQUFHO0lBQzNELElBQUksUUFBUTtRQUNWLE9BQU8sZ0JBQWdCLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87SUFDaEQ7SUFFQSxNQUFBO1FBQUEsU0FBVSxDQUFBOzs7Ozs7Ozs7O0VBVVYsQ0FBQSxFQUFBO1lBQUEsV0FBQSxJQUFXO1lBQVg7Z0JBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO1lBQUQ7UUFBQTtJQUFBLENBVkE7QUFXWiJ9","import { template } from \"@ember/template-compiler\";\nimport { assert } from '@ember/debug';\nimport { service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport { cached } from '@glimmer/tracking';\nimport type { Future, StructuredErrorDocument } from '@ember-data/request';\nimport { importSync, macroCondition, moduleExists } from '@embroider/macros';\nimport type { StoreRequestInput } from '@ember-data/store';\nimport type Store from '@ember-data/store';\nimport { getRequestState } from './request-state.ts';\nimport type { RequestLoadingState } from './request-state.ts';\nimport { and, notNull, Throw } from './await.gts';\nlet provide = service;\nif (macroCondition(moduleExists('ember-provide-consume-context'))) {\n const { consume } = importSync('ember-provide-consume-context') as {\n consume: typeof service;\n };\n provide = consume;\n}\ninterface RequestSignature<T> {\n Args: {\n request?: Future<T>;\n query?: StoreRequestInput<T>;\n store?: Store;\n };\n Blocks: {\n loading: [state: RequestLoadingState];\n cancelled: [error: StructuredErrorDocument];\n error: [error: StructuredErrorDocument];\n content: [value: T];\n };\n}\nexport class Request<T> extends Component<RequestSignature<T>> {\n /**\n * @internal\n */ @provide('store')\n _store: Store;\n retry = ()=>{};\n reload = ()=>{};\n refresh = ()=>{};\n @cached\n get request() {\n const { request: request1, query: query1 } = this.args;\n assert(`Cannot use both @request and @query args with the <Request> component`, !request1 || !query1);\n if (request1) {\n return request1;\n }\n assert(`You must provide either @request or an @query arg with the <Request> component`, query1);\n return this.store.request<T>(query1!);\n }\n get store(): Store {\n const store1 = this.args.store || this._store;\n assert(moduleExists('ember-provide-consume-context') ? `No store was provided to the <Request> component. Either provide a store via the @store arg or via the context API provided by ember-provide-consume-context.` : `No store was provided to the <Request> component. Either provide a store via the @store arg or by registering a store service.`, store1);\n return store1;\n }\n get reqState() {\n return getRequestState<T>(this.request);\n }\n static{\n template(`\n {{#if this.reqState.isLoading}}\n {{yield this.reqState.loadingState to=\"loading\"}}\n {{else if (and this.reqState.isCancelled (has-block \"cancelled\"))}}\n {{yield (notNull this.reqState.error) to=\"cancelled\"}}\n {{else if (and this.reqState.isError (has-block \"error\"))}}\n {{yield (notNull this.reqState.error) to=\"error\"}}\n {{else if this.reqState.isSuccess}}\n {{yield (notNull this.reqState.result) to=\"content\"}}\n {{else}}\n <Throw @error={{(notNull this.reqState.error)}} />\n {{/if}}\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RhdGEvZGF0YS9wYWNrYWdlcy9lbWJlci9zcmMvLXByaXZhdGUvcmVxdWVzdC5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSAnQGVtYmVyL2RlYnVnJztcbmltcG9ydCB7IHNlcnZpY2UgfSBmcm9tICdAZW1iZXIvc2VydmljZSc7XG5pbXBvcnQgQ29tcG9uZW50IGZyb20gJ0BnbGltbWVyL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBjYWNoZWQgfSBmcm9tICdAZ2xpbW1lci90cmFja2luZyc7XG5pbXBvcnQgdHlwZSB7IEZ1dHVyZSwgU3RydWN0dXJlZEVycm9yRG9jdW1lbnQgfSBmcm9tICdAZW1iZXItZGF0YS9yZXF1ZXN0JztcblxuaW1wb3J0IHsgaW1wb3J0U3luYywgbWFjcm9Db25kaXRpb24sIG1vZHVsZUV4aXN0cyB9IGZyb20gJ0BlbWJyb2lkZXIvbWFjcm9zJztcblxuaW1wb3J0IHR5cGUgeyBTdG9yZVJlcXVlc3RJbnB1dCB9IGZyb20gJ0BlbWJlci1kYXRhL3N0b3JlJztcbmltcG9ydCB0eXBlIFN0b3JlIGZyb20gJ0BlbWJlci1kYXRhL3N0b3JlJztcblxuaW1wb3J0IHsgZ2V0UmVxdWVzdFN0YXRlIH0gZnJvbSAnLi9yZXF1ZXN0LXN0YXRlLnRzJztcbmltcG9ydCB0eXBlIHsgUmVxdWVzdExvYWRpbmdTdGF0ZSB9IGZyb20gJy4vcmVxdWVzdC1zdGF0ZS50cyc7XG5pbXBvcnQgeyBhbmQsIG5vdE51bGwsIFRocm93IH0gZnJvbSAnLi9hd2FpdC5ndHMnO1xuXG5sZXQgcHJvdmlkZSA9IHNlcnZpY2U7XG5pZiAobWFjcm9Db25kaXRpb24obW9kdWxlRXhpc3RzKCdlbWJlci1wcm92aWRlLWNvbnN1bWUtY29udGV4dCcpKSkge1xuICBjb25zdCB7IGNvbnN1bWUgfSA9IGltcG9ydFN5bmMoJ2VtYmVyLXByb3ZpZGUtY29uc3VtZS1jb250ZXh0JykgYXMgeyBjb25zdW1lOiB0eXBlb2Ygc2VydmljZSB9O1xuICBwcm92aWRlID0gY29uc3VtZTtcbn1cblxuaW50ZXJmYWNlIFJlcXVlc3RTaWduYXR1cmU8VD4ge1xuICBBcmdzOiB7XG4gICAgcmVxdWVzdD86IEZ1dHVyZTxUPjtcbiAgICBxdWVyeT86IFN0b3JlUmVxdWVzdElucHV0PFQ-O1xuICAgIHN0b3JlPzogU3RvcmU7XG4gIH07XG4gIEJsb2Nrczoge1xuICAgIGxvYWRpbmc6IFtzdGF0ZTogUmVxdWVzdExvYWRpbmdTdGF0ZV07XG4gICAgY2FuY2VsbGVkOiBbZXJyb3I6IFN0cnVjdHVyZWRFcnJvckRvY3VtZW50XTtcbiAgICBlcnJvcjogW2Vycm9yOiBTdHJ1Y3R1cmVkRXJyb3JEb2N1bWVudF07XG4gICAgY29udGVudDogW3ZhbHVlOiBUXTtcbiAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIFJlcXVlc3Q8VD4gZXh0ZW5kcyBDb21wb25lbnQ8UmVxdWVzdFNpZ25hdHVyZTxUPj4ge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBAcHJvdmlkZSgnc3RvcmUnKSBkZWNsYXJlIF9zdG9yZTogU3RvcmU7XG5cbiAgcmV0cnkgPSAoKSA9PiB7fTtcbiAgcmVsb2FkID0gKCkgPT4ge307XG4gIHJlZnJlc2ggPSAoKSA9PiB7fTtcblxuICBAY2FjaGVkXG4gIGdldCByZXF1ZXN0KCkge1xuICAgIGNvbnN0IHsgcmVxdWVzdCwgcXVlcnkgfSA9IHRoaXMuYXJncztcbiAgICBhc3NlcnQoYENhbm5vdCB1c2UgYm90aCBAcmVxdWVzdCBhbmQgQHF1ZXJ5IGFyZ3Mgd2l0aCB0aGUgPFJlcXVlc3Q-IGNvbXBvbmVudGAsICFyZXF1ZXN0IHx8ICFxdWVyeSk7XG4gICAgaWYgKHJlcXVlc3QpIHtcbiAgICAgIHJldHVybiByZXF1ZXN0O1xuICAgIH1cbiAgICBhc3NlcnQoYFlvdSBtdXN0IHByb3ZpZGUgZWl0aGVyIEByZXF1ZXN0IG9yIGFuIEBxdWVyeSBhcmcgd2l0aCB0aGUgPFJlcXVlc3Q-IGNvbXBvbmVudGAsIHF1ZXJ5KTtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5yZXF1ZXN0PFQ-KHF1ZXJ5ISk7XG4gIH1cblxuICBnZXQgc3RvcmUoKTogU3RvcmUge1xuICAgIGNvbnN0IHN0b3JlID0gdGhpcy5hcmdzLnN0b3JlIHx8IHRoaXMuX3N0b3JlO1xuICAgIGFzc2VydChcbiAgICAgIG1vZHVsZUV4aXN0cygnZW1iZXItcHJvdmlkZS1jb25zdW1lLWNvbnRleHQnKVxuICAgICAgICA_IGBObyBzdG9yZSB3YXMgcHJvdmlkZWQgdG8gdGhlIDxSZXF1ZXN0PiBjb21wb25lbnQuIEVpdGhlciBwcm92aWRlIGEgc3RvcmUgdmlhIHRoZSBAc3RvcmUgYXJnIG9yIHZpYSB0aGUgY29udGV4dCBBUEkgcHJvdmlkZWQgYnkgZW1iZXItcHJvdmlkZS1jb25zdW1lLWNvbnRleHQuYFxuICAgICAgICA6IGBObyBzdG9yZSB3YXMgcHJvdmlkZWQgdG8gdGhlIDxSZXF1ZXN0PiBjb21wb25lbnQuIEVpdGhlciBwcm92aWRlIGEgc3RvcmUgdmlhIHRoZSBAc3RvcmUgYXJnIG9yIGJ5IHJlZ2lzdGVyaW5nIGEgc3RvcmUgc2VydmljZS5gLFxuICAgICAgc3RvcmVcbiAgICApO1xuICAgIHJldHVybiBzdG9yZTtcbiAgfVxuXG4gIGdldCByZXFTdGF0ZSgpIHtcbiAgICByZXR1cm4gZ2V0UmVxdWVzdFN0YXRlPFQ-KHRoaXMucmVxdWVzdCk7XG4gIH1cblxuICA8dGVtcGxhdGU-XG4gICAge3sjaWYgdGhpcy5yZXFTdGF0ZS5pc0xvYWRpbmd9fVxuICAgICAge3t5aWVsZCB0aGlzLnJlcVN0YXRlLmxvYWRpbmdTdGF0ZSB0bz1cImxvYWRpbmdcIn19XG4gICAge3tlbHNlIGlmIChhbmQgdGhpcy5yZXFTdGF0ZS5pc0NhbmNlbGxlZCAoaGFzLWJsb2NrIFwiY2FuY2VsbGVkXCIpKX19XG4gICAgICB7e3lpZWxkIChub3ROdWxsIHRoaXMucmVxU3RhdGUuZXJyb3IpIHRvPVwiY2FuY2VsbGVkXCJ9fVxuICAgIHt7ZWxzZSBpZiAoYW5kIHRoaXMucmVxU3RhdGUuaXNFcnJvciAoaGFzLWJsb2NrIFwiZXJyb3JcIikpfX1cbiAgICAgIHt7eWllbGQgKG5vdE51bGwgdGhpcy5yZXFTdGF0ZS5lcnJvcikgdG89XCJlcnJvclwifX1cbiAgICB7e2Vsc2UgaWYgdGhpcy5yZXFTdGF0ZS5pc1N1Y2Nlc3N9fVxuICAgICAge3t5aWVsZCAobm90TnVsbCB0aGlzLnJlcVN0YXRlLnJlc3VsdCkgdG89XCJjb250ZW50XCJ9fVxuICAgIHt7ZWxzZX19XG4gICAgICA8VGhyb3cgQGVycm9yPXt7KG5vdE51bGwgdGhpcy5yZXFTdGF0ZS5lcnJvcil9fSAvPlxuICAgIHt7L2lmfX1cbiAgPC90ZW1wbGF0ZT5cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsU0FBUyxNQUFNLFFBQVEsZUFBZTtBQUN0QyxTQUFTLE9BQU8sUUFBUSxpQkFBaUI7QUFDekMsT0FBTyxlQUFlLHFCQUFxQjtBQUMzQyxTQUFTLE1BQU0sUUFBUSxvQkFBb0I7QUFDM0MsY0FBYyxNQUFNLEVBQUUsdUJBQXVCLFFBQVEsc0JBQXNCO0FBRTNFLFNBQVMsVUFBVSxFQUFFLGNBQWMsRUFBRSxZQUFZLFFBQVEsb0JBQW9CO0FBRTdFLGNBQWMsaUJBQWlCLFFBQVEsb0JBQW9CO0FBQzNELFlBQVksV0FBVyxvQkFBb0I7QUFFM0MsU0FBUyxlQUFlLFFBQVEscUJBQXFCO0FBQ3JELGNBQWMsbUJBQW1CLFFBQVEscUJBQXFCO0FBQzlELFNBQVMsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLFFBQVEsY0FBYztBQUVsRCxJQUFJLFVBQVU7QUFDZCxJQUFJLGVBQWUsYUFBYSxtQ0FBbUM7SUFDakUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLFdBQVc7UUFBc0MsZ0JBQWdCOztJQUNyRixVQUFVO0FBQ1o7VUFFVSxpQkFBaUI7SUFDekI7UUFDRSxVQUFVLE9BQU87UUFDakIsUUFBUSxrQkFBa0I7UUFDMUIsUUFBUTs7SUFFVjtRQUNFLFVBQVUsT0FBTztRQUNqQixZQUFZLE9BQU87UUFDbkIsUUFBUSxPQUFPO1FBQ2YsVUFBVSxPQUFPOzs7QUFJckIsT0FBTyxNQUFNLFFBQVEsV0FBVyxVQUFVLGlCQUFpQjtJQUN6RDs7R0FFQyxHQUNELENBQUMsUUFBUTtJQUFpQixRQUFRLE1BQU07SUFFeEMsUUFBUSxLQUFPLEVBQUU7SUFDakIsU0FBUyxLQUFPLEVBQUU7SUFDbEIsVUFBVSxLQUFPLEVBQUU7SUFFbkIsQ0FBQztJQUFNLElBQ0gsVUFBVTtRQUNaLE1BQU0sRUFBRSxTQUFBLFFBQU8sRUFBRSxPQUFBLE1BQUssRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJO1FBQ3BDLE9BQU8sQ0FBQyxxRUFBcUUsQ0FBQyxFQUFFLENBQUMsWUFBVyxDQUFDO1FBQzdGLElBQUksVUFBUztZQUNYLE9BQU87UUFDVDtRQUNBLE9BQU8sQ0FBQyw4RUFBOEUsQ0FBQyxFQUFFO1FBQ3pGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRztJQUMvQjtJQUVBLElBQUksU0FBUyxNQUFNO1FBQ2pCLE1BQU0sU0FBUSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTTtRQUM1QyxPQUNFLGFBQWEsbUNBQ1QsQ0FBQyw2SkFBNkosQ0FBQyxHQUMvSixDQUFDLDhIQUE4SCxDQUFDLEVBQ3BJO1FBRUYsT0FBTztJQUNUO0lBRUEsSUFBSSxXQUFXO1FBQ2IsT0FBTyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsT0FBTztJQUN4QztJQUVBLE1BQUE7UUFBQSxTQUFVLENBQUE7Ozs7Ozs7Ozs7OztFQVlWLENBQUEsRUFBQTtZQUFBLFdBQUEsSUFBVztZQUFYO2dCQUFBLE9BQUEsS0FBQSxTQUFBLENBQUEsRUFBVztZQUFEO1FBQUE7SUFBQSxDQVpBO0FBYVoifQ"],"names":["RequestCache","WeakMap","isAbortError","error","DOMException","name","watchStream","stream","state","reader","getReader","bytesLoaded","shouldForward","_stream","readable","locked","isForwarding","writer","writable","getWriter","buffer","_isPending","_isStarted","_startTime","performance","now","value","done","read","byteLength","_bytesLoaded","_lastPacketTime","item","ready","write","length","push","close","cancel","endTime","_endTime","_isComplete","RequestLoadingState","_future","_triggered","_trigger","future","promise","getStream","sizeHint","_sizeHint","then","_isCancelled","_isErrored","_error","g","this","prototype","tracked","i","void 0","isPending","TransformStream","isStarted","startTime","lastPacketTime","isComplete","isCancelled","isErrored","elapsedTime","completeRatio","remainingRatio","duration","speed","constructor","abort","RequestState","isError","loadingState","getPromiseResult","request","result","response","isLoading","content","isSuccess","setPromiseResult","getRequestState","get","set","PromiseCache","PromiseState","LegacyPromiseProxy","Symbol","for","isLegacyAwaitable","getPromise","getPromiseState","_promise","notNull","x1","assert","and","y1","Boolean","Throw","Component","owner1","args1","args","setComponentTemplate","precompileTemplate","strictMode","Await","scope","provide","service","macroCondition","moduleExists","consume","importSync","Request","retry","reload","refresh","request1","query","query1","store","n","cached","store1","_store","reqState"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../node_modules/.pnpm/decorator-transforms@1.1.0_@babel+core@7.24.4/node_modules/decorator-transforms/dist/chunk-CSAU5B4Q.js","../../../node_modules/.pnpm/decorator-transforms@1.1.0_@babel+core@7.24.4/node_modules/decorator-transforms/dist/chunk-3SQBS3Y5.js","../src/-private/request-state.ts","../src/-private/promise-state.ts","../src/-private/await.gts","../src/-private/request.gts"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\n\nexport {\n __export\n};\n//# sourceMappingURL=chunk-CSAU5B4Q.js.map","import {\n __export\n} from \"./chunk-CSAU5B4Q.js\";\n\n// src/runtime.ts\nvar runtime_exports = {};\n__export(runtime_exports, {\n c: () => decorateClass,\n f: () => decorateFieldV1,\n g: () => decorateFieldV2,\n i: () => initializeDeferredDecorator,\n m: () => decorateMethodV1,\n n: () => decorateMethodV2,\n p: () => decoratePOJO\n});\nvar deferred = /* @__PURE__ */ new WeakMap();\nfunction deferDecorator(proto, prop, desc) {\n let map = deferred.get(proto);\n if (!map) {\n map = /* @__PURE__ */ new Map();\n deferred.set(proto, map);\n }\n map.set(prop, desc);\n}\nfunction findDeferredDecorator(target, prop) {\n let cursor = target.prototype;\n while (cursor) {\n let desc = deferred.get(cursor)?.get(prop);\n if (desc) {\n return desc;\n }\n cursor = cursor.prototype;\n }\n}\nfunction decorateFieldV1(target, prop, decorators, initializer) {\n return decorateFieldV2(target.prototype, prop, decorators, initializer);\n}\nfunction decorateFieldV2(prototype, prop, decorators, initializer) {\n let desc = {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n };\n if (initializer) {\n desc.initializer = initializer;\n }\n for (let decorator of decorators) {\n desc = decorator(prototype, prop, desc) || desc;\n }\n if (desc.initializer === void 0) {\n Object.defineProperty(prototype, prop, desc);\n } else {\n deferDecorator(prototype, prop, desc);\n }\n}\nfunction decorateMethodV1({ prototype }, prop, decorators) {\n return decorateMethodV2(prototype, prop, decorators);\n}\nfunction decorateMethodV2(prototype, prop, decorators) {\n const origDesc = Object.getOwnPropertyDescriptor(prototype, prop);\n let desc = { ...origDesc };\n for (let decorator of decorators) {\n desc = decorator(prototype, prop, desc) || desc;\n }\n if (desc.initializer !== void 0) {\n desc.value = desc.initializer ? desc.initializer.call(prototype) : void 0;\n desc.initializer = void 0;\n }\n Object.defineProperty(prototype, prop, desc);\n}\nfunction initializeDeferredDecorator(target, prop) {\n let desc = findDeferredDecorator(target.constructor, prop);\n if (desc) {\n Object.defineProperty(target, prop, {\n enumerable: desc.enumerable,\n configurable: desc.configurable,\n writable: desc.writable,\n value: desc.initializer ? desc.initializer.call(target) : void 0\n });\n }\n}\nfunction decorateClass(target, decorators) {\n return decorators.reduce(\n (accum, decorator) => decorator(accum) || accum,\n target\n );\n}\nfunction decoratePOJO(pojo, decorated) {\n for (let [type, prop, decorators] of decorated) {\n if (type === \"field\") {\n decoratePojoField(pojo, prop, decorators);\n } else {\n decorateMethodV2(pojo, prop, decorators);\n }\n }\n return pojo;\n}\nfunction decoratePojoField(pojo, prop, decorators) {\n let desc = {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: () => Object.getOwnPropertyDescriptor(pojo, prop)?.value\n };\n for (let decorator of decorators) {\n desc = decorator(pojo, prop, desc) || desc;\n }\n if (desc.initializer) {\n desc.value = desc.initializer.call(pojo);\n delete desc.initializer;\n }\n Object.defineProperty(pojo, prop, desc);\n}\n\nexport {\n decorateFieldV1,\n decorateFieldV2,\n decorateMethodV1,\n decorateMethodV2,\n initializeDeferredDecorator,\n decorateClass,\n decoratePOJO,\n runtime_exports\n};\n//# sourceMappingURL=chunk-3SQBS3Y5.js.map","import { tracked } from '@glimmer/tracking';\n\nimport type {\n Future,\n ImmutableRequestInfo,\n ResponseInfo,\n StructuredDocument,\n StructuredErrorDocument,\n} from '@ember-data/request';\nimport { getPromiseResult, setPromiseResult } from '@ember-data/request';\n\nconst RequestCache = new WeakMap<Future<unknown>, RequestState>();\n\nfunction isAbortError(error: unknown): boolean {\n return error instanceof DOMException && error.name === 'AbortError';\n}\n\nasync function watchStream(stream: ReadableStream<Uint8Array>, state: RequestLoadingState): Promise<void> {\n const reader = stream.getReader();\n let bytesLoaded = 0;\n let shouldForward = state._stream !== null && state._stream.readable.locked;\n let isForwarding = shouldForward;\n let writer = state._stream?.writable.getWriter();\n const buffer = [];\n\n state._isPending = false;\n state._isStarted = true;\n state._startTime = performance.now();\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const { value, done } = await reader.read();\n if (done) {\n break;\n }\n bytesLoaded += value.byteLength;\n state._bytesLoaded = bytesLoaded;\n state._lastPacketTime = performance.now();\n\n shouldForward = shouldForward || (state._stream !== null && state._stream.readable.locked);\n\n if (shouldForward) {\n if (!isForwarding) {\n isForwarding = true;\n writer = state._stream!.writable.getWriter();\n for (const item of buffer) {\n await writer.ready;\n await writer.write(item);\n }\n buffer.length = 0;\n }\n await writer!.ready;\n await writer!.write(value);\n } else {\n buffer.push(value);\n }\n }\n\n // if we are still forwarding, we need to close the writer\n if (isForwarding) {\n await writer!.ready;\n await writer!.close();\n } else if (state._stream) {\n // if we are not forwarding, we need to cancel the stream\n await state._stream.readable.cancel('The Stream Has Already Ended');\n state._stream = null;\n }\n\n const endTime = performance.now();\n state._endTime = endTime;\n state._isComplete = true;\n state._isStarted = false;\n}\n\nexport class RequestLoadingState {\n _stream: TransformStream | null = null;\n _future: Future<unknown>;\n _triggered = false;\n _trigger() {\n if (this._triggered) {\n return;\n }\n this._triggered = true;\n const future = this._future;\n const promise: Promise<ReadableStream<Uint8Array> | null> & { sizeHint?: number } = future.getStream();\n if (promise.sizeHint) {\n this._sizeHint = promise.sizeHint;\n }\n this.promise = promise.then(\n (stream) => {\n if (!stream) {\n this._isPending = false;\n this._isComplete = true;\n return;\n }\n return watchStream(stream, this);\n },\n (error: Error) => {\n this._isPending = false;\n this._isStarted = false;\n if (isAbortError(error)) {\n this._isCancelled = true;\n this._isComplete = true;\n }\n this._isErrored = true;\n this._error = error;\n }\n );\n }\n\n promise: Promise<void> | null = null;\n @tracked _sizeHint = 0;\n @tracked _bytesLoaded = 0;\n\n @tracked _startTime = 0;\n @tracked _endTime = 0;\n @tracked _lastPacketTime = 0;\n\n @tracked _isPending = true;\n @tracked _isStarted = false;\n @tracked _isComplete = false;\n @tracked _isCancelled = false;\n @tracked _isErrored = false;\n @tracked _error: Error | null = null;\n\n get isPending(): boolean {\n this._trigger();\n return this._isPending;\n }\n\n get sizeHint(): number {\n this._trigger();\n return this._sizeHint;\n }\n\n get stream(): ReadableStream | null {\n this._trigger();\n if (!this._stream) {\n if (this._isComplete || this._isCancelled || this._isErrored) {\n return null;\n }\n this._stream = new TransformStream();\n }\n return this._stream.readable;\n }\n\n get isStarted(): boolean {\n this._trigger();\n return this._isStarted;\n }\n\n get bytesLoaded(): number {\n this._trigger();\n return this._bytesLoaded;\n }\n\n get startTime(): number {\n this._trigger();\n return this._startTime;\n }\n\n get endTime(): number {\n this._trigger();\n return this._endTime;\n }\n\n get lastPacketTime(): number {\n this._trigger();\n return this._lastPacketTime;\n }\n\n get isComplete(): boolean {\n this._trigger();\n return this._isComplete;\n }\n\n get isCancelled(): boolean {\n this._trigger();\n return this._isCancelled;\n }\n\n get isErrored(): boolean {\n this._trigger();\n return this._isErrored;\n }\n\n get error(): Error | null {\n this._trigger();\n return this._error;\n }\n\n get elapsedTime(): number {\n return (this.endTime || this.lastPacketTime) - this.startTime;\n }\n\n get completeRatio(): number {\n return this.sizeHint ? this.bytesLoaded / this.sizeHint : 0;\n }\n\n get remainingRatio(): number {\n return 1 - this.completeRatio;\n }\n\n get duration(): number {\n return this.endTime - this.startTime;\n }\n\n get speed(): number {\n // bytes per second\n return this.bytesLoaded / (this.elapsedTime / 1000);\n }\n\n constructor(future: Future<unknown>) {\n this._future = future;\n }\n\n abort(): void {\n this._future.abort();\n }\n}\n\nexport class RequestState<T = unknown, RT = unknown> {\n #request: Future<RT>;\n #loadingState: RequestLoadingState | null = null;\n\n @tracked result: RT | null = null;\n @tracked error: StructuredErrorDocument | null = null;\n @tracked isLoading = true;\n @tracked isSuccess = false;\n @tracked isError = false;\n @tracked request: ImmutableRequestInfo<T, RT> | null = null;\n @tracked response: Response | ResponseInfo | null = null;\n\n get isCancelled(): boolean {\n return this.isError && isAbortError(this.error);\n }\n\n get loadingState() {\n if (!this.#loadingState) {\n this.#loadingState = new RequestLoadingState(this.#request);\n }\n\n return this.#loadingState;\n }\n\n constructor(future: Future<RT>) {\n this.#request = future;\n const state = getPromiseResult<StructuredDocument<RT>, StructuredErrorDocument>(future);\n\n if (state) {\n this.request = state.result.request as ImmutableRequestInfo<T, RT>;\n this.response = state.result.response;\n this.isLoading = false;\n\n if (state.isError) {\n this.error = state.result;\n this.isError = true;\n } else {\n this.result = state.result.content!;\n this.isSuccess = true;\n }\n } else {\n void future.then(\n (result) => {\n setPromiseResult(future, { isError: false, result });\n this.result = result.content;\n this.isSuccess = true;\n this.isLoading = false;\n this.request = result.request as ImmutableRequestInfo<T, RT>;\n this.response = result.response;\n },\n (error: StructuredErrorDocument) => {\n setPromiseResult(future, { isError: true, result: error });\n this.error = error;\n this.isError = true;\n this.isLoading = false;\n this.request = error.request as ImmutableRequestInfo<T, RT>;\n this.response = error.response;\n }\n );\n }\n }\n}\n\nexport function getRequestState<RT, T>(future: Future<RT>): RequestState<T, RT> {\n let state = RequestCache.get(future) as RequestState<T, RT> | undefined;\n\n if (!state) {\n state = new RequestState(future);\n RequestCache.set(future, state);\n }\n\n return state;\n}\n","import { tracked } from '@glimmer/tracking';\n\nimport type { Awaitable } from '@ember-data/request';\nimport { getPromiseResult, setPromiseResult } from '@ember-data/request';\n\nconst PromiseCache = new WeakMap<Awaitable, PromiseState>();\n\nexport class PromiseState<T = unknown, E = unknown> {\n @tracked result: T | null = null;\n @tracked error: E | null = null;\n @tracked isPending = true;\n @tracked isSuccess = false;\n @tracked isError = false;\n\n constructor(promise: Promise<T> | Awaitable<T, E>) {\n const state = getPromiseResult<T, E>(promise);\n\n if (state) {\n if (state.isError) {\n this.error = state.result;\n this.isError = true;\n this.isPending = false;\n } else {\n this.result = state.result;\n this.isSuccess = true;\n this.isPending = false;\n }\n } else {\n void promise.then(\n (result) => {\n setPromiseResult(promise, { isError: false, result });\n this.result = result;\n this.isSuccess = true;\n this.isPending = false;\n },\n (error: E) => {\n setPromiseResult(promise, { isError: true, result: error });\n this.error = error;\n this.isError = true;\n this.isPending = false;\n }\n );\n }\n }\n}\n\nconst LegacyPromiseProxy = Symbol.for('LegacyPromiseProxy');\ntype LegacyAwaitable<T, E> = { promise: Promise<T> | Awaitable<T, E>; [LegacyPromiseProxy]: true };\n\nfunction isLegacyAwaitable<T, E>(promise: object): promise is LegacyAwaitable<T, E> {\n return LegacyPromiseProxy in promise && 'promise' in promise && promise[LegacyPromiseProxy] === true;\n}\n\nfunction getPromise<T, E>(promise: Promise<T> | Awaitable<T, E> | LegacyAwaitable<T, E>): Promise<T> | Awaitable<T, E> {\n return isLegacyAwaitable(promise) ? promise.promise : promise;\n}\n\nexport function getPromiseState<T = unknown, E = unknown>(promise: Promise<T> | Awaitable<T, E>): PromiseState<T, E> {\n const _promise = getPromise(promise);\n let state = PromiseCache.get(_promise) as PromiseState<T, E> | undefined;\n\n if (!state) {\n state = new PromiseState(_promise);\n PromiseCache.set(_promise, state);\n }\n\n return state;\n}\n","import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { getPromiseState } from './promise-state.ts';\nimport { Awaitable } from '@ember-data/request';\nexport const and = (x1: unknown, y1: unknown)=>Boolean(x1 && y1);\ninterface ThrowSignature<E = Error | string | object> {\n Args: {\n error: E;\n };\n}\nexport class Throw<T> extends Component<ThrowSignature<T>> {\n constructor(owner1: unknown, args1: ThrowSignature<T>['Args']){\n super(owner1, args1);\n throw this.args.error;\n }\n static{\n template(``, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\ninterface AwaitSignature<T, E = Error | string | object> {\n Args: {\n promise: Promise<T> | Awaitable<T, E>;\n };\n Blocks: {\n pending: [];\n error: [error: E];\n success: [value: T];\n };\n}\nexport class Await<T, E> extends Component<AwaitSignature<T, E>> {\n get state() {\n return getPromiseState<T, E>(this.args.promise);\n }\n get error() {\n return this.state.error as E;\n }\n get result() {\n return this.state.result as T;\n }\n static{\n template(`\n {{#if this.state.isPending}}\n {{yield to=\"pending\"}}\n {{else if (and this.state.isError (has-block \"error\"))}}\n {{yield this.error to=\"error\"}}\n {{else if this.state.isSuccess}}\n {{yield this.result to=\"success\"}}\n {{else}}\n <Throw @error={{this.error}} />\n {{/if}}\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RhdGEvZGF0YS9wYWNrYWdlcy9lbWJlci9zcmMvLXByaXZhdGUvYXdhaXQuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21wb25lbnQgZnJvbSAnQGdsaW1tZXIvY29tcG9uZW50JztcbmltcG9ydCB7IGdldFByb21pc2VTdGF0ZSB9IGZyb20gJy4vcHJvbWlzZS1zdGF0ZS50cyc7XG5pbXBvcnQgeyBBd2FpdGFibGUgfSBmcm9tICdAZW1iZXItZGF0YS9yZXF1ZXN0JztcblxuZXhwb3J0IGNvbnN0IGFuZCA9ICh4OiB1bmtub3duLCB5OiB1bmtub3duKSA9PiBCb29sZWFuKHggJiYgeSk7XG5pbnRlcmZhY2UgVGhyb3dTaWduYXR1cmU8RSA9IEVycm9yIHwgc3RyaW5nIHwgb2JqZWN0PiB7XG4gIEFyZ3M6IHtcbiAgICBlcnJvcjogRTtcbiAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIFRocm93PFQ-IGV4dGVuZHMgQ29tcG9uZW50PFRocm93U2lnbmF0dXJlPFQ-PiB7XG4gIGNvbnN0cnVjdG9yKG93bmVyOiB1bmtub3duLCBhcmdzOiBUaHJvd1NpZ25hdHVyZTxUPlsnQXJncyddKSB7XG4gICAgc3VwZXIob3duZXIsIGFyZ3MpO1xuICAgIHRocm93IHRoaXMuYXJncy5lcnJvcjtcbiAgfVxuICA8dGVtcGxhdGU-PC90ZW1wbGF0ZT5cbn1cblxuaW50ZXJmYWNlIEF3YWl0U2lnbmF0dXJlPFQsIEUgPSBFcnJvciB8IHN0cmluZyB8IG9iamVjdD4ge1xuICBBcmdzOiB7XG4gICAgcHJvbWlzZTogUHJvbWlzZTxUPiB8IEF3YWl0YWJsZTxULCBFPjtcbiAgfTtcbiAgQmxvY2tzOiB7XG4gICAgcGVuZGluZzogW107XG4gICAgZXJyb3I6IFtlcnJvcjogRV07XG4gICAgc3VjY2VzczogW3ZhbHVlOiBUXTtcbiAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIEF3YWl0PFQsIEU-IGV4dGVuZHMgQ29tcG9uZW50PEF3YWl0U2lnbmF0dXJlPFQsIEU-PiB7XG4gIGdldCBzdGF0ZSgpIHtcbiAgICByZXR1cm4gZ2V0UHJvbWlzZVN0YXRlPFQsIEU-KHRoaXMuYXJncy5wcm9taXNlKTtcbiAgfVxuXG4gIGdldCBlcnJvcigpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5lcnJvciBhcyBFO1xuICB9XG5cbiAgZ2V0IHJlc3VsdCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5yZXN1bHQgYXMgVDtcbiAgfVxuXG4gIDx0ZW1wbGF0ZT5cbiAgICB7eyNpZiB0aGlzLnN0YXRlLmlzUGVuZGluZ319XG4gICAgICB7e3lpZWxkIHRvPVwicGVuZGluZ1wifX1cbiAgICB7e2Vsc2UgaWYgKGFuZCB0aGlzLnN0YXRlLmlzRXJyb3IgKGhhcy1ibG9jayBcImVycm9yXCIpKX19XG4gICAgICB7e3lpZWxkIHRoaXMuZXJyb3IgdG89XCJlcnJvclwifX1cbiAgICB7e2Vsc2UgaWYgdGhpcy5zdGF0ZS5pc1N1Y2Nlc3N9fVxuICAgICAge3t5aWVsZCB0aGlzLnJlc3VsdCB0bz1cInN1Y2Nlc3NcIn19XG4gICAge3tlbHNlfX1cbiAgICAgIDxUaHJvdyBAZXJyb3I9e3t0aGlzLmVycm9yfX0gLz5cbiAgICB7ey9pZn19XG4gIDwvdGVtcGxhdGU-XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sZUFBZSxxQkFBcUI7QUFDM0MsU0FBUyxlQUFlLFFBQVEscUJBQXFCO0FBQ3JELFNBQVMsU0FBUyxRQUFRLHNCQUFzQjtBQUVoRCxPQUFPLE1BQU0sTUFBTSxDQUFDLElBQUcsT0FBTyxFQUFFLElBQUcsT0FBTyxHQUFLLFFBQVEsTUFBSyxJQUFHO1VBQ3JELGVBQWUsSUFBSSxRQUFRLE1BQU0sR0FBRyxNQUFNO0lBQ2xEO1FBQ0UsT0FBTzs7O0FBSVgsT0FBTyxNQUFNLE1BQU0sV0FBVyxVQUFVLGVBQWU7SUFDckQsWUFBWSxRQUFPLE9BQU8sRUFBRSxPQUFNLGVBQWUsR0FBRyxPQUFPLENBQUU7UUFDM0QsS0FBSyxDQUFDLFFBQU87UUFDYixNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztJQUN2QjtJQUNBLE1BQUE7UUFBQSxTQUFVLENBQUEsQ0FBQSxFQUFBO1lBQUEsV0FBQSxJQUFXO1lBQVg7Z0JBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO1lBQUQ7UUFBQTtJQUFBLENBQVY7QUFDWjtVQUVVLGVBQWUsR0FBRyxJQUFJLFFBQVEsTUFBTSxHQUFHLE1BQU07SUFDckQ7UUFDRSxTQUFTLFFBQVEsS0FBSyxVQUFVLEdBQUc7O0lBRXJDO1FBQ0U7UUFDQSxRQUFRLE9BQU87UUFDZixVQUFVLE9BQU87OztBQUlyQixPQUFPLE1BQU0sTUFBTSxHQUFHLFdBQVcsVUFBVSxlQUFlLEdBQUc7SUFDM0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxnQkFBZ0IsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztJQUNoRDtJQUVBLElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUk7SUFDN0I7SUFFQSxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJO0lBQzlCO0lBRUEsTUFBQTtRQUFBLFNBQVUsQ0FBQTs7Ozs7Ozs7OztFQVVWLENBQUEsRUFBQTtZQUFBLFdBQUEsSUFBVztZQUFYO2dCQUFBLE9BQUEsS0FBQSxTQUFBLENBQUEsRUFBVztZQUFEO1FBQUE7SUFBQSxDQVZBO0FBV1oifQ","import { template } from \"@ember/template-compiler\";\nimport { assert } from '@ember/debug';\nimport { service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport { cached } from '@glimmer/tracking';\nimport { EnableHydration, type RequestInfo } from '@warp-drive/core-types/request';\nimport type { Future, StructuredErrorDocument } from '@ember-data/request';\nimport type { RequestState } from './request-state.ts';\nimport { importSync, macroCondition, moduleExists } from '@embroider/macros';\nimport type { StoreRequestInput } from '@ember-data/store';\nimport type Store from '@ember-data/store';\nimport { getRequestState } from './request-state.ts';\nimport type { RequestLoadingState } from './request-state.ts';\nimport { and, Throw } from './await.gts';\nimport { tracked } from '@glimmer/tracking';\nfunction notNull<T>(x1: null): never;\nfunction notNull<T>(x1: T): Exclude<T, null>;\nfunction notNull<T>(x1: T | null) {\n assert('Expected a non-null value, but got null', x1 !== null);\n return x1;\n}\nconst not = (x1: unknown)=>!x1;\n// default to 30 seconds unavailable before we refresh\nconst DEFAULT_DEADLINE = 30_000;\nlet provide = service;\nif (macroCondition(moduleExists('ember-provide-consume-context'))) {\n const { consume } = importSync('ember-provide-consume-context') as {\n consume: typeof service;\n };\n provide = consume;\n}\ntype ContentFeatures<RT> = {\n isOnline: boolean;\n isHidden: boolean;\n isRefreshing: boolean;\n refresh: () => Promise<void>;\n reload: () => Promise<void>;\n abort?: () => void;\n latestRequest?: Future<RT>;\n};\ninterface RequestSignature<T, RT> {\n Args: {\n request?: Future<RT>;\n query?: StoreRequestInput<T, RT>;\n store?: Store;\n autorefresh?: boolean;\n autorefreshThreshold?: number;\n autorefreshBehavior?: 'refresh' | 'reload' | 'policy';\n };\n Blocks: {\n loading: [state: RequestLoadingState];\n cancelled: [error: StructuredErrorDocument, features: {\n isOnline: boolean;\n isHidden: boolean;\n retry: () => Promise<void>;\n }];\n error: [error: StructuredErrorDocument, features: {\n isOnline: boolean;\n isHidden: boolean;\n retry: () => Promise<void>;\n }];\n content: [value: RT, features: ContentFeatures<RT>];\n always: [state: RequestState<T, RT>];\n };\n}\nexport class Request<T, RT> extends Component<RequestSignature<T, RT>> {\n /**\n * @internal\n */ @provide('store')\n _store: Store;\n @tracked\n isOnline: boolean = true;\n @tracked\n isHidden: boolean = true;\n @tracked\n isRefreshing: boolean = false;\n @tracked\n _localRequest: Future<RT> | undefined;\n @tracked\n _latestRequest: Future<RT> | undefined;\n unavailableStart: number | null;\n onlineChanged: (event: Event) => void;\n backgroundChanged: (event: Event) => void;\n _originalRequest: Future<RT> | undefined;\n _originalQuery: StoreRequestInput<T, RT> | undefined;\n constructor(owner1: unknown, args1: RequestSignature<T, RT>['Args']){\n super(owner1, args1);\n this.installListeners();\n }\n installListeners() {\n if (typeof window === 'undefined') {\n return;\n }\n this.isOnline = window.navigator.onLine;\n this.unavailableStart = this.isOnline ? null : Date.now();\n this.isHidden = document.visibilityState === 'hidden';\n this.onlineChanged = (event1: Event)=>{\n this.isOnline = event1.type === 'online';\n if (event1.type === 'offline') {\n this.unavailableStart = Date.now();\n }\n this.maybeUpdate();\n };\n this.backgroundChanged = ()=>{\n this.isHidden = document.visibilityState === 'hidden';\n this.maybeUpdate();\n };\n window.addEventListener('online', this.onlineChanged, {\n passive: true,\n capture: true\n });\n window.addEventListener('offline', this.onlineChanged, {\n passive: true,\n capture: true\n });\n document.addEventListener('visibilitychange', this.backgroundChanged, {\n passive: true,\n capture: true\n });\n }\n maybeUpdate(mode1?: 'reload' | 'refresh' | 'policy'): void {\n if (this.isOnline && !this.isHidden && (mode1 || this.args.autorefresh)) {\n const deadline1 = typeof this.args.autorefreshThreshold === 'number' ? this.args.autorefreshThreshold : DEFAULT_DEADLINE;\n const shouldAttempt1 = mode1 || (this.unavailableStart && Date.now() - this.unavailableStart > deadline1);\n this.unavailableStart = null;\n if (shouldAttempt1) {\n const request1 = Object.assign({}, this.reqState.request as unknown as RequestInfo<T>);\n const val1 = mode1 ?? this.args.autorefreshBehavior ?? 'policy';\n switch(val1){\n case 'reload':\n request1.cacheOptions = Object.assign({}, request1.cacheOptions, {\n reload: true\n });\n break;\n case 'refresh':\n request1.cacheOptions = Object.assign({}, request1.cacheOptions, {\n backgroundReload: true\n });\n break;\n case 'policy':\n break;\n default:\n throw new Error(`Invalid ${mode1 ? 'update mode' : '@autorefreshBehavior'} for <Request />: ${val1}`);\n }\n const wasStoreRequest1 = (request1 as {\n [EnableHydration]: boolean;\n })[EnableHydration] === true;\n assert(`Cannot supply a different store via context than was used to create the request`, !request1.store || request1.store === this.store);\n this._latestRequest = wasStoreRequest1 ? this.store.request<RT, T>(request1) : this.store.requestManager.request<RT>(request1);\n if (val1 !== 'refresh') {\n this._localRequest = this._latestRequest;\n }\n }\n }\n if (mode1) {\n throw new Error(`Reload not available: the network is not online or the tab is hidden`);\n }\n }\n retry = async ()=>{\n this.maybeUpdate('reload');\n await this._localRequest;\n };\n refresh = async ()=>{\n this.isRefreshing = true;\n this.maybeUpdate('refresh');\n try {\n await this._latestRequest;\n } finally{\n this.isRefreshing = false;\n }\n };\n @cached\n get errorFeatures() {\n return {\n isHidden: this.isHidden,\n isOnline: this.isOnline,\n retry: this.retry\n };\n }\n @cached\n get contentFeatures() {\n const feat1: ContentFeatures<RT> = {\n isHidden: this.isHidden,\n isOnline: this.isOnline,\n reload: this.retry,\n refresh: this.refresh,\n isRefreshing: this.isRefreshing,\n latestRequest: this._latestRequest\n };\n if (feat1.isRefreshing) {\n feat1.abort = ()=>{\n this._latestRequest?.abort();\n };\n }\n return feat1;\n }\n willDestroy() {\n if (typeof window === 'undefined') {\n return;\n }\n window.removeEventListener('online', this.onlineChanged, {\n passive: true,\n capture: true\n } as unknown as boolean);\n window.removeEventListener('offline', this.onlineChanged, {\n passive: true,\n capture: true\n } as unknown as boolean);\n document.removeEventListener('visibilitychange', this.backgroundChanged, {\n passive: true,\n capture: true\n } as unknown as boolean);\n }\n @cached\n get request() {\n const { request: request1, query: query1 } = this.args;\n assert(`Cannot use both @request and @query args with the <Request> component`, !request1 || !query1);\n const { _localRequest: _localRequest1, _originalRequest: _originalRequest1, _originalQuery: _originalQuery1 } = this;\n const isOriginalRequest1 = request1 === _originalRequest1 && query1 === _originalQuery1;\n if (_localRequest1 && isOriginalRequest1) {\n return _localRequest1;\n }\n // update state checks for the next time\n this._originalQuery = query1;\n this._originalRequest = request1;\n if (request1) {\n return request1;\n }\n assert(`You must provide either @request or an @query arg with the <Request> component`, query1);\n return this.store.request<RT, T>(query1!);\n }\n get store(): Store {\n const store1 = this.args.store || this._store;\n assert(moduleExists('ember-provide-consume-context') ? `No store was provided to the <Request> component. Either provide a store via the @store arg or via the context API provided by ember-provide-consume-context.` : `No store was provided to the <Request> component. Either provide a store via the @store arg or by registering a store service.`, store1);\n return store1;\n }\n get reqState() {\n return getRequestState<RT, T>(this.request);\n }\n get result() {\n return this.reqState.result as RT;\n }\n static{\n template(`\n {{#if this.reqState.isLoading}}\n {{yield this.reqState.loadingState to=\"loading\"}}\n {{else if (and this.reqState.isCancelled (has-block \"cancelled\"))}}\n {{yield (notNull this.reqState.error) this.errorFeatures to=\"cancelled\"}}\n {{else if (and this.reqState.isError (has-block \"error\"))}}\n {{yield (notNull this.reqState.error) this.errorFeatures to=\"error\"}}\n {{else if this.reqState.isSuccess}}\n {{yield this.result this.contentFeatures to=\"content\"}}\n {{else if (not this.reqState.isCancelled)}}\n <Throw @error={{(notNull this.reqState.error)}} />\n {{/if}}\n {{yield this.reqState to=\"always\"}}\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RhdGEvZGF0YS9wYWNrYWdlcy9lbWJlci9zcmMvLXByaXZhdGUvcmVxdWVzdC5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSAnQGVtYmVyL2RlYnVnJztcbmltcG9ydCB7IHNlcnZpY2UgfSBmcm9tICdAZW1iZXIvc2VydmljZSc7XG5pbXBvcnQgQ29tcG9uZW50IGZyb20gJ0BnbGltbWVyL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBjYWNoZWQgfSBmcm9tICdAZ2xpbW1lci90cmFja2luZyc7XG5pbXBvcnQgeyBFbmFibGVIeWRyYXRpb24sIHR5cGUgUmVxdWVzdEluZm8gfSBmcm9tICdAd2FycC1kcml2ZS9jb3JlLXR5cGVzL3JlcXVlc3QnO1xuaW1wb3J0IHR5cGUgeyBGdXR1cmUsIFN0cnVjdHVyZWRFcnJvckRvY3VtZW50IH0gZnJvbSAnQGVtYmVyLWRhdGEvcmVxdWVzdCc7XG5pbXBvcnQgdHlwZSB7IFJlcXVlc3RTdGF0ZSB9IGZyb20gJy4vcmVxdWVzdC1zdGF0ZS50cyc7XG5pbXBvcnQgeyBpbXBvcnRTeW5jLCBtYWNyb0NvbmRpdGlvbiwgbW9kdWxlRXhpc3RzIH0gZnJvbSAnQGVtYnJvaWRlci9tYWNyb3MnO1xuXG5pbXBvcnQgdHlwZSB7IFN0b3JlUmVxdWVzdElucHV0IH0gZnJvbSAnQGVtYmVyLWRhdGEvc3RvcmUnO1xuaW1wb3J0IHR5cGUgU3RvcmUgZnJvbSAnQGVtYmVyLWRhdGEvc3RvcmUnO1xuXG5pbXBvcnQgeyBnZXRSZXF1ZXN0U3RhdGUgfSBmcm9tICcuL3JlcXVlc3Qtc3RhdGUudHMnO1xuaW1wb3J0IHR5cGUgeyBSZXF1ZXN0TG9hZGluZ1N0YXRlIH0gZnJvbSAnLi9yZXF1ZXN0LXN0YXRlLnRzJztcbmltcG9ydCB7IGFuZCwgVGhyb3cgfSBmcm9tICcuL2F3YWl0Lmd0cyc7XG5pbXBvcnQgeyB0cmFja2VkIH0gZnJvbSAnQGdsaW1tZXIvdHJhY2tpbmcnO1xuXG5mdW5jdGlvbiBub3ROdWxsPFQ-KHg6IG51bGwpOiBuZXZlcjtcbmZ1bmN0aW9uIG5vdE51bGw8VD4oeDogVCk6IEV4Y2x1ZGU8VCwgbnVsbD47XG5mdW5jdGlvbiBub3ROdWxsPFQ-KHg6IFQgfCBudWxsKSB7XG4gIGFzc2VydCgnRXhwZWN0ZWQgYSBub24tbnVsbCB2YWx1ZSwgYnV0IGdvdCBudWxsJywgeCAhPT0gbnVsbCk7XG4gIHJldHVybiB4O1xufVxuXG5jb25zdCBub3QgPSAoeDogdW5rbm93bikgPT4gIXg7XG4vLyBkZWZhdWx0IHRvIDMwIHNlY29uZHMgdW5hdmFpbGFibGUgYmVmb3JlIHdlIHJlZnJlc2hcbmNvbnN0IERFRkFVTFRfREVBRExJTkUgPSAzMF8wMDA7XG5cbmxldCBwcm92aWRlID0gc2VydmljZTtcbmlmIChtYWNyb0NvbmRpdGlvbihtb2R1bGVFeGlzdHMoJ2VtYmVyLXByb3ZpZGUtY29uc3VtZS1jb250ZXh0JykpKSB7XG4gIGNvbnN0IHsgY29uc3VtZSB9ID0gaW1wb3J0U3luYygnZW1iZXItcHJvdmlkZS1jb25zdW1lLWNvbnRleHQnKSBhcyB7IGNvbnN1bWU6IHR5cGVvZiBzZXJ2aWNlIH07XG4gIHByb3ZpZGUgPSBjb25zdW1lO1xufVxuXG50eXBlIENvbnRlbnRGZWF0dXJlczxSVD4gPSB7XG4gIGlzT25saW5lOiBib29sZWFuO1xuICBpc0hpZGRlbjogYm9vbGVhbjtcbiAgaXNSZWZyZXNoaW5nOiBib29sZWFuO1xuICByZWZyZXNoOiAoKSA9PiBQcm9taXNlPHZvaWQ-O1xuICByZWxvYWQ6ICgpID0-IFByb21pc2U8dm9pZD47XG4gIGFib3J0PzogKCkgPT4gdm9pZDtcbiAgbGF0ZXN0UmVxdWVzdD86IEZ1dHVyZTxSVD47XG59O1xuXG5pbnRlcmZhY2UgUmVxdWVzdFNpZ25hdHVyZTxULCBSVD4ge1xuICBBcmdzOiB7XG4gICAgcmVxdWVzdD86IEZ1dHVyZTxSVD47XG4gICAgcXVlcnk_OiBTdG9yZVJlcXVlc3RJbnB1dDxULCBSVD47XG4gICAgc3RvcmU_OiBTdG9yZTtcbiAgICBhdXRvcmVmcmVzaD86IGJvb2xlYW47XG4gICAgYXV0b3JlZnJlc2hUaHJlc2hvbGQ_OiBudW1iZXI7XG4gICAgYXV0b3JlZnJlc2hCZWhhdmlvcj86ICdyZWZyZXNoJyB8ICdyZWxvYWQnIHwgJ3BvbGljeSc7XG4gIH07XG4gIEJsb2Nrczoge1xuICAgIGxvYWRpbmc6IFtzdGF0ZTogUmVxdWVzdExvYWRpbmdTdGF0ZV07XG4gICAgY2FuY2VsbGVkOiBbXG4gICAgICBlcnJvcjogU3RydWN0dXJlZEVycm9yRG9jdW1lbnQsXG4gICAgICBmZWF0dXJlczogeyBpc09ubGluZTogYm9vbGVhbjsgaXNIaWRkZW46IGJvb2xlYW47IHJldHJ5OiAoKSA9PiBQcm9taXNlPHZvaWQ-IH0sXG4gICAgXTtcbiAgICBlcnJvcjogW1xuICAgICAgZXJyb3I6IFN0cnVjdHVyZWRFcnJvckRvY3VtZW50LFxuICAgICAgZmVhdHVyZXM6IHsgaXNPbmxpbmU6IGJvb2xlYW47IGlzSGlkZGVuOiBib29sZWFuOyByZXRyeTogKCkgPT4gUHJvbWlzZTx2b2lkPiB9LFxuICAgIF07XG4gICAgY29udGVudDogW3ZhbHVlOiBSVCwgZmVhdHVyZXM6IENvbnRlbnRGZWF0dXJlczxSVD5dO1xuICAgIGFsd2F5czogW3N0YXRlOiBSZXF1ZXN0U3RhdGU8VCwgUlQ-XTtcbiAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIFJlcXVlc3Q8VCwgUlQ-IGV4dGVuZHMgQ29tcG9uZW50PFJlcXVlc3RTaWduYXR1cmU8VCwgUlQ-PiB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBwcm92aWRlKCdzdG9yZScpIGRlY2xhcmUgX3N0b3JlOiBTdG9yZTtcbiAgQHRyYWNrZWQgaXNPbmxpbmU6IGJvb2xlYW4gPSB0cnVlO1xuICBAdHJhY2tlZCBpc0hpZGRlbjogYm9vbGVhbiA9IHRydWU7XG4gIEB0cmFja2VkIGlzUmVmcmVzaGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBAdHJhY2tlZCBfbG9jYWxSZXF1ZXN0OiBGdXR1cmU8UlQ-IHwgdW5kZWZpbmVkO1xuICBAdHJhY2tlZCBfbGF0ZXN0UmVxdWVzdDogRnV0dXJlPFJUPiB8IHVuZGVmaW5lZDtcbiAgZGVjbGFyZSB1bmF2YWlsYWJsZVN0YXJ0OiBudW1iZXIgfCBudWxsO1xuICBkZWNsYXJlIG9ubGluZUNoYW5nZWQ6IChldmVudDogRXZlbnQpID0-IHZvaWQ7XG4gIGRlY2xhcmUgYmFja2dyb3VuZENoYW5nZWQ6IChldmVudDogRXZlbnQpID0-IHZvaWQ7XG4gIGRlY2xhcmUgX29yaWdpbmFsUmVxdWVzdDogRnV0dXJlPFJUPiB8IHVuZGVmaW5lZDtcbiAgZGVjbGFyZSBfb3JpZ2luYWxRdWVyeTogU3RvcmVSZXF1ZXN0SW5wdXQ8VCwgUlQ-IHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKG93bmVyOiB1bmtub3duLCBhcmdzOiBSZXF1ZXN0U2lnbmF0dXJlPFQsIFJUPlsnQXJncyddKSB7XG4gICAgc3VwZXIob3duZXIsIGFyZ3MpO1xuICAgIHRoaXMuaW5zdGFsbExpc3RlbmVycygpO1xuICB9XG5cbiAgaW5zdGFsbExpc3RlbmVycygpIHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzT25saW5lID0gd2luZG93Lm5hdmlnYXRvci5vbkxpbmU7XG4gICAgdGhpcy51bmF2YWlsYWJsZVN0YXJ0ID0gdGhpcy5pc09ubGluZSA_IG51bGwgOiBEYXRlLm5vdygpO1xuICAgIHRoaXMuaXNIaWRkZW4gPSBkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgPT09ICdoaWRkZW4nO1xuXG4gICAgdGhpcy5vbmxpbmVDaGFuZ2VkID0gKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgdGhpcy5pc09ubGluZSA9IGV2ZW50LnR5cGUgPT09ICdvbmxpbmUnO1xuICAgICAgaWYgKGV2ZW50LnR5cGUgPT09ICdvZmZsaW5lJykge1xuICAgICAgICB0aGlzLnVuYXZhaWxhYmxlU3RhcnQgPSBEYXRlLm5vdygpO1xuICAgICAgfVxuICAgICAgdGhpcy5tYXliZVVwZGF0ZSgpO1xuICAgIH07XG4gICAgdGhpcy5iYWNrZ3JvdW5kQ2hhbmdlZCA9ICgpID0-IHtcbiAgICAgIHRoaXMuaXNIaWRkZW4gPSBkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgPT09ICdoaWRkZW4nO1xuICAgICAgdGhpcy5tYXliZVVwZGF0ZSgpO1xuICAgIH07XG5cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignb25saW5lJywgdGhpcy5vbmxpbmVDaGFuZ2VkLCB7IHBhc3NpdmU6IHRydWUsIGNhcHR1cmU6IHRydWUgfSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ29mZmxpbmUnLCB0aGlzLm9ubGluZUNoYW5nZWQsIHsgcGFzc2l2ZTogdHJ1ZSwgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd2aXNpYmlsaXR5Y2hhbmdlJywgdGhpcy5iYWNrZ3JvdW5kQ2hhbmdlZCwgeyBwYXNzaXZlOiB0cnVlLCBjYXB0dXJlOiB0cnVlIH0pO1xuICB9XG5cbiAgbWF5YmVVcGRhdGUobW9kZT86ICdyZWxvYWQnIHwgJ3JlZnJlc2gnIHwgJ3BvbGljeScpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc09ubGluZSAmJiAhdGhpcy5pc0hpZGRlbiAmJiAobW9kZSB8fCB0aGlzLmFyZ3MuYXV0b3JlZnJlc2gpKSB7XG4gICAgICBjb25zdCBkZWFkbGluZSA9XG4gICAgICAgIHR5cGVvZiB0aGlzLmFyZ3MuYXV0b3JlZnJlc2hUaHJlc2hvbGQgPT09ICdudW1iZXInID8gdGhpcy5hcmdzLmF1dG9yZWZyZXNoVGhyZXNob2xkIDogREVGQVVMVF9ERUFETElORTtcbiAgICAgIGNvbnN0IHNob3VsZEF0dGVtcHQgPSBtb2RlIHx8ICh0aGlzLnVuYXZhaWxhYmxlU3RhcnQgJiYgRGF0ZS5ub3coKSAtIHRoaXMudW5hdmFpbGFibGVTdGFydCA-IGRlYWRsaW5lKTtcbiAgICAgIHRoaXMudW5hdmFpbGFibGVTdGFydCA9IG51bGw7XG5cbiAgICAgIGlmIChzaG91bGRBdHRlbXB0KSB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLnJlcVN0YXRlLnJlcXVlc3QgYXMgdW5rbm93biBhcyBSZXF1ZXN0SW5mbzxUPik7XG4gICAgICAgIGNvbnN0IHZhbCA9IG1vZGUgPz8gdGhpcy5hcmdzLmF1dG9yZWZyZXNoQmVoYXZpb3IgPz8gJ3BvbGljeSc7XG4gICAgICAgIHN3aXRjaCAodmFsKSB7XG4gICAgICAgICAgY2FzZSAncmVsb2FkJzpcbiAgICAgICAgICAgIHJlcXVlc3QuY2FjaGVPcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgcmVxdWVzdC5jYWNoZU9wdGlvbnMsIHsgcmVsb2FkOiB0cnVlIH0pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAncmVmcmVzaCc6XG4gICAgICAgICAgICByZXF1ZXN0LmNhY2hlT3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIHJlcXVlc3QuY2FjaGVPcHRpb25zLCB7IGJhY2tncm91bmRSZWxvYWQ6IHRydWUgfSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdwb2xpY3knOlxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCAke21vZGUgPyAndXBkYXRlIG1vZGUnIDogJ0BhdXRvcmVmcmVzaEJlaGF2aW9yJ30gZm9yIDxSZXF1ZXN0IC8-OiAke3ZhbH1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHdhc1N0b3JlUmVxdWVzdCA9IChyZXF1ZXN0IGFzIHsgW0VuYWJsZUh5ZHJhdGlvbl06IGJvb2xlYW4gfSlbRW5hYmxlSHlkcmF0aW9uXSA9PT0gdHJ1ZTtcbiAgICAgICAgYXNzZXJ0KFxuICAgICAgICAgIGBDYW5ub3Qgc3VwcGx5IGEgZGlmZmVyZW50IHN0b3JlIHZpYSBjb250ZXh0IHRoYW4gd2FzIHVzZWQgdG8gY3JlYXRlIHRoZSByZXF1ZXN0YCxcbiAgICAgICAgICAhcmVxdWVzdC5zdG9yZSB8fCByZXF1ZXN0LnN0b3JlID09PSB0aGlzLnN0b3JlXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5fbGF0ZXN0UmVxdWVzdCA9IHdhc1N0b3JlUmVxdWVzdFxuICAgICAgICAgID8gdGhpcy5zdG9yZS5yZXF1ZXN0PFJULCBUPihyZXF1ZXN0KVxuICAgICAgICAgIDogdGhpcy5zdG9yZS5yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0PFJUPihyZXF1ZXN0KTtcblxuICAgICAgICBpZiAodmFsICE9PSAncmVmcmVzaCcpIHtcbiAgICAgICAgICB0aGlzLl9sb2NhbFJlcXVlc3QgPSB0aGlzLl9sYXRlc3RSZXF1ZXN0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG1vZGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgUmVsb2FkIG5vdCBhdmFpbGFibGU6IHRoZSBuZXR3b3JrIGlzIG5vdCBvbmxpbmUgb3IgdGhlIHRhYiBpcyBoaWRkZW5gKTtcbiAgICB9XG4gIH1cblxuICByZXRyeSA9IGFzeW5jICgpID0-IHtcbiAgICB0aGlzLm1heWJlVXBkYXRlKCdyZWxvYWQnKTtcbiAgICBhd2FpdCB0aGlzLl9sb2NhbFJlcXVlc3Q7XG4gIH07XG5cbiAgcmVmcmVzaCA9IGFzeW5jICgpID0-IHtcbiAgICB0aGlzLmlzUmVmcmVzaGluZyA9IHRydWU7XG4gICAgdGhpcy5tYXliZVVwZGF0ZSgncmVmcmVzaCcpO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLl9sYXRlc3RSZXF1ZXN0O1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmlzUmVmcmVzaGluZyA9IGZhbHNlO1xuICAgIH1cbiAgfTtcblxuICBAY2FjaGVkXG4gIGdldCBlcnJvckZlYXR1cmVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBpc0hpZGRlbjogdGhpcy5pc0hpZGRlbixcbiAgICAgIGlzT25saW5lOiB0aGlzLmlzT25saW5lLFxuICAgICAgcmV0cnk6IHRoaXMucmV0cnksXG4gICAgfTtcbiAgfVxuXG4gIEBjYWNoZWRcbiAgZ2V0IGNvbnRlbnRGZWF0dXJlcygpIHtcbiAgICBjb25zdCBmZWF0OiBDb250ZW50RmVhdHVyZXM8UlQ-ID0ge1xuICAgICAgaXNIaWRkZW46IHRoaXMuaXNIaWRkZW4sXG4gICAgICBpc09ubGluZTogdGhpcy5pc09ubGluZSxcbiAgICAgIHJlbG9hZDogdGhpcy5yZXRyeSxcbiAgICAgIHJlZnJlc2g6IHRoaXMucmVmcmVzaCxcbiAgICAgIGlzUmVmcmVzaGluZzogdGhpcy5pc1JlZnJlc2hpbmcsXG4gICAgICBsYXRlc3RSZXF1ZXN0OiB0aGlzLl9sYXRlc3RSZXF1ZXN0LFxuICAgIH07XG5cbiAgICBpZiAoZmVhdC5pc1JlZnJlc2hpbmcpIHtcbiAgICAgIGZlYXQuYWJvcnQgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuX2xhdGVzdFJlcXVlc3Q_LmFib3J0KCk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBmZWF0O1xuICB9XG5cbiAgd2lsbERlc3Ryb3koKSB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ29ubGluZScsIHRoaXMub25saW5lQ2hhbmdlZCwgeyBwYXNzaXZlOiB0cnVlLCBjYXB0dXJlOiB0cnVlIH0gYXMgdW5rbm93biBhcyBib29sZWFuKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignb2ZmbGluZScsIHRoaXMub25saW5lQ2hhbmdlZCwgeyBwYXNzaXZlOiB0cnVlLCBjYXB0dXJlOiB0cnVlIH0gYXMgdW5rbm93biBhcyBib29sZWFuKTtcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd2aXNpYmlsaXR5Y2hhbmdlJywgdGhpcy5iYWNrZ3JvdW5kQ2hhbmdlZCwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgIGNhcHR1cmU6IHRydWUsXG4gICAgfSBhcyB1bmtub3duIGFzIGJvb2xlYW4pO1xuICB9XG5cbiAgQGNhY2hlZFxuICBnZXQgcmVxdWVzdCgpIHtcbiAgICBjb25zdCB7IHJlcXVlc3QsIHF1ZXJ5IH0gPSB0aGlzLmFyZ3M7XG4gICAgYXNzZXJ0KGBDYW5ub3QgdXNlIGJvdGggQHJlcXVlc3QgYW5kIEBxdWVyeSBhcmdzIHdpdGggdGhlIDxSZXF1ZXN0PiBjb21wb25lbnRgLCAhcmVxdWVzdCB8fCAhcXVlcnkpO1xuICAgIGNvbnN0IHsgX2xvY2FsUmVxdWVzdCwgX29yaWdpbmFsUmVxdWVzdCwgX29yaWdpbmFsUXVlcnkgfSA9IHRoaXM7XG4gICAgY29uc3QgaXNPcmlnaW5hbFJlcXVlc3QgPSByZXF1ZXN0ID09PSBfb3JpZ2luYWxSZXF1ZXN0ICYmIHF1ZXJ5ID09PSBfb3JpZ2luYWxRdWVyeTtcblxuICAgIGlmIChfbG9jYWxSZXF1ZXN0ICYmIGlzT3JpZ2luYWxSZXF1ZXN0KSB7XG4gICAgICByZXR1cm4gX2xvY2FsUmVxdWVzdDtcbiAgICB9XG5cbiAgICAvLyB1cGRhdGUgc3RhdGUgY2hlY2tzIGZvciB0aGUgbmV4dCB0aW1lXG4gICAgdGhpcy5fb3JpZ2luYWxRdWVyeSA9IHF1ZXJ5O1xuICAgIHRoaXMuX29yaWdpbmFsUmVxdWVzdCA9IHJlcXVlc3Q7XG5cbiAgICBpZiAocmVxdWVzdCkge1xuICAgICAgcmV0dXJuIHJlcXVlc3Q7XG4gICAgfVxuICAgIGFzc2VydChgWW91IG11c3QgcHJvdmlkZSBlaXRoZXIgQHJlcXVlc3Qgb3IgYW4gQHF1ZXJ5IGFyZyB3aXRoIHRoZSA8UmVxdWVzdD4gY29tcG9uZW50YCwgcXVlcnkpO1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnJlcXVlc3Q8UlQsIFQ-KHF1ZXJ5ISk7XG4gIH1cblxuICBnZXQgc3RvcmUoKTogU3RvcmUge1xuICAgIGNvbnN0IHN0b3JlID0gdGhpcy5hcmdzLnN0b3JlIHx8IHRoaXMuX3N0b3JlO1xuICAgIGFzc2VydChcbiAgICAgIG1vZHVsZUV4aXN0cygnZW1iZXItcHJvdmlkZS1jb25zdW1lLWNvbnRleHQnKVxuICAgICAgICA_IGBObyBzdG9yZSB3YXMgcHJvdmlkZWQgdG8gdGhlIDxSZXF1ZXN0PiBjb21wb25lbnQuIEVpdGhlciBwcm92aWRlIGEgc3RvcmUgdmlhIHRoZSBAc3RvcmUgYXJnIG9yIHZpYSB0aGUgY29udGV4dCBBUEkgcHJvdmlkZWQgYnkgZW1iZXItcHJvdmlkZS1jb25zdW1lLWNvbnRleHQuYFxuICAgICAgICA6IGBObyBzdG9yZSB3YXMgcHJvdmlkZWQgdG8gdGhlIDxSZXF1ZXN0PiBjb21wb25lbnQuIEVpdGhlciBwcm92aWRlIGEgc3RvcmUgdmlhIHRoZSBAc3RvcmUgYXJnIG9yIGJ5IHJlZ2lzdGVyaW5nIGEgc3RvcmUgc2VydmljZS5gLFxuICAgICAgc3RvcmVcbiAgICApO1xuICAgIHJldHVybiBzdG9yZTtcbiAgfVxuXG4gIGdldCByZXFTdGF0ZSgpIHtcbiAgICByZXR1cm4gZ2V0UmVxdWVzdFN0YXRlPFJULCBUPih0aGlzLnJlcXVlc3QpO1xuICB9XG5cbiAgZ2V0IHJlc3VsdCgpIHtcbiAgICByZXR1cm4gdGhpcy5yZXFTdGF0ZS5yZXN1bHQgYXMgUlQ7XG4gIH1cblxuICA8dGVtcGxhdGU-XG4gICAge3sjaWYgdGhpcy5yZXFTdGF0ZS5pc0xvYWRpbmd9fVxuICAgICAge3t5aWVsZCB0aGlzLnJlcVN0YXRlLmxvYWRpbmdTdGF0ZSB0bz1cImxvYWRpbmdcIn19XG4gICAge3tlbHNlIGlmIChhbmQgdGhpcy5yZXFTdGF0ZS5pc0NhbmNlbGxlZCAoaGFzLWJsb2NrIFwiY2FuY2VsbGVkXCIpKX19XG4gICAgICB7e3lpZWxkIChub3ROdWxsIHRoaXMucmVxU3RhdGUuZXJyb3IpIHRoaXMuZXJyb3JGZWF0dXJlcyB0bz1cImNhbmNlbGxlZFwifX1cbiAgICB7e2Vsc2UgaWYgKGFuZCB0aGlzLnJlcVN0YXRlLmlzRXJyb3IgKGhhcy1ibG9jayBcImVycm9yXCIpKX19XG4gICAgICB7e3lpZWxkIChub3ROdWxsIHRoaXMucmVxU3RhdGUuZXJyb3IpIHRoaXMuZXJyb3JGZWF0dXJlcyB0bz1cImVycm9yXCJ9fVxuICAgIHt7ZWxzZSBpZiB0aGlzLnJlcVN0YXRlLmlzU3VjY2Vzc319XG4gICAgICB7e3lpZWxkIHRoaXMucmVzdWx0IHRoaXMuY29udGVudEZlYXR1cmVzIHRvPVwiY29udGVudFwifX1cbiAgICB7e2Vsc2UgaWYgKG5vdCB0aGlzLnJlcVN0YXRlLmlzQ2FuY2VsbGVkKX19XG4gICAgICA8VGhyb3cgQGVycm9yPXt7KG5vdE51bGwgdGhpcy5yZXFTdGF0ZS5lcnJvcil9fSAvPlxuICAgIHt7L2lmfX1cbiAgICB7e3lpZWxkIHRoaXMucmVxU3RhdGUgdG89XCJhbHdheXNcIn19XG4gIDwvdGVtcGxhdGU-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"],"names":["RequestCache","WeakMap","isAbortError","error","DOMException","name","watchStream","stream","state","reader","getReader","bytesLoaded","shouldForward","_stream","readable","locked","isForwarding","writer","writable","getWriter","buffer","_isPending","_isStarted","_startTime","performance","now","value","done","read","byteLength","_bytesLoaded","_lastPacketTime","item","ready","write","length","push","close","cancel","endTime","_endTime","_isComplete","RequestLoadingState","_future","_triggered","_trigger","future","promise","getStream","sizeHint","_sizeHint","then","_isCancelled","_isErrored","_error","g","this","prototype","tracked","i","void 0","isPending","TransformStream","isStarted","startTime","lastPacketTime","isComplete","isCancelled","isErrored","elapsedTime","completeRatio","remainingRatio","duration","speed","constructor","abort","RequestState","isError","loadingState","getPromiseResult","request","result","response","isLoading","content","isSuccess","setPromiseResult","getRequestState","get","set","PromiseCache","PromiseState","LegacyPromiseProxy","Symbol","for","isLegacyAwaitable","getPromise","getPromiseState","_promise","and","x1","y1","Boolean","Throw","Component","owner1","args1","args","setComponentTemplate","precompileTemplate","strictMode","Await","scope","notNull","assert","not","DEFAULT_DEADLINE","provide","service","macroCondition","moduleExists","consume","importSync","Request","unavailableStart","onlineChanged","backgroundChanged","_originalRequest","_originalQuery","installListeners","window","isOnline","navigator","onLine","Date","isHidden","document","visibilityState","event1","type","maybeUpdate","addEventListener","passive","capture","mode1","autorefresh","deadline1","autorefreshThreshold","shouldAttempt1","request1","Object","assign","reqState","val1","autorefreshBehavior","cacheOptions","reload","backgroundReload","Error","wasStoreRequest1","EnableHydration","store","_latestRequest","requestManager","_localRequest","retry","refresh","isRefreshing","errorFeatures","n","cached","contentFeatures","feat1","latestRequest","willDestroy","removeEventListener","query","query1","_localRequest1","_originalRequest1","_originalQuery1","isOriginalRequest1","store1","_store"],"mappings":"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","x_google_ignoreList":[0,1]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@warp-drive/ember",
|
|
3
3
|
"description": "Data bindings and utilities for Ember applications using WarpDrive",
|
|
4
|
-
"version": "0.0.0-alpha.
|
|
4
|
+
"version": "0.0.0-alpha.19",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Chris Thoburn <runspired@users.noreply.github.com>",
|
|
7
7
|
"repository": {
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"peerDependencies": {
|
|
43
43
|
"@ember-data/store": "^4.12.7 || > 5.3.3",
|
|
44
44
|
"@ember-data/request": "^4.12.7 || > 5.3.3",
|
|
45
|
-
"@warp-drive/core-types": "0.0.0-alpha.
|
|
45
|
+
"@warp-drive/core-types": "0.0.0-alpha.43",
|
|
46
46
|
"ember-provide-consume-context": "^0.3.1",
|
|
47
47
|
"@ember-data/tracking": "^4.12.7 ||| > 5.3.3",
|
|
48
48
|
"@ember/string": "^3.1.1"
|
|
@@ -93,22 +93,22 @@
|
|
|
93
93
|
"@rollup/plugin-babel": "^6.0.4",
|
|
94
94
|
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
95
95
|
"decorator-transforms": "1.1.0",
|
|
96
|
-
"@ember-data/request": "5.4.0-alpha.
|
|
97
|
-
"@ember-data/store": "5.4.0-alpha.
|
|
98
|
-
"@ember-data/tracking": "5.4.0-alpha.
|
|
96
|
+
"@ember-data/request": "5.4.0-alpha.57",
|
|
97
|
+
"@ember-data/store": "5.4.0-alpha.57",
|
|
98
|
+
"@ember-data/tracking": "5.4.0-alpha.57",
|
|
99
99
|
"@ember/string": "^3.1.1",
|
|
100
|
-
"@warp-drive/core-types": "0.0.0-alpha.
|
|
101
|
-
"@warp-drive/internal-config": "5.4.0-alpha.
|
|
100
|
+
"@warp-drive/core-types": "0.0.0-alpha.43",
|
|
101
|
+
"@warp-drive/internal-config": "5.4.0-alpha.57",
|
|
102
102
|
"babel-plugin-ember-template-compilation": "^2.2.1",
|
|
103
103
|
"ember-template-imports": "^4.1.0",
|
|
104
104
|
"ember-source": "~5.7.0",
|
|
105
105
|
"pnpm-sync-dependencies-meta-injected": "0.0.10",
|
|
106
|
-
"rollup": "^4.14.
|
|
106
|
+
"rollup": "^4.14.3",
|
|
107
107
|
"typescript": "^5.4.5",
|
|
108
108
|
"walk-sync": "^3.0.0"
|
|
109
109
|
},
|
|
110
110
|
"engines": {
|
|
111
|
-
"node": ">= 18.20.
|
|
111
|
+
"node": ">= 18.20.2"
|
|
112
112
|
},
|
|
113
113
|
"volta": {
|
|
114
114
|
"extends": "../../package.json"
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
declare module '@warp-drive/ember/-private/await' {
|
|
2
2
|
import Component from '@glimmer/component';
|
|
3
3
|
import { Awaitable } from '@ember-data/request';
|
|
4
|
-
export function notNull<T>(x: null): never;
|
|
5
|
-
export function notNull<T>(x: T): Exclude<T, null>;
|
|
6
4
|
export const and: (x: unknown, y: unknown) => boolean;
|
|
7
5
|
interface ThrowSignature<E = Error | string | object> {
|
|
8
6
|
Args: {
|
|
@@ -24,6 +22,8 @@ declare module '@warp-drive/ember/-private/await' {
|
|
|
24
22
|
}
|
|
25
23
|
export class Await<T, E> extends Component<AwaitSignature<T, E>> {
|
|
26
24
|
get state(): import("@warp-drive/ember/-private/promise-state.ts").PromiseState<T, E>;
|
|
25
|
+
get error(): E;
|
|
26
|
+
get result(): T;
|
|
27
27
|
}
|
|
28
28
|
export {};
|
|
29
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"await.d.ts","sourceRoot":"","sources":["../../src/-private/await.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"await.d.ts","sourceRoot":"","sources":["../../src/-private/await.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,eAAO,MAAM,GAAG,MAAO,OAAO,KAAK,OAAO,YAAoB,CAAC;AAC/D,UAAU,cAAc,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM;IAClD,IAAI,EAAE;QACJ,KAAK,EAAE,CAAC,CAAC;KACV,CAAC;CACH;AAED,qBAAa,KAAK,CAAC,CAAC,CAAE,SAAQ,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBAC5C,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;CAO5D;AAED,UAAU,cAAc,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM;IACrD,IAAI,EAAE;QACJ,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACvC,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE,EAAE,CAAC;QACZ,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAClB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;KACrB,CAAC;CACH;AAED,qBAAa,KAAK,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9D,IAAI,KAAK,oDAER;IAED,IAAI,KAAK,MAER;IAED,IAAI,MAAM,MAET;CAqBF"}
|
|
@@ -37,19 +37,19 @@ declare module '@warp-drive/ember/-private/request-state' {
|
|
|
37
37
|
constructor(future: Future<unknown>);
|
|
38
38
|
abort(): void;
|
|
39
39
|
}
|
|
40
|
-
export class RequestState<T = unknown> {
|
|
40
|
+
export class RequestState<T = unknown, RT = unknown> {
|
|
41
41
|
#private;
|
|
42
|
-
result:
|
|
42
|
+
result: RT | null;
|
|
43
43
|
error: StructuredErrorDocument | null;
|
|
44
44
|
isLoading: boolean;
|
|
45
45
|
isSuccess: boolean;
|
|
46
46
|
isError: boolean;
|
|
47
|
-
request: ImmutableRequestInfo | null;
|
|
47
|
+
request: ImmutableRequestInfo<T, RT> | null;
|
|
48
48
|
response: Response | ResponseInfo | null;
|
|
49
49
|
get isCancelled(): boolean;
|
|
50
50
|
get loadingState(): RequestLoadingState;
|
|
51
|
-
constructor(future: Future<
|
|
51
|
+
constructor(future: Future<RT>);
|
|
52
52
|
}
|
|
53
|
-
export function getRequestState<T>(future: Future<
|
|
53
|
+
export function getRequestState<RT, T>(future: Future<RT>): RequestState<T, RT>;
|
|
54
54
|
}
|
|
55
55
|
//# sourceMappingURL=request-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-state.d.ts","sourceRoot":"","sources":["../../src/-private/request-state.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,MAAM,EACN,oBAAoB,EACpB,YAAY,EAEZ,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAkE7B,qBAAa,mBAAmB;IAC9B,OAAO,EAAE,eAAe,GAAG,IAAI,CAAQ;IACvC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,UAAU,UAAS;IACnB,QAAQ;IAgCR,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC5B,SAAS,SAAK;IACd,YAAY,SAAK;IAEjB,UAAU,SAAK;IACf,QAAQ,SAAK;IACb,eAAe,SAAK;IAEpB,UAAU,UAAQ;IAClB,UAAU,UAAS;IACnB,WAAW,UAAS;IACpB,YAAY,UAAS;IACrB,UAAU,UAAS;IACnB,MAAM,EAAE,KAAK,GAAG,IAAI,CAAQ;IAErC,IAAI,SAAS,IAAI,OAAO,CAGvB;IAED,IAAI,QAAQ,IAAI,MAAM,CAGrB;IAED,IAAI,MAAM,IAAI,cAAc,GAAG,IAAI,CASlC;IAED,IAAI,SAAS,IAAI,OAAO,CAGvB;IAED,IAAI,WAAW,IAAI,MAAM,CAGxB;IAED,IAAI,SAAS,IAAI,MAAM,CAGtB;IAED,IAAI,OAAO,IAAI,MAAM,CAGpB;IAED,IAAI,cAAc,IAAI,MAAM,CAG3B;IAED,IAAI,UAAU,IAAI,OAAO,CAGxB;IAED,IAAI,WAAW,IAAI,OAAO,CAGzB;IAED,IAAI,SAAS,IAAI,OAAO,CAGvB;IAED,IAAI,KAAK,IAAI,KAAK,GAAG,IAAI,CAGxB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,KAAK,IAAI,MAAM,CAGlB;gBAEW,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC;IAInC,KAAK,IAAI,IAAI;CAGd;AAED,qBAAa,YAAY,CAAC,CAAC,GAAG,OAAO;;
|
|
1
|
+
{"version":3,"file":"request-state.d.ts","sourceRoot":"","sources":["../../src/-private/request-state.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,MAAM,EACN,oBAAoB,EACpB,YAAY,EAEZ,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAkE7B,qBAAa,mBAAmB;IAC9B,OAAO,EAAE,eAAe,GAAG,IAAI,CAAQ;IACvC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,UAAU,UAAS;IACnB,QAAQ;IAgCR,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC5B,SAAS,SAAK;IACd,YAAY,SAAK;IAEjB,UAAU,SAAK;IACf,QAAQ,SAAK;IACb,eAAe,SAAK;IAEpB,UAAU,UAAQ;IAClB,UAAU,UAAS;IACnB,WAAW,UAAS;IACpB,YAAY,UAAS;IACrB,UAAU,UAAS;IACnB,MAAM,EAAE,KAAK,GAAG,IAAI,CAAQ;IAErC,IAAI,SAAS,IAAI,OAAO,CAGvB;IAED,IAAI,QAAQ,IAAI,MAAM,CAGrB;IAED,IAAI,MAAM,IAAI,cAAc,GAAG,IAAI,CASlC;IAED,IAAI,SAAS,IAAI,OAAO,CAGvB;IAED,IAAI,WAAW,IAAI,MAAM,CAGxB;IAED,IAAI,SAAS,IAAI,MAAM,CAGtB;IAED,IAAI,OAAO,IAAI,MAAM,CAGpB;IAED,IAAI,cAAc,IAAI,MAAM,CAG3B;IAED,IAAI,UAAU,IAAI,OAAO,CAGxB;IAED,IAAI,WAAW,IAAI,OAAO,CAGzB;IAED,IAAI,SAAS,IAAI,OAAO,CAGvB;IAED,IAAI,KAAK,IAAI,KAAK,GAAG,IAAI,CAGxB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,KAAK,IAAI,MAAM,CAGlB;gBAEW,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC;IAInC,KAAK,IAAI,IAAI;CAGd;AAED,qBAAa,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,GAAG,OAAO;;IAIxC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAQ;IACzB,KAAK,EAAE,uBAAuB,GAAG,IAAI,CAAQ;IAC7C,SAAS,UAAQ;IACjB,SAAS,UAAS;IAClB,OAAO,UAAS;IAChB,OAAO,EAAE,oBAAoB,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAQ;IACnD,QAAQ,EAAE,QAAQ,GAAG,YAAY,GAAG,IAAI,CAAQ;IAEzD,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,YAAY,wBAMf;gBAEW,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;CAqC/B;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,CAS9E"}
|
|
@@ -1,33 +1,81 @@
|
|
|
1
1
|
declare module '@warp-drive/ember/-private/request' {
|
|
2
2
|
import Component from '@glimmer/component';
|
|
3
3
|
import type { Future, StructuredErrorDocument } from '@ember-data/request';
|
|
4
|
+
import type { RequestState } from '@warp-drive/ember/-private/request-state.ts';
|
|
4
5
|
import type { StoreRequestInput } from '@ember-data/store';
|
|
5
6
|
import type Store from '@ember-data/store';
|
|
6
7
|
import type { RequestLoadingState } from '@warp-drive/ember/-private/request-state.ts';
|
|
7
|
-
|
|
8
|
+
type ContentFeatures<RT> = {
|
|
9
|
+
isOnline: boolean;
|
|
10
|
+
isHidden: boolean;
|
|
11
|
+
isRefreshing: boolean;
|
|
12
|
+
refresh: () => Promise<void>;
|
|
13
|
+
reload: () => Promise<void>;
|
|
14
|
+
abort?: () => void;
|
|
15
|
+
latestRequest?: Future<RT>;
|
|
16
|
+
};
|
|
17
|
+
interface RequestSignature<T, RT> {
|
|
8
18
|
Args: {
|
|
9
|
-
request?: Future<
|
|
10
|
-
query?: StoreRequestInput<T>;
|
|
19
|
+
request?: Future<RT>;
|
|
20
|
+
query?: StoreRequestInput<T, RT>;
|
|
11
21
|
store?: Store;
|
|
22
|
+
autorefresh?: boolean;
|
|
23
|
+
autorefreshThreshold?: number;
|
|
24
|
+
autorefreshBehavior?: 'refresh' | 'reload' | 'policy';
|
|
12
25
|
};
|
|
13
26
|
Blocks: {
|
|
14
27
|
loading: [state: RequestLoadingState];
|
|
15
|
-
cancelled: [
|
|
16
|
-
|
|
17
|
-
|
|
28
|
+
cancelled: [
|
|
29
|
+
error: StructuredErrorDocument,
|
|
30
|
+
features: {
|
|
31
|
+
isOnline: boolean;
|
|
32
|
+
isHidden: boolean;
|
|
33
|
+
retry: () => Promise<void>;
|
|
34
|
+
}
|
|
35
|
+
];
|
|
36
|
+
error: [
|
|
37
|
+
error: StructuredErrorDocument,
|
|
38
|
+
features: {
|
|
39
|
+
isOnline: boolean;
|
|
40
|
+
isHidden: boolean;
|
|
41
|
+
retry: () => Promise<void>;
|
|
42
|
+
}
|
|
43
|
+
];
|
|
44
|
+
content: [value: RT, features: ContentFeatures<RT>];
|
|
45
|
+
always: [state: RequestState<T, RT>];
|
|
18
46
|
};
|
|
19
47
|
}
|
|
20
|
-
export class Request<T> extends Component<RequestSignature<T>> {
|
|
48
|
+
export class Request<T, RT> extends Component<RequestSignature<T, RT>> {
|
|
21
49
|
/**
|
|
22
50
|
* @internal
|
|
23
51
|
*/
|
|
24
52
|
_store: Store;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
53
|
+
isOnline: boolean;
|
|
54
|
+
isHidden: boolean;
|
|
55
|
+
isRefreshing: boolean;
|
|
56
|
+
_localRequest: Future<RT> | undefined;
|
|
57
|
+
_latestRequest: Future<RT> | undefined;
|
|
58
|
+
unavailableStart: number | null;
|
|
59
|
+
onlineChanged: (event: Event) => void;
|
|
60
|
+
backgroundChanged: (event: Event) => void;
|
|
61
|
+
_originalRequest: Future<RT> | undefined;
|
|
62
|
+
_originalQuery: StoreRequestInput<T, RT> | undefined;
|
|
63
|
+
constructor(owner: unknown, args: RequestSignature<T, RT>['Args']);
|
|
64
|
+
installListeners(): void;
|
|
65
|
+
maybeUpdate(mode?: 'reload' | 'refresh' | 'policy'): void;
|
|
66
|
+
retry: () => Promise<void>;
|
|
67
|
+
refresh: () => Promise<void>;
|
|
68
|
+
get errorFeatures(): {
|
|
69
|
+
isHidden: boolean;
|
|
70
|
+
isOnline: boolean;
|
|
71
|
+
retry: () => Promise<void>;
|
|
72
|
+
};
|
|
73
|
+
get contentFeatures(): ContentFeatures<RT>;
|
|
74
|
+
willDestroy(): void;
|
|
75
|
+
get request(): Future<RT>;
|
|
29
76
|
get store(): Store;
|
|
30
|
-
get reqState():
|
|
77
|
+
get reqState(): RequestState<T, RT>;
|
|
78
|
+
get result(): RT;
|
|
31
79
|
}
|
|
32
80
|
export {};
|
|
33
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/-private/request.ts"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/-private/request.ts"],"names":[],"mappings":"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"}
|