@runopencode/rx-stencil 0.4.1 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/README.md +12 -11
  2. package/dist/cjs/app-globals-V2Kpy_OQ.js +5 -0
  3. package/dist/cjs/index-CbERigo8.js +1211 -0
  4. package/dist/cjs/index.cjs.js +166 -447
  5. package/dist/cjs/loader.cjs.js +4 -6
  6. package/dist/cjs/rx-async.cjs.entry.js +29 -63
  7. package/dist/cjs/rx-stencil.cjs.js +14 -14
  8. package/dist/cjs/set-property-BZHuI0P5.js +9525 -0
  9. package/dist/collection/collection-manifest.json +2 -2
  10. package/dist/collection/components/async/async.css +3 -0
  11. package/dist/collection/components/async/async.js +62 -61
  12. package/dist/collection/index.js +0 -1
  13. package/dist/collection/rx/decorator/index.js +0 -1
  14. package/dist/collection/rx/decorator/query-selector-all.js +26 -27
  15. package/dist/collection/rx/decorator/query-selector.js +32 -33
  16. package/dist/collection/rx/index.js +0 -1
  17. package/dist/collection/rx/observable/index.js +1 -1
  18. package/dist/collection/rx/observable/mutation-observable.js +8 -9
  19. package/dist/collection/rx/observable/properties-observable.js +13 -0
  20. package/dist/collection/rx/observable/property-observable.js +20 -21
  21. package/dist/collection/rx/observable/render-observable.js +15 -16
  22. package/dist/collection/rx/operator/index.js +0 -1
  23. package/dist/collection/rx/operator/schedule-render.js +9 -10
  24. package/dist/collection/rx/operator/to-property.js +8 -9
  25. package/dist/collection/rx/operator/until-disconnected.js +56 -57
  26. package/dist/collection/rx/subscriber/index.js +0 -1
  27. package/dist/collection/rx/subscriber/set-property.js +12 -13
  28. package/dist/collection/utils/get-property-descriptor.js +10 -11
  29. package/dist/collection/utils/index.js +0 -1
  30. package/dist/components/index.d.ts +2 -0
  31. package/dist/components/index.js +1 -562
  32. package/dist/components/rx-async.d.ts +2 -2
  33. package/dist/components/rx-async.js +1 -86
  34. package/dist/components/set-property.js +1 -1150
  35. package/dist/esm/app-globals-DQuL1Twl.js +3 -0
  36. package/dist/esm/index-BIBww8qU.js +1202 -0
  37. package/dist/esm/index.js +167 -447
  38. package/dist/esm/loader.js +5 -5
  39. package/dist/esm/rx-async.entry.js +29 -61
  40. package/dist/esm/rx-stencil.js +14 -13
  41. package/dist/esm/set-property-CpZKE-Xu.js +9520 -0
  42. package/dist/rx-stencil/index.esm.js +1 -2
  43. package/dist/rx-stencil/p-77100dee.entry.js +1 -0
  44. package/dist/rx-stencil/p-BIBww8qU.js +2 -0
  45. package/dist/rx-stencil/p-DQuL1Twl.js +1 -0
  46. package/dist/rx-stencil/p-IbpJ_cRo.js +1 -0
  47. package/dist/rx-stencil/rx-stencil.esm.js +1 -2
  48. package/dist/types/components/async/async.d.ts +5 -5
  49. package/dist/types/components.d.ts +7 -1
  50. package/dist/types/rx/decorator/query-selector-all.d.ts +9 -9
  51. package/dist/types/rx/decorator/query-selector.d.ts +9 -9
  52. package/dist/types/rx/observable/index.d.ts +1 -0
  53. package/dist/types/rx/observable/properties-observable.d.ts +6 -0
  54. package/dist/types/rx/subscriber/set-property.d.ts +12 -12
  55. package/dist/types/stencil-public-runtime.d.ts +225 -17
  56. package/docs/creation-operators.md +62 -3
  57. package/loader/cdn.js +1 -3
  58. package/loader/index.cjs.js +1 -3
  59. package/loader/index.d.ts +3 -0
  60. package/loader/index.es2017.js +1 -3
  61. package/loader/index.js +1 -3
  62. package/package.json +11 -10
  63. package/dist/cjs/index-5f6f12ab.js +0 -1265
  64. package/dist/cjs/index-5f6f12ab.js.map +0 -1
  65. package/dist/cjs/index.cjs.js.map +0 -1
  66. package/dist/cjs/loader.cjs.js.map +0 -1
  67. package/dist/cjs/rx-async.cjs.entry.js.map +0 -1
  68. package/dist/cjs/rx-stencil.cjs.js.map +0 -1
  69. package/dist/cjs/set-property-88176225.js +0 -1167
  70. package/dist/cjs/set-property-88176225.js.map +0 -1
  71. package/dist/collection/components/async/async.js.map +0 -1
  72. package/dist/collection/components/async/async.scss +0 -3
  73. package/dist/collection/index.js.map +0 -1
  74. package/dist/collection/rx/decorator/index.js.map +0 -1
  75. package/dist/collection/rx/decorator/query-selector-all.js.map +0 -1
  76. package/dist/collection/rx/decorator/query-selector.js.map +0 -1
  77. package/dist/collection/rx/index.js.map +0 -1
  78. package/dist/collection/rx/observable/index.js.map +0 -1
  79. package/dist/collection/rx/observable/mutation-observable.js.map +0 -1
  80. package/dist/collection/rx/observable/property-observable.js.map +0 -1
  81. package/dist/collection/rx/observable/render-observable.js.map +0 -1
  82. package/dist/collection/rx/operator/index.js.map +0 -1
  83. package/dist/collection/rx/operator/schedule-render.js.map +0 -1
  84. package/dist/collection/rx/operator/to-property.js.map +0 -1
  85. package/dist/collection/rx/operator/until-disconnected.js.map +0 -1
  86. package/dist/collection/rx/subscriber/index.js.map +0 -1
  87. package/dist/collection/rx/subscriber/set-property.js.map +0 -1
  88. package/dist/collection/utils/get-property-descriptor.js.map +0 -1
  89. package/dist/collection/utils/index.js.map +0 -1
  90. package/dist/components/index.js.map +0 -1
  91. package/dist/components/rx-async.js.map +0 -1
  92. package/dist/components/set-property.js.map +0 -1
  93. package/dist/esm/index-9102de09.js +0 -1236
  94. package/dist/esm/index-9102de09.js.map +0 -1
  95. package/dist/esm/index.js.map +0 -1
  96. package/dist/esm/loader.js.map +0 -1
  97. package/dist/esm/polyfills/core-js.js +0 -11
  98. package/dist/esm/polyfills/dom.js +0 -79
  99. package/dist/esm/polyfills/es5-html-element.js +0 -1
  100. package/dist/esm/polyfills/index.js +0 -34
  101. package/dist/esm/polyfills/system.js +0 -6
  102. package/dist/esm/rx-async.entry.js.map +0 -1
  103. package/dist/esm/rx-stencil.js.map +0 -1
  104. package/dist/esm/set-property-7fa82bef.js +0 -1150
  105. package/dist/esm/set-property-7fa82bef.js.map +0 -1
  106. package/dist/rx-stencil/index.esm.js.map +0 -1
  107. package/dist/rx-stencil/p-01af4414.entry.js +0 -2
  108. package/dist/rx-stencil/p-01af4414.entry.js.map +0 -1
  109. package/dist/rx-stencil/p-0cd0b2da.js +0 -2
  110. package/dist/rx-stencil/p-0cd0b2da.js.map +0 -1
  111. package/dist/rx-stencil/p-8411601b.js +0 -3
  112. package/dist/rx-stencil/p-8411601b.js.map +0 -1
  113. package/dist/rx-stencil/rx-stencil.esm.js.map +0 -1
  114. package/loader/package.json +0 -11
@@ -1,310 +1,30 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
3
+ var index = require('./index-CbERigo8.js');
4
+ var setProperty = require('./set-property-BZHuI0P5.js');
4
5
 
5
- const index = require('./index-5f6f12ab.js');
6
- const setProperty = require('./set-property-88176225.js');
7
-
8
- const dateTimestampProvider = {
9
- now() {
10
- return (dateTimestampProvider.delegate || Date).now();
11
- },
12
- delegate: undefined,
13
- };
14
-
15
- class ReplaySubject extends setProperty.Subject {
16
- constructor(_bufferSize = Infinity, _windowTime = Infinity, _timestampProvider = dateTimestampProvider) {
17
- super();
18
- this._bufferSize = _bufferSize;
19
- this._windowTime = _windowTime;
20
- this._timestampProvider = _timestampProvider;
21
- this._buffer = [];
22
- this._infiniteTimeWindow = true;
23
- this._infiniteTimeWindow = _windowTime === Infinity;
24
- this._bufferSize = Math.max(1, _bufferSize);
25
- this._windowTime = Math.max(1, _windowTime);
26
- }
27
- next(value) {
28
- const { isStopped, _buffer, _infiniteTimeWindow, _timestampProvider, _windowTime } = this;
29
- if (!isStopped) {
30
- _buffer.push(value);
31
- !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);
32
- }
33
- this._trimBuffer();
34
- super.next(value);
35
- }
36
- _subscribe(subscriber) {
37
- this._throwIfClosed();
38
- this._trimBuffer();
39
- const subscription = this._innerSubscribe(subscriber);
40
- const { _infiniteTimeWindow, _buffer } = this;
41
- const copy = _buffer.slice();
42
- for (let i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {
43
- subscriber.next(copy[i]);
44
- }
45
- this._checkFinalizedStatuses(subscriber);
46
- return subscription;
47
- }
48
- _trimBuffer() {
49
- const { _bufferSize, _timestampProvider, _buffer, _infiniteTimeWindow } = this;
50
- const adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;
51
- _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);
52
- if (!_infiniteTimeWindow) {
53
- const now = _timestampProvider.now();
54
- let last = 0;
55
- for (let i = 1; i < _buffer.length && _buffer[i] <= now; i += 2) {
56
- last = i;
57
- }
58
- last && _buffer.splice(0, last + 1);
59
- }
60
- }
61
- }
62
-
63
- function map(project, thisArg) {
64
- return setProperty.operate((source, subscriber) => {
65
- let index = 0;
66
- source.subscribe(setProperty.createOperatorSubscriber(subscriber, (value) => {
67
- subscriber.next(project.call(thisArg, value, index++));
68
- }));
69
- });
70
- }
71
-
72
- function mergeInternals(source, subscriber, project, concurrent, onBeforeNext, expand, innerSubScheduler, additionalFinalizer) {
73
- const buffer = [];
74
- let active = 0;
75
- let index = 0;
76
- let isComplete = false;
77
- const checkComplete = () => {
78
- if (isComplete && !buffer.length && !active) {
79
- subscriber.complete();
80
- }
81
- };
82
- const outerNext = (value) => (active < concurrent ? doInnerSub(value) : buffer.push(value));
83
- const doInnerSub = (value) => {
84
- expand && subscriber.next(value);
85
- active++;
86
- let innerComplete = false;
87
- setProperty.innerFrom(project(value, index++)).subscribe(setProperty.createOperatorSubscriber(subscriber, (innerValue) => {
88
- onBeforeNext === null || onBeforeNext === void 0 ? void 0 : onBeforeNext(innerValue);
89
- if (expand) {
90
- outerNext(innerValue);
91
- }
92
- else {
93
- subscriber.next(innerValue);
94
- }
95
- }, () => {
96
- innerComplete = true;
97
- }, undefined, () => {
98
- if (innerComplete) {
99
- try {
100
- active--;
101
- while (buffer.length && active < concurrent) {
102
- const bufferedValue = buffer.shift();
103
- if (innerSubScheduler) {
104
- setProperty.executeSchedule(subscriber, innerSubScheduler, () => doInnerSub(bufferedValue));
105
- }
106
- else {
107
- doInnerSub(bufferedValue);
108
- }
109
- }
110
- checkComplete();
111
- }
112
- catch (err) {
113
- subscriber.error(err);
114
- }
115
- }
116
- }));
117
- };
118
- source.subscribe(setProperty.createOperatorSubscriber(subscriber, outerNext, () => {
119
- isComplete = true;
120
- checkComplete();
121
- }));
122
- return () => {
123
- additionalFinalizer === null || additionalFinalizer === void 0 ? void 0 : additionalFinalizer();
124
- };
125
- }
126
-
127
- function mergeMap(project, resultSelector, concurrent = Infinity) {
128
- if (setProperty.isFunction(resultSelector)) {
129
- return mergeMap((a, i) => map((b, ii) => resultSelector(a, b, i, ii))(setProperty.innerFrom(project(a, i))), concurrent);
130
- }
131
- else if (typeof resultSelector === 'number') {
132
- concurrent = resultSelector;
133
- }
134
- return setProperty.operate((source, subscriber) => mergeInternals(source, subscriber, project, concurrent));
135
- }
136
-
137
- function mergeAll(concurrent = Infinity) {
138
- return mergeMap(setProperty.identity, concurrent);
139
- }
140
-
141
- function concatAll() {
142
- return mergeAll(1);
143
- }
144
-
145
- function concat(...args) {
146
- return concatAll()(setProperty.from(args, setProperty.popScheduler(args)));
147
- }
148
-
149
- function filter(predicate, thisArg) {
150
- return setProperty.operate((source, subscriber) => {
151
- let index = 0;
152
- source.subscribe(setProperty.createOperatorSubscriber(subscriber, (value) => predicate.call(thisArg, value, index++) && subscriber.next(value)));
153
- });
154
- }
155
-
156
- function share(options = {}) {
157
- const { connector = () => new setProperty.Subject(), resetOnError = true, resetOnComplete = true, resetOnRefCountZero = true } = options;
158
- return (wrapperSource) => {
159
- let connection;
160
- let resetConnection;
161
- let subject;
162
- let refCount = 0;
163
- let hasCompleted = false;
164
- let hasErrored = false;
165
- const cancelReset = () => {
166
- resetConnection === null || resetConnection === void 0 ? void 0 : resetConnection.unsubscribe();
167
- resetConnection = undefined;
168
- };
169
- const reset = () => {
170
- cancelReset();
171
- connection = subject = undefined;
172
- hasCompleted = hasErrored = false;
173
- };
174
- const resetAndUnsubscribe = () => {
175
- const conn = connection;
176
- reset();
177
- conn === null || conn === void 0 ? void 0 : conn.unsubscribe();
6
+ function mutationObservable(target, options) {
7
+ return new setProperty.cjsExports.Observable((observer) => {
8
+ let mutation = new MutationObserver((mutations) => {
9
+ observer.next(mutations);
10
+ });
11
+ mutation.observe(target, options);
12
+ return () => {
13
+ mutation.disconnect();
178
14
  };
179
- return setProperty.operate((source, subscriber) => {
180
- refCount++;
181
- if (!hasErrored && !hasCompleted) {
182
- cancelReset();
183
- }
184
- const dest = (subject = subject !== null && subject !== void 0 ? subject : connector());
185
- subscriber.add(() => {
186
- refCount--;
187
- if (refCount === 0 && !hasErrored && !hasCompleted) {
188
- resetConnection = handleReset(resetAndUnsubscribe, resetOnRefCountZero);
189
- }
190
- });
191
- dest.subscribe(subscriber);
192
- if (!connection &&
193
- refCount > 0) {
194
- connection = new setProperty.SafeSubscriber({
195
- next: (value) => dest.next(value),
196
- error: (err) => {
197
- hasErrored = true;
198
- cancelReset();
199
- resetConnection = handleReset(reset, resetOnError, err);
200
- dest.error(err);
201
- },
202
- complete: () => {
203
- hasCompleted = true;
204
- cancelReset();
205
- resetConnection = handleReset(reset, resetOnComplete);
206
- dest.complete();
207
- },
208
- });
209
- setProperty.innerFrom(source).subscribe(connection);
210
- }
211
- })(wrapperSource);
212
- };
213
- }
214
- function handleReset(reset, on, ...args) {
215
- if (on === true) {
216
- reset();
217
- return;
218
- }
219
- if (on === false) {
220
- return;
221
- }
222
- const onSubscriber = new setProperty.SafeSubscriber({
223
- next: () => {
224
- onSubscriber.unsubscribe();
225
- reset();
226
- },
227
15
  });
228
- return setProperty.innerFrom(on(...args)).subscribe(onSubscriber);
229
16
  }
230
17
 
231
- function shareReplay(configOrBufferSize, windowTime, scheduler) {
232
- let bufferSize;
233
- let refCount = false;
234
- if (configOrBufferSize && typeof configOrBufferSize === 'object') {
235
- ({ bufferSize = Infinity, windowTime = Infinity, refCount = false, scheduler } = configOrBufferSize);
236
- }
237
- else {
238
- bufferSize = (configOrBufferSize !== null && configOrBufferSize !== void 0 ? configOrBufferSize : Infinity);
18
+ /**
19
+ * Returns an observable that emits an array of values from the given properties.
20
+ */
21
+ function propertiesObservable(cmp, ...properties) {
22
+ if (0 === properties.length) {
23
+ throw new Error('At least one property must be specified.');
239
24
  }
240
- return share({
241
- connector: () => new ReplaySubject(bufferSize, windowTime, scheduler),
242
- resetOnError: true,
243
- resetOnComplete: false,
244
- resetOnRefCountZero: refCount,
245
- });
246
- }
247
-
248
- function startWith(...values) {
249
- const scheduler = setProperty.popScheduler(values);
250
- return setProperty.operate((source, subscriber) => {
251
- (scheduler ? concat(values, source, scheduler) : concat(values, source)).subscribe(subscriber);
252
- });
253
- }
254
-
255
- function takeUntil(notifier) {
256
- return setProperty.operate((source, subscriber) => {
257
- setProperty.innerFrom(notifier).subscribe(setProperty.createOperatorSubscriber(subscriber, () => subscriber.complete(), setProperty.noop));
258
- !subscriber.closed && source.subscribe(subscriber);
259
- });
260
- }
261
-
262
- function tap(observerOrNext, error, complete) {
263
- const tapObserver = setProperty.isFunction(observerOrNext) || error || complete
264
- ?
265
- { next: observerOrNext, error, complete }
266
- : observerOrNext;
267
- return tapObserver
268
- ? setProperty.operate((source, subscriber) => {
269
- var _a;
270
- (_a = tapObserver.subscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);
271
- let isUnsub = true;
272
- source.subscribe(setProperty.createOperatorSubscriber(subscriber, (value) => {
273
- var _a;
274
- (_a = tapObserver.next) === null || _a === void 0 ? void 0 : _a.call(tapObserver, value);
275
- subscriber.next(value);
276
- }, () => {
277
- var _a;
278
- isUnsub = false;
279
- (_a = tapObserver.complete) === null || _a === void 0 ? void 0 : _a.call(tapObserver);
280
- subscriber.complete();
281
- }, (err) => {
282
- var _a;
283
- isUnsub = false;
284
- (_a = tapObserver.error) === null || _a === void 0 ? void 0 : _a.call(tapObserver, err);
285
- subscriber.error(err);
286
- }, () => {
287
- var _a, _b;
288
- if (isUnsub) {
289
- (_a = tapObserver.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);
290
- }
291
- (_b = tapObserver.finalize) === null || _b === void 0 ? void 0 : _b.call(tapObserver);
292
- }));
293
- })
294
- :
295
- setProperty.identity;
296
- }
297
-
298
- function mutationObservable(target, options) {
299
- return new setProperty.Observable((observer) => {
300
- let mutation = new MutationObserver((mutations) => {
301
- observer.next(mutations);
302
- });
303
- mutation.observe(target, options);
304
- return () => {
305
- mutation.disconnect();
306
- };
307
- });
25
+ return setProperty.cjsExports.combineLatest(properties.map((property) => {
26
+ return setProperty.propertyObservable(cmp, property);
27
+ }));
308
28
  }
309
29
 
310
30
  /**
@@ -313,21 +33,21 @@ function mutationObservable(target, options) {
313
33
  * microtask (next tick).
314
34
  */
315
35
  function renderObservable(cmp) {
316
- if ('function' !== typeof cmp.render) {
317
- throw new Error('Component does not have a render function.');
318
- }
319
- return new setProperty.Observable((subscriber) => {
320
- let previousRender = cmp.render;
321
- cmp.render = function () {
322
- Promise.resolve().then(() => {
323
- subscriber.next();
324
- });
325
- return previousRender.call(this);
326
- };
327
- return () => {
328
- cmp.render = previousRender;
329
- };
330
- });
36
+ if ('function' !== typeof cmp.render) {
37
+ throw new Error('Component does not have a render function.');
38
+ }
39
+ return new setProperty.cjsExports.Observable((subscriber) => {
40
+ let previousRender = cmp.render;
41
+ cmp.render = function () {
42
+ Promise.resolve().then(() => {
43
+ subscriber.next();
44
+ });
45
+ return previousRender.call(this);
46
+ };
47
+ return () => {
48
+ cmp.render = previousRender;
49
+ };
50
+ });
331
51
  }
332
52
 
333
53
  /**
@@ -337,22 +57,22 @@ function renderObservable(cmp) {
337
57
  * {@internal}
338
58
  */
339
59
  function observeSubNodes(target) {
340
- return mutationObservable(target, {
341
- subtree: true,
342
- childList: true,
343
- }).pipe(filter((records) => {
344
- for (let i = 0; i < records.length; i++) {
345
- if ('childList' !== records[i].type) {
346
- continue;
347
- }
348
- if (records[i].addedNodes.length || records[i].removedNodes.length) {
349
- return true;
350
- }
351
- }
352
- return false;
353
- }), map(() => {
354
- /* noop */
355
- }));
60
+ return mutationObservable(target, {
61
+ subtree: true,
62
+ childList: true,
63
+ }).pipe(setProperty.cjsExports.filter((records) => {
64
+ for (let i = 0; i < records.length; i++) {
65
+ if ('childList' !== records[i].type) {
66
+ continue;
67
+ }
68
+ if (records[i].addedNodes.length || records[i].removedNodes.length) {
69
+ return true;
70
+ }
71
+ }
72
+ return false;
73
+ }), setProperty.cjsExports.map(() => {
74
+ /* noop */
75
+ }));
356
76
  }
357
77
  /**
358
78
  * Property decorator inspired by Angular's @ViewChild/@ContentChild.
@@ -362,23 +82,23 @@ function observeSubNodes(target) {
362
82
  * set to null.
363
83
  */
364
84
  function QuerySelector(selector, options) {
365
- return (target, property) => {
366
- let descriptor = {
367
- set: function () {
368
- throw new Error(`Property "${property}" is read-only.`);
369
- },
370
- get: function () {
371
- let observableProperty = `__rx__query_selector__observable__shadow_root__${(options === null || options === void 0 ? void 0 : options.shadowRoot) ? 'yes' : 'no'}__mutation_observer__${(options === null || options === void 0 ? void 0 : options.mutationObserver) ? 'yes' : 'no'}__selector__${selector}__`;
372
- if (!this[observableProperty]) {
373
- let root = (options === null || options === void 0 ? void 0 : options.shadowRoot) ? index.getElement(this).shadowRoot : index.getElement(this);
374
- let observable = (options === null || options === void 0 ? void 0 : options.mutationObserver) ? observeSubNodes(root) : renderObservable(this);
375
- this[observableProperty] = observable.pipe(startWith(), map(() => root.querySelector(selector)), setProperty.distinctUntilChanged(), shareReplay(1));
376
- }
377
- return this[observableProperty];
378
- },
85
+ return (target, property) => {
86
+ let descriptor = {
87
+ set: function () {
88
+ throw new Error(`Property "${property}" is read-only.`);
89
+ },
90
+ get: function () {
91
+ let observableProperty = `__rx__query_selector__observable__shadow_root__${(options === null || options === void 0 ? void 0 : options.shadowRoot) ? 'yes' : 'no'}__mutation_observer__${(options === null || options === void 0 ? void 0 : options.mutationObserver) ? 'yes' : 'no'}__selector__${selector}__`;
92
+ if (!this[observableProperty]) {
93
+ let root = (options === null || options === void 0 ? void 0 : options.shadowRoot) ? index.getElement(this).shadowRoot : index.getElement(this);
94
+ let observable = (options === null || options === void 0 ? void 0 : options.mutationObserver) ? observeSubNodes(root) : renderObservable(this);
95
+ this[observableProperty] = observable.pipe(setProperty.cjsExports.startWith(), setProperty.cjsExports.map(() => root.querySelector(selector)), setProperty.cjsExports.distinctUntilChanged(), setProperty.cjsExports.shareReplay(1));
96
+ }
97
+ return this[observableProperty];
98
+ },
99
+ };
100
+ Object.defineProperty(target, property, descriptor);
379
101
  };
380
- Object.defineProperty(target, property, descriptor);
381
- };
382
102
  }
383
103
 
384
104
  /**
@@ -389,33 +109,33 @@ function QuerySelector(selector, options) {
389
109
  * set to null.
390
110
  */
391
111
  function QuerySelectorAll(selector, options) {
392
- return (target, property) => {
393
- let descriptor = {
394
- set: function () {
395
- throw new Error(`Property "${property}" is read-only.`);
396
- },
397
- get: function () {
398
- let observableProperty = `__rx__query_selector_all__observable__shadow_root__${(options === null || options === void 0 ? void 0 : options.shadowRoot) ? 'yes' : 'no'}__mutation_observer__${(options === null || options === void 0 ? void 0 : options.mutationObserver) ? 'yes' : 'no'}__selector__${selector}__`;
399
- if (!this[observableProperty]) {
400
- let root = (options === null || options === void 0 ? void 0 : options.shadowRoot) ? index.getElement(this).shadowRoot : index.getElement(this);
401
- let observable = (options === null || options === void 0 ? void 0 : options.mutationObserver) ? observeSubNodes(root) : renderObservable(this);
402
- this[observableProperty] = observable.pipe(startWith(), map(() => Array.from(root.querySelectorAll(selector))), setProperty.distinctUntilChanged((previous, current) => {
403
- if (previous.length !== current.length) {
404
- return false;
405
- }
406
- for (let i = 0; i < previous.length; i++) {
407
- if (previous[i] !== current[i]) {
408
- return false;
409
- }
410
- }
411
- return true;
412
- }), shareReplay(1));
413
- }
414
- return this[observableProperty];
415
- },
112
+ return (target, property) => {
113
+ let descriptor = {
114
+ set: function () {
115
+ throw new Error(`Property "${property}" is read-only.`);
116
+ },
117
+ get: function () {
118
+ let observableProperty = `__rx__query_selector_all__observable__shadow_root__${(options === null || options === void 0 ? void 0 : options.shadowRoot) ? 'yes' : 'no'}__mutation_observer__${(options === null || options === void 0 ? void 0 : options.mutationObserver) ? 'yes' : 'no'}__selector__${selector}__`;
119
+ if (!this[observableProperty]) {
120
+ let root = (options === null || options === void 0 ? void 0 : options.shadowRoot) ? index.getElement(this).shadowRoot : index.getElement(this);
121
+ let observable = (options === null || options === void 0 ? void 0 : options.mutationObserver) ? observeSubNodes(root) : renderObservable(this);
122
+ this[observableProperty] = observable.pipe(setProperty.cjsExports.startWith(), setProperty.cjsExports.map(() => Array.from(root.querySelectorAll(selector))), setProperty.cjsExports.distinctUntilChanged((previous, current) => {
123
+ if (previous.length !== current.length) {
124
+ return false;
125
+ }
126
+ for (let i = 0; i < previous.length; i++) {
127
+ if (previous[i] !== current[i]) {
128
+ return false;
129
+ }
130
+ }
131
+ return true;
132
+ }), setProperty.cjsExports.shareReplay(1));
133
+ }
134
+ return this[observableProperty];
135
+ },
136
+ };
137
+ Object.defineProperty(target, property, descriptor);
416
138
  };
417
- Object.defineProperty(target, property, descriptor);
418
- };
419
139
  }
420
140
 
421
141
  /**
@@ -428,15 +148,15 @@ function QuerySelectorAll(selector, options) {
428
148
  * can disable this behavior by passing `false` as second argument.
429
149
  */
430
150
  function scheduleRender(cmp, nextTick = true) {
431
- return (source) => {
432
- return source.pipe(tap(() => {
433
- if (!nextTick) {
434
- index.forceUpdate(cmp);
435
- return;
436
- }
437
- Promise.resolve().then(() => index.forceUpdate(cmp));
438
- }));
439
- };
151
+ return (source) => {
152
+ return source.pipe(setProperty.cjsExports.tap(() => {
153
+ if (!nextTick) {
154
+ index.forceUpdate(cmp);
155
+ return;
156
+ }
157
+ Promise.resolve().then(() => index.forceUpdate(cmp));
158
+ }));
159
+ };
440
160
  }
441
161
 
442
162
  /**
@@ -446,14 +166,14 @@ function scheduleRender(cmp, nextTick = true) {
446
166
  * observable).
447
167
  */
448
168
  function toProperty(cmp, property) {
449
- // ensure that the property is defined on the component.
450
- setProperty.getPropertyDescriptor(cmp, property);
451
- // @ts-ignore
452
- return (source) => {
453
- return source.pipe(tap((value) => {
454
- cmp[property] = value;
455
- }));
456
- };
169
+ // ensure that the property is defined on the component.
170
+ setProperty.getPropertyDescriptor(cmp, property);
171
+ // @ts-ignore
172
+ return (source) => {
173
+ return source.pipe(setProperty.cjsExports.tap((value) => {
174
+ cmp[property] = value;
175
+ }));
176
+ };
457
177
  }
458
178
 
459
179
  /**
@@ -473,18 +193,18 @@ let disconnectObservables = new WeakMap();
473
193
  * {@internal}
474
194
  */
475
195
  let createUsingDisconnectedCallback = function (cmp) {
476
- let previousDisconnected = cmp.disconnectedCallback;
477
- if (!previousDisconnected) {
478
- throw new Error(`Component "${cmp.constructor.name}" does not have a "disconnectedCallback()" method defined.`);
479
- }
480
- let disconnectedSubject$ = new setProperty.Subject();
481
- cmp.disconnectedCallback = function () {
482
- if (previousDisconnected) {
483
- previousDisconnected.call(cmp);
196
+ let previousDisconnected = cmp.disconnectedCallback;
197
+ if (!previousDisconnected) {
198
+ throw new Error(`Component "${cmp.constructor.name}" does not have a "disconnectedCallback()" method defined.`);
484
199
  }
485
- disconnectedSubject$.next();
486
- };
487
- return disconnectedSubject$.asObservable();
200
+ let disconnectedSubject$ = new setProperty.cjsExports.Subject();
201
+ cmp.disconnectedCallback = function () {
202
+ if (previousDisconnected) {
203
+ previousDisconnected.call(cmp);
204
+ }
205
+ disconnectedSubject$.next();
206
+ };
207
+ return disconnectedSubject$.asObservable();
488
208
  };
489
209
  /**
490
210
  * Mutation observer is our next heuristic. We will monitor parent
@@ -496,32 +216,32 @@ let createUsingDisconnectedCallback = function (cmp) {
496
216
  * {@internal}
497
217
  */
498
218
  let createUsingMutationObserver = function (cmp) {
499
- let element = index.getElement(cmp);
500
- if (null === element.parentNode) {
501
- throw new Error(`Component "${cmp.constructor.name}" is not within DOM.`);
502
- }
503
- return new setProperty.Observable((observer) => {
504
- let mutationObserver = new MutationObserver((mutations) => {
505
- mutations.forEach((record) => {
506
- for (let node of Array.from(record.removedNodes)) {
507
- if (node !== element) {
508
- continue;
509
- }
510
- observer.next();
511
- observer.complete();
512
- }
513
- });
514
- });
515
- mutationObserver.observe(element.parentNode, {
516
- childList: true,
517
- subtree: true,
219
+ let element = index.getElement(cmp);
220
+ if (null === element.parentNode) {
221
+ throw new Error(`Component "${cmp.constructor.name}" is not within DOM.`);
222
+ }
223
+ return new setProperty.cjsExports.Observable((observer) => {
224
+ let mutationObserver = new MutationObserver((mutations) => {
225
+ mutations.forEach((record) => {
226
+ for (let node of Array.from(record.removedNodes)) {
227
+ if (node !== element) {
228
+ continue;
229
+ }
230
+ observer.next();
231
+ observer.complete();
232
+ }
233
+ });
234
+ });
235
+ mutationObserver.observe(element.parentNode, {
236
+ childList: true,
237
+ subtree: true,
238
+ });
239
+ return () => {
240
+ mutationObserver.disconnect();
241
+ // we can not re-use this observable, so we have to delete it
242
+ disconnectObservables.delete(cmp);
243
+ };
518
244
  });
519
- return () => {
520
- mutationObserver.disconnect();
521
- // we can not re-use this observable, so we have to delete it
522
- disconnectObservables.delete(cmp);
523
- };
524
- });
525
245
  };
526
246
  /**
527
247
  * Creates an observable that emits a value when the component
@@ -530,33 +250,33 @@ let createUsingMutationObserver = function (cmp) {
530
250
  * {@internal}
531
251
  */
532
252
  function createDisconnectObservable(cmp) {
533
- let functions = [
534
- createUsingDisconnectedCallback,
535
- createUsingMutationObserver,
536
- ];
537
- for (let fn of functions) {
538
- try {
539
- disconnectObservables.set(cmp, fn(cmp));
540
- return;
541
- }
542
- catch (e) {
543
- // noop
253
+ let functions = [
254
+ createUsingDisconnectedCallback,
255
+ createUsingMutationObserver,
256
+ ];
257
+ for (let fn of functions) {
258
+ try {
259
+ disconnectObservables.set(cmp, fn(cmp));
260
+ return;
261
+ }
262
+ catch (e) {
263
+ // noop
264
+ }
544
265
  }
545
- }
546
- throw new Error(`Could not create disconnect observable for component "${cmp.constructor.name}".`);
266
+ throw new Error(`Could not create disconnect observable for component "${cmp.constructor.name}".`);
547
267
  }
548
268
  /**
549
269
  * Operator that unsubscribes from the source observable when
550
270
  * the component is disconnected from DOM.
551
271
  */
552
272
  function untilDisconnected(cmp) {
553
- return (source) => {
554
- if (!disconnectObservables.has(cmp)) {
555
- createDisconnectObservable(cmp);
556
- }
557
- let disconnectObservable$ = disconnectObservables.get(cmp);
558
- return source.pipe(takeUntil(disconnectObservable$));
559
- };
273
+ return (source) => {
274
+ if (!disconnectObservables.has(cmp)) {
275
+ createDisconnectObservable(cmp);
276
+ }
277
+ let disconnectObservable$ = disconnectObservables.get(cmp);
278
+ return source.pipe(setProperty.cjsExports.takeUntil(disconnectObservable$));
279
+ };
560
280
  }
561
281
 
562
282
  exports.propertyObservable = setProperty.propertyObservable;
@@ -564,9 +284,8 @@ exports.setProperty = setProperty.setProperty;
564
284
  exports.QuerySelector = QuerySelector;
565
285
  exports.QuerySelectorAll = QuerySelectorAll;
566
286
  exports.mutationObservable = mutationObservable;
287
+ exports.propertiesObservable = propertiesObservable;
567
288
  exports.renderObservable = renderObservable;
568
289
  exports.scheduleRender = scheduleRender;
569
290
  exports.toProperty = toProperty;
570
291
  exports.untilDisconnected = untilDisconnected;
571
-
572
- //# sourceMappingURL=index.cjs.js.map