@dereekb/rxjs 10.0.5 → 10.0.6

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 (161) hide show
  1. package/index.cjs.d.ts +1 -0
  2. package/index.cjs.default.js +1 -0
  3. package/index.cjs.js +5621 -0
  4. package/index.cjs.mjs +2 -0
  5. package/index.esm.js +5842 -0
  6. package/package.json +14 -4
  7. package/src/lib/filter/filter.d.ts +1 -1
  8. package/src/lib/filter/filter.map.d.ts +4 -4
  9. package/src/lib/filter/filter.preset.d.ts +2 -2
  10. package/src/lib/filter/filter.source.d.ts +4 -4
  11. package/src/lib/iterator/iteration.accumulator.d.ts +4 -4
  12. package/src/lib/iterator/iteration.accumulator.rxjs.d.ts +3 -3
  13. package/src/lib/iterator/iteration.d.ts +3 -3
  14. package/src/lib/iterator/iteration.mapped.d.ts +4 -4
  15. package/src/lib/iterator/iteration.mapped.page.d.ts +5 -5
  16. package/src/lib/iterator/iteration.next.d.ts +3 -3
  17. package/src/lib/iterator/iterator.page.d.ts +4 -4
  18. package/src/lib/loading/loading.context.d.ts +2 -2
  19. package/src/lib/loading/loading.context.simple.d.ts +3 -3
  20. package/src/lib/loading/loading.context.state.d.ts +4 -4
  21. package/src/lib/loading/loading.context.state.list.d.ts +4 -4
  22. package/src/lib/loading/loading.context.state.value.d.ts +5 -5
  23. package/src/lib/loading/loading.state.d.ts +1 -1
  24. package/src/lib/loading/loading.state.list.d.ts +3 -3
  25. package/src/lib/loading/loading.state.rxjs.d.ts +3 -3
  26. package/src/lib/lock.d.ts +3 -3
  27. package/src/lib/object.d.ts +1 -1
  28. package/src/lib/rxjs/array.d.ts +2 -2
  29. package/src/lib/rxjs/boolean.d.ts +1 -1
  30. package/src/lib/rxjs/decision.d.ts +2 -2
  31. package/src/lib/rxjs/delta.d.ts +1 -1
  32. package/src/lib/rxjs/factory.d.ts +2 -2
  33. package/src/lib/rxjs/getter.d.ts +2 -2
  34. package/src/lib/rxjs/key.d.ts +2 -2
  35. package/src/lib/rxjs/lifecycle.d.ts +2 -2
  36. package/src/lib/rxjs/loading.d.ts +1 -1
  37. package/src/lib/rxjs/map.d.ts +3 -3
  38. package/src/lib/rxjs/misc.d.ts +2 -2
  39. package/src/lib/rxjs/model.d.ts +1 -1
  40. package/src/lib/rxjs/number.d.ts +3 -3
  41. package/src/lib/rxjs/rxjs.async.d.ts +2 -2
  42. package/src/lib/rxjs/rxjs.d.ts +2 -2
  43. package/src/lib/rxjs/rxjs.map.d.ts +2 -2
  44. package/src/lib/rxjs/rxjs.unique.d.ts +2 -2
  45. package/src/lib/rxjs/set.d.ts +2 -2
  46. package/src/lib/rxjs/string.d.ts +2 -2
  47. package/src/lib/rxjs/timeout.d.ts +2 -2
  48. package/src/lib/rxjs/use.d.ts +1 -1
  49. package/src/lib/rxjs/value.d.ts +4 -4
  50. package/src/lib/subscription.d.ts +2 -2
  51. package/src/lib/work/work.factory.d.ts +3 -3
  52. package/src/lib/work/work.instance.d.ts +3 -3
  53. package/CHANGELOG.md +0 -1480
  54. package/src/index.js +0 -5
  55. package/src/index.js.map +0 -1
  56. package/src/lib/filter/filter.js +0 -22
  57. package/src/lib/filter/filter.js.map +0 -1
  58. package/src/lib/filter/filter.map.js +0 -107
  59. package/src/lib/filter/filter.map.js.map +0 -1
  60. package/src/lib/filter/filter.preset.js +0 -22
  61. package/src/lib/filter/filter.preset.js.map +0 -1
  62. package/src/lib/filter/filter.source.js +0 -77
  63. package/src/lib/filter/filter.source.js.map +0 -1
  64. package/src/lib/filter/index.js +0 -8
  65. package/src/lib/filter/index.js.map +0 -1
  66. package/src/lib/index.js +0 -12
  67. package/src/lib/index.js.map +0 -1
  68. package/src/lib/iterator/index.js +0 -11
  69. package/src/lib/iterator/index.js.map +0 -1
  70. package/src/lib/iterator/iteration.accumulator.js +0 -64
  71. package/src/lib/iterator/iteration.accumulator.js.map +0 -1
  72. package/src/lib/iterator/iteration.accumulator.rxjs.js +0 -50
  73. package/src/lib/iterator/iteration.accumulator.rxjs.js.map +0 -1
  74. package/src/lib/iterator/iteration.js +0 -3
  75. package/src/lib/iterator/iteration.js.map +0 -1
  76. package/src/lib/iterator/iteration.mapped.js +0 -37
  77. package/src/lib/iterator/iteration.mapped.js.map +0 -1
  78. package/src/lib/iterator/iteration.mapped.page.js +0 -36
  79. package/src/lib/iterator/iteration.mapped.page.js.map +0 -1
  80. package/src/lib/iterator/iteration.next.js +0 -68
  81. package/src/lib/iterator/iteration.next.js.map +0 -1
  82. package/src/lib/iterator/iterator.page.js +0 -266
  83. package/src/lib/iterator/iterator.page.js.map +0 -1
  84. package/src/lib/loading/index.js +0 -13
  85. package/src/lib/loading/index.js.map +0 -1
  86. package/src/lib/loading/loading.context.js +0 -3
  87. package/src/lib/loading/loading.context.js.map +0 -1
  88. package/src/lib/loading/loading.context.simple.js +0 -40
  89. package/src/lib/loading/loading.context.simple.js.map +0 -1
  90. package/src/lib/loading/loading.context.state.js +0 -57
  91. package/src/lib/loading/loading.context.state.js.map +0 -1
  92. package/src/lib/loading/loading.context.state.list.js +0 -72
  93. package/src/lib/loading/loading.context.state.list.js.map +0 -1
  94. package/src/lib/loading/loading.context.state.value.js +0 -41
  95. package/src/lib/loading/loading.context.state.value.js.map +0 -1
  96. package/src/lib/loading/loading.context.value.js +0 -36
  97. package/src/lib/loading/loading.context.value.js.map +0 -1
  98. package/src/lib/loading/loading.state.js +0 -319
  99. package/src/lib/loading/loading.state.js.map +0 -1
  100. package/src/lib/loading/loading.state.list.js +0 -31
  101. package/src/lib/loading/loading.state.list.js.map +0 -1
  102. package/src/lib/loading/loading.state.rxjs.js +0 -205
  103. package/src/lib/loading/loading.state.rxjs.js.map +0 -1
  104. package/src/lib/lock.js +0 -139
  105. package/src/lib/lock.js.map +0 -1
  106. package/src/lib/object.js +0 -24
  107. package/src/lib/object.js.map +0 -1
  108. package/src/lib/rxjs/array.js +0 -86
  109. package/src/lib/rxjs/array.js.map +0 -1
  110. package/src/lib/rxjs/boolean.js +0 -42
  111. package/src/lib/rxjs/boolean.js.map +0 -1
  112. package/src/lib/rxjs/decision.js +0 -46
  113. package/src/lib/rxjs/decision.js.map +0 -1
  114. package/src/lib/rxjs/delta.js +0 -54
  115. package/src/lib/rxjs/delta.js.map +0 -1
  116. package/src/lib/rxjs/factory.js +0 -21
  117. package/src/lib/rxjs/factory.js.map +0 -1
  118. package/src/lib/rxjs/getter.js +0 -46
  119. package/src/lib/rxjs/getter.js.map +0 -1
  120. package/src/lib/rxjs/index.js +0 -26
  121. package/src/lib/rxjs/index.js.map +0 -1
  122. package/src/lib/rxjs/key.js +0 -25
  123. package/src/lib/rxjs/key.js.map +0 -1
  124. package/src/lib/rxjs/lifecycle.js +0 -55
  125. package/src/lib/rxjs/lifecycle.js.map +0 -1
  126. package/src/lib/rxjs/loading.js +0 -16
  127. package/src/lib/rxjs/loading.js.map +0 -1
  128. package/src/lib/rxjs/map.js +0 -26
  129. package/src/lib/rxjs/map.js.map +0 -1
  130. package/src/lib/rxjs/misc.js +0 -32
  131. package/src/lib/rxjs/misc.js.map +0 -1
  132. package/src/lib/rxjs/model.js +0 -19
  133. package/src/lib/rxjs/model.js.map +0 -1
  134. package/src/lib/rxjs/number.js +0 -24
  135. package/src/lib/rxjs/number.js.map +0 -1
  136. package/src/lib/rxjs/rxjs.async.js +0 -73
  137. package/src/lib/rxjs/rxjs.async.js.map +0 -1
  138. package/src/lib/rxjs/rxjs.js +0 -62
  139. package/src/lib/rxjs/rxjs.js.map +0 -1
  140. package/src/lib/rxjs/rxjs.map.js +0 -61
  141. package/src/lib/rxjs/rxjs.map.js.map +0 -1
  142. package/src/lib/rxjs/rxjs.unique.js +0 -17
  143. package/src/lib/rxjs/rxjs.unique.js.map +0 -1
  144. package/src/lib/rxjs/set.js +0 -31
  145. package/src/lib/rxjs/set.js.map +0 -1
  146. package/src/lib/rxjs/string.js +0 -24
  147. package/src/lib/rxjs/string.js.map +0 -1
  148. package/src/lib/rxjs/timeout.js +0 -30
  149. package/src/lib/rxjs/timeout.js.map +0 -1
  150. package/src/lib/rxjs/use.js +0 -14
  151. package/src/lib/rxjs/use.js.map +0 -1
  152. package/src/lib/rxjs/value.js +0 -171
  153. package/src/lib/rxjs/value.js.map +0 -1
  154. package/src/lib/subscription.js +0 -68
  155. package/src/lib/subscription.js.map +0 -1
  156. package/src/lib/work/index.js +0 -6
  157. package/src/lib/work/index.js.map +0 -1
  158. package/src/lib/work/work.factory.js +0 -43
  159. package/src/lib/work/work.factory.js.map +0 -1
  160. package/src/lib/work/work.instance.js +0 -156
  161. package/src/lib/work/work.instance.js.map +0 -1
package/src/index.js DELETED
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./lib"), exports);
5
- //# sourceMappingURL=index.js.map
package/src/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/rxjs/src/index.ts"],"names":[],"mappings":";;;AAAA,gDAAsB"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FilterSourceConnector = exports.PresetFilterSource = exports.FilterSource = void 0;
4
- /**
5
- * Source that provides a filter observable.
6
- */
7
- class FilterSource {
8
- }
9
- exports.FilterSource = FilterSource;
10
- /**
11
- * A FilterSource that has a filter with a FilterPreset potentially available.
12
- */
13
- class PresetFilterSource extends FilterSource {
14
- }
15
- exports.PresetFilterSource = PresetFilterSource;
16
- /**
17
- * A FilterSourceConnector connects with a Source for a function.
18
- */
19
- class FilterSourceConnector {
20
- }
21
- exports.FilterSourceConnector = FilterSourceConnector;
22
- //# sourceMappingURL=filter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/filter/filter.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,MAAsB,YAAY;CAWjC;AAXD,oCAWC;AAiCD;;GAEG;AACH,MAAsB,kBAA6E,SAAQ,YAAe;CAAG;AAA7H,gDAA6H;AAE7H;;GAEG;AACH,MAAsB,qBAAqB;CAK1C;AALD,sDAKC"}
@@ -1,107 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FilterMapKeyInstance = exports.FilterMap = void 0;
4
- const value_1 = require("../rxjs/value");
5
- const filter_source_1 = require("./filter.source");
6
- const rxjs_1 = require("rxjs");
7
- /**
8
- * Class used to keep track of filters keyed by a specific string identifier.
9
- */
10
- class FilterMap {
11
- constructor() {
12
- this._map = new rxjs_1.BehaviorSubject(new Map());
13
- }
14
- filterForKey(key) {
15
- return this._map.pipe((0, rxjs_1.map)((x) => x.get(key)), (0, value_1.filterMaybe)(), (0, rxjs_1.first)(), // take first since the item never changes.
16
- (0, rxjs_1.switchMap)((x) => x.filter$), (0, value_1.filterMaybe)());
17
- }
18
- addDefaultFilterObs(key, obs) {
19
- this._itemForKey(key).setDefaultFilterObs(obs);
20
- }
21
- addFilterObs(key, obs) {
22
- this._itemForKey(key).addFilterObs(obs);
23
- }
24
- makeInstance(key) {
25
- return new FilterMapKeyInstance(this, key);
26
- }
27
- instanceObsForKeyObs(keyObs) {
28
- return keyObs.pipe((0, rxjs_1.distinctUntilChanged)(), (0, rxjs_1.map)((x) => this.makeInstance(x)), (0, rxjs_1.shareReplay)(1));
29
- }
30
- // MARK: Internal
31
- _itemForKey(key) {
32
- let item = this._map.value.get(key);
33
- if (!item) {
34
- item = new FilterMapItem(this, key);
35
- this._map.value.set(key, item);
36
- this._map.next(this._map.value);
37
- }
38
- return item;
39
- }
40
- // MARK: Cleanup
41
- destroy() {
42
- this._map.value.forEach((x) => x.destroy());
43
- this._map.complete();
44
- }
45
- }
46
- exports.FilterMap = FilterMap;
47
- class FilterMapKeyInstance {
48
- constructor(dbxFilterMap, key) {
49
- this.dbxFilterMap = dbxFilterMap;
50
- this.key = key;
51
- this.filter$ = this.dbxFilterMap.filterForKey(this.key);
52
- }
53
- initWithFilter(filterObs) {
54
- this.dbxFilterMap.addDefaultFilterObs(this.key, filterObs);
55
- }
56
- connectWithSource(filterSource) {
57
- this.dbxFilterMap.addFilterObs(this.key, filterSource.filter$);
58
- }
59
- }
60
- exports.FilterMapKeyInstance = FilterMapKeyInstance;
61
- class FilterMapItem {
62
- constructor(dbxFilterMap, key) {
63
- this.dbxFilterMap = dbxFilterMap;
64
- this.key = key;
65
- this._i = 0;
66
- this._source = new filter_source_1.FilterSourceInstance();
67
- this._obs = new rxjs_1.BehaviorSubject([]);
68
- this.obs$ = this._obs.pipe((0, rxjs_1.switchMap)((x) => (0, rxjs_1.merge)(...x.map((y) => y.obs))), (0, rxjs_1.distinctUntilChanged)());
69
- this.filter$ = this._source.initialFilter$;
70
- }
71
- setDefaultFilterObs(obs) {
72
- this._source.setDefaultFilter(obs);
73
- }
74
- addFilterObs(obs) {
75
- const currentObs = this._obs.value;
76
- const existingObsItem = currentObs.find((x) => x.obs === obs);
77
- if (!existingObsItem) {
78
- const i = this._i++;
79
- const deleteOnComplete = obs
80
- .pipe((0, rxjs_1.finalize)(() => {
81
- this._deleteFilterObs(i);
82
- }))
83
- .subscribe();
84
- const nextObs = [...currentObs, { i, obs, deleteOnComplete }];
85
- this._obs.next(nextObs);
86
- if (i === 0) {
87
- /**
88
- * MapItem uses the behavior of the DefaultFilterSource to provide a default filter value.
89
- */
90
- this._source.initWithFilter(this.obs$);
91
- }
92
- }
93
- }
94
- _deleteFilterObs(index) {
95
- const currentObs = this._obs.value;
96
- const obsToRetain = currentObs.filter((x) => x.i !== index);
97
- if (obsToRetain.length !== currentObs.length) {
98
- this._obs.next(this._obs.value);
99
- }
100
- }
101
- destroy() {
102
- this._obs.value.forEach((x) => x.deleteOnComplete.unsubscribe());
103
- this._source.destroy();
104
- this._obs.complete();
105
- }
106
- }
107
- //# sourceMappingURL=filter.map.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filter.map.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/filter/filter.map.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAE5C,mDAAuD;AACvD,+BAA4I;AAS5I;;GAEG;AACH,MAAa,SAAS;IAAtB;QACmB,SAAI,GAAG,IAAI,sBAAe,CAAsC,IAAI,GAAG,EAAE,CAAC,CAAC;IAkD9F,CAAC;IAhDC,YAAY,CAAC,GAAiB;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EACtB,IAAA,mBAAW,GAAE,EACb,IAAA,YAAK,GAAE,EAAE,2CAA2C;QACpD,IAAA,gBAAS,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAC3B,IAAA,mBAAW,GAAE,CACd,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,GAAiB,EAAE,GAAgC;QACrE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,YAAY,CAAC,GAAiB,EAAE,GAAkB;QAChD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,YAAY,CAAC,GAAiB;QAC5B,OAAO,IAAI,oBAAoB,CAAI,IAAI,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,oBAAoB,CAAC,MAAgC;QACnD,OAAO,MAAM,CAAC,IAAI,CAChB,IAAA,2BAAoB,GAAE,EACtB,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAChC,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;IACJ,CAAC;IAED,iBAAiB;IACT,WAAW,CAAC,GAAiB;QACnC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,GAAG,IAAI,aAAa,CAAI,IAAI,EAAE,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACjC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB;IAChB,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACvB,CAAC;CACF;AAnDD,8BAmDC;AAED,MAAa,oBAAoB;IAG/B,YAAqB,YAA0B,EAAW,GAAiB;QAAtD,iBAAY,GAAZ,YAAY,CAAc;QAAW,QAAG,GAAH,GAAG,CAAc;QAFlE,YAAO,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEkB,CAAC;IAE/E,cAAc,CAAC,SAAwB;QACrC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IAED,iBAAiB,CAAC,YAA6B;QAC7C,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;CACF;AAZD,oDAYC;AAOD,MAAM,aAAa;IAYjB,YAAqB,YAA0B,EAAW,GAAiB;QAAtD,iBAAY,GAAZ,YAAY,CAAc;QAAW,QAAG,GAAH,GAAG,CAAc;QAXnE,OAAE,GAAG,CAAC,CAAC;QACP,YAAO,GAAG,IAAI,oCAAoB,EAAK,CAAC;QACxC,SAAI,GAAG,IAAI,sBAAe,CAAwB,EAAE,CAAC,CAAC;QAEtD,SAAI,GAAkB,IAAI,CAAC,IAAI,CAAC,IAAI,CAC1C,IAAA,gBAAS,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,YAAK,EAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAC/C,IAAA,2BAAoB,GAAE,CACvB,CAAC;QAEO,YAAO,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;IAE+B,CAAC;IAE/E,mBAAmB,CAAC,GAAgC;QAClD,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,YAAY,CAAC,GAAkB;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QACnC,MAAM,eAAe,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QAE9D,IAAI,CAAC,eAAe,EAAE;YACpB,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YAEpB,MAAM,gBAAgB,GAAG,GAAG;iBACzB,IAAI,CACH,IAAA,eAAQ,EAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC,CAAC,CACH;iBACA,SAAS,EAAE,CAAC;YAEf,MAAM,OAAO,GAAG,CAAC,GAAG,UAAU,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAExB,IAAI,CAAC,KAAK,CAAC,EAAE;gBACX;;mBAEG;gBACH,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxC;SACF;IACH,CAAC;IAEO,gBAAgB,CAAC,KAAkB;QACzC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QACnC,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;QAE5D,IAAI,WAAW,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,EAAE;YAC5C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACjC;IACH,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACvB,CAAC;CACF"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapFilterWithPreset = exports.makeMapFilterWithPresetFn = void 0;
4
- const rxjs_1 = require("rxjs");
5
- function makeMapFilterWithPresetFn(fn) {
6
- return (filter) => {
7
- if (filter.preset) {
8
- const result = fn(filter);
9
- delete result.preset;
10
- return result;
11
- }
12
- else {
13
- return filter;
14
- }
15
- };
16
- }
17
- exports.makeMapFilterWithPresetFn = makeMapFilterWithPresetFn;
18
- function mapFilterWithPreset(fn) {
19
- return (0, rxjs_1.map)(makeMapFilterWithPresetFn(fn));
20
- }
21
- exports.mapFilterWithPreset = mapFilterWithPreset;
22
- //# sourceMappingURL=filter.preset.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filter.preset.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/filter/filter.preset.ts"],"names":[],"mappings":";;;AACA,+BAA6C;AAI7C,SAAgB,yBAAyB,CAA6B,EAA4B;IAChG,OAAO,CAAC,MAAS,EAAE,EAAE;QACnB,IAAI,MAAM,CAAC,MAAM,EAAE;YACjB,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAM,CAAC;YAC/B,OAAO,MAAM,CAAC,MAAM,CAAC;YACrB,OAAO,MAAM,CAAC;SACf;aAAM;YACL,OAAO,MAAM,CAAC;SACf;IACH,CAAC,CAAC;AACJ,CAAC;AAVD,8DAUC;AAED,SAAgB,mBAAmB,CAA6B,EAA4B;IAC1F,OAAO,IAAA,UAAG,EAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC;AAFD,kDAEC"}
@@ -1,77 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FilterSourceInstance = void 0;
4
- const rxjs_1 = require("@dereekb/rxjs");
5
- const rxjs_2 = require("rxjs");
6
- const object_1 = require("../object");
7
- const getter_1 = require("../rxjs/getter");
8
- const value_1 = require("../rxjs/value");
9
- /**
10
- * A basic FilterSource implementation.
11
- */
12
- class FilterSourceInstance {
13
- constructor() {
14
- this._initialFilterSub = new rxjs_1.SubscriptionObject();
15
- this._initialFilterTakesPriority = new rxjs_2.BehaviorSubject(false);
16
- this._filter = new rxjs_2.BehaviorSubject(undefined);
17
- this._initialFilter = new rxjs_2.BehaviorSubject(undefined);
18
- this._defaultFilter = new rxjs_2.BehaviorSubject(undefined);
19
- this.defaultFilter$ = this._defaultFilter.pipe((0, value_1.switchMapMaybeObs)());
20
- this.initialFilter$ = (0, rxjs_2.combineLatest)([this._initialFilter, this._defaultFilter]).pipe((0, rxjs_2.map)(([a, b]) => a !== null && a !== void 0 ? a : b), (0, value_1.switchMapMaybeObs)(), (0, rxjs_2.distinctUntilChanged)(), (0, rxjs_2.shareReplay)(1));
21
- /**
22
- * filter$ uses the latest value from any filter.
23
- */
24
- this.filter$ = this._filter.pipe((0, rxjs_2.switchMap)((x) => (x != null ? (0, rxjs_2.of)(x) : this.initialFilter$)), (0, value_1.filterMaybe)(), // Only provided non-maybe filter values.
25
- (0, object_1.distinctUntilObjectValuesChanged)(), (0, rxjs_2.shareReplay)(1));
26
- }
27
- initWithFilter(filterObs) {
28
- this._initialFilter.next(filterObs);
29
- this.initFilterTakesPriority();
30
- }
31
- setDefaultFilter(filter) {
32
- this._defaultFilter.next((0, getter_1.asObservable)(filter));
33
- }
34
- setFilter(filter) {
35
- this._filter.next(filter);
36
- }
37
- /**
38
- * Resets the current filter to be the default filter.
39
- */
40
- resetFilter() {
41
- this._filter.next(undefined);
42
- }
43
- // MARK: Accessors
44
- get initialFilterTakesPriority() {
45
- return this._initialFilterTakesPriority.value;
46
- }
47
- set initialFilterTakesPriority(initialFilterTakesPriority) {
48
- this._initialFilterTakesPriority.next(initialFilterTakesPriority);
49
- this.initFilterTakesPriority();
50
- }
51
- // MARK: Init
52
- initFilterTakesPriority() {
53
- if (!this._initialFilterSub.subscription) {
54
- this._initialFilterSub.subscription = this._initialFilterTakesPriority
55
- .pipe((0, rxjs_2.switchMap)((clearFilterOnInitialFilterPush) => {
56
- if (clearFilterOnInitialFilterPush) {
57
- return this._initialFilter.pipe((0, rxjs_2.switchMap)((x) => (x ? x : rxjs_2.EMPTY)), (0, rxjs_2.filter)((x) => Boolean(x)), (0, rxjs_2.skip)(1) // skip the first emission
58
- );
59
- }
60
- else {
61
- return rxjs_2.EMPTY;
62
- }
63
- }))
64
- .subscribe(() => this.resetFilter());
65
- }
66
- }
67
- // MARK: Cleanup
68
- destroy() {
69
- this._initialFilterSub.destroy();
70
- this._initialFilterTakesPriority.complete();
71
- this._filter.complete();
72
- this._initialFilter.complete();
73
- this._defaultFilter.complete();
74
- }
75
- }
76
- exports.FilterSourceInstance = FilterSourceInstance;
77
- //# sourceMappingURL=filter.source.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filter.source.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/filter/filter.source.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./filter.map"), exports);
5
- tslib_1.__exportStar(require("./filter.preset"), exports);
6
- tslib_1.__exportStar(require("./filter.source"), exports);
7
- tslib_1.__exportStar(require("./filter"), exports);
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/filter/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B;AAC7B,0DAAgC;AAChC,0DAAgC;AAChC,mDAAyB"}
package/src/lib/index.js DELETED
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./filter"), exports);
5
- tslib_1.__exportStar(require("./iterator"), exports);
6
- tslib_1.__exportStar(require("./loading"), exports);
7
- tslib_1.__exportStar(require("./lock"), exports);
8
- tslib_1.__exportStar(require("./object"), exports);
9
- tslib_1.__exportStar(require("./rxjs"), exports);
10
- tslib_1.__exportStar(require("./work"), exports);
11
- tslib_1.__exportStar(require("./subscription"), exports);
12
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/rxjs/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,qDAA2B;AAC3B,oDAA0B;AAC1B,iDAAuB;AACvB,mDAAyB;AACzB,iDAAuB;AACvB,iDAAuB;AACvB,yDAA+B"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./iteration.next"), exports);
5
- tslib_1.__exportStar(require("./iteration.accumulator"), exports);
6
- tslib_1.__exportStar(require("./iteration.accumulator.rxjs"), exports);
7
- tslib_1.__exportStar(require("./iteration"), exports);
8
- tslib_1.__exportStar(require("./iteration.mapped"), exports);
9
- tslib_1.__exportStar(require("./iteration.mapped.page"), exports);
10
- tslib_1.__exportStar(require("./iterator.page"), exports);
11
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/iterator/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,kEAAwC;AACxC,uEAA6C;AAC7C,sDAA4B;AAC5B,6DAAmC;AACnC,kEAAwC;AACxC,0DAAgC"}
@@ -1,64 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.itemAccumulator = exports.ItemAccumulatorInstance = void 0;
4
- const subscription_1 = require("../subscription");
5
- const rxjs_1 = require("rxjs");
6
- const rxjs_2 = require("../rxjs");
7
- const util_1 = require("@dereekb/util");
8
- const loading_1 = require("../loading");
9
- /**
10
- * ItemAccumulator implementation.
11
- */
12
- class ItemAccumulatorInstance {
13
- constructor(itemIteration, mapItemFunction) {
14
- this.itemIteration = itemIteration;
15
- this.mapItemFunction = mapItemFunction;
16
- this.hasCompletedInitialLoad$ = this.itemIteration.firstState$.pipe((0, rxjs_1.map)(() => true), (0, rxjs_1.startWith)(false), (0, rxjs_1.distinctUntilChanged)(), (0, rxjs_1.shareReplay)(1));
17
- this.latestSuccessfulState$ = this.itemIteration.latestState$.pipe((0, rxjs_1.filter)((x) => !(0, loading_1.loadingStateHasError)(x)), (0, rxjs_1.distinctUntilChanged)(), (0, rxjs_1.shareReplay)(1));
18
- /**
19
- * All successful page results in a single array.
20
- */
21
- this.allSuccessfulStates$ = this.latestSuccessfulState$.pipe((0, rxjs_2.scanIntoArray)({ immutable: false }),
22
- /**
23
- * Don't wait for the first successful state in order to avoid never returning a value on immediate failures.
24
- */
25
- (0, rxjs_1.startWith)([]), (0, rxjs_2.distinctUntilArrayLengthChanges)(), (0, rxjs_1.shareReplay)(1));
26
- this.successfulLoadCount$ = this.allSuccessfulStates$.pipe((0, rxjs_1.map)((x) => x.length), (0, rxjs_1.shareReplay)(1));
27
- // MARK: ItemAccumulator
28
- this.currentAllItemPairs$ = this.allSuccessfulStates$.pipe((0, rxjs_2.scanBuildArray)((allSuccessfulStates) => {
29
- const mapStateToItem = (0, util_1.mapFunctionOutputPair)((0, loading_1.mapLoadingStateValueFunction)(this.mapItemFunction));
30
- /*
31
- Start with allSuccessfulPageResults$ since it contains all page results since the start of the iterator,
32
- and subscription to allItems may not have started at the same time.
33
-
34
- We use scan to add in all models coming in afterwards by pushing them into the accumulator.
35
- This is to prevent performance issues with very large iteration sets, since we can
36
- append onto the array, rather than concat/copy the array each time.
37
- */
38
- const allPageResultsUpToFirstSubscription = allSuccessfulStates;
39
- const firstLatestState = (0, util_1.lastValue)(allPageResultsUpToFirstSubscription);
40
- const seed = allPageResultsUpToFirstSubscription.map(mapStateToItem).filter((x) => (0, util_1.isMaybeSo)(x.output));
41
- const accumulatorObs = this.latestSuccessfulState$.pipe((0, rxjs_1.skipWhile)((x) => x === firstLatestState), (0, rxjs_1.map)(mapStateToItem), (0, rxjs_1.filter)((x) => (0, util_1.isMaybeSo)(x.output)));
42
- return {
43
- seed,
44
- accumulatorObs
45
- };
46
- }), (0, rxjs_1.shareReplay)(1));
47
- this.currentAllItems$ = this.currentAllItemPairs$.pipe((0, rxjs_1.map)((x) => x.map((y) => y.output)), (0, rxjs_1.shareReplay)(1));
48
- this.allItemPairs$ = this.hasCompletedInitialLoad$.pipe((0, rxjs_2.switchMapWhileTrue)(this.currentAllItemPairs$), (0, rxjs_1.shareReplay)(1));
49
- this.allItems$ = this.hasCompletedInitialLoad$.pipe((0, rxjs_2.switchMapWhileTrue)(this.currentAllItems$), (0, rxjs_1.shareReplay)(1));
50
- this._sub = new subscription_1.SubscriptionObject(this.allSuccessfulStates$.subscribe());
51
- }
52
- destroy() {
53
- this._sub.destroy();
54
- }
55
- }
56
- exports.ItemAccumulatorInstance = ItemAccumulatorInstance;
57
- function itemAccumulator(itemIteration, mapItem) {
58
- if (!mapItem) {
59
- mapItem = (a) => a;
60
- }
61
- return new ItemAccumulatorInstance(itemIteration, mapItem);
62
- }
63
- exports.itemAccumulator = itemAccumulator;
64
- //# sourceMappingURL=iteration.accumulator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"iteration.accumulator.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/iterator/iteration.accumulator.ts"],"names":[],"mappings":"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"}
@@ -1,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.accumulatorCurrentPageListLoadingState = exports.accumulatorFlattenPageListLoadingState = exports.flattenAccumulatorResultItemArray = void 0;
4
- const util_1 = require("@dereekb/util");
5
- const rxjs_1 = require("../rxjs");
6
- const rxjs_2 = require("rxjs");
7
- const loading_1 = require("../loading");
8
- /**
9
- * Used for ItemAccumulators that have an array of results returned per page instead of a single item.
10
- *
11
- * @param accumulator
12
- * @returns
13
- */
14
- function flattenAccumulatorResultItemArray(accumulator) {
15
- return accumulator.currentAllItemPairs$.pipe((0, rxjs_1.scanBuildArray)((allItems) => {
16
- const pairs = allItems;
17
- const firstLatestItemPair = (0, util_1.lastValue)(allItems);
18
- const skipValue = firstLatestItemPair === null || firstLatestItemPair === void 0 ? void 0 : firstLatestItemPair.input;
19
- const seed = (0, util_1.flattenArray)(pairs.map((x) => x.output));
20
- const mapStateToItem = (0, loading_1.mapLoadingStateValueFunction)(accumulator.mapItemFunction);
21
- const accumulatorObs = accumulator.itemIteration.latestState$.pipe((0, rxjs_2.skipWhile)((x) => x.value === skipValue), (0, rxjs_2.map)(mapStateToItem), (0, rxjs_1.filterMaybe)());
22
- return {
23
- seed,
24
- accumulatorObs,
25
- flattenArray: true
26
- };
27
- }));
28
- }
29
- exports.flattenAccumulatorResultItemArray = flattenAccumulatorResultItemArray;
30
- /**
31
- * A PageListLoadingState that captures all the values that have been loaded so far, flattens them as an array, and the current loading state of currentPageResult$.
32
- */
33
- function accumulatorFlattenPageListLoadingState(accumulator) {
34
- return (0, rxjs_2.combineLatest)([accumulator.itemIteration.currentState$, flattenAccumulatorResultItemArray(accumulator)]).pipe((0, rxjs_2.map)(([state, values]) => (0, loading_1.mapLoadingStateResults)(state, {
35
- alwaysMapValue: true,
36
- mapValue: () => values
37
- })), (0, rxjs_2.shareReplay)(1));
38
- }
39
- exports.accumulatorFlattenPageListLoadingState = accumulatorFlattenPageListLoadingState;
40
- /**
41
- * A PageListLoadingState that captures all the values that have been loaded so far, and the current loading state of currentPageResult$.
42
- */
43
- function accumulatorCurrentPageListLoadingState(accumulator) {
44
- return (0, rxjs_2.combineLatest)([accumulator.itemIteration.currentState$, accumulator.currentAllItems$]).pipe((0, rxjs_2.map)(([state, values]) => (0, loading_1.mapLoadingStateResults)(state, {
45
- alwaysMapValue: true,
46
- mapValue: () => values
47
- })), (0, rxjs_2.shareReplay)(1));
48
- }
49
- exports.accumulatorCurrentPageListLoadingState = accumulatorCurrentPageListLoadingState;
50
- //# sourceMappingURL=iteration.accumulator.rxjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"iteration.accumulator.rxjs.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/iterator/iteration.accumulator.rxjs.ts"],"names":[],"mappings":";;;AAAA,wCAAwD;AACxD,kCAAsD;AACtD,+BAA8E;AAC9E,wCAAwG;AAGxG;;;;;GAKG;AACH,SAAgB,iCAAiC,CAAiB,WAAoC;IACpG,OAAO,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAC1C,IAAA,qBAAc,EAAwC,CAAC,QAA4C,EAAE,EAAE;QACrG,MAAM,KAAK,GAAuC,QAAQ,CAAC;QAC3D,MAAM,mBAAmB,GAAG,IAAA,gBAAS,EAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,CAAC;QAC7C,MAAM,IAAI,GAAQ,IAAA,mBAAY,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAE3D,MAAM,cAAc,GAAG,IAAA,sCAA4B,EAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACjF,MAAM,cAAc,GAAoB,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CACjF,IAAA,gBAAS,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,EACvC,IAAA,UAAG,EAAC,cAAc,CAAC,EACnB,IAAA,kBAAW,GAAE,CACd,CAAC;QAEF,OAAO;YACL,IAAI;YACJ,cAAc;YACd,YAAY,EAAE,IAAI;SACnB,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAtBD,8EAsBC;AAED;;GAEG;AACH,SAAgB,sCAAsC,CAAiB,WAAwC;IAC7G,OAAO,IAAA,oBAAa,EAAC,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,EAAE,iCAAiC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAClH,IAAA,UAAG,EACD,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAClB,IAAA,gCAAsB,EAAC,KAAK,EAAE;QAC5B,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM;KACvB,CAA4B,CAChC,EACD,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;AACJ,CAAC;AAXD,wFAWC;AAED;;GAEG;AACH,SAAgB,sCAAsC,CAAiB,WAAsC;IAC3G,OAAO,IAAA,oBAAa,EAAC,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAChG,IAAA,UAAG,EACD,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAClB,IAAA,gCAAsB,EAAC,KAAK,EAAE;QAC5B,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM;KACvB,CAA4B,CAChC,EACD,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;AACJ,CAAC;AAXD,wFAWC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=iteration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"iteration.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/iterator/iteration.ts"],"names":[],"mappings":""}
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapItemIteration = exports.MappedItemIterationInstance = void 0;
4
- const loading_1 = require("../loading");
5
- const rxjs_1 = require("rxjs");
6
- class MappedItemIterationInstance {
7
- constructor(itemIterator, config) {
8
- this.itemIterator = itemIterator;
9
- this.config = config;
10
- this.hasNext$ = this.itemIterator.hasNext$;
11
- this.canLoadMore$ = this.itemIterator.canLoadMore$;
12
- this.firstState$ = this.itemIterator.firstState$.pipe((0, rxjs_1.map)((state) => (0, loading_1.mapLoadingStateResults)(state, this.config)), (0, rxjs_1.shareReplay)(1));
13
- this.latestState$ = this.itemIterator.latestState$.pipe((0, rxjs_1.map)((state) => (0, loading_1.mapLoadingStateResults)(state, this.config)), (0, rxjs_1.shareReplay)(1));
14
- this.currentState$ = this.itemIterator.currentState$.pipe((0, rxjs_1.map)((state) => (0, loading_1.mapLoadingStateResults)(state, this.config)), (0, rxjs_1.shareReplay)(1));
15
- }
16
- next(request) {
17
- return this.itemIterator.next(request);
18
- }
19
- destroy() {
20
- if (this.config.forwardDestroy !== false) {
21
- this.itemIterator.destroy();
22
- }
23
- }
24
- }
25
- exports.MappedItemIterationInstance = MappedItemIterationInstance;
26
- /**
27
- * Creates a new MappedItemIteration instance given the input ItemIteration and config.
28
- *
29
- * @param itemIteration
30
- * @param config
31
- * @returns
32
- */
33
- function mapItemIteration(itemIteration, config) {
34
- return new MappedItemIterationInstance(itemIteration, config);
35
- }
36
- exports.mapItemIteration = mapItemIteration;
37
- //# sourceMappingURL=iteration.mapped.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"iteration.mapped.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/iterator/iteration.mapped.ts"],"names":[],"mappings":";;;AAAA,wCAAyH;AAEzH,+BAAoD;AAoBpD,MAAa,2BAA2B;IACtC,YAAqB,YAAe,EAAW,MAAwD;QAAlF,iBAAY,GAAZ,YAAY,CAAG;QAAW,WAAM,GAAN,MAAM,CAAkD;QAE9F,aAAQ,GAAwB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;QAC3D,iBAAY,GAAwB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;QAEnE,gBAAW,GAAkB,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CACtE,IAAA,UAAG,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,gCAAsB,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAC1D,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;QAEO,iBAAY,GAAkB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CACxE,IAAA,UAAG,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,gCAAsB,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAC1D,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;QAEO,kBAAa,GAAkB,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAC1E,IAAA,UAAG,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,gCAAsB,EAAa,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EACtE,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;IAlBwG,CAAC;IAoB3G,IAAI,CAAC,OAAiC;QACpC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,KAAK,KAAK,EAAE;YACxC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;SAC7B;IACH,CAAC;CACF;AA9BD,kEA8BC;AAED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAgK,aAAgB,EAAE,MAAwD;IACxQ,OAAO,IAAI,2BAA2B,CAAgB,aAAa,EAAE,MAAM,CAAC,CAAC;AAC/E,CAAC;AAFD,4CAEC"}
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapPageItemIteration = exports.MappedPageItemIterationInstance = void 0;
4
- const iteration_mapped_1 = require("./iteration.mapped");
5
- /**
6
- * MappedItemIterationInstance extension that implements PageItemIteration.
7
- */
8
- class MappedPageItemIterationInstance extends iteration_mapped_1.MappedItemIterationInstance {
9
- constructor() {
10
- super(...arguments);
11
- this.latestLoadedPage$ = this.itemIterator.latestLoadedPage$;
12
- }
13
- // MARK: PageItemIteration
14
- get maxPageLoadLimit() {
15
- return this.itemIterator.maxPageLoadLimit;
16
- }
17
- set maxPageLoadLimit(maxPageLoadLimit) {
18
- this.itemIterator.maxPageLoadLimit = maxPageLoadLimit;
19
- }
20
- nextPage(request) {
21
- return this.itemIterator.nextPage(request);
22
- }
23
- }
24
- exports.MappedPageItemIterationInstance = MappedPageItemIterationInstance;
25
- /**
26
- * Creates a new MappedItemIteration instance given the input ItemIteration and config.
27
- *
28
- * @param itemIteration
29
- * @param config
30
- * @returns
31
- */
32
- function mapPageItemIteration(itemIteration, config) {
33
- return new MappedPageItemIterationInstance(itemIteration, config);
34
- }
35
- exports.mapPageItemIteration = mapPageItemIteration;
36
- //# sourceMappingURL=iteration.mapped.page.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"iteration.mapped.page.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/iterator/iteration.mapped.page.ts"],"names":[],"mappings":";;;AAGA,yDAA4H;AAQ5H;;GAEG;AACH,MAAa,+BAAuN,SAAQ,8CAA0C;IAAtR;;QAUW,sBAAiB,GAAuB,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC;IAKvF,CAAC;IAdC,0BAA0B;IAC1B,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;IAC5C,CAAC;IAED,IAAI,gBAAgB,CAAC,gBAA+B;QAClD,IAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IACxD,CAAC;IAID,QAAQ,CAAC,OAAiC;QACxC,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;CACF;AAfD,0EAeC;AAED;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAAwL,aAAgB,EAAE,MAAwD;IACpS,OAAO,IAAI,+BAA+B,CAAgB,aAAa,EAAE,MAAM,CAAC,CAAC;AACnF,CAAC;AAFD,oDAEC"}
@@ -1,68 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.iteratorNextPageUntilPage = exports.iteratorNextPageUntilMaxPageLoadLimit = exports.iterationHasNextAndCanLoadMore = void 0;
4
- const tslib_1 = require("tslib");
5
- const rxjs_1 = require("rxjs");
6
- const util_1 = require("@dereekb/util");
7
- /**
8
- * Creates an observable from the input iteration that checks both the hasNext$ and canLoadMore$ states.
9
- *
10
- * @param iteration
11
- * @returns
12
- */
13
- function iterationHasNextAndCanLoadMore(iteration) {
14
- return (0, rxjs_1.combineLatest)([iteration.hasNext$, iteration.canLoadMore$]).pipe((0, rxjs_1.map)((0, util_1.reduceBooleansWithAndFn)(true)), (0, rxjs_1.shareReplay)(1));
15
- }
16
- exports.iterationHasNextAndCanLoadMore = iterationHasNextAndCanLoadMore;
17
- /**
18
- * Automatically calls next up to the current maxPageLoadLimit configured on the iterator.
19
- *
20
- * If no maximum limit is defined, uses the defaultLimit. If default limit is not defined or null, this will result in an error.
21
- *
22
- * The promise will reject with an error if an error is encountered.
23
- *
24
- * @param iterator
25
- * @param defaultLimit
26
- * @returns
27
- */
28
- function iteratorNextPageUntilMaxPageLoadLimit(iterator, defaultLimit = 100) {
29
- return iteratorNextPageUntilPage(iterator, () => {
30
- var _a;
31
- const limit = (_a = iterator.maxPageLoadLimit) !== null && _a !== void 0 ? _a : defaultLimit;
32
- if ((0, util_1.isMaybeNot)(limit)) {
33
- throw new Error('iteratorNextPageUntilMaxPageLoadLimit() failed. There was no maximum defined.');
34
- }
35
- return limit;
36
- });
37
- }
38
- exports.iteratorNextPageUntilMaxPageLoadLimit = iteratorNextPageUntilMaxPageLoadLimit;
39
- /**
40
- * Automatically calls next on the PageItemIteration up to the target page, the number of total pages that should be loaded.
41
- *
42
- * The promise will reject with an error if an error is encountered.
43
- *
44
- * @param iteration
45
- * @param page
46
- * @returns
47
- */
48
- function iteratorNextPageUntilPage(iteration, page) {
49
- const getPageLimit = (0, util_1.asGetter)(page);
50
- function checkPageLimit(page) {
51
- var _a;
52
- const pageLimit = getPageLimit();
53
- const maxLimit = Math.min(pageLimit, (_a = iteration.maxPageLoadLimit) !== null && _a !== void 0 ? _a : Number.MAX_SAFE_INTEGER);
54
- return page + 1 < maxLimit;
55
- }
56
- return new Promise((resolve) => {
57
- iteration.latestLoadedPage$.pipe((0, rxjs_1.first)()).subscribe((firstLatestPage) => {
58
- const promise = (0, util_1.performTaskLoop)({
59
- initValue: firstLatestPage,
60
- checkContinue: (latestPage) => checkPageLimit(latestPage),
61
- next: () => tslib_1.__awaiter(this, void 0, void 0, function* () { return yield iteration.nextPage(); })
62
- });
63
- resolve(promise);
64
- });
65
- });
66
- }
67
- exports.iteratorNextPageUntilPage = iteratorNextPageUntilPage;
68
- //# sourceMappingURL=iteration.next.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"iteration.next.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/iterator/iteration.next.ts"],"names":[],"mappings":";;;;AAAA,+BAA0E;AAE1E,wCAAqH;AAErH;;;;;GAKG;AACH,SAAgB,8BAA8B,CAAI,SAA2B;IAC3E,OAAO,IAAA,oBAAa,EAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAA,UAAG,EAAC,IAAA,8BAAuB,EAAC,IAAI,CAAC,CAAC,EAAE,IAAA,kBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;AAC9H,CAAC;AAFD,wEAEC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,qCAAqC,CAAC,QAA2B,EAAE,eAA8B,GAAG;IAClH,OAAO,yBAAyB,CAAC,QAAQ,EAAE,GAAG,EAAE;;QAC9C,MAAM,KAAK,GAAkB,MAAA,QAAQ,CAAC,gBAAgB,mCAAI,YAAY,CAAC;QAEvE,IAAI,IAAA,iBAAU,EAAC,KAAK,CAAC,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;SAClG;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAVD,sFAUC;AAED;;;;;;;;GAQG;AACH,SAAgB,yBAAyB,CAAC,SAA4B,EAAE,IAA2B;IACjG,MAAM,YAAY,GAAG,IAAA,eAAQ,EAAC,IAAI,CAAC,CAAC;IAEpC,SAAS,cAAc,CAAC,IAAY;;QAClC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAA,SAAS,CAAC,gBAAgB,mCAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC5F,OAAO,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAA,YAAK,GAAE,CAAC,CAAC,SAAS,CAAC,CAAC,eAAuB,EAAE,EAAE;YAC9E,MAAM,OAAO,GAAoB,IAAA,sBAAe,EAAS;gBACvD,SAAS,EAAE,eAAe;gBAC1B,aAAa,EAAE,CAAC,UAAkB,EAAE,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;gBACjE,IAAI,EAAE,GAAS,EAAE,wDAAC,OAAA,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAA,GAAA;aAC7C,CAAC,CAAC;YAEH,OAAO,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AApBD,8DAoBC"}