@runopencode/rx-stencil 0.4.0 → 0.4.2
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 +14 -11
- package/dist/cjs/index.cjs.js +101 -1
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/rx-async.cjs.entry.js +1 -1
- package/dist/cjs/{set-property-88176225.js → set-property-c1def9c5.js} +5 -1
- package/dist/cjs/set-property-c1def9c5.js.map +1 -0
- package/dist/collection/rx/observable/index.js +1 -0
- package/dist/collection/rx/observable/index.js.map +1 -1
- package/dist/collection/rx/observable/mutation-observable.js.map +1 -1
- package/dist/collection/rx/observable/properties-observable.js +14 -0
- package/dist/collection/rx/observable/properties-observable.js.map +1 -0
- package/dist/components/index.js +102 -3
- package/dist/components/index.js.map +1 -1
- package/dist/components/rx-async.js +1 -1
- package/dist/components/set-property.js +4 -1
- package/dist/components/set-property.js.map +1 -1
- package/dist/esm/index.js +102 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/rx-async.entry.js +1 -1
- package/dist/esm/{set-property-7fa82bef.js → set-property-9befeb72.js} +5 -2
- package/dist/esm/set-property-9befeb72.js.map +1 -0
- package/dist/rx-stencil/index.esm.js +1 -1
- package/dist/rx-stencil/index.esm.js.map +1 -1
- package/dist/rx-stencil/{p-0cd0b2da.js → p-2fc78e52.js} +2 -2
- package/dist/rx-stencil/p-2fc78e52.js.map +1 -0
- package/dist/rx-stencil/p-c823932c.entry.js +2 -0
- package/dist/rx-stencil/{p-01af4414.entry.js.map → p-c823932c.entry.js.map} +1 -1
- package/dist/rx-stencil/rx-stencil.esm.js +1 -1
- package/dist/types/rx/observable/index.d.ts +1 -0
- package/dist/types/rx/observable/properties-observable.d.ts +6 -0
- package/docs/components.md +69 -0
- package/docs/creation-operators.md +138 -0
- package/docs/pipeable-operators.md +36 -0
- package/docs/query-selector-all-decorator.md +154 -0
- package/docs/query-selector-decorator.md +116 -0
- package/docs/subscribers.md +49 -0
- package/package.json +11 -3
- package/dist/cjs/set-property-88176225.js.map +0 -1
- package/dist/esm/set-property-7fa82bef.js.map +0 -1
- package/dist/rx-stencil/p-01af4414.entry.js +0 -2
- package/dist/rx-stencil/p-0cd0b2da.js.map +0 -1
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
# @QuerySelectorAll()
|
|
2
|
+
|
|
3
|
+
`@QuerySelectorAll()` is a property decorator which can be used to query for a collection of elements in the component's
|
|
4
|
+
template. It is inspired by the `@ViewChildren()` and `@ContentChildren()` decorators in Angular. It accepts a CSS
|
|
5
|
+
selector as an argument which will be used to query for the elements. In Stencil, you can reference to a DOM
|
|
6
|
+
element in the component (see: https://stenciljs.com/docs/templating-jsx#getting-a-reference-to-a-dom-element for more
|
|
7
|
+
details), however, getting collection of elements is a bit tricky. Using this decorator, you can achieve that with ease,
|
|
8
|
+
and you are able to apply declarative style of programming when working with DOM elements.
|
|
9
|
+
|
|
10
|
+
`@QuerySelectorAll()` decorator accepts two arguments:
|
|
11
|
+
|
|
12
|
+
- `selector`, string, required - CSS selector which will be used to query for the elements. It can be any valid CSS
|
|
13
|
+
selector. Search will start from the component element, or shadow root if component is using shadow DOM and parameter
|
|
14
|
+
`options.shadowRoot` is set to `true`.
|
|
15
|
+
- `options`, `QuerySelectorAllOptions`, optional, default `undefined` which means that default options will be used.
|
|
16
|
+
This is an object with following properties:
|
|
17
|
+
- `shadowRoot`, boolean, optional, default `false` - if set to `true`, search will start from shadow root of the
|
|
18
|
+
component, instead of the component element itself. If component does not use shadow DOM, exception will be
|
|
19
|
+
thrown.
|
|
20
|
+
- `mutationObserver`, boolean, optional, default `false` - if set to `true`, decorator will use MutationObserver to
|
|
21
|
+
observe changes in the DOM subtree of the component. This is more reliable approach, but it is also more
|
|
22
|
+
expensive. It should be used when you are querying for elements which are projected into the component through
|
|
23
|
+
`<slot>` element, or if subtree of the component is changed by some other means, not via Stencil's reactivity. By
|
|
24
|
+
default, decorator will monitor execution of the `render()` function of the component and will query for the
|
|
25
|
+
elements after each execution.
|
|
26
|
+
|
|
27
|
+
`@QuerySelectorAll()` decorator must be used on any property of the component, and type of the property is `Observable`
|
|
28
|
+
from `rxjs` library. Observable will be used to emit reference to collection of queried elements, or empty collection,
|
|
29
|
+
if elements could not be found. Note that you should not set initial value for the property, decorator will do that for
|
|
30
|
+
you. Example:
|
|
31
|
+
|
|
32
|
+
```typescript
|
|
33
|
+
class MyCmp {
|
|
34
|
+
@QuerySelectorAll('div')
|
|
35
|
+
private elements$: Observable<HTMLElement[]>;
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
After each execution of the `render()` function of the component (or mutation of DOM subtree), decorator will query for
|
|
40
|
+
the elements and emit their reference. This value will be emitted only if collection differs from the previous one.
|
|
41
|
+
Emission is executed on next micro-task (i.e. after `Promise.resolve()`).
|
|
42
|
+
|
|
43
|
+
A fair warning: in theory, you are able to create infinite loop without noticing because value is emitted on next
|
|
44
|
+
micro-task, main browser thread will not be blocked.
|
|
45
|
+
|
|
46
|
+
## Example
|
|
47
|
+
|
|
48
|
+
Similar to example given for `@QuerySelectorAll()` decorator, we are trying to build a search list, however, filters
|
|
49
|
+
will be projected through `<slot>` element. Only thing that we know is that filters will be either `<input>` or
|
|
50
|
+
`<select>`elements and their `name` attribute should be used as the name of query parameter in search URL. Such flexible
|
|
51
|
+
search component is fairly simple to write using RxJS and `@QuerySelectorAll()` decorator.
|
|
52
|
+
|
|
53
|
+
```typescript jsx
|
|
54
|
+
import { Component, ComponentInterface, State } from '@stencil/core';
|
|
55
|
+
import {
|
|
56
|
+
combineLatest,
|
|
57
|
+
debounceTime,
|
|
58
|
+
distinctUntilChanged,
|
|
59
|
+
fromEvent,
|
|
60
|
+
map,
|
|
61
|
+
merge,
|
|
62
|
+
Observable, queue,
|
|
63
|
+
startWith,
|
|
64
|
+
switchMap,
|
|
65
|
+
} from 'rxjs';
|
|
66
|
+
import { fromFetch } from 'rxjs/internal/observable/dom/fetch';
|
|
67
|
+
import { untilDisconnected } from '@runopencode/rx-stencil';
|
|
68
|
+
|
|
69
|
+
@Component({
|
|
70
|
+
tag: 'app-search',
|
|
71
|
+
shadow: true,
|
|
72
|
+
})
|
|
73
|
+
class AppSearch implements ComponentInterface {
|
|
74
|
+
|
|
75
|
+
@QuerySelector('input, select')
|
|
76
|
+
private readonly fields$: Observable<HTMLInputElement[] | HTMLSelectElement[]>;
|
|
77
|
+
|
|
78
|
+
@State()
|
|
79
|
+
private result: string[] = [];
|
|
80
|
+
|
|
81
|
+
public connectedCallback(): void {
|
|
82
|
+
this.fields$.pipe(
|
|
83
|
+
// When inputs/selects are ready, we can start listening for `input` and `change` events.
|
|
84
|
+
switchMap((fields: HTMLInputElement[] | HTMLSelectElement[]): Observable<string> => {
|
|
85
|
+
// This is tricky part, we need to convert every field into observable which will emit
|
|
86
|
+
// tuple of field name and its value. Since we are going to use `combineLatest()` operator,
|
|
87
|
+
// we need to start with initial value for all, we will use `startWith()` operator for that.
|
|
88
|
+
let observables: Observable<[string, string]>[] = fields.map((input: HTMLInputElement | HTMLSelectElement): Observable<string> => {
|
|
89
|
+
return merge(
|
|
90
|
+
fromEvent(input, 'input'),
|
|
91
|
+
fromEvent(input, 'change'),
|
|
92
|
+
).pipe(
|
|
93
|
+
startWith(),
|
|
94
|
+
map((): string => [input.name, input.value.trim()]),
|
|
95
|
+
);
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
// Now we can combine all observables into one. Note that because of `startWith()` operator,
|
|
99
|
+
// `combineLatest()` will emit initial value immediately. If you want to avoid that, you can
|
|
100
|
+
// use `skip(1)` operator.
|
|
101
|
+
return combineLatest(observables);
|
|
102
|
+
}),
|
|
103
|
+
// debounce input events to avoid sending too many requests
|
|
104
|
+
// and filter out same search terms sent in a row
|
|
105
|
+
debounceTime(300),
|
|
106
|
+
// convert array of tuples into query string
|
|
107
|
+
map((values: [string, string][]): string => {
|
|
108
|
+
let queryParams: string[] = [];
|
|
109
|
+
|
|
110
|
+
for (let [name, value] of values) {
|
|
111
|
+
queryParams.push(`${name}=${value}`);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
return queryParams.join('&');
|
|
115
|
+
}),
|
|
116
|
+
// skip successive same query params
|
|
117
|
+
distinctUntilChanged(),
|
|
118
|
+
// send search request
|
|
119
|
+
switchMap((query: string): Observable<string[]> => {
|
|
120
|
+
return fromFetch(`https://api.example.com/search?${query}`).pipe(
|
|
121
|
+
switchMap((response: Response): Observable<string[]> => response.json()),
|
|
122
|
+
);
|
|
123
|
+
}),
|
|
124
|
+
// unsubscribe when component is disconnected
|
|
125
|
+
untilDisconnected(this),
|
|
126
|
+
).subscribe((result: string[]): void => {
|
|
127
|
+
this.result = result;
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
public render(): any {
|
|
132
|
+
return (
|
|
133
|
+
<Host>
|
|
134
|
+
<slot />
|
|
135
|
+
{this.result.map((item): any => <div>{item}</div>)}
|
|
136
|
+
</Host>
|
|
137
|
+
);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
With this component, you can use any number of `<input>` and `<select>` elements as filters, and they will be queried by
|
|
143
|
+
the component.
|
|
144
|
+
|
|
145
|
+
```html
|
|
146
|
+
<app-search>
|
|
147
|
+
<input type="search" name="term" />
|
|
148
|
+
<select name="category">
|
|
149
|
+
<option value="1">Category 1</option>
|
|
150
|
+
<option value="2">Category 2</option>
|
|
151
|
+
<option value="3">Category 3</option>
|
|
152
|
+
</select>
|
|
153
|
+
</app-search>
|
|
154
|
+
```
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# @QuerySelector()
|
|
2
|
+
|
|
3
|
+
`@QuerySelector()` is a property decorator which can be used to query for a specific element in the component's
|
|
4
|
+
template. It is inspired by the `@ViewChild()` and `@ContentChild()` decorators in Angular. It accepts a CSS selector as
|
|
5
|
+
an argument which will be used to query for the element. This is alternative approach to the getting reference to a DOM
|
|
6
|
+
element in the component (see: https://stenciljs.com/docs/templating-jsx#getting-a-reference-to-a-dom-element for more
|
|
7
|
+
details). Using this decorator, you are able to apply declarative style of programming when working with DOM elements.
|
|
8
|
+
|
|
9
|
+
`@QuerySelector()` decorator accepts two arguments:
|
|
10
|
+
|
|
11
|
+
- `selector`, string, required - CSS selector which will be used to query for the element. It can be any valid CSS
|
|
12
|
+
selector. Search will start from the component element, or shadow root if component is using shadow DOM and parameter
|
|
13
|
+
`options.shadowRoot` is set to `true`.
|
|
14
|
+
- `options`, `QuerySelectorOptions`, optional, default `undefined` which means that default options will be used. This
|
|
15
|
+
is an object with following properties:
|
|
16
|
+
- `shadowRoot`, boolean, optional, default `false` - if set to `true`, search will start from shadow root of the
|
|
17
|
+
component, instead of the component element itself. If component does not use shadow DOM, exception will be
|
|
18
|
+
thrown.
|
|
19
|
+
- `mutationObserver`, boolean, optional, default `false` - if set to `true`, decorator will use MutationObserver to
|
|
20
|
+
observe changes in the DOM subtree of the component. This is more reliable approach, but it is also more
|
|
21
|
+
expensive. It should be used when you are querying for element which is projected into the component through
|
|
22
|
+
`<slot>` element, or if subtree of the component is changed by some other means, not via Stencil's reactivity. By
|
|
23
|
+
default, decorator will monitor execution of the `render()` function of the component and will query for the
|
|
24
|
+
element after each execution.
|
|
25
|
+
|
|
26
|
+
`@QuerySelector()` decorator must be used on any property of the component, and type of the property is `Observable`
|
|
27
|
+
from `rxjs` library. Observable will be used to emit reference to queried element, or `null` if element does not exist.
|
|
28
|
+
Note that you should not set initial value for the property, decorator will do that for you. Example:
|
|
29
|
+
|
|
30
|
+
```typescript
|
|
31
|
+
class MyCmp {
|
|
32
|
+
@QuerySelector('div')
|
|
33
|
+
private element$: Observable<HTMLElement | null>;
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
After each execution of the `render()` function of the component (or mutation of DOM subtree), decorator will query for
|
|
38
|
+
the element and emit its reference, if it can be found, or `null`. This value will be emitted only if it is different
|
|
39
|
+
from the previous one and on next micro-task (i.e. after `Promise.resolve()`).
|
|
40
|
+
|
|
41
|
+
A fair warning: in theory, you are able to create infinite loop without noticing because value is emitted on next
|
|
42
|
+
micro-task, main browser thread will not be blocked.
|
|
43
|
+
|
|
44
|
+
## Example
|
|
45
|
+
|
|
46
|
+
Let's say that your component has a template which consist of an input field for search and a list of results. You want
|
|
47
|
+
for user to be able to type term in the input field and to see results in the list. However, you would like to debounce
|
|
48
|
+
search as well as not to send same search term twice. Imperative approach would require a lot of code for this task,
|
|
49
|
+
however, with RxJS this can be done in a very elegant way.
|
|
50
|
+
|
|
51
|
+
```typescript jsx
|
|
52
|
+
import {
|
|
53
|
+
Component,
|
|
54
|
+
ComponentInterface,
|
|
55
|
+
State,
|
|
56
|
+
h,
|
|
57
|
+
} from '@stencil/core';
|
|
58
|
+
import {
|
|
59
|
+
debounceTime,
|
|
60
|
+
distinctUntilChanged,
|
|
61
|
+
from,
|
|
62
|
+
fromEvent,
|
|
63
|
+
map,
|
|
64
|
+
Observable,
|
|
65
|
+
switchMap,
|
|
66
|
+
} from 'rxjs';
|
|
67
|
+
import { fromFetch } from 'rxjs/internal/observable/dom/fetch';
|
|
68
|
+
import { untilDisconnected } from '@runopencode/rx-stencil';
|
|
69
|
+
|
|
70
|
+
@Component({
|
|
71
|
+
tag: 'app-search',
|
|
72
|
+
shadow: true,
|
|
73
|
+
})
|
|
74
|
+
class AppSearch implements ComponentInterface {
|
|
75
|
+
|
|
76
|
+
@QuerySelector('input[type="search"]', true)
|
|
77
|
+
private readonly input$: Observable<HTMLInputElement>;
|
|
78
|
+
|
|
79
|
+
@State()
|
|
80
|
+
private result: string[] = [];
|
|
81
|
+
|
|
82
|
+
public connectedCallback(): void {
|
|
83
|
+
this.input$.pipe(
|
|
84
|
+
// when input is ready, we can start listening for `input` events
|
|
85
|
+
switchMap((input: HTMLInputElement): Observable<string> => {
|
|
86
|
+
return fromEvent(input, 'input').pipe(
|
|
87
|
+
map((): string => input.value.trim()),
|
|
88
|
+
);
|
|
89
|
+
}),
|
|
90
|
+
// debounce input events to avoid sending too many requests
|
|
91
|
+
// and filter out same search terms sent in a row
|
|
92
|
+
debounceTime(300),
|
|
93
|
+
distinctUntilChanged(),
|
|
94
|
+
// send search request
|
|
95
|
+
switchMap((term: string): Observable<string[]> => {
|
|
96
|
+
return fromFetch(`https://api.example.com/search?term=${term}`).pipe(
|
|
97
|
+
switchMap((response: Response): Observable<string[]> => response.json()),
|
|
98
|
+
);
|
|
99
|
+
}),
|
|
100
|
+
// unsubscribe when component is disconnected
|
|
101
|
+
untilDisconnected(this),
|
|
102
|
+
).subscribe((result: string[]): void => {
|
|
103
|
+
this.result = result;
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
public render(): any {
|
|
108
|
+
return (
|
|
109
|
+
<Host>
|
|
110
|
+
<input type='search' />
|
|
111
|
+
{this.result.map((item): any => <div>{item}</div>)}
|
|
112
|
+
</Host>
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
```
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Subscribers
|
|
2
|
+
|
|
3
|
+
These are functions which can be used as subscribers to observables for common tasks in order to decrease boilerplate
|
|
4
|
+
code and improve developer experience.
|
|
5
|
+
|
|
6
|
+
## setProperty()
|
|
7
|
+
|
|
8
|
+
Function which can be used as subscriber to observable in order to set value of component property as soon as observable
|
|
9
|
+
emits new value. Common use case would be to use it in conjunction with `propertyObservable()` operator and set a value
|
|
10
|
+
of "computed" property of the component.
|
|
11
|
+
|
|
12
|
+
Function signature is: `setProperty<T = any>(cmp: ComponentInterface, property: string): Subscriber<T>`
|
|
13
|
+
|
|
14
|
+
Improved example from [propertyObservable()](creation-operators.md#propertyobservable) operator documentation:
|
|
15
|
+
|
|
16
|
+
```typescript jsx
|
|
17
|
+
import { Component, ComponentInterface, Prop, State } from '@stencil/core';
|
|
18
|
+
import { combineLatest, map } from 'rxjs';
|
|
19
|
+
import { propertyObservable, untilDisconnected, setProperty } from '@runopencode/rx-stencil';
|
|
20
|
+
|
|
21
|
+
@Component({
|
|
22
|
+
tag: 'my-component',
|
|
23
|
+
})
|
|
24
|
+
class MyComponent implements ComponentInterface {
|
|
25
|
+
|
|
26
|
+
@Prop()
|
|
27
|
+
public first: number = 0;
|
|
28
|
+
|
|
29
|
+
@Prop()
|
|
30
|
+
public second: number = 0;
|
|
31
|
+
|
|
32
|
+
@State()
|
|
33
|
+
private sum: number = 0;
|
|
34
|
+
|
|
35
|
+
public connectedCallback(): void {
|
|
36
|
+
combineLatest([
|
|
37
|
+
propertyObservable(this, 'first'),
|
|
38
|
+
propertyObservable(this, 'second'),
|
|
39
|
+
]).pipe(
|
|
40
|
+
untilDisconnected(this),
|
|
41
|
+
map(([first, second]) => first + second),
|
|
42
|
+
).subscribe(setProperty(this, 'sum'));
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
public render(): any {
|
|
46
|
+
return <div>{this.sum}</div>;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
```
|
package/package.json
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@runopencode/rx-stencil",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"description": "ReactiveX (RxJS) utilities for Stencil",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"stencil",
|
|
7
|
+
"stenciljs",
|
|
8
|
+
"rxjs",
|
|
9
|
+
"web components",
|
|
10
|
+
"reactive programming"
|
|
11
|
+
],
|
|
5
12
|
"main": "dist/index.cjs.js",
|
|
6
13
|
"module": "dist/index.js",
|
|
7
14
|
"es2015": "dist/esm/index.mjs",
|
|
@@ -16,7 +23,8 @@
|
|
|
16
23
|
},
|
|
17
24
|
"files": [
|
|
18
25
|
"dist/",
|
|
19
|
-
"loader/"
|
|
26
|
+
"loader/",
|
|
27
|
+
"docs/"
|
|
20
28
|
],
|
|
21
29
|
"scripts": {
|
|
22
30
|
"build": "stencil build --docs",
|
|
@@ -26,7 +34,7 @@
|
|
|
26
34
|
"generate": "stencil generate"
|
|
27
35
|
},
|
|
28
36
|
"dependencies": {
|
|
29
|
-
"@stencil/core": "^4.0
|
|
37
|
+
"@stencil/core": "^4.0"
|
|
30
38
|
},
|
|
31
39
|
"peerDependencies": {
|
|
32
40
|
"rxjs": "^7.0"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"set-property-88176225.js","mappings":"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","names":["Symbol_observable","Symbol_iterator","iterator","forceUpdate"],"sources":["node_modules/rxjs/dist/esm/internal/util/isFunction.js","node_modules/rxjs/dist/esm/internal/util/createErrorClass.js","node_modules/rxjs/dist/esm/internal/util/UnsubscriptionError.js","node_modules/rxjs/dist/esm/internal/util/arrRemove.js","node_modules/rxjs/dist/esm/internal/Subscription.js","node_modules/rxjs/dist/esm/internal/config.js","node_modules/rxjs/dist/esm/internal/scheduler/timeoutProvider.js","node_modules/rxjs/dist/esm/internal/util/reportUnhandledError.js","node_modules/rxjs/dist/esm/internal/util/noop.js","node_modules/rxjs/dist/esm/internal/NotificationFactories.js","node_modules/rxjs/dist/esm/internal/util/errorContext.js","node_modules/rxjs/dist/esm/internal/Subscriber.js","node_modules/rxjs/dist/esm/internal/symbol/observable.js","node_modules/rxjs/dist/esm/internal/util/identity.js","node_modules/rxjs/dist/esm/internal/util/pipe.js","node_modules/rxjs/dist/esm/internal/Observable.js","node_modules/rxjs/dist/esm/internal/util/lift.js","node_modules/rxjs/dist/esm/internal/operators/OperatorSubscriber.js","node_modules/rxjs/dist/esm/internal/util/ObjectUnsubscribedError.js","node_modules/rxjs/dist/esm/internal/Subject.js","node_modules/rxjs/dist/esm/internal/BehaviorSubject.js","node_modules/rxjs/dist/esm/internal/util/isScheduler.js","node_modules/rxjs/dist/esm/internal/util/args.js","node_modules/tslib/tslib.es6.js","node_modules/rxjs/dist/esm/internal/util/isArrayLike.js","node_modules/rxjs/dist/esm/internal/util/isPromise.js","node_modules/rxjs/dist/esm/internal/util/isInteropObservable.js","node_modules/rxjs/dist/esm/internal/util/isAsyncIterable.js","node_modules/rxjs/dist/esm/internal/util/throwUnobservableError.js","node_modules/rxjs/dist/esm/internal/symbol/iterator.js","node_modules/rxjs/dist/esm/internal/util/isIterable.js","node_modules/rxjs/dist/esm/internal/util/isReadableStreamLike.js","node_modules/rxjs/dist/esm/internal/observable/innerFrom.js","node_modules/rxjs/dist/esm/internal/util/executeSchedule.js","node_modules/rxjs/dist/esm/internal/operators/observeOn.js","node_modules/rxjs/dist/esm/internal/operators/subscribeOn.js","node_modules/rxjs/dist/esm/internal/scheduled/scheduleObservable.js","node_modules/rxjs/dist/esm/internal/scheduled/schedulePromise.js","node_modules/rxjs/dist/esm/internal/scheduled/scheduleArray.js","node_modules/rxjs/dist/esm/internal/scheduled/scheduleIterable.js","node_modules/rxjs/dist/esm/internal/scheduled/scheduleAsyncIterable.js","node_modules/rxjs/dist/esm/internal/scheduled/scheduleReadableStreamLike.js","node_modules/rxjs/dist/esm/internal/scheduled/scheduled.js","node_modules/rxjs/dist/esm/internal/observable/from.js","node_modules/rxjs/dist/esm/internal/operators/distinctUntilChanged.js","src/utils/get-property-descriptor.ts","src/rx/observable/property-observable.ts","src/rx/subscriber/set-property.ts"],"sourcesContent":["export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","export function createErrorClass(createImpl) {\n const _super = (instance) => {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n const ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","import { createErrorClass } from './createErrorClass';\nexport const UnsubscriptionError = createErrorClass((_super) => function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}`\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function arrRemove(arr, item) {\n if (arr) {\n const index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nexport class Subscription {\n constructor(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n unsubscribe() {\n let errors;\n if (!this.closed) {\n this.closed = true;\n const { _parentage } = this;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n for (const parent of _parentage) {\n parent.remove(this);\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n const { initialTeardown: initialFinalizer } = this;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n const { _finalizers } = this;\n if (_finalizers) {\n this._finalizers = null;\n for (const finalizer of _finalizers) {\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = [...errors, ...err.errors];\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n }\n add(teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n }\n _hasParent(parent) {\n const { _parentage } = this;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n }\n _addParent(parent) {\n const { _parentage } = this;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n }\n _removeParent(parent) {\n const { _parentage } = this;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n }\n remove(teardown) {\n const { _finalizers } = this;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n }\n}\nSubscription.EMPTY = (() => {\n const empty = new Subscription();\n empty.closed = true;\n return empty;\n})();\nexport const EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export const config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","export const timeoutProvider = {\n setTimeout(handler, timeout, ...args) {\n const { delegate } = timeoutProvider;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout(handler, timeout, ...args);\n }\n return setTimeout(handler, timeout, ...args);\n },\n clearTimeout(handle) {\n const { delegate } = timeoutProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(() => {\n const { onUnhandledError } = config;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","export const COMPLETE_NOTIFICATION = (() => createNotification('C', undefined, undefined))();\nexport function errorNotification(error) {\n return createNotification('E', undefined, error);\n}\nexport function nextNotification(value) {\n return createNotification('N', value, undefined);\n}\nexport function createNotification(kind, value, error) {\n return {\n kind,\n value,\n error,\n };\n}\n//# sourceMappingURL=NotificationFactories.js.map","import { config } from '../config';\nlet context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n const isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n const { errorThrown, error } = context;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n//# sourceMappingURL=errorContext.js.map","import { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nexport class Subscriber extends Subscription {\n constructor(destination) {\n super();\n this.isStopped = false;\n if (destination) {\n this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(this);\n }\n }\n else {\n this.destination = EMPTY_OBSERVER;\n }\n }\n static create(next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n }\n next(value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n }\n error(err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n }\n complete() {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n }\n unsubscribe() {\n if (!this.closed) {\n this.isStopped = true;\n super.unsubscribe();\n this.destination = null;\n }\n }\n _next(value) {\n this.destination.next(value);\n }\n _error(err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n _complete() {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n }\n}\nconst _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nclass ConsumerObserver {\n constructor(partialObserver) {\n this.partialObserver = partialObserver;\n }\n next(value) {\n const { partialObserver } = this;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n error(err) {\n const { partialObserver } = this;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n }\n complete() {\n const { partialObserver } = this;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n}\nexport class SafeSubscriber extends Subscriber {\n constructor(observerOrNext, error, complete) {\n super();\n let partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n let context;\n if (this && config.useDeprecatedNextContext) {\n context = Object.create(observerOrNext);\n context.unsubscribe = () => this.unsubscribe();\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context),\n error: observerOrNext.error && bind(observerOrNext.error, context),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n this.destination = new ConsumerObserver(partialObserver);\n }\n}\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n const { onStoppedNotification } = config;\n onStoppedNotification && timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));\n}\nexport const EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","export const observable = (() => (typeof Symbol === 'function' && Symbol.observable) || '@@observable')();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { identity } from './identity';\nexport function pipe(...fns) {\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce((prev, fn) => fn(prev), input);\n };\n}\n//# sourceMappingURL=pipe.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nexport class Observable {\n constructor(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n lift(operator) {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n subscribe(observerOrNext, error, complete) {\n const subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(() => {\n const { operator, source } = this;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n this._subscribe(subscriber)\n :\n this._trySubscribe(subscriber));\n });\n return subscriber;\n }\n _trySubscribe(sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n }\n forEach(next, promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n const subscriber = new SafeSubscriber({\n next: (value) => {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n this.subscribe(subscriber);\n });\n }\n _subscribe(subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n }\n [Symbol_observable]() {\n return this;\n }\n pipe(...operations) {\n return pipeFromArray(operations)(this);\n }\n toPromise(promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n let value;\n this.subscribe((x) => (value = x), (err) => reject(err), () => resolve(value));\n });\n }\n}\nObservable.create = (subscribe) => {\n return new Observable(subscribe);\n};\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return (source) => {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n//# sourceMappingURL=lift.js.map","import { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nexport class OperatorSubscriber extends Subscriber {\n constructor(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n super(destination);\n this.onFinalize = onFinalize;\n this.shouldUnsubscribe = shouldUnsubscribe;\n this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : super._next;\n this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : super._error;\n this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : super._complete;\n }\n unsubscribe() {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n const { closed } = this;\n super.unsubscribe();\n !closed && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n }\n}\n//# sourceMappingURL=OperatorSubscriber.js.map","import { createErrorClass } from './createErrorClass';\nexport const ObjectUnsubscribedError = createErrorClass((_super) => function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n});\n//# sourceMappingURL=ObjectUnsubscribedError.js.map","import { Observable } from './Observable';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\nexport class Subject extends Observable {\n constructor() {\n super();\n this.closed = false;\n this.currentObservers = null;\n this.observers = [];\n this.isStopped = false;\n this.hasError = false;\n this.thrownError = null;\n }\n lift(operator) {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n }\n _throwIfClosed() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n }\n next(value) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n if (!this.currentObservers) {\n this.currentObservers = Array.from(this.observers);\n }\n for (const observer of this.currentObservers) {\n observer.next(value);\n }\n }\n });\n }\n error(err) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.hasError = this.isStopped = true;\n this.thrownError = err;\n const { observers } = this;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n });\n }\n complete() {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.isStopped = true;\n const { observers } = this;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n });\n }\n unsubscribe() {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null;\n }\n get observed() {\n var _a;\n return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;\n }\n _trySubscribe(subscriber) {\n this._throwIfClosed();\n return super._trySubscribe(subscriber);\n }\n _subscribe(subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n }\n _innerSubscribe(subscriber) {\n const { hasError, isStopped, observers } = this;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(() => {\n this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n }\n _checkFinalizedStatuses(subscriber) {\n const { hasError, thrownError, isStopped } = this;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped) {\n subscriber.complete();\n }\n }\n asObservable() {\n const observable = new Observable();\n observable.source = this;\n return observable;\n }\n}\nSubject.create = (destination, source) => {\n return new AnonymousSubject(destination, source);\n};\nexport class AnonymousSubject extends Subject {\n constructor(destination, source) {\n super();\n this.destination = destination;\n this.source = source;\n }\n next(value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n }\n error(err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n }\n complete() {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n _subscribe(subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n }\n}\n//# sourceMappingURL=Subject.js.map","import { Subject } from './Subject';\nexport class BehaviorSubject extends Subject {\n constructor(_value) {\n super();\n this._value = _value;\n }\n get value() {\n return this.getValue();\n }\n _subscribe(subscriber) {\n const subscription = super._subscribe(subscriber);\n !subscription.closed && subscriber.next(this._value);\n return subscription;\n }\n getValue() {\n const { hasError, thrownError, _value } = this;\n if (hasError) {\n throw thrownError;\n }\n this._throwIfClosed();\n return _value;\n }\n next(value) {\n super.next((this._value = value));\n }\n}\n//# sourceMappingURL=BehaviorSubject.js.map","import { isFunction } from './isFunction';\nexport function isScheduler(value) {\n return value && isFunction(value.schedule);\n}\n//# sourceMappingURL=isScheduler.js.map","import { isFunction } from './isFunction';\nimport { isScheduler } from './isScheduler';\nfunction last(arr) {\n return arr[arr.length - 1];\n}\nexport function popResultSelector(args) {\n return isFunction(last(args)) ? args.pop() : undefined;\n}\nexport function popScheduler(args) {\n return isScheduler(last(args)) ? args.pop() : undefined;\n}\nexport function popNumber(args, defaultValue) {\n return typeof last(args) === 'number' ? args.pop() : defaultValue;\n}\n//# sourceMappingURL=args.js.map","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n","export const isArrayLike = ((x) => x && typeof x.length === 'number' && typeof x !== 'function');\n//# sourceMappingURL=isArrayLike.js.map","import { isFunction } from \"./isFunction\";\nexport function isPromise(value) {\n return isFunction(value === null || value === void 0 ? void 0 : value.then);\n}\n//# sourceMappingURL=isPromise.js.map","import { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\nexport function isInteropObservable(input) {\n return isFunction(input[Symbol_observable]);\n}\n//# sourceMappingURL=isInteropObservable.js.map","import { isFunction } from './isFunction';\nexport function isAsyncIterable(obj) {\n return Symbol.asyncIterator && isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);\n}\n//# sourceMappingURL=isAsyncIterable.js.map","export function createInvalidObservableTypeError(input) {\n return new TypeError(`You provided ${input !== null && typeof input === 'object' ? 'an invalid object' : `'${input}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`);\n}\n//# sourceMappingURL=throwUnobservableError.js.map","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport const iterator = getSymbolIterator();\n//# sourceMappingURL=iterator.js.map","import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\nexport function isIterable(input) {\n return isFunction(input === null || input === void 0 ? void 0 : input[Symbol_iterator]);\n}\n//# sourceMappingURL=isIterable.js.map","import { __asyncGenerator, __await } from \"tslib\";\nimport { isFunction } from './isFunction';\nexport function readableStreamLikeToAsyncGenerator(readableStream) {\n return __asyncGenerator(this, arguments, function* readableStreamLikeToAsyncGenerator_1() {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { value, done } = yield __await(reader.read());\n if (done) {\n return yield __await(void 0);\n }\n yield yield __await(value);\n }\n }\n finally {\n reader.releaseLock();\n }\n });\n}\nexport function isReadableStreamLike(obj) {\n return isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);\n}\n//# sourceMappingURL=isReadableStreamLike.js.map","import { __asyncValues, __awaiter } from \"tslib\";\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isPromise } from '../util/isPromise';\nimport { Observable } from '../Observable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isIterable } from '../util/isIterable';\nimport { isReadableStreamLike, readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nimport { isFunction } from '../util/isFunction';\nimport { reportUnhandledError } from '../util/reportUnhandledError';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function innerFrom(input) {\n if (input instanceof Observable) {\n return input;\n }\n if (input != null) {\n if (isInteropObservable(input)) {\n return fromInteropObservable(input);\n }\n if (isArrayLike(input)) {\n return fromArrayLike(input);\n }\n if (isPromise(input)) {\n return fromPromise(input);\n }\n if (isAsyncIterable(input)) {\n return fromAsyncIterable(input);\n }\n if (isIterable(input)) {\n return fromIterable(input);\n }\n if (isReadableStreamLike(input)) {\n return fromReadableStreamLike(input);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\nexport function fromInteropObservable(obj) {\n return new Observable((subscriber) => {\n const obs = obj[Symbol_observable]();\n if (isFunction(obs.subscribe)) {\n return obs.subscribe(subscriber);\n }\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n });\n}\nexport function fromArrayLike(array) {\n return new Observable((subscriber) => {\n for (let i = 0; i < array.length && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n });\n}\nexport function fromPromise(promise) {\n return new Observable((subscriber) => {\n promise\n .then((value) => {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, (err) => subscriber.error(err))\n .then(null, reportUnhandledError);\n });\n}\nexport function fromIterable(iterable) {\n return new Observable((subscriber) => {\n for (const value of iterable) {\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n subscriber.complete();\n });\n}\nexport function fromAsyncIterable(asyncIterable) {\n return new Observable((subscriber) => {\n process(asyncIterable, subscriber).catch((err) => subscriber.error(err));\n });\n}\nexport function fromReadableStreamLike(readableStream) {\n return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream));\n}\nfunction process(asyncIterable, subscriber) {\n var asyncIterable_1, asyncIterable_1_1;\n var e_1, _a;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n for (asyncIterable_1 = __asyncValues(asyncIterable); asyncIterable_1_1 = yield asyncIterable_1.next(), !asyncIterable_1_1.done;) {\n const value = asyncIterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return)) yield _a.call(asyncIterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n subscriber.complete();\n });\n}\n//# sourceMappingURL=innerFrom.js.map","export function executeSchedule(parentSubscription, scheduler, work, delay = 0, repeat = false) {\n const scheduleSubscription = scheduler.schedule(function () {\n work();\n if (repeat) {\n parentSubscription.add(this.schedule(null, delay));\n }\n else {\n this.unsubscribe();\n }\n }, delay);\n parentSubscription.add(scheduleSubscription);\n if (!repeat) {\n return scheduleSubscription;\n }\n}\n//# sourceMappingURL=executeSchedule.js.map","import { executeSchedule } from '../util/executeSchedule';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function observeOn(scheduler, delay = 0) {\n return operate((source, subscriber) => {\n source.subscribe(createOperatorSubscriber(subscriber, (value) => executeSchedule(subscriber, scheduler, () => subscriber.next(value), delay), () => executeSchedule(subscriber, scheduler, () => subscriber.complete(), delay), (err) => executeSchedule(subscriber, scheduler, () => subscriber.error(err), delay)));\n });\n}\n//# sourceMappingURL=observeOn.js.map","import { operate } from '../util/lift';\nexport function subscribeOn(scheduler, delay = 0) {\n return operate((source, subscriber) => {\n subscriber.add(scheduler.schedule(() => source.subscribe(subscriber), delay));\n });\n}\n//# sourceMappingURL=subscribeOn.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function scheduleObservable(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n//# sourceMappingURL=scheduleObservable.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function schedulePromise(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n//# sourceMappingURL=schedulePromise.js.map","import { Observable } from '../Observable';\nexport function scheduleArray(input, scheduler) {\n return new Observable((subscriber) => {\n let i = 0;\n return scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n }\n else {\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n this.schedule();\n }\n }\n });\n });\n}\n//# sourceMappingURL=scheduleArray.js.map","import { Observable } from '../Observable';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from '../util/isFunction';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleIterable(input, scheduler) {\n return new Observable((subscriber) => {\n let iterator;\n executeSchedule(subscriber, scheduler, () => {\n iterator = input[Symbol_iterator]();\n executeSchedule(subscriber, scheduler, () => {\n let value;\n let done;\n try {\n ({ value, done } = iterator.next());\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n }\n }, 0, true);\n });\n return () => isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return();\n });\n}\n//# sourceMappingURL=scheduleIterable.js.map","import { Observable } from '../Observable';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleAsyncIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable((subscriber) => {\n executeSchedule(subscriber, scheduler, () => {\n const iterator = input[Symbol.asyncIterator]();\n executeSchedule(subscriber, scheduler, () => {\n iterator.next().then((result) => {\n if (result.done) {\n subscriber.complete();\n }\n else {\n subscriber.next(result.value);\n }\n });\n }, 0, true);\n });\n });\n}\n//# sourceMappingURL=scheduleAsyncIterable.js.map","import { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nexport function scheduleReadableStreamLike(input, scheduler) {\n return scheduleAsyncIterable(readableStreamLikeToAsyncGenerator(input), scheduler);\n}\n//# sourceMappingURL=scheduleReadableStreamLike.js.map","import { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isReadableStreamLike } from '../util/isReadableStreamLike';\nimport { scheduleReadableStreamLike } from './scheduleReadableStreamLike';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n if (isAsyncIterable(input)) {\n return scheduleAsyncIterable(input, scheduler);\n }\n if (isIterable(input)) {\n return scheduleIterable(input, scheduler);\n }\n if (isReadableStreamLike(input)) {\n return scheduleReadableStreamLike(input, scheduler);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\n//# sourceMappingURL=scheduled.js.map","import { scheduled } from '../scheduled/scheduled';\nimport { innerFrom } from './innerFrom';\nexport function from(input, scheduler) {\n return scheduler ? scheduled(input, scheduler) : innerFrom(input);\n}\n//# sourceMappingURL=from.js.map","import { identity } from '../util/identity';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function distinctUntilChanged(comparator, keySelector = identity) {\n comparator = comparator !== null && comparator !== void 0 ? comparator : defaultCompare;\n return operate((source, subscriber) => {\n let previousKey;\n let first = true;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n const currentKey = keySelector(value);\n if (first || !comparator(previousKey, currentKey)) {\n first = false;\n previousKey = currentKey;\n subscriber.next(value);\n }\n }));\n });\n}\nfunction defaultCompare(a, b) {\n return a === b;\n}\n//# sourceMappingURL=distinctUntilChanged.js.map","import { ComponentInterface } from '@stencil/core';\n\n/**\n * Returns property descriptor for the given property of the component.\n *\n * {@internal}\n */\nexport function getPropertyDescriptor(cmp: ComponentInterface, property: string, configurableRequired: boolean = true): PropertyDescriptor {\n // descriptors are defined on prototype, so we have to go one level up.\n let prototype: object = Object.getPrototypeOf(cmp);\n let descriptor: PropertyDescriptor = Object.getOwnPropertyDescriptor(prototype, property);\n\n if (!descriptor) {\n throw new Error(`Property \"${property}\" is not defined on component \"${cmp.constructor.name}\".`);\n }\n\n if (configurableRequired && !descriptor.configurable) {\n throw new Error(`Property \"${property}\" is not configurable on component \"${cmp.constructor.name}\".`);\n }\n\n return descriptor;\n}\n","import { ComponentInterface } from '@stencil/core';\nimport {\n BehaviorSubject,\n distinctUntilChanged,\n Observable,\n} from 'rxjs';\nimport { getPropertyDescriptor } from '../../utils';\n\n/**\n * Returns an observable that emits property value when the component property value changes.\n */\nexport function propertyObservable<T = any>(cmp: ComponentInterface, property: string): Observable<T> {\n let subjectProperty: string = `__rx__subject_for_property__${property}__`;\n\n if (!cmp[subjectProperty]) {\n let descriptor: PropertyDescriptor = getPropertyDescriptor(cmp, property);\n let previousSetter: Function | undefined = descriptor.set;\n let previousGetter: Function | undefined = descriptor.get;\n\n // we have to invoke previous getter on component instance to get the current value\n let currentValue: T = undefined !== previousGetter ? previousGetter.call(cmp) : descriptor.value;\n let subject: BehaviorSubject<T> = new BehaviorSubject<T>(currentValue);\n\n descriptor.set = function (value: T): void {\n if (previousSetter) {\n previousSetter.call(this, value);\n }\n\n subject.next(value);\n };\n\n Object.defineProperty(cmp, property, descriptor);\n\n cmp[subjectProperty] = subject;\n }\n\n return cmp[subjectProperty]\n .asObservable()\n .pipe(distinctUntilChanged());\n}\n","import {\n ComponentInterface,\n forceUpdate,\n} from '@stencil/core';\n\nexport type SetPropertyOptions = {\n /**\n * Whether to schedule a render of the component after the\n * property is updated. By default, this value is set to\n * `false`, assuming that the property is annotated with\n * either @State or @Prop decorator.\n */\n scheduleRender?: boolean;\n /**\n * Whether to schedule a render of the component on the next\n * tick. By default, this value is set to `true`.\n */\n nextTick?: boolean;\n}\n\nexport function setProperty<T = any>(cmp: ComponentInterface, property: string, options: SetPropertyOptions = {}): (value: T) => void {\n let resolvedOptions: SetPropertyOptions = {\n scheduleRender: false,\n nextTick: true,\n ...options,\n };\n\n return (value: T): void => {\n cmp[property] = value;\n\n if (!resolvedOptions.scheduleRender) {\n return;\n }\n\n if (!resolvedOptions.nextTick) {\n forceUpdate(cmp);\n return;\n }\n\n Promise.resolve().then((): void => forceUpdate(cmp));\n };\n}\n"],"version":3}
|