@runopencode/rx-stencil 0.4.2 → 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 (111) hide show
  1. package/dist/cjs/app-globals-V2Kpy_OQ.js +5 -0
  2. package/dist/cjs/index-CbERigo8.js +1211 -0
  3. package/dist/cjs/index.cjs.js +162 -543
  4. package/dist/cjs/loader.cjs.js +4 -6
  5. package/dist/cjs/rx-async.cjs.entry.js +29 -63
  6. package/dist/cjs/rx-stencil.cjs.js +14 -14
  7. package/dist/cjs/set-property-BZHuI0P5.js +9525 -0
  8. package/dist/collection/collection-manifest.json +2 -2
  9. package/dist/collection/components/async/async.css +3 -0
  10. package/dist/collection/components/async/async.js +62 -61
  11. package/dist/collection/index.js +0 -1
  12. package/dist/collection/rx/decorator/index.js +0 -1
  13. package/dist/collection/rx/decorator/query-selector-all.js +26 -27
  14. package/dist/collection/rx/decorator/query-selector.js +32 -33
  15. package/dist/collection/rx/index.js +0 -1
  16. package/dist/collection/rx/observable/index.js +0 -1
  17. package/dist/collection/rx/observable/mutation-observable.js +8 -9
  18. package/dist/collection/rx/observable/properties-observable.js +6 -7
  19. package/dist/collection/rx/observable/property-observable.js +20 -21
  20. package/dist/collection/rx/observable/render-observable.js +15 -16
  21. package/dist/collection/rx/operator/index.js +0 -1
  22. package/dist/collection/rx/operator/schedule-render.js +9 -10
  23. package/dist/collection/rx/operator/to-property.js +8 -9
  24. package/dist/collection/rx/operator/until-disconnected.js +56 -57
  25. package/dist/collection/rx/subscriber/index.js +0 -1
  26. package/dist/collection/rx/subscriber/set-property.js +12 -13
  27. package/dist/collection/utils/get-property-descriptor.js +10 -11
  28. package/dist/collection/utils/index.js +0 -1
  29. package/dist/components/index.d.ts +2 -0
  30. package/dist/components/index.js +1 -661
  31. package/dist/components/rx-async.d.ts +2 -2
  32. package/dist/components/rx-async.js +1 -86
  33. package/dist/components/set-property.js +1 -1153
  34. package/dist/esm/app-globals-DQuL1Twl.js +3 -0
  35. package/dist/esm/index-BIBww8qU.js +1202 -0
  36. package/dist/esm/index.js +164 -543
  37. package/dist/esm/loader.js +5 -5
  38. package/dist/esm/rx-async.entry.js +29 -61
  39. package/dist/esm/rx-stencil.js +14 -13
  40. package/dist/esm/set-property-CpZKE-Xu.js +9520 -0
  41. package/dist/rx-stencil/index.esm.js +1 -2
  42. package/dist/rx-stencil/p-77100dee.entry.js +1 -0
  43. package/dist/rx-stencil/p-BIBww8qU.js +2 -0
  44. package/dist/rx-stencil/p-DQuL1Twl.js +1 -0
  45. package/dist/rx-stencil/p-IbpJ_cRo.js +1 -0
  46. package/dist/rx-stencil/rx-stencil.esm.js +1 -2
  47. package/dist/types/components/async/async.d.ts +5 -5
  48. package/dist/types/components.d.ts +7 -1
  49. package/dist/types/rx/decorator/query-selector-all.d.ts +9 -9
  50. package/dist/types/rx/decorator/query-selector.d.ts +9 -9
  51. package/dist/types/rx/subscriber/set-property.d.ts +12 -12
  52. package/dist/types/stencil-public-runtime.d.ts +225 -17
  53. package/loader/cdn.js +1 -3
  54. package/loader/index.cjs.js +1 -3
  55. package/loader/index.d.ts +3 -0
  56. package/loader/index.es2017.js +1 -3
  57. package/loader/index.js +1 -3
  58. package/package.json +8 -9
  59. package/dist/cjs/index-5f6f12ab.js +0 -1265
  60. package/dist/cjs/index-5f6f12ab.js.map +0 -1
  61. package/dist/cjs/index.cjs.js.map +0 -1
  62. package/dist/cjs/loader.cjs.js.map +0 -1
  63. package/dist/cjs/rx-async.cjs.entry.js.map +0 -1
  64. package/dist/cjs/rx-stencil.cjs.js.map +0 -1
  65. package/dist/cjs/set-property-c1def9c5.js +0 -1171
  66. package/dist/cjs/set-property-c1def9c5.js.map +0 -1
  67. package/dist/collection/components/async/async.js.map +0 -1
  68. package/dist/collection/components/async/async.scss +0 -3
  69. package/dist/collection/index.js.map +0 -1
  70. package/dist/collection/rx/decorator/index.js.map +0 -1
  71. package/dist/collection/rx/decorator/query-selector-all.js.map +0 -1
  72. package/dist/collection/rx/decorator/query-selector.js.map +0 -1
  73. package/dist/collection/rx/index.js.map +0 -1
  74. package/dist/collection/rx/observable/index.js.map +0 -1
  75. package/dist/collection/rx/observable/mutation-observable.js.map +0 -1
  76. package/dist/collection/rx/observable/properties-observable.js.map +0 -1
  77. package/dist/collection/rx/observable/property-observable.js.map +0 -1
  78. package/dist/collection/rx/observable/render-observable.js.map +0 -1
  79. package/dist/collection/rx/operator/index.js.map +0 -1
  80. package/dist/collection/rx/operator/schedule-render.js.map +0 -1
  81. package/dist/collection/rx/operator/to-property.js.map +0 -1
  82. package/dist/collection/rx/operator/until-disconnected.js.map +0 -1
  83. package/dist/collection/rx/subscriber/index.js.map +0 -1
  84. package/dist/collection/rx/subscriber/set-property.js.map +0 -1
  85. package/dist/collection/utils/get-property-descriptor.js.map +0 -1
  86. package/dist/collection/utils/index.js.map +0 -1
  87. package/dist/components/index.js.map +0 -1
  88. package/dist/components/rx-async.js.map +0 -1
  89. package/dist/components/set-property.js.map +0 -1
  90. package/dist/esm/index-9102de09.js +0 -1236
  91. package/dist/esm/index-9102de09.js.map +0 -1
  92. package/dist/esm/index.js.map +0 -1
  93. package/dist/esm/loader.js.map +0 -1
  94. package/dist/esm/polyfills/core-js.js +0 -11
  95. package/dist/esm/polyfills/dom.js +0 -79
  96. package/dist/esm/polyfills/es5-html-element.js +0 -1
  97. package/dist/esm/polyfills/index.js +0 -34
  98. package/dist/esm/polyfills/system.js +0 -6
  99. package/dist/esm/rx-async.entry.js.map +0 -1
  100. package/dist/esm/rx-stencil.js.map +0 -1
  101. package/dist/esm/set-property-9befeb72.js +0 -1153
  102. package/dist/esm/set-property-9befeb72.js.map +0 -1
  103. package/dist/rx-stencil/index.esm.js.map +0 -1
  104. package/dist/rx-stencil/p-2fc78e52.js +0 -2
  105. package/dist/rx-stencil/p-2fc78e52.js.map +0 -1
  106. package/dist/rx-stencil/p-8411601b.js +0 -3
  107. package/dist/rx-stencil/p-8411601b.js.map +0 -1
  108. package/dist/rx-stencil/p-c823932c.entry.js +0 -2
  109. package/dist/rx-stencil/p-c823932c.entry.js.map +0 -1
  110. package/dist/rx-stencil/rx-stencil.esm.js.map +0 -1
  111. package/loader/package.json +0 -11
@@ -4,8 +4,8 @@
4
4
  ],
5
5
  "compiler": {
6
6
  "name": "@stencil/core",
7
- "version": "4.3.0",
8
- "typescriptVersion": "5.1.6"
7
+ "version": "4.43.1",
8
+ "typescriptVersion": "5.8.3"
9
9
  },
10
10
  "collections": [],
11
11
  "bundles": []
@@ -0,0 +1,3 @@
1
+ :host {
2
+ display: inline-block;
3
+ }
@@ -2,66 +2,67 @@ import { h, Host, } from "@stencil/core";
2
2
  import { from, isObservable, of, switchMap, } from "rxjs";
3
3
  import { propertyObservable, setProperty, } from "../../rx";
4
4
  export class Async {
5
- constructor() {
6
- this._value = null;
7
- this.value = null;
8
- }
9
- connectedCallback() {
10
- propertyObservable(this, 'value').pipe(switchMap((value) => {
11
- if (isObservable(value)) {
12
- return value;
13
- }
14
- if (value instanceof Promise) {
15
- return from(value);
16
- }
17
- return of(value);
18
- })).subscribe(setProperty(this, '_value', {
19
- scheduleRender: true,
20
- nextTick: false,
21
- }));
22
- }
23
- disconnectedCallback() {
24
- // noop
25
- }
26
- render() {
27
- return (h(Host, null, this._value));
28
- }
29
- static get is() { return "rx-async"; }
30
- static get originalStyleUrls() {
31
- return {
32
- "$": ["async.scss"]
33
- };
34
- }
35
- static get styleUrls() {
36
- return {
37
- "$": ["async.css"]
38
- };
39
- }
40
- static get properties() {
41
- return {
42
- "value": {
43
- "type": "unknown",
44
- "mutable": false,
45
- "complexType": {
46
- "original": "AsyncValue",
47
- "resolved": "Observable<unknown> | Promise<unknown>",
48
- "references": {
49
- "AsyncValue": {
50
- "location": "local",
51
- "path": "/Users/thecelavi/Sites/RunOpenCode/stencil-libs/rx-stencil/src/components/async/async.tsx",
52
- "id": "src/components/async/async.tsx::AsyncValue"
5
+ constructor() {
6
+ this.value = null;
7
+ this._value = null;
8
+ }
9
+ connectedCallback() {
10
+ propertyObservable(this, 'value').pipe(switchMap((value) => {
11
+ if (isObservable(value)) {
12
+ return value;
53
13
  }
54
- }
55
- },
56
- "required": false,
57
- "optional": false,
58
- "docs": {
59
- "tags": [],
60
- "text": ""
61
- },
62
- "defaultValue": "null"
63
- }
64
- };
65
- }
14
+ if (value instanceof Promise) {
15
+ return from(value);
16
+ }
17
+ return of(value);
18
+ })).subscribe(setProperty(this, '_value', {
19
+ scheduleRender: true,
20
+ nextTick: false,
21
+ }));
22
+ }
23
+ disconnectedCallback() {
24
+ // noop
25
+ }
26
+ render() {
27
+ return (h(Host, { key: '83bc02eb1171d43e61d25232a0bc1ad024294e68' }, this._value));
28
+ }
29
+ static get is() { return "rx-async"; }
30
+ static get originalStyleUrls() {
31
+ return {
32
+ "$": ["async.scss"]
33
+ };
34
+ }
35
+ static get styleUrls() {
36
+ return {
37
+ "$": ["async.css"]
38
+ };
39
+ }
40
+ static get properties() {
41
+ return {
42
+ "value": {
43
+ "type": "unknown",
44
+ "mutable": false,
45
+ "complexType": {
46
+ "original": "AsyncValue",
47
+ "resolved": "Observable<unknown> | Promise<unknown>",
48
+ "references": {
49
+ "AsyncValue": {
50
+ "location": "local",
51
+ "path": "/Users/thecelavi/Sites/RunOpenCode/stencil-libs/rx-stencil/src/components/async/async.tsx",
52
+ "id": "src/components/async/async.tsx::AsyncValue"
53
+ }
54
+ }
55
+ },
56
+ "required": false,
57
+ "optional": false,
58
+ "docs": {
59
+ "tags": [],
60
+ "text": ""
61
+ },
62
+ "getter": false,
63
+ "setter": false,
64
+ "defaultValue": "null"
65
+ }
66
+ };
67
+ }
66
68
  }
67
- //# sourceMappingURL=async.js.map
@@ -1,3 +1,2 @@
1
1
  export * from './components';
2
2
  export * from './rx';
3
- //# sourceMappingURL=index.js.map
@@ -1,3 +1,2 @@
1
1
  export { QuerySelector, } from './query-selector';
2
2
  export { QuerySelectorAll, } from './query-selector-all';
3
- //# sourceMappingURL=index.js.map
@@ -10,32 +10,31 @@ import { observeSubNodes } from "./query-selector";
10
10
  * set to null.
11
11
  */
12
12
  export function QuerySelectorAll(selector, options) {
13
- return (target, property) => {
14
- let descriptor = {
15
- set: function () {
16
- throw new Error(`Property "${property}" is read-only.`);
17
- },
18
- get: function () {
19
- 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}__`;
20
- if (!this[observableProperty]) {
21
- let root = (options === null || options === void 0 ? void 0 : options.shadowRoot) ? getElement(this).shadowRoot : getElement(this);
22
- let observable = (options === null || options === void 0 ? void 0 : options.mutationObserver) ? observeSubNodes(root) : renderObservable(this);
23
- this[observableProperty] = observable.pipe(startWith(), map(() => Array.from(root.querySelectorAll(selector))), distinctUntilChanged((previous, current) => {
24
- if (previous.length !== current.length) {
25
- return false;
26
- }
27
- for (let i = 0; i < previous.length; i++) {
28
- if (previous[i] !== current[i]) {
29
- return false;
30
- }
31
- }
32
- return true;
33
- }), shareReplay(1));
34
- }
35
- return this[observableProperty];
36
- },
13
+ return (target, property) => {
14
+ let descriptor = {
15
+ set: function () {
16
+ throw new Error(`Property "${property}" is read-only.`);
17
+ },
18
+ get: function () {
19
+ 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}__`;
20
+ if (!this[observableProperty]) {
21
+ let root = (options === null || options === void 0 ? void 0 : options.shadowRoot) ? getElement(this).shadowRoot : getElement(this);
22
+ let observable = (options === null || options === void 0 ? void 0 : options.mutationObserver) ? observeSubNodes(root) : renderObservable(this);
23
+ this[observableProperty] = observable.pipe(startWith(), map(() => Array.from(root.querySelectorAll(selector))), distinctUntilChanged((previous, current) => {
24
+ if (previous.length !== current.length) {
25
+ return false;
26
+ }
27
+ for (let i = 0; i < previous.length; i++) {
28
+ if (previous[i] !== current[i]) {
29
+ return false;
30
+ }
31
+ }
32
+ return true;
33
+ }), shareReplay(1));
34
+ }
35
+ return this[observableProperty];
36
+ },
37
+ };
38
+ Object.defineProperty(target, property, descriptor);
37
39
  };
38
- Object.defineProperty(target, property, descriptor);
39
- };
40
40
  }
41
- //# sourceMappingURL=query-selector-all.js.map
@@ -8,22 +8,22 @@ import { mutationObservable, renderObservable, } from "../observable";
8
8
  * {@internal}
9
9
  */
10
10
  export function observeSubNodes(target) {
11
- return mutationObservable(target, {
12
- subtree: true,
13
- childList: true,
14
- }).pipe(filter((records) => {
15
- for (let i = 0; i < records.length; i++) {
16
- if ('childList' !== records[i].type) {
17
- continue;
18
- }
19
- if (records[i].addedNodes.length || records[i].removedNodes.length) {
20
- return true;
21
- }
22
- }
23
- return false;
24
- }), map(() => {
25
- /* noop */
26
- }));
11
+ return mutationObservable(target, {
12
+ subtree: true,
13
+ childList: true,
14
+ }).pipe(filter((records) => {
15
+ for (let i = 0; i < records.length; i++) {
16
+ if ('childList' !== records[i].type) {
17
+ continue;
18
+ }
19
+ if (records[i].addedNodes.length || records[i].removedNodes.length) {
20
+ return true;
21
+ }
22
+ }
23
+ return false;
24
+ }), map(() => {
25
+ /* noop */
26
+ }));
27
27
  }
28
28
  /**
29
29
  * Property decorator inspired by Angular's @ViewChild/@ContentChild.
@@ -33,22 +33,21 @@ export function observeSubNodes(target) {
33
33
  * set to null.
34
34
  */
35
35
  export function QuerySelector(selector, options) {
36
- return (target, property) => {
37
- let descriptor = {
38
- set: function () {
39
- throw new Error(`Property "${property}" is read-only.`);
40
- },
41
- get: function () {
42
- 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}__`;
43
- if (!this[observableProperty]) {
44
- let root = (options === null || options === void 0 ? void 0 : options.shadowRoot) ? getElement(this).shadowRoot : getElement(this);
45
- let observable = (options === null || options === void 0 ? void 0 : options.mutationObserver) ? observeSubNodes(root) : renderObservable(this);
46
- this[observableProperty] = observable.pipe(startWith(), map(() => root.querySelector(selector)), distinctUntilChanged(), shareReplay(1));
47
- }
48
- return this[observableProperty];
49
- },
36
+ return (target, property) => {
37
+ let descriptor = {
38
+ set: function () {
39
+ throw new Error(`Property "${property}" is read-only.`);
40
+ },
41
+ get: function () {
42
+ 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}__`;
43
+ if (!this[observableProperty]) {
44
+ let root = (options === null || options === void 0 ? void 0 : options.shadowRoot) ? getElement(this).shadowRoot : getElement(this);
45
+ let observable = (options === null || options === void 0 ? void 0 : options.mutationObserver) ? observeSubNodes(root) : renderObservable(this);
46
+ this[observableProperty] = observable.pipe(startWith(), map(() => root.querySelector(selector)), distinctUntilChanged(), shareReplay(1));
47
+ }
48
+ return this[observableProperty];
49
+ },
50
+ };
51
+ Object.defineProperty(target, property, descriptor);
50
52
  };
51
- Object.defineProperty(target, property, descriptor);
52
- };
53
53
  }
54
- //# sourceMappingURL=query-selector.js.map
@@ -2,4 +2,3 @@ export * from './decorator';
2
2
  export * from './observable';
3
3
  export * from './operator';
4
4
  export * from './subscriber';
5
- //# sourceMappingURL=index.js.map
@@ -2,4 +2,3 @@ export { mutationObservable } from './mutation-observable';
2
2
  export { propertyObservable } from './property-observable';
3
3
  export { propertiesObservable } from './properties-observable';
4
4
  export { renderObservable } from './render-observable';
5
- //# sourceMappingURL=index.js.map
@@ -1,13 +1,12 @@
1
1
  import { Observable, } from "rxjs";
2
2
  export function mutationObservable(target, options) {
3
- return new Observable((observer) => {
4
- let mutation = new MutationObserver((mutations) => {
5
- observer.next(mutations);
3
+ return new Observable((observer) => {
4
+ let mutation = new MutationObserver((mutations) => {
5
+ observer.next(mutations);
6
+ });
7
+ mutation.observe(target, options);
8
+ return () => {
9
+ mutation.disconnect();
10
+ };
6
11
  });
7
- mutation.observe(target, options);
8
- return () => {
9
- mutation.disconnect();
10
- };
11
- });
12
12
  }
13
- //# sourceMappingURL=mutation-observable.js.map
@@ -4,11 +4,10 @@ import { propertyObservable } from "./property-observable";
4
4
  * Returns an observable that emits an array of values from the given properties.
5
5
  */
6
6
  export function propertiesObservable(cmp, ...properties) {
7
- if (0 === properties.length) {
8
- throw new Error('At least one property must be specified.');
9
- }
10
- return combineLatest(properties.map((property) => {
11
- return propertyObservable(cmp, property);
12
- }));
7
+ if (0 === properties.length) {
8
+ throw new Error('At least one property must be specified.');
9
+ }
10
+ return combineLatest(properties.map((property) => {
11
+ return propertyObservable(cmp, property);
12
+ }));
13
13
  }
14
- //# sourceMappingURL=properties-observable.js.map
@@ -4,25 +4,24 @@ import { getPropertyDescriptor } from "../../utils";
4
4
  * Returns an observable that emits property value when the component property value changes.
5
5
  */
6
6
  export function propertyObservable(cmp, property) {
7
- let subjectProperty = `__rx__subject_for_property__${property}__`;
8
- if (!cmp[subjectProperty]) {
9
- let descriptor = getPropertyDescriptor(cmp, property);
10
- let previousSetter = descriptor.set;
11
- let previousGetter = descriptor.get;
12
- // we have to invoke previous getter on component instance to get the current value
13
- let currentValue = undefined !== previousGetter ? previousGetter.call(cmp) : descriptor.value;
14
- let subject = new BehaviorSubject(currentValue);
15
- descriptor.set = function (value) {
16
- if (previousSetter) {
17
- previousSetter.call(this, value);
18
- }
19
- subject.next(value);
20
- };
21
- Object.defineProperty(cmp, property, descriptor);
22
- cmp[subjectProperty] = subject;
23
- }
24
- return cmp[subjectProperty]
25
- .asObservable()
26
- .pipe(distinctUntilChanged());
7
+ let subjectProperty = `__rx__subject_for_property__${property}__`;
8
+ if (!cmp[subjectProperty]) {
9
+ let descriptor = getPropertyDescriptor(cmp, property);
10
+ let previousSetter = descriptor.set;
11
+ let previousGetter = descriptor.get;
12
+ // we have to invoke previous getter on component instance to get the current value
13
+ let currentValue = undefined !== previousGetter ? previousGetter.call(cmp) : descriptor.value;
14
+ let subject = new BehaviorSubject(currentValue);
15
+ descriptor.set = function (value) {
16
+ if (previousSetter) {
17
+ previousSetter.call(this, value);
18
+ }
19
+ subject.next(value);
20
+ };
21
+ Object.defineProperty(cmp, property, descriptor);
22
+ cmp[subjectProperty] = subject;
23
+ }
24
+ return cmp[subjectProperty]
25
+ .asObservable()
26
+ .pipe(distinctUntilChanged());
27
27
  }
28
- //# sourceMappingURL=property-observable.js.map
@@ -5,20 +5,19 @@ import { Observable, } from "rxjs";
5
5
  * microtask (next tick).
6
6
  */
7
7
  export function renderObservable(cmp) {
8
- if ('function' !== typeof cmp.render) {
9
- throw new Error('Component does not have a render function.');
10
- }
11
- return new Observable((subscriber) => {
12
- let previousRender = cmp.render;
13
- cmp.render = function () {
14
- Promise.resolve().then(() => {
15
- subscriber.next();
16
- });
17
- return previousRender.call(this);
18
- };
19
- return () => {
20
- cmp.render = previousRender;
21
- };
22
- });
8
+ if ('function' !== typeof cmp.render) {
9
+ throw new Error('Component does not have a render function.');
10
+ }
11
+ return new Observable((subscriber) => {
12
+ let previousRender = cmp.render;
13
+ cmp.render = function () {
14
+ Promise.resolve().then(() => {
15
+ subscriber.next();
16
+ });
17
+ return previousRender.call(this);
18
+ };
19
+ return () => {
20
+ cmp.render = previousRender;
21
+ };
22
+ });
23
23
  }
24
- //# sourceMappingURL=render-observable.js.map
@@ -1,4 +1,3 @@
1
1
  export { scheduleRender } from './schedule-render';
2
2
  export { toProperty } from './to-property';
3
3
  export { untilDisconnected } from './until-disconnected';
4
- //# sourceMappingURL=index.js.map
@@ -10,14 +10,13 @@ import { tap, } from "rxjs";
10
10
  * can disable this behavior by passing `false` as second argument.
11
11
  */
12
12
  export function scheduleRender(cmp, nextTick = true) {
13
- return (source) => {
14
- return source.pipe(tap(() => {
15
- if (!nextTick) {
16
- forceUpdate(cmp);
17
- return;
18
- }
19
- Promise.resolve().then(() => forceUpdate(cmp));
20
- }));
21
- };
13
+ return (source) => {
14
+ return source.pipe(tap(() => {
15
+ if (!nextTick) {
16
+ forceUpdate(cmp);
17
+ return;
18
+ }
19
+ Promise.resolve().then(() => forceUpdate(cmp));
20
+ }));
21
+ };
22
22
  }
23
- //# sourceMappingURL=schedule-render.js.map
@@ -7,13 +7,12 @@ import { getPropertyDescriptor } from "../../utils";
7
7
  * observable).
8
8
  */
9
9
  export function toProperty(cmp, property) {
10
- // ensure that the property is defined on the component.
11
- getPropertyDescriptor(cmp, property);
12
- // @ts-ignore
13
- return (source) => {
14
- return source.pipe(tap((value) => {
15
- cmp[property] = value;
16
- }));
17
- };
10
+ // ensure that the property is defined on the component.
11
+ getPropertyDescriptor(cmp, property);
12
+ // @ts-ignore
13
+ return (source) => {
14
+ return source.pipe(tap((value) => {
15
+ cmp[property] = value;
16
+ }));
17
+ };
18
18
  }
19
- //# sourceMappingURL=to-property.js.map
@@ -17,18 +17,18 @@ let disconnectObservables = new WeakMap();
17
17
  * {@internal}
18
18
  */
19
19
  let createUsingDisconnectedCallback = function (cmp) {
20
- let previousDisconnected = cmp.disconnectedCallback;
21
- if (!previousDisconnected) {
22
- throw new Error(`Component "${cmp.constructor.name}" does not have a "disconnectedCallback()" method defined.`);
23
- }
24
- let disconnectedSubject$ = new Subject();
25
- cmp.disconnectedCallback = function () {
26
- if (previousDisconnected) {
27
- previousDisconnected.call(cmp);
20
+ let previousDisconnected = cmp.disconnectedCallback;
21
+ if (!previousDisconnected) {
22
+ throw new Error(`Component "${cmp.constructor.name}" does not have a "disconnectedCallback()" method defined.`);
28
23
  }
29
- disconnectedSubject$.next();
30
- };
31
- return disconnectedSubject$.asObservable();
24
+ let disconnectedSubject$ = new Subject();
25
+ cmp.disconnectedCallback = function () {
26
+ if (previousDisconnected) {
27
+ previousDisconnected.call(cmp);
28
+ }
29
+ disconnectedSubject$.next();
30
+ };
31
+ return disconnectedSubject$.asObservable();
32
32
  };
33
33
  /**
34
34
  * Mutation observer is our next heuristic. We will monitor parent
@@ -40,32 +40,32 @@ let createUsingDisconnectedCallback = function (cmp) {
40
40
  * {@internal}
41
41
  */
42
42
  let createUsingMutationObserver = function (cmp) {
43
- let element = getElement(cmp);
44
- if (null === element.parentNode) {
45
- throw new Error(`Component "${cmp.constructor.name}" is not within DOM.`);
46
- }
47
- return new Observable((observer) => {
48
- let mutationObserver = new MutationObserver((mutations) => {
49
- mutations.forEach((record) => {
50
- for (let node of Array.from(record.removedNodes)) {
51
- if (node !== element) {
52
- continue;
53
- }
54
- observer.next();
55
- observer.complete();
56
- }
57
- });
58
- });
59
- mutationObserver.observe(element.parentNode, {
60
- childList: true,
61
- subtree: true,
43
+ let element = getElement(cmp);
44
+ if (null === element.parentNode) {
45
+ throw new Error(`Component "${cmp.constructor.name}" is not within DOM.`);
46
+ }
47
+ return new Observable((observer) => {
48
+ let mutationObserver = new MutationObserver((mutations) => {
49
+ mutations.forEach((record) => {
50
+ for (let node of Array.from(record.removedNodes)) {
51
+ if (node !== element) {
52
+ continue;
53
+ }
54
+ observer.next();
55
+ observer.complete();
56
+ }
57
+ });
58
+ });
59
+ mutationObserver.observe(element.parentNode, {
60
+ childList: true,
61
+ subtree: true,
62
+ });
63
+ return () => {
64
+ mutationObserver.disconnect();
65
+ // we can not re-use this observable, so we have to delete it
66
+ disconnectObservables.delete(cmp);
67
+ };
62
68
  });
63
- return () => {
64
- mutationObserver.disconnect();
65
- // we can not re-use this observable, so we have to delete it
66
- disconnectObservables.delete(cmp);
67
- };
68
- });
69
69
  };
70
70
  /**
71
71
  * Creates an observable that emits a value when the component
@@ -74,32 +74,31 @@ let createUsingMutationObserver = function (cmp) {
74
74
  * {@internal}
75
75
  */
76
76
  function createDisconnectObservable(cmp) {
77
- let functions = [
78
- createUsingDisconnectedCallback,
79
- createUsingMutationObserver,
80
- ];
81
- for (let fn of functions) {
82
- try {
83
- disconnectObservables.set(cmp, fn(cmp));
84
- return;
85
- }
86
- catch (e) {
87
- // noop
77
+ let functions = [
78
+ createUsingDisconnectedCallback,
79
+ createUsingMutationObserver,
80
+ ];
81
+ for (let fn of functions) {
82
+ try {
83
+ disconnectObservables.set(cmp, fn(cmp));
84
+ return;
85
+ }
86
+ catch (e) {
87
+ // noop
88
+ }
88
89
  }
89
- }
90
- throw new Error(`Could not create disconnect observable for component "${cmp.constructor.name}".`);
90
+ throw new Error(`Could not create disconnect observable for component "${cmp.constructor.name}".`);
91
91
  }
92
92
  /**
93
93
  * Operator that unsubscribes from the source observable when
94
94
  * the component is disconnected from DOM.
95
95
  */
96
96
  export function untilDisconnected(cmp) {
97
- return (source) => {
98
- if (!disconnectObservables.has(cmp)) {
99
- createDisconnectObservable(cmp);
100
- }
101
- let disconnectObservable$ = disconnectObservables.get(cmp);
102
- return source.pipe(takeUntil(disconnectObservable$));
103
- };
97
+ return (source) => {
98
+ if (!disconnectObservables.has(cmp)) {
99
+ createDisconnectObservable(cmp);
100
+ }
101
+ let disconnectObservable$ = disconnectObservables.get(cmp);
102
+ return source.pipe(takeUntil(disconnectObservable$));
103
+ };
104
104
  }
105
- //# sourceMappingURL=until-disconnected.js.map
@@ -1,2 +1 @@
1
1
  export { setProperty, } from './set-property';
2
- //# sourceMappingURL=index.js.map