@dereekb/rxjs 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/package.json +13 -0
- package/src/index.d.ts +1 -0
- package/src/index.js +5 -0
- package/src/index.js.map +1 -0
- package/src/lib/index.d.ts +6 -0
- package/src/lib/index.js +10 -0
- package/src/lib/index.js.map +1 -0
- package/src/lib/iterator/index.d.ts +6 -0
- package/src/lib/iterator/index.js +10 -0
- package/src/lib/iterator/index.js.map +1 -0
- package/src/lib/iterator/iteration.accumulator.d.ts +56 -0
- package/src/lib/iterator/iteration.accumulator.js +63 -0
- package/src/lib/iterator/iteration.accumulator.js.map +1 -0
- package/src/lib/iterator/iteration.accumulator.rxjs.d.ts +14 -0
- package/src/lib/iterator/iteration.accumulator.rxjs.js +35 -0
- package/src/lib/iterator/iteration.accumulator.rxjs.js.map +1 -0
- package/src/lib/iterator/iteration.d.ts +58 -0
- package/src/lib/iterator/iteration.js +3 -0
- package/src/lib/iterator/iteration.js.map +1 -0
- package/src/lib/iterator/iteration.mapped.d.ts +38 -0
- package/src/lib/iterator/iteration.mapped.js +36 -0
- package/src/lib/iterator/iteration.mapped.js.map +1 -0
- package/src/lib/iterator/iteration.mapped.page.d.ts +25 -0
- package/src/lib/iterator/iteration.mapped.page.js +36 -0
- package/src/lib/iterator/iteration.mapped.page.js.map +1 -0
- package/src/lib/iterator/iteration.next.d.ts +27 -0
- package/src/lib/iterator/iteration.next.js +55 -0
- package/src/lib/iterator/iteration.next.js.map +1 -0
- package/src/lib/iterator/iterator.page.d.ts +172 -0
- package/src/lib/iterator/iterator.page.js +238 -0
- package/src/lib/iterator/iterator.page.js.map +1 -0
- package/src/lib/loading/index.d.ts +7 -0
- package/src/lib/loading/index.js +11 -0
- package/src/lib/loading/index.js.map +1 -0
- package/src/lib/loading/loading.context.d.ts +8 -0
- package/src/lib/loading/loading.context.js +3 -0
- package/src/lib/loading/loading.context.js.map +1 -0
- package/src/lib/loading/loading.context.simple.d.ts +17 -0
- package/src/lib/loading/loading.context.simple.js +40 -0
- package/src/lib/loading/loading.context.simple.js.map +1 -0
- package/src/lib/loading/loading.context.state.d.ts +33 -0
- package/src/lib/loading/loading.context.state.js +52 -0
- package/src/lib/loading/loading.context.state.js.map +1 -0
- package/src/lib/loading/loading.context.state.model.d.ts +18 -0
- package/src/lib/loading/loading.context.state.model.js +37 -0
- package/src/lib/loading/loading.context.state.model.js.map +1 -0
- package/src/lib/loading/loading.context.state.page.d.ts +21 -0
- package/src/lib/loading/loading.context.state.page.js +46 -0
- package/src/lib/loading/loading.context.state.page.js.map +1 -0
- package/src/lib/loading/loading.context.value.d.ts +19 -0
- package/src/lib/loading/loading.context.value.js +36 -0
- package/src/lib/loading/loading.context.value.js.map +1 -0
- package/src/lib/loading/loading.state.d.ts +90 -0
- package/src/lib/loading/loading.state.js +188 -0
- package/src/lib/loading/loading.state.js.map +1 -0
- package/src/lib/lock.d.ts +56 -0
- package/src/lib/lock.js +109 -0
- package/src/lib/lock.js.map +1 -0
- package/src/lib/object.d.ts +10 -0
- package/src/lib/object.js +25 -0
- package/src/lib/object.js.map +1 -0
- package/src/lib/rxjs/array.d.ts +32 -0
- package/src/lib/rxjs/array.js +54 -0
- package/src/lib/rxjs/array.js.map +1 -0
- package/src/lib/rxjs/boolean.d.ts +5 -0
- package/src/lib/rxjs/boolean.js +12 -0
- package/src/lib/rxjs/boolean.js.map +1 -0
- package/src/lib/rxjs/index.d.ts +6 -0
- package/src/lib/rxjs/index.js +10 -0
- package/src/lib/rxjs/index.js.map +1 -0
- package/src/lib/rxjs/loading.d.ts +5 -0
- package/src/lib/rxjs/loading.js +12 -0
- package/src/lib/rxjs/loading.js.map +1 -0
- package/src/lib/rxjs/number.d.ts +5 -0
- package/src/lib/rxjs/number.js +12 -0
- package/src/lib/rxjs/number.js.map +1 -0
- package/src/lib/rxjs/rxjs.d.ts +7 -0
- package/src/lib/rxjs/rxjs.js +32 -0
- package/src/lib/rxjs/rxjs.js.map +1 -0
- package/src/lib/rxjs/value.d.ts +18 -0
- package/src/lib/rxjs/value.js +37 -0
- package/src/lib/rxjs/value.js.map +1 -0
- package/src/lib/subscription.d.ts +28 -0
- package/src/lib/subscription.js +68 -0
- package/src/lib/subscription.js.map +1 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.filterIfObjectValuesUnchanged = exports.distinctUntilObjectValuesChanged = void 0;
|
|
4
|
+
const util_1 = require("@dereekb/util");
|
|
5
|
+
const rxjs_1 = require("rxjs");
|
|
6
|
+
const operators_1 = require("rxjs/operators");
|
|
7
|
+
/**
|
|
8
|
+
* Equivalent to distinctUntilChanged() using isEqualObject()
|
|
9
|
+
*/
|
|
10
|
+
function distinctUntilObjectValuesChanged() {
|
|
11
|
+
return (0, operators_1.distinctUntilChanged)((a, b) => (0, util_1.areEqualObjectValues)(a, b));
|
|
12
|
+
}
|
|
13
|
+
exports.distinctUntilObjectValuesChanged = distinctUntilObjectValuesChanged;
|
|
14
|
+
function filterIfObjectValuesUnchanged(input) {
|
|
15
|
+
if ((0, rxjs_1.isObservable)(input)) {
|
|
16
|
+
return (0, operators_1.mergeMap)((inputFilter) => {
|
|
17
|
+
return input.pipe(filterIfObjectValuesUnchanged(inputFilter));
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
return (0, operators_1.filter)((inputObject) => !(0, util_1.areEqualObjectValues)(input, inputObject));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.filterIfObjectValuesUnchanged = filterIfObjectValuesUnchanged;
|
|
25
|
+
//# sourceMappingURL=object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../../packages/rxjs/src/lib/object.ts"],"names":[],"mappings":";;;AAAA,wCAAqD;AACrD,+BAA4F;AAC5F,8CAAwE;AAExE;;GAEG;AACH,SAAgB,gCAAgC;IAC9C,OAAO,IAAA,gCAAoB,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAA,2BAAoB,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAFD,4EAEC;AAOD,SAAgB,6BAA6B,CAAI,KAAwB;IACvE,IAAI,IAAA,mBAAY,EAAC,KAAK,CAAC,EAAE;QACvB,OAAO,IAAA,oBAAQ,EAAmB,CAAC,WAAW,EAAE,EAAE;YAChD,OAAO,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC,CAAA;QAC/D,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,OAAO,IAAA,kBAAM,EAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAA,2BAAoB,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAA;KAC1E;AACH,CAAC;AARD,sEAQC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { MonoTypeOperatorFunction, Observable, OperatorFunction } from "rxjs";
|
|
2
|
+
import { Maybe, ArrayOrValue } from '@dereekb/util';
|
|
3
|
+
export declare function distinctUntilArrayLengthChanges<A>(getArray: (value: A) => any[]): MonoTypeOperatorFunction<A>;
|
|
4
|
+
export declare function distinctUntilArrayLengthChanges<T>(): MonoTypeOperatorFunction<T[]>;
|
|
5
|
+
export interface ScanIntoArrayConfig {
|
|
6
|
+
immutable?: boolean;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Scans values from the observable into an array.
|
|
10
|
+
*
|
|
11
|
+
* Can configure whether or not the accumulator array is immutable or not.
|
|
12
|
+
*/
|
|
13
|
+
export declare function scanIntoArray<T>(config?: ScanIntoArrayConfig): OperatorFunction<Maybe<ArrayOrValue<T>>, T[]>;
|
|
14
|
+
export declare function scanIntoArray<T>(config?: ScanIntoArrayConfig): OperatorFunction<Maybe<T>, T[]>;
|
|
15
|
+
export declare function scanIntoArray<T>(config?: ScanIntoArrayConfig): OperatorFunction<Maybe<T[]>, T[]>;
|
|
16
|
+
export interface ScanBuildArrayConfig<T> {
|
|
17
|
+
seed?: Maybe<T[]>;
|
|
18
|
+
accumulatorObs: Observable<Maybe<T>>;
|
|
19
|
+
}
|
|
20
|
+
export declare type ScanBuildArrayConfigFn<S, T> = (seedState: S) => ScanBuildArrayConfig<T>;
|
|
21
|
+
/**
|
|
22
|
+
* Used to lazy build an array from two observables.
|
|
23
|
+
*
|
|
24
|
+
* The piped observable is for retrieving the seed value, and the accumulatorObs observable is used for
|
|
25
|
+
* retrieving values going forward.
|
|
26
|
+
*
|
|
27
|
+
* This is useful in cases where values are very large.
|
|
28
|
+
*
|
|
29
|
+
* @param param0
|
|
30
|
+
* @returns
|
|
31
|
+
*/
|
|
32
|
+
export declare function scanBuildArray<S, T>(init: ScanBuildArrayConfigFn<S, T>): OperatorFunction<S, T[]>;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.scanBuildArray = exports.scanIntoArray = exports.distinctUntilArrayLengthChanges = void 0;
|
|
4
|
+
const operators_1 = require("rxjs/operators");
|
|
5
|
+
const rxjs_1 = require("rxjs");
|
|
6
|
+
const util_1 = require("@dereekb/util");
|
|
7
|
+
function distinctUntilArrayLengthChanges(getArray) {
|
|
8
|
+
if (!getArray) {
|
|
9
|
+
getArray = (value) => value;
|
|
10
|
+
}
|
|
11
|
+
return (0, rxjs_1.distinctUntilChanged)((a, b) => a === b, (x) => getArray(x).length);
|
|
12
|
+
}
|
|
13
|
+
exports.distinctUntilArrayLengthChanges = distinctUntilArrayLengthChanges;
|
|
14
|
+
function scanIntoArray(config = {}) {
|
|
15
|
+
const { immutable = true } = config;
|
|
16
|
+
return (0, operators_1.scan)((acc, next) => {
|
|
17
|
+
if (next != null) {
|
|
18
|
+
if (immutable) {
|
|
19
|
+
acc = acc.concat(next);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
acc = (0, util_1.mergeArrayOrValueIntoArray)(acc, next);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return acc;
|
|
26
|
+
}, []);
|
|
27
|
+
}
|
|
28
|
+
exports.scanIntoArray = scanIntoArray;
|
|
29
|
+
;
|
|
30
|
+
/**
|
|
31
|
+
* Used to lazy build an array from two observables.
|
|
32
|
+
*
|
|
33
|
+
* The piped observable is for retrieving the seed value, and the accumulatorObs observable is used for
|
|
34
|
+
* retrieving values going forward.
|
|
35
|
+
*
|
|
36
|
+
* This is useful in cases where values are very large.
|
|
37
|
+
*
|
|
38
|
+
* @param param0
|
|
39
|
+
* @returns
|
|
40
|
+
*/
|
|
41
|
+
function scanBuildArray(init) {
|
|
42
|
+
return (0, operators_1.exhaustMap)((seedState) => {
|
|
43
|
+
const { seed = [], accumulatorObs } = init(seedState);
|
|
44
|
+
return accumulatorObs.pipe((0, operators_1.startWith)(undefined), // Start with to not wait for the accumulator to pass a value.
|
|
45
|
+
(0, operators_1.scan)((acc, next) => {
|
|
46
|
+
if (next != null) {
|
|
47
|
+
acc = (0, util_1.mergeArrayOrValueIntoArray)(acc, next);
|
|
48
|
+
}
|
|
49
|
+
return acc;
|
|
50
|
+
}, seed), distinctUntilArrayLengthChanges(), (0, operators_1.shareReplay)(1));
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
exports.scanBuildArray = scanBuildArray;
|
|
54
|
+
//# sourceMappingURL=array.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/rxjs/array.ts"],"names":[],"mappings":";;;AAAA,8CAA0E;AAC1E,+BAAoG;AACpG,wCAAgF;AAIhF,SAAgB,+BAA+B,CAAI,QAA8B;IAC/E,IAAI,CAAC,QAAQ,EAAE;QACb,QAAQ,GAAG,CAAC,KAAQ,EAAE,EAAE,CAAC,KAAqB,CAAA;KAC/C;IAED,OAAO,IAAA,2BAAoB,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7E,CAAC;AAND,0EAMC;AAcD,SAAgB,aAAa,CAAI,SAAkC,EAAE;IACnE,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACpC,OAAO,IAAA,gBAAI,EAAC,CAAC,GAAQ,EAAE,IAA4B,EAAE,EAAE;QACrD,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,IAAI,SAAS,EAAE;gBACb,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aACxB;iBAAM;gBACL,GAAG,GAAG,IAAA,iCAA0B,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;aAC7C;SACF;QAED,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAbD,sCAaC;AAMA,CAAC;AAIF;;;;;;;;;;GAUG;AACH,SAAgB,cAAc,CAAO,IAAkC;IACrE,OAAO,IAAA,sBAAU,EAAC,CAAC,SAAY,EAAE,EAAE;QACjC,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QAEtD,OAAO,cAAc,CAAC,IAAI,CACxB,IAAA,qBAAS,EAAC,SAAgB,CAAC,EAAE,8DAA8D;QAC3F,IAAA,gBAAI,EAAC,CAAC,GAAe,EAAE,IAA4B,EAAE,EAAE;YACrD,IAAI,IAAI,IAAI,IAAI,EAAE;gBAChB,GAAG,GAAG,IAAA,iCAA0B,EAAC,GAAI,EAAE,IAAK,CAAC,CAAC;aAC/C;YAED,OAAO,GAAI,CAAC;QACd,CAAC,EAAE,IAAK,CAA2C,EACnD,+BAA+B,EAAE,EACjC,IAAA,uBAAW,EAAC,CAAC,CAAC,CACf,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAjBD,wCAiBC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pipeIf = void 0;
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
/**
|
|
6
|
+
* Returns the pipe if usePipe is true, otherwise returns the identity.
|
|
7
|
+
*/
|
|
8
|
+
function pipeIf(usePipe, pipe) {
|
|
9
|
+
return (usePipe) ? pipe : rxjs_1.identity;
|
|
10
|
+
}
|
|
11
|
+
exports.pipeIf = pipeIf;
|
|
12
|
+
//# sourceMappingURL=boolean.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/rxjs/boolean.ts"],"names":[],"mappings":";;;AAAA,+BAAkD;AAElD;;GAEG;AACF,SAAgB,MAAM,CAAI,OAAgB,EAAE,IAA4B;IACvE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAQ,CAAC;AACrC,CAAC;AAFA,wBAEA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
(0, tslib_1.__exportStar)(require("./array"), exports);
|
|
5
|
+
(0, tslib_1.__exportStar)(require("./boolean"), exports);
|
|
6
|
+
(0, tslib_1.__exportStar)(require("./loading"), exports);
|
|
7
|
+
(0, tslib_1.__exportStar)(require("./number"), exports);
|
|
8
|
+
(0, tslib_1.__exportStar)(require("./value"), exports);
|
|
9
|
+
(0, tslib_1.__exportStar)(require("./rxjs"), exports);
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/rxjs/index.ts"],"names":[],"mappings":";;;AAAA,uDAAwB;AACxB,yDAA0B;AAC1B,yDAA0B;AAC1B,wDAAyB;AACzB,uDAAwB;AACxB,sDAAuB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isLoadingFromObservable = void 0;
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
/**
|
|
6
|
+
* Observable that returns true initially, then returns false as soon as a value is recieved.
|
|
7
|
+
*/
|
|
8
|
+
function isLoadingFromObservable(obs) {
|
|
9
|
+
return obs.pipe((0, rxjs_1.map)(_ => false), (0, rxjs_1.startWith)(true), (0, rxjs_1.distinctUntilChanged)(), (0, rxjs_1.shareReplay)(1));
|
|
10
|
+
}
|
|
11
|
+
exports.isLoadingFromObservable = isLoadingFromObservable;
|
|
12
|
+
//# sourceMappingURL=loading.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loading.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/rxjs/loading.ts"],"names":[],"mappings":";;;AAAA,+BAAqF;AAErF;;GAEG;AACF,SAAgB,uBAAuB,CAAC,GAAoB;IAC3D,OAAO,GAAG,CAAC,IAAI,CAAC,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,IAAA,gBAAS,EAAC,IAAI,CAAC,EAAE,IAAA,2BAAoB,GAAE,EAAE,IAAA,kBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;AAC5F,CAAC;AAFA,0DAEA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.scanCount = void 0;
|
|
4
|
+
const operators_1 = require("rxjs/operators");
|
|
5
|
+
/**
|
|
6
|
+
* Similar to count(), but counts emissions as they occur using scan.
|
|
7
|
+
*/
|
|
8
|
+
function scanCount() {
|
|
9
|
+
return (0, operators_1.scan)((count, _) => count + 1, 0);
|
|
10
|
+
}
|
|
11
|
+
exports.scanCount = scanCount;
|
|
12
|
+
//# sourceMappingURL=number.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/rxjs/number.ts"],"names":[],"mappings":";;;AACA,8CAAsC;AAEtC;;GAEG;AACH,SAAgB,SAAS;IACvB,OAAO,IAAA,gBAAI,EAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1C,CAAC;AAFD,8BAEC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
export declare function combineLatestFromMapValuesObsFn<T, O>(mapToObs: (value: T) => Observable<O>): (map: Map<any, T>) => Observable<O[]>;
|
|
3
|
+
export declare function combineLatestFromArrayObsFn<T, O>(mapToObs: (value: T) => Observable<O>): (values: T[]) => Observable<O[]>;
|
|
4
|
+
/**
|
|
5
|
+
* Wraps the input value as an observable, if it is not an observable.
|
|
6
|
+
*/
|
|
7
|
+
export declare function asObservable<T>(valueOrObs: T | Observable<T>): Observable<T>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.asObservable = exports.combineLatestFromArrayObsFn = exports.combineLatestFromMapValuesObsFn = void 0;
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
function combineLatestFromMapValuesObsFn(mapToObs) {
|
|
6
|
+
const combineArrayFn = combineLatestFromArrayObsFn(mapToObs);
|
|
7
|
+
return (latestMap) => {
|
|
8
|
+
const mapValues = Array.from(latestMap).map(y => y[1]);
|
|
9
|
+
return combineArrayFn(mapValues);
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
exports.combineLatestFromMapValuesObsFn = combineLatestFromMapValuesObsFn;
|
|
13
|
+
function combineLatestFromArrayObsFn(mapToObs) {
|
|
14
|
+
return (latest) => {
|
|
15
|
+
const newObs = latest.map(mapToObs);
|
|
16
|
+
return (newObs.length) ? (0, rxjs_1.combineLatest)(newObs) : (0, rxjs_1.of)([]);
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
exports.combineLatestFromArrayObsFn = combineLatestFromArrayObsFn;
|
|
20
|
+
/**
|
|
21
|
+
* Wraps the input value as an observable, if it is not an observable.
|
|
22
|
+
*/
|
|
23
|
+
function asObservable(valueOrObs) {
|
|
24
|
+
if ((0, rxjs_1.isObservable)(valueOrObs)) {
|
|
25
|
+
return valueOrObs;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
return (0, rxjs_1.of)(valueOrObs);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.asObservable = asObservable;
|
|
32
|
+
//# sourceMappingURL=rxjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rxjs.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/rxjs/rxjs.ts"],"names":[],"mappings":";;;AAAA,+BAAmE;AAEnE,SAAgB,+BAA+B,CAAO,QAAqC;IACzF,MAAM,cAAc,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAC7D,OAAO,CAAC,SAAsB,EAAE,EAAE;QAChC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC;AAND,0EAMC;AAED,SAAgB,2BAA2B,CAAO,QAAqC;IACrF,OAAO,CAAC,MAAM,EAAE,EAAE;QAChB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,oBAAa,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,SAAE,EAAC,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC;AACJ,CAAC;AALD,kEAKC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAI,UAA6B;IAC3D,IAAI,IAAA,mBAAY,EAAC,UAAU,CAAC,EAAE;QAC5B,OAAO,UAAU,CAAC;KACnB;SAAM;QACL,OAAO,IAAA,SAAE,EAAC,UAAU,CAAC,CAAC;KACvB;AACH,CAAC;AAND,oCAMC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { MonoTypeOperatorFunction } from 'rxjs';
|
|
2
|
+
import { Maybe } from '@dereekb/util';
|
|
3
|
+
import { Observable, OperatorFunction } from 'rxjs';
|
|
4
|
+
/**
|
|
5
|
+
* Observable filter that filters maybe value that are defined.
|
|
6
|
+
*/
|
|
7
|
+
export declare function filterMaybe<T>(): OperatorFunction<Maybe<T>, T>;
|
|
8
|
+
/**
|
|
9
|
+
* Skips all initial maybe values, and then returns all values after the first non-null/undefined value is returned.
|
|
10
|
+
*/
|
|
11
|
+
export declare function skipFirstMaybe<T>(): MonoTypeOperatorFunction<Maybe<T>>;
|
|
12
|
+
/**
|
|
13
|
+
* Provides a switchMap that will emit the observable if the observable is defined, otherwise will return the default value.
|
|
14
|
+
*
|
|
15
|
+
* @param defaultValue
|
|
16
|
+
* @returns
|
|
17
|
+
*/
|
|
18
|
+
export declare function switchMapMaybeObs<T = any>(defaultValue?: Maybe<T>): OperatorFunction<Maybe<Observable<Maybe<T>>>, Maybe<T>>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.switchMapMaybeObs = exports.skipFirstMaybe = exports.filterMaybe = void 0;
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
const operators_1 = require("rxjs/operators");
|
|
6
|
+
/**
|
|
7
|
+
* Observable filter that filters maybe value that are defined.
|
|
8
|
+
*/
|
|
9
|
+
function filterMaybe() {
|
|
10
|
+
return (0, operators_1.filter)(x => x != null);
|
|
11
|
+
}
|
|
12
|
+
exports.filterMaybe = filterMaybe;
|
|
13
|
+
/**
|
|
14
|
+
* Skips all initial maybe values, and then returns all values after the first non-null/undefined value is returned.
|
|
15
|
+
*/
|
|
16
|
+
function skipFirstMaybe() {
|
|
17
|
+
return (0, operators_1.skipWhile)((x) => (x == null));
|
|
18
|
+
}
|
|
19
|
+
exports.skipFirstMaybe = skipFirstMaybe;
|
|
20
|
+
/**
|
|
21
|
+
* Provides a switchMap that will emit the observable if the observable is defined, otherwise will return the default value.
|
|
22
|
+
*
|
|
23
|
+
* @param defaultValue
|
|
24
|
+
* @returns
|
|
25
|
+
*/
|
|
26
|
+
function switchMapMaybeObs(defaultValue) {
|
|
27
|
+
return (0, operators_1.switchMap)((x) => {
|
|
28
|
+
if (x != null) {
|
|
29
|
+
return x;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
return (0, rxjs_1.of)(defaultValue);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
exports.switchMapMaybeObs = switchMapMaybeObs;
|
|
37
|
+
//# sourceMappingURL=value.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/rxjs/value.ts"],"names":[],"mappings":";;;AAEA,+BAAwD;AACxD,8CAA8D;AAE9D;;GAEG;AACH,SAAgB,WAAW;IACzB,OAAO,IAAA,kBAAM,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAkC,CAAC;AACjE,CAAC;AAFD,kCAEC;AAED;;GAEG;AACH,SAAgB,cAAc;IAC5B,OAAO,IAAA,qBAAS,EAAC,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;AACjD,CAAC;AAFD,wCAEC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAU,YAAuB;IAChE,OAAO,IAAA,qBAAS,EAAC,CAAC,CAA8B,EAAE,EAAE;QAClD,IAAI,CAAC,IAAI,IAAI,EAAE;YACb,OAAO,CAAC,CAAC;SACV;aAAM;YACL,OAAO,IAAA,SAAE,EAAC,YAAY,CAAC,CAAC;SACzB;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AARD,8CAQC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Subscription } from 'rxjs';
|
|
2
|
+
import { ArrayOrValue, Destroyable } from '@dereekb/util';
|
|
3
|
+
/**
|
|
4
|
+
* Destroyable object that wraps a subscription.
|
|
5
|
+
*/
|
|
6
|
+
export declare class SubscriptionObject implements Destroyable {
|
|
7
|
+
private _subscription?;
|
|
8
|
+
constructor(sub?: Subscription);
|
|
9
|
+
get hasSubscription(): boolean;
|
|
10
|
+
set subscription(sub: Subscription | undefined);
|
|
11
|
+
setSub(sub: Subscription | undefined): void;
|
|
12
|
+
unsub(): void;
|
|
13
|
+
destroy(): void;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Destroyable object that wraps an array of subscriptions.
|
|
17
|
+
*
|
|
18
|
+
* NOTE: In some cases it might be better to use RXJS's merge(...[]) and subscribe to a single item.
|
|
19
|
+
*/
|
|
20
|
+
export declare class MultiSubscriptionObject implements Destroyable {
|
|
21
|
+
private _subscriptions?;
|
|
22
|
+
constructor(subs?: ArrayOrValue<Subscription>);
|
|
23
|
+
get hasSubscription(): boolean;
|
|
24
|
+
set subscriptions(subs: ArrayOrValue<Subscription>);
|
|
25
|
+
setSubs(subs: ArrayOrValue<Subscription>): void;
|
|
26
|
+
unsub(): void;
|
|
27
|
+
destroy(): void;
|
|
28
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MultiSubscriptionObject = exports.SubscriptionObject = void 0;
|
|
4
|
+
const util_1 = require("@dereekb/util");
|
|
5
|
+
/**
|
|
6
|
+
* Destroyable object that wraps a subscription.
|
|
7
|
+
*/
|
|
8
|
+
class SubscriptionObject {
|
|
9
|
+
constructor(sub) {
|
|
10
|
+
if (sub) {
|
|
11
|
+
this.setSub(sub);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
get hasSubscription() {
|
|
15
|
+
return Boolean(this._subscription);
|
|
16
|
+
}
|
|
17
|
+
set subscription(sub) {
|
|
18
|
+
this.setSub(sub);
|
|
19
|
+
}
|
|
20
|
+
setSub(sub) {
|
|
21
|
+
this.unsub();
|
|
22
|
+
this._subscription = sub;
|
|
23
|
+
}
|
|
24
|
+
unsub() {
|
|
25
|
+
if (this._subscription) {
|
|
26
|
+
this._subscription.unsubscribe();
|
|
27
|
+
delete this._subscription;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
destroy() {
|
|
31
|
+
this.unsub();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.SubscriptionObject = SubscriptionObject;
|
|
35
|
+
/**
|
|
36
|
+
* Destroyable object that wraps an array of subscriptions.
|
|
37
|
+
*
|
|
38
|
+
* NOTE: In some cases it might be better to use RXJS's merge(...[]) and subscribe to a single item.
|
|
39
|
+
*/
|
|
40
|
+
class MultiSubscriptionObject {
|
|
41
|
+
constructor(subs) {
|
|
42
|
+
if (subs) {
|
|
43
|
+
this.setSubs(subs);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
get hasSubscription() {
|
|
47
|
+
var _a;
|
|
48
|
+
return Boolean((_a = this._subscriptions) === null || _a === void 0 ? void 0 : _a.length);
|
|
49
|
+
}
|
|
50
|
+
set subscriptions(subs) {
|
|
51
|
+
this.setSubs(subs);
|
|
52
|
+
}
|
|
53
|
+
setSubs(subs) {
|
|
54
|
+
this.unsub();
|
|
55
|
+
this._subscriptions = (0, util_1.convertToArray)(subs);
|
|
56
|
+
}
|
|
57
|
+
unsub() {
|
|
58
|
+
if (this._subscriptions) {
|
|
59
|
+
this._subscriptions.forEach(x => x.unsubscribe());
|
|
60
|
+
delete this._subscriptions;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
destroy() {
|
|
64
|
+
this.unsub();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.MultiSubscriptionObject = MultiSubscriptionObject;
|
|
68
|
+
//# sourceMappingURL=subscription.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscription.js","sourceRoot":"","sources":["../../../../../packages/rxjs/src/lib/subscription.ts"],"names":[],"mappings":";;;AACA,wCAA0E;AAE1E;;GAEG;AACH,MAAa,kBAAkB;IAI7B,YAAY,GAAkB;QAC5B,IAAI,GAAG,EAAE;YACP,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAClB;IACH,CAAC;IAED,IAAW,eAAe;QACxB,OAAO,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IAED,IAAW,YAAY,CAAC,GAA6B;QACnD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,GAA6B;QACzC,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;IAC3B,CAAC;IAEM,KAAK;QACV,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,aAAa,CAAC;SAC3B;IACH,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;CAEF;AAlCD,gDAkCC;AAED;;;;GAIG;AACH,MAAa,uBAAuB;IAIlC,YAAY,IAAiC;QAC3C,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACpB;IACH,CAAC;IAED,IAAW,eAAe;;QACxB,OAAO,OAAO,CAAC,MAAA,IAAI,CAAC,cAAc,0CAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,IAAW,aAAa,CAAC,IAAgC;QACvD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAEM,OAAO,CAAC,IAAgC;QAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,cAAc,GAAG,IAAA,qBAAc,EAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAEM,KAAK;QACV,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC,cAAc,CAAC;SAC5B;IACH,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;CAEF;AAlCD,0DAkCC"}
|