@dereekb/rxjs 4.1.0 → 5.0.0
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/CHANGELOG.md +9 -0
- package/LICENSE +21 -0
- package/package.json +2 -3
- package/src/lib/filter/filter.d.ts +2 -2
- package/src/lib/filter/filter.map.d.ts +2 -2
- package/src/lib/filter/filter.map.js.map +1 -1
- package/src/lib/iterator/iteration.accumulator.d.ts +15 -6
- package/src/lib/iterator/iteration.accumulator.js +6 -5
- package/src/lib/iterator/iteration.accumulator.js.map +1 -1
- package/src/lib/iterator/iteration.accumulator.rxjs.d.ts +3 -3
- package/src/lib/iterator/iteration.accumulator.rxjs.js +6 -4
- package/src/lib/iterator/iteration.accumulator.rxjs.js.map +1 -1
- package/src/lib/iterator/iteration.d.ts +3 -3
- package/src/lib/iterator/iteration.mapped.d.ts +3 -3
- package/src/lib/iterator/iteration.mapped.page.d.ts +3 -3
- package/src/lib/iterator/iterator.page.d.ts +2 -2
- package/src/lib/iterator/iterator.page.js +23 -24
- package/src/lib/iterator/iterator.page.js.map +1 -1
- package/src/lib/loading/loading.context.simple.d.ts +2 -1
- package/src/lib/loading/loading.context.simple.js.map +1 -1
- package/src/lib/loading/loading.context.state.d.ts +3 -3
- package/src/lib/loading/loading.context.state.js +14 -13
- package/src/lib/loading/loading.context.state.js.map +1 -1
- package/src/lib/loading/loading.context.state.list.d.ts +4 -4
- package/src/lib/loading/loading.context.state.list.js +5 -5
- package/src/lib/loading/loading.context.state.list.js.map +1 -1
- package/src/lib/loading/loading.context.state.value.d.ts +5 -6
- package/src/lib/loading/loading.context.state.value.js +5 -5
- package/src/lib/loading/loading.context.state.value.js.map +1 -1
- package/src/lib/loading/loading.context.value.d.ts +1 -1
- package/src/lib/loading/loading.state.d.ts +41 -18
- package/src/lib/loading/loading.state.js +25 -27
- package/src/lib/loading/loading.state.js.map +1 -1
- package/src/lib/loading/loading.state.list.d.ts +2 -2
- package/src/lib/loading/loading.state.list.js.map +1 -1
- package/src/lib/lock.d.ts +1 -2
- package/src/lib/lock.js +3 -2
- package/src/lib/lock.js.map +1 -1
- package/src/lib/object.js +3 -4
- package/src/lib/object.js.map +1 -1
- package/src/lib/rxjs/array.d.ts +2 -2
- package/src/lib/rxjs/array.js +2 -4
- package/src/lib/rxjs/array.js.map +1 -1
- package/src/lib/rxjs/delta.js +1 -1
- package/src/lib/rxjs/delta.js.map +1 -1
- package/src/lib/rxjs/lifecycle.d.ts +1 -1
- package/src/lib/rxjs/lifecycle.js +1 -1
- package/src/lib/rxjs/lifecycle.js.map +1 -1
- package/src/lib/rxjs/loading.js +1 -1
- package/src/lib/rxjs/loading.js.map +1 -1
- package/src/lib/rxjs/misc.d.ts +4 -4
- package/src/lib/rxjs/misc.js.map +1 -1
- package/src/lib/rxjs/number.d.ts +2 -3
- package/src/lib/rxjs/number.js +2 -2
- package/src/lib/rxjs/number.js.map +1 -1
- package/src/lib/rxjs/rxjs.async.d.ts +3 -3
- package/src/lib/rxjs/rxjs.async.js +19 -15
- package/src/lib/rxjs/rxjs.async.js.map +1 -1
- package/src/lib/rxjs/rxjs.js.map +1 -1
- package/src/lib/rxjs/rxjs.map.d.ts +1 -1
- package/src/lib/rxjs/rxjs.map.js.map +1 -1
- package/src/lib/rxjs/value.d.ts +5 -5
- package/src/lib/rxjs/value.js.map +1 -1
- package/src/lib/work/work.factory.d.ts +3 -3
- package/src/lib/work/work.factory.js.map +1 -1
- package/src/lib/work/work.instance.d.ts +5 -5
- package/src/lib/work/work.instance.js +1 -1
- package/src/lib/work/work.instance.js.map +1 -1
|
@@ -1,35 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AbstractLoadingStateContextInstance = void 0;
|
|
4
|
-
const rxjs_1 = require("
|
|
5
|
-
const
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
const value_1 = require("../rxjs/value");
|
|
6
|
+
const loading_state_1 = require("./loading.state");
|
|
6
7
|
/**
|
|
7
8
|
* Abstract LoadingContext implementation using LoadingState.
|
|
8
9
|
*/
|
|
9
10
|
class AbstractLoadingStateContextInstance {
|
|
10
11
|
constructor(config) {
|
|
11
|
-
this._stateSubject$ = new
|
|
12
|
-
this.stateSubject$ = this._stateSubject$.pipe((0,
|
|
13
|
-
this.state$ = this.stateSubject$.pipe((0,
|
|
12
|
+
this._stateSubject$ = new rxjs_1.BehaviorSubject(undefined);
|
|
13
|
+
this.stateSubject$ = this._stateSubject$.pipe((0, value_1.filterMaybe)(), (0, rxjs_1.distinctUntilChanged)(), (0, rxjs_1.shareReplay)(1));
|
|
14
|
+
this.state$ = this.stateSubject$.pipe((0, rxjs_1.switchMap)(x => x), (0, rxjs_1.shareReplay)(1));
|
|
14
15
|
this.stateObs$ = this._stateSubject$.asObservable();
|
|
15
|
-
this.stream$ = this._stateSubject$.pipe((0,
|
|
16
|
+
this.stream$ = this._stateSubject$.pipe((0, rxjs_1.mergeMap)((obs) => {
|
|
16
17
|
if (obs) {
|
|
17
18
|
return obs.pipe(
|
|
18
19
|
// If the observable did not pass a value immediately, we start with the start value.
|
|
19
|
-
(0,
|
|
20
|
+
(0, value_1.timeoutStartWith)((0, loading_state_1.beginLoading)()), (0, rxjs_1.map)((x) => this.loadingEventForLoadingPair(x, this._config)));
|
|
20
21
|
}
|
|
21
22
|
else {
|
|
22
|
-
return (0,
|
|
23
|
+
return (0, rxjs_1.of)((0, loading_state_1.beginLoading)());
|
|
23
24
|
}
|
|
24
|
-
}), (0,
|
|
25
|
+
}), (0, rxjs_1.distinctUntilChanged)((a, b) => {
|
|
25
26
|
return a.loading === b.loading && a.error === b.error && a.value === b.value;
|
|
26
|
-
}), (0,
|
|
27
|
+
}), (0, rxjs_1.shareReplay)(1));
|
|
27
28
|
/**
|
|
28
29
|
* Emits when the input state has changed.
|
|
29
30
|
*/
|
|
30
|
-
this.stateChange$ = this._stateSubject$.pipe((0,
|
|
31
|
-
this.loading$ = this.stream$.pipe((0,
|
|
32
|
-
if ((0,
|
|
31
|
+
this.stateChange$ = this._stateSubject$.pipe((0, rxjs_1.map)(() => undefined));
|
|
32
|
+
this.loading$ = this.stream$.pipe((0, rxjs_1.map)(x => x.loading), (0, rxjs_1.shareReplay)(1));
|
|
33
|
+
if ((0, rxjs_1.isObservable)(config)) {
|
|
33
34
|
this._config = {
|
|
34
35
|
obs: config
|
|
35
36
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loading.context.state.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.context.state.ts"],"names":[],"mappings":";;;AACA
|
|
1
|
+
{"version":3,"file":"loading.context.state.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.context.state.ts"],"names":[],"mappings":";;;AACA,+BAAkI;AAClI,yCAA8D;AAE9D,mDAA6D;AA2B7D;;GAEG;AACH,MAAsB,mCAAmC;IAkCvD,YAAY,MAAqD;QA/BzD,mBAAc,GAAG,IAAI,sBAAe,CAAuB,SAAS,CAAC,CAAC;QAGrE,kBAAa,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAA,mBAAW,GAAE,EAAE,IAAA,2BAAoB,GAAE,EAAE,IAAA,kBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;QAChG,WAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAA,gBAAS,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAA,kBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;QACpE,cAAS,GAAqC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QAEjF,YAAO,GAAkB,IAAI,CAAC,cAAc,CAAC,IAAI,CACxD,IAAA,eAAQ,EAAC,CAAC,GAAG,EAAE,EAAE;YACf,IAAI,GAAG,EAAE;gBACP,OAAO,GAAG,CAAC,IAAI;gBACb,qFAAqF;gBACrF,IAAA,wBAAgB,EAAI,IAAA,4BAAY,GAAO,CAAC,EACxC,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAC7D,CAAC;aACH;iBAAM;gBACL,OAAO,IAAA,SAAE,EAAC,IAAA,4BAAY,GAAO,CAAC,CAAC;aAChC;QACH,CAAC,CAAC,EACF,IAAA,2BAAoB,EAAC,CAAC,CAAI,EAAE,CAAI,EAAE,EAAE;YAClC,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC;QAC/E,CAAC,CAAC,EACF,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;QAEF;;WAEG;QACM,iBAAY,GAAqB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAA,UAAG,EAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAChF,aAAQ,GAAwB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAA,kBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;QAG9F,IAAI,IAAA,mBAAY,EAAC,MAAM,CAAC,EAAE;YACxB,IAAI,CAAC,OAAO,GAAG;gBACb,GAAG,EAAE,MAAM;aACP,CAAC;SACR;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI;gBACvB,oBAAoB,EAAE,KAAK;aACvB,CAAC;SACR;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SACpC;IACH,CAAC;IAID,WAAW,CAAC,KAA2B;QACrC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;CAEF;AA5DD,kFA4DC"}
|
|
@@ -5,16 +5,16 @@ import { AbstractLoadingEventForLoadingPairConfig, AbstractLoadingStateContext,
|
|
|
5
5
|
export interface ListLoadingStateContextEvent<T> extends AbstractLoadingStateEvent<T[]> {
|
|
6
6
|
value?: Maybe<T[]>;
|
|
7
7
|
}
|
|
8
|
-
export interface LoadingEventForListLoadingStateConfig<S extends ListLoadingState<
|
|
8
|
+
export interface LoadingEventForListLoadingStateConfig<S extends ListLoadingState<unknown> = ListLoadingState<unknown>> extends AbstractLoadingEventForLoadingPairConfig<S>, Partial<LimitArrayConfig> {
|
|
9
9
|
}
|
|
10
|
-
export interface ListLoadingStateContext<L =
|
|
10
|
+
export interface ListLoadingStateContext<L = unknown, S extends ListLoadingState<L> = ListLoadingState<L>> extends AbstractLoadingStateContext<L[], S, ListLoadingStateContextEvent<L>> {
|
|
11
11
|
readonly list$: Observable<L[]>;
|
|
12
12
|
readonly isEmpty$: Observable<boolean>;
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* LoadingContext implementation that uses a ListLoadingState observable.
|
|
16
16
|
*/
|
|
17
|
-
export declare class ListLoadingStateContextInstance<L =
|
|
17
|
+
export declare class ListLoadingStateContextInstance<L = unknown, S extends ListLoadingState<L> = ListLoadingState<L>> extends AbstractLoadingStateContextInstance<L[], S, ListLoadingStateContextEvent<L>, LoadingEventForListLoadingStateConfig<S>> {
|
|
18
18
|
/**
|
|
19
19
|
* Returns the current values or an empty list.
|
|
20
20
|
*/
|
|
@@ -22,4 +22,4 @@ export declare class ListLoadingStateContextInstance<L = any, S extends ListLoad
|
|
|
22
22
|
readonly isEmpty$: Observable<boolean>;
|
|
23
23
|
protected loadingEventForLoadingPair(state: S, config?: LoadingEventForListLoadingStateConfig): ListLoadingStateContextEvent<L>;
|
|
24
24
|
}
|
|
25
|
-
export declare function listLoadingStateContext<T =
|
|
25
|
+
export declare function listLoadingStateContext<T = unknown, S extends ListLoadingState<T> = ListLoadingState<T>>(config: LoadingStateContextInstanceInputConfig<S, LoadingEventForListLoadingStateConfig<S>>): ListLoadingStateContextInstance<T, S>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.listLoadingStateContext = exports.ListLoadingStateContextInstance = void 0;
|
|
4
|
-
const rxjs_1 = require("@dereekb/rxjs");
|
|
5
4
|
const util_1 = require("@dereekb/util");
|
|
6
|
-
const
|
|
5
|
+
const rxjs_1 = require("rxjs");
|
|
6
|
+
const loading_state_1 = require("./loading.state");
|
|
7
7
|
const loading_context_state_1 = require("./loading.context.state");
|
|
8
8
|
const loading_state_list_1 = require("./loading.state.list");
|
|
9
9
|
/**
|
|
@@ -15,8 +15,8 @@ class ListLoadingStateContextInstance extends loading_context_state_1.AbstractLo
|
|
|
15
15
|
/**
|
|
16
16
|
* Returns the current values or an empty list.
|
|
17
17
|
*/
|
|
18
|
-
this.list$ = this.stream$.pipe((0,
|
|
19
|
-
this.isEmpty$ = this.stream$.pipe((0, loading_state_list_1.isListLoadingStateEmpty)(), (0,
|
|
18
|
+
this.list$ = this.stream$.pipe((0, rxjs_1.map)(x => { var _a; return (_a = x.value) !== null && _a !== void 0 ? _a : []; }), (0, rxjs_1.shareReplay)(1));
|
|
19
|
+
this.isEmpty$ = this.stream$.pipe((0, loading_state_list_1.isListLoadingStateEmpty)(), (0, rxjs_1.distinctUntilChanged)());
|
|
20
20
|
}
|
|
21
21
|
loadingEventForLoadingPair(state, config = {}) {
|
|
22
22
|
const { showLoadingOnNoValue } = config;
|
|
@@ -33,7 +33,7 @@ class ListLoadingStateContextInstance extends loading_context_state_1.AbstractLo
|
|
|
33
33
|
loading = !hasValue;
|
|
34
34
|
}
|
|
35
35
|
else {
|
|
36
|
-
loading = (0,
|
|
36
|
+
loading = (0, loading_state_1.loadingStateIsLoading)(state);
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loading.context.state.list.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.context.state.list.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"loading.context.state.list.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.context.state.list.ts"],"names":[],"mappings":";;;AAAA,wCAAqF;AACrF,+BAA0E;AAC1E,mDAA0E;AAC1E,mEAAwN;AACxN,6DAA+D;AAa/D;;GAEG;AACH,MAAa,+BAAkG,SAAQ,2DAAsH;IAA7O;;QAEE;;WAEG;QACM,UAAK,GAAoB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,KAAK,mCAAI,EAAE,CAAA,EAAA,CAAC,EAAE,IAAA,kBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;QACpF,aAAQ,GAAwB,IAAI,CAAC,OAAO,CAAC,IAAI,CACxD,IAAA,4CAAuB,GAAE,EACzB,IAAA,2BAAoB,GAAE,CACvB,CAAC;IA+BJ,CAAC;IA7BW,0BAA0B,CAAC,KAAQ,EAAE,SAAgD,EAAE;QAC/F,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,CAAC;QAExC,IAAI,OAAO,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC;QAC7B,MAAM,KAAK,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC;QAC3B,IAAI,KAAK,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC;QAEzB,MAAM,QAAQ,GAAG,KAAK,IAAI,IAAI,CAAC;QAE/B,IAAI,QAAQ,EAAE;YACZ,KAAK,GAAG,IAAA,iBAAU,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAE,kCAAkC;SACvE;QAED,uBAAuB;QACvB,IAAI,CAAC,IAAA,sBAAe,EAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,oBAAoB,EAAE;gBACxB,OAAO,GAAG,CAAC,QAAQ,CAAC;aACrB;iBAAM;gBACL,OAAO,GAAG,IAAA,qCAAqB,EAAC,KAAK,CAAC,CAAC;aACxC;SACF;QAED,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;YACzB,KAAK;YACL,KAAK;SACN,CAAC;IACJ,CAAC;CAEF;AAxCD,0EAwCC;AAED,SAAgB,uBAAuB,CAAmE,MAA2F;IACnM,OAAO,IAAI,+BAA+B,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC;AAFD,0DAEC"}
|
|
@@ -3,12 +3,11 @@ import { Observable } from 'rxjs';
|
|
|
3
3
|
import { LoadingContextEvent } from './loading.context';
|
|
4
4
|
import { AbstractLoadingEventForLoadingPairConfig, AbstractLoadingStateContext, AbstractLoadingStateContextInstance, LoadingStateContextInstanceInputConfig } from './loading.context.state';
|
|
5
5
|
import { LoadingState } from './loading.state';
|
|
6
|
-
export interface LoadingStateContextEvent<T =
|
|
6
|
+
export interface LoadingStateContextEvent<T = unknown> extends LoadingContextEvent {
|
|
7
7
|
value?: Maybe<T>;
|
|
8
8
|
}
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
export interface LoadingStateContext<L = any, S extends LoadingState<L> = LoadingState<L>> extends AbstractLoadingStateContext<L, S, LoadingStateContextEvent<L>> {
|
|
9
|
+
export declare type LoadingEventForLoadingPairConfig<S extends LoadingState = LoadingState> = AbstractLoadingEventForLoadingPairConfig<S>;
|
|
10
|
+
export interface LoadingStateContext<L = unknown, S extends LoadingState<L> = LoadingState<L>> extends AbstractLoadingStateContext<L, S, LoadingStateContextEvent<L>> {
|
|
12
11
|
readonly list$: Observable<L[]>;
|
|
13
12
|
readonly values$: Observable<L[]>;
|
|
14
13
|
readonly isEmpty$: Observable<boolean>;
|
|
@@ -16,9 +15,9 @@ export interface LoadingStateContext<L = any, S extends LoadingState<L> = Loadin
|
|
|
16
15
|
/**
|
|
17
16
|
* LoadingContext implementation for a LoadingState.
|
|
18
17
|
*/
|
|
19
|
-
export declare class LoadingStateContextInstance<T =
|
|
18
|
+
export declare class LoadingStateContextInstance<T = unknown, S extends LoadingState<T> = LoadingState<T>> extends AbstractLoadingStateContextInstance<T, S, LoadingStateContextEvent<T>, LoadingEventForLoadingPairConfig<S>> {
|
|
20
19
|
readonly value$: Observable<Maybe<T>>;
|
|
21
20
|
readonly valueAfterLoaded$: Observable<Maybe<T>>;
|
|
22
21
|
protected loadingEventForLoadingPair(pair: S, { showLoadingOnNoValue }?: LoadingEventForLoadingPairConfig): LoadingStateContextEvent<T>;
|
|
23
22
|
}
|
|
24
|
-
export declare function loadingStateContext<T =
|
|
23
|
+
export declare function loadingStateContext<T = unknown, S extends LoadingState<T> = LoadingState<T>>(config: LoadingStateContextInstanceInputConfig<S, LoadingEventForLoadingPairConfig<S>>): LoadingStateContextInstance<T, S>;
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.loadingStateContext = exports.LoadingStateContextInstance = void 0;
|
|
4
4
|
const util_1 = require("@dereekb/util");
|
|
5
|
-
const rxjs_1 = require("
|
|
6
|
-
const operators_1 = require("rxjs/operators");
|
|
5
|
+
const rxjs_1 = require("rxjs");
|
|
7
6
|
const loading_context_state_1 = require("./loading.context.state");
|
|
7
|
+
const loading_state_1 = require("./loading.state");
|
|
8
8
|
/**
|
|
9
9
|
* LoadingContext implementation for a LoadingState.
|
|
10
10
|
*/
|
|
11
11
|
class LoadingStateContextInstance extends loading_context_state_1.AbstractLoadingStateContextInstance {
|
|
12
12
|
constructor() {
|
|
13
13
|
super(...arguments);
|
|
14
|
-
this.value$ = this.stream$.pipe((0,
|
|
15
|
-
this.valueAfterLoaded$ = this.stream$.pipe((0,
|
|
14
|
+
this.value$ = this.stream$.pipe((0, rxjs_1.map)(x => x.value), (0, rxjs_1.shareReplay)(1));
|
|
15
|
+
this.valueAfterLoaded$ = this.stream$.pipe((0, rxjs_1.filter)(x => !x.loading), (0, rxjs_1.map)(x => x.value), (0, rxjs_1.shareReplay)(1));
|
|
16
16
|
}
|
|
17
17
|
loadingEventForLoadingPair(pair, { showLoadingOnNoValue } = {}) {
|
|
18
18
|
let loading = false;
|
|
@@ -23,7 +23,7 @@ class LoadingStateContextInstance extends loading_context_state_1.AbstractLoadin
|
|
|
23
23
|
loading = !(0, util_1.hasNonNullValue)(value);
|
|
24
24
|
}
|
|
25
25
|
else {
|
|
26
|
-
loading = (0,
|
|
26
|
+
loading = (0, loading_state_1.loadingStateIsLoading)(pair);
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loading.context.state.value.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.context.state.value.ts"],"names":[],"mappings":";;;AAAA,wCAAuD;AACvD
|
|
1
|
+
{"version":3,"file":"loading.context.state.value.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.context.state.value.ts"],"names":[],"mappings":";;;AAAA,wCAAuD;AACvD,+BAA4D;AAE5D,mEAA6L;AAC7L,mDAAsE;AActE;;GAEG;AACH,MAAa,2BAAsF,SAAQ,2DAA2G;IAAtN;;QAEW,WAAM,GAAyB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAA,kBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;QACpF,sBAAiB,GAAyB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAA,aAAM,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAA,kBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;IAuBnI,CAAC;IArBW,0BAA0B,CAAC,IAAO,EAAE,EAAE,oBAAoB,KAAuC,EAAE;QAC3G,IAAI,OAAO,GAAY,KAAK,CAAC;QAE7B,MAAM,KAAK,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC;QAE1B,IAAI,CAAC,IAAA,sBAAe,EAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,oBAAoB,EAAE;gBACxB,OAAO,GAAG,CAAC,IAAA,sBAAe,EAAC,KAAK,CAAC,CAAC;aACnC;iBAAM;gBACL,OAAO,GAAG,IAAA,qCAAqB,EAAC,IAAI,CAAC,CAAC;aACvC;SACF;QAED,OAAO;YACL,OAAO;YACP,KAAK;YACL,KAAK;SACN,CAAC;IACJ,CAAC;CAEF;AA1BD,kEA0BC;AAED,SAAgB,mBAAmB,CAA2D,MAAsF;IAClL,OAAO,IAAI,2BAA2B,CAAC,MAAM,CAAC,CAAC;AACjD,CAAC;AAFD,kDAEC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SimpleLoadingContext } from './loading.context.simple';
|
|
2
|
-
export declare type LoadingContextCheckCompletionFunction = () =>
|
|
2
|
+
export declare type LoadingContextCheckCompletionFunction = () => unknown[];
|
|
3
3
|
export interface LoadingContextConfiguration {
|
|
4
4
|
loading?: boolean;
|
|
5
5
|
checkDone?: LoadingContextCheckCompletionFunction;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
|
-
import { Maybe, ReadableError, ReadableDataError, Page, FilteredPage, PageNumber } from '@dereekb/util';
|
|
1
|
+
import { Observable, MonoTypeOperatorFunction } from 'rxjs';
|
|
2
|
+
import { Maybe, ReadableError, ReadableDataError, Page, FilteredPage, PageNumber, MapFunction, ErrorInput } from '@dereekb/util';
|
|
3
3
|
/**
|
|
4
4
|
* A value/error pair used in loading situations.
|
|
5
5
|
*/
|
|
@@ -18,15 +18,21 @@ export interface LoadingErrorPair {
|
|
|
18
18
|
/**
|
|
19
19
|
* A value/error pair used in loading situations.
|
|
20
20
|
*/
|
|
21
|
-
export interface LoadingState<T =
|
|
21
|
+
export interface LoadingState<T = unknown> extends LoadingErrorPair {
|
|
22
22
|
value?: Maybe<T>;
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
25
|
* Loading state with a value key.
|
|
26
26
|
*/
|
|
27
|
-
export
|
|
27
|
+
export declare type LoadingStateWithValue<T = unknown> = LoadingState<T> & {
|
|
28
28
|
value: Maybe<T>;
|
|
29
|
-
}
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Loading state with a value key and a non-maybe value.
|
|
32
|
+
*/
|
|
33
|
+
export declare type LoadingStateWithMaybeSoValue<T = unknown> = LoadingState<T> & {
|
|
34
|
+
value: T;
|
|
35
|
+
};
|
|
30
36
|
/**
|
|
31
37
|
* Convenience identifier for a LoadingState that returns a list.
|
|
32
38
|
*/
|
|
@@ -44,13 +50,11 @@ export interface FilteredPageLoadingState<T, F> extends PageLoadingState<T>, Fil
|
|
|
44
50
|
/**
|
|
45
51
|
* LoadingPageState that has an array of the value
|
|
46
52
|
*/
|
|
47
|
-
export
|
|
48
|
-
}
|
|
53
|
+
export declare type PageListLoadingState<T> = PageLoadingState<T[]>;
|
|
49
54
|
/**
|
|
50
55
|
* PageListLoadingState with a Filter.
|
|
51
56
|
*/
|
|
52
|
-
export
|
|
53
|
-
}
|
|
57
|
+
export declare type FilteredPageListLoadingState<T, F> = FilteredPageLoadingState<T[], F>;
|
|
54
58
|
/**
|
|
55
59
|
* Describes a LoadingState's current state type.
|
|
56
60
|
*/
|
|
@@ -83,14 +87,13 @@ export declare function loadingStateType(loadingState: LoadingState): LoadingSta
|
|
|
83
87
|
* Returns a LoadingState that has no result and is not loading.
|
|
84
88
|
*/
|
|
85
89
|
export declare function idleLoadingState<T>(): LoadingState<T>;
|
|
86
|
-
export declare function beginLoading(): LoadingState<
|
|
87
|
-
export declare function beginLoading<T>():
|
|
88
|
-
export declare function beginLoading<T>(state?: Partial<PageLoadingState<T>>): PageLoadingState<T>;
|
|
90
|
+
export declare function beginLoading<T = unknown>(): LoadingState<T>;
|
|
91
|
+
export declare function beginLoading<T = unknown>(state?: Partial<PageLoadingState<T>>): PageLoadingState<T>;
|
|
89
92
|
export declare function successResult<T>(value: T): LoadingStateWithValue<T>;
|
|
90
93
|
export declare function successPageResult<T>(page: PageNumber, value: T): PageLoadingState<T>;
|
|
91
|
-
export declare function errorResult<T =
|
|
94
|
+
export declare function errorResult<T = unknown>(error?: Maybe<ErrorInput>): LoadingState<T>;
|
|
92
95
|
export declare function errorPageResult<T>(page: PageNumber, error?: Maybe<ReadableError | ReadableDataError>): PageLoadingState<T>;
|
|
93
|
-
export declare function
|
|
96
|
+
export declare function unknownLoadingStatesIsLoading(states: LoadingState[]): boolean;
|
|
94
97
|
export declare function allLoadingStatesHaveFinishedLoading(states: LoadingState[]): boolean;
|
|
95
98
|
export declare function loadingStateIsIdle(state: Maybe<LoadingState>): boolean;
|
|
96
99
|
export declare function loadingStateIsLoading(state: Maybe<LoadingState>): boolean;
|
|
@@ -111,14 +114,34 @@ export declare function loadingStateHasValue(state: Maybe<LoadingState>): boolea
|
|
|
111
114
|
* @returns
|
|
112
115
|
*/
|
|
113
116
|
export declare function loadingStateHasError(state: Maybe<LoadingState>): boolean;
|
|
117
|
+
/**
|
|
118
|
+
* Merges startWith() with beginLoading().
|
|
119
|
+
*
|
|
120
|
+
* Preferred over using both individually, as typing information can get lost.
|
|
121
|
+
*
|
|
122
|
+
* @returns
|
|
123
|
+
*/
|
|
124
|
+
export declare function startWithBeginLoading<L extends LoadingState<T>, T = unknown>(): MonoTypeOperatorFunction<L>;
|
|
125
|
+
export declare function startWithBeginLoading<L extends LoadingState<T>, T = unknown>(state?: Partial<LoadingState<T>>): MonoTypeOperatorFunction<L>;
|
|
126
|
+
export declare function startWithBeginLoading<L extends PageLoadingState<T>, T = unknown>(state?: Partial<PageLoadingState<T>>): MonoTypeOperatorFunction<L>;
|
|
114
127
|
/**
|
|
115
128
|
* Wraps an observable output and maps the value to a LoadingState.
|
|
116
129
|
*/
|
|
117
130
|
export declare function loadingStateFromObs<T>(obs: Observable<T>, firstOnly?: boolean): Observable<LoadingState<T>>;
|
|
131
|
+
/**
|
|
132
|
+
* Convenience function for creating a pipe that merges the two input observables.
|
|
133
|
+
*/
|
|
118
134
|
export declare function combineLoadingStates<A, B>(obsA: Observable<LoadingState<A>>, obsB: Observable<LoadingState<B>>): Observable<LoadingState<A & B>>;
|
|
119
|
-
export declare function combineLoadingStates<A, B, C>(obsA: Observable<LoadingState<A>>, obsB: Observable<LoadingState<B>>, mergeFn?: (a: A, b: B) => C): Observable<LoadingState<C>>;
|
|
135
|
+
export declare function combineLoadingStates<A extends object, B extends object, C>(obsA: Observable<LoadingState<A>>, obsB: Observable<LoadingState<B>>, mergeFn?: (a: A, b: B) => C): Observable<LoadingState<C>>;
|
|
136
|
+
/**
|
|
137
|
+
* Merges the input loading states.
|
|
138
|
+
*
|
|
139
|
+
* If one is unavailable, it is considered loading.
|
|
140
|
+
* If one is loading, will return the loading state.
|
|
141
|
+
* If one has an error and is not loading, will return the error with loading false.
|
|
142
|
+
*/
|
|
120
143
|
export declare function mergeLoadingStates<A, B>(a: LoadingState<A>, b: LoadingState<B>): LoadingState<A & B>;
|
|
121
|
-
export declare function mergeLoadingStates<A, B, C>(a: LoadingState<A>, b: LoadingState<B>, mergeFn: (a: A, b: B) => C): LoadingState<C>;
|
|
144
|
+
export declare function mergeLoadingStates<A extends object, B extends object, C>(a: LoadingState<A>, b: LoadingState<B>, mergeFn: (a: A, b: B) => C): LoadingState<C>;
|
|
122
145
|
/**
|
|
123
146
|
* Updates the input state to start loading.
|
|
124
147
|
*/
|
|
@@ -146,6 +169,6 @@ export interface MapLoadingStateResultsConfiguration<A, B, L extends LoadingStat
|
|
|
146
169
|
export declare function mapLoadingStateResults<A, B, L extends LoadingState<A> = LoadingState<A>, O extends LoadingState<B> = LoadingState<B>>(input: L, config: MapLoadingStateResultsConfiguration<A, B, L, O>): O;
|
|
147
170
|
export declare function mapLoadingStateResults<A, B, L extends PageLoadingState<A> = PageLoadingState<A>, O extends PageLoadingState<B> = PageLoadingState<B>>(input: L, config: MapLoadingStateResultsConfiguration<A, B, L, O>): O;
|
|
148
171
|
export declare function mapLoadingStateResults<A, B, L extends Partial<PageLoadingState<A>> = Partial<PageLoadingState<A>>, O extends Partial<PageLoadingState<B>> = Partial<PageLoadingState<B>>>(input: L, config: MapLoadingStateResultsConfiguration<A, B, L, O>): O;
|
|
149
|
-
export declare type MapLoadingStateValueFunction<O, I, L extends LoadingState<I> = LoadingState<I>> =
|
|
150
|
-
export declare type MapLoadingStateValueMapFunction<O, I, L extends LoadingState<I> = LoadingState<I>> = (
|
|
172
|
+
export declare type MapLoadingStateValueFunction<O, I, L extends LoadingState<I> = LoadingState<I>> = MapFunction<L, Maybe<O>>;
|
|
173
|
+
export declare type MapLoadingStateValueMapFunction<O, I, L extends LoadingState<I> = LoadingState<I>> = (item: I, state: L) => Maybe<O>;
|
|
151
174
|
export declare function mapLoadingStateValueFunction<O, I, L extends LoadingState<I> = LoadingState<I>>(mapFn: MapLoadingStateValueMapFunction<O, I, L>): MapLoadingStateValueFunction<O, I, L>;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.mapLoadingStateValueFunction = exports.mapLoadingStateResults = exports.mapMultipleLoadingStateResults = exports.updatedStateForSetError = exports.updatedStateForSetValue = exports.updatedStateForSetLoading = exports.mergeLoadingStates = exports.combineLoadingStates = exports.loadingStateFromObs = exports.loadingStateHasError = exports.loadingStateHasValue = exports.loadingStateHasFinishedLoading = exports.isErrorLoadingState = exports.isSuccessLoadingState = exports.loadingStateIsLoading = exports.loadingStateIsIdle = exports.allLoadingStatesHaveFinishedLoading = exports.
|
|
3
|
+
exports.mapLoadingStateValueFunction = exports.mapLoadingStateResults = exports.mapMultipleLoadingStateResults = exports.updatedStateForSetError = exports.updatedStateForSetValue = exports.updatedStateForSetLoading = exports.mergeLoadingStates = exports.combineLoadingStates = exports.loadingStateFromObs = exports.startWithBeginLoading = exports.loadingStateHasError = exports.loadingStateHasValue = exports.loadingStateHasFinishedLoading = exports.isErrorLoadingState = exports.isSuccessLoadingState = exports.loadingStateIsLoading = exports.loadingStateIsIdle = exports.allLoadingStatesHaveFinishedLoading = exports.unknownLoadingStatesIsLoading = exports.errorPageResult = exports.errorResult = exports.successPageResult = exports.successResult = exports.beginLoading = exports.idleLoadingState = exports.loadingStateType = exports.LoadingStateType = void 0;
|
|
4
4
|
const rxjs_1 = require("rxjs");
|
|
5
|
-
const operators_1 = require("rxjs/operators");
|
|
6
5
|
const util_1 = require("@dereekb/util");
|
|
7
6
|
// MARK: Utility
|
|
8
7
|
/**
|
|
@@ -56,7 +55,7 @@ function idleLoadingState() {
|
|
|
56
55
|
}
|
|
57
56
|
exports.idleLoadingState = idleLoadingState;
|
|
58
57
|
function beginLoading(state) {
|
|
59
|
-
return Object.assign(Object.assign({}, state), { loading: true });
|
|
58
|
+
return (state) ? Object.assign(Object.assign({}, state), { loading: true }) : { loading: true };
|
|
60
59
|
}
|
|
61
60
|
exports.beginLoading = beginLoading;
|
|
62
61
|
function successResult(value) {
|
|
@@ -68,17 +67,17 @@ function successPageResult(page, value) {
|
|
|
68
67
|
}
|
|
69
68
|
exports.successPageResult = successPageResult;
|
|
70
69
|
function errorResult(error) {
|
|
71
|
-
return { error, loading: false };
|
|
70
|
+
return { error: (0, util_1.toReadableError)(error), loading: false };
|
|
72
71
|
}
|
|
73
72
|
exports.errorResult = errorResult;
|
|
74
73
|
function errorPageResult(page, error) {
|
|
75
74
|
return Object.assign(Object.assign({}, errorResult(error)), { page });
|
|
76
75
|
}
|
|
77
76
|
exports.errorPageResult = errorPageResult;
|
|
78
|
-
function
|
|
77
|
+
function unknownLoadingStatesIsLoading(states) {
|
|
79
78
|
return (0, util_1.reduceBooleansWithOr)(states.map(loadingStateIsLoading), false);
|
|
80
79
|
}
|
|
81
|
-
exports.
|
|
80
|
+
exports.unknownLoadingStatesIsLoading = unknownLoadingStatesIsLoading;
|
|
82
81
|
function allLoadingStatesHaveFinishedLoading(states) {
|
|
83
82
|
return (0, util_1.reduceBooleansWithAnd)(states.map(loadingStateHasFinishedLoading), true);
|
|
84
83
|
}
|
|
@@ -99,7 +98,7 @@ function loadingStateIsLoading(state) {
|
|
|
99
98
|
return true;
|
|
100
99
|
}
|
|
101
100
|
else {
|
|
102
|
-
return loading !== null && loading !== void 0 ? loading : !
|
|
101
|
+
return loading !== null && loading !== void 0 ? loading : !(state.value || state.error);
|
|
103
102
|
}
|
|
104
103
|
}
|
|
105
104
|
else {
|
|
@@ -170,35 +169,30 @@ function loadingStateHasError(state) {
|
|
|
170
169
|
}
|
|
171
170
|
}
|
|
172
171
|
exports.loadingStateHasError = loadingStateHasError;
|
|
172
|
+
function startWithBeginLoading(state) {
|
|
173
|
+
return (0, rxjs_1.startWith)(beginLoading(state));
|
|
174
|
+
}
|
|
175
|
+
exports.startWithBeginLoading = startWithBeginLoading;
|
|
173
176
|
/**
|
|
174
177
|
* Wraps an observable output and maps the value to a LoadingState.
|
|
175
178
|
*/
|
|
176
179
|
function loadingStateFromObs(obs, firstOnly) {
|
|
177
180
|
if (firstOnly) {
|
|
178
|
-
obs = obs.pipe((0,
|
|
181
|
+
obs = obs.pipe((0, rxjs_1.first)());
|
|
179
182
|
}
|
|
180
|
-
return obs.pipe((0,
|
|
183
|
+
return obs.pipe((0, rxjs_1.map)((value) => ({ loading: false, value, error: undefined })), (0, rxjs_1.catchError)((error) => (0, rxjs_1.of)({ loading: false, error })), (0, rxjs_1.delay)(50), (0, rxjs_1.startWith)(({ loading: true })));
|
|
181
184
|
}
|
|
182
185
|
exports.loadingStateFromObs = loadingStateFromObs;
|
|
183
|
-
|
|
184
|
-
* Convenience function for creating a pipe that merges the two input observables.
|
|
185
|
-
*/
|
|
186
|
-
function combineLoadingStates(obsA, obsB, mergeFn) {
|
|
186
|
+
function combineLoadingStates(obsA, obsB, inputMergeFn) {
|
|
187
187
|
return (0, rxjs_1.combineLatest)([obsA, obsB])
|
|
188
|
-
.pipe((0,
|
|
189
|
-
(0,
|
|
188
|
+
.pipe((0, rxjs_1.distinctUntilChanged)((x, y) => (x === null || x === void 0 ? void 0 : x[0]) === (y === null || y === void 0 ? void 0 : y[0]) && (x === null || x === void 0 ? void 0 : x[1]) === (y === null || y === void 0 ? void 0 : y[1])), // Prevent remerging the same values!
|
|
189
|
+
(0, rxjs_1.map)(([a, b]) => mergeLoadingStates(a, b, inputMergeFn)), (0, rxjs_1.shareReplay)(1) // Share the result.
|
|
190
190
|
);
|
|
191
191
|
}
|
|
192
192
|
exports.combineLoadingStates = combineLoadingStates;
|
|
193
|
-
|
|
194
|
-
* Merges the input loading states.
|
|
195
|
-
*
|
|
196
|
-
* If one is unavailable, it is considered loading.
|
|
197
|
-
* If one is loading, will return the loading state.
|
|
198
|
-
* If one has an error and is not loading, will return the error with loading false.
|
|
199
|
-
*/
|
|
200
|
-
function mergeLoadingStates(a, b, mergeFn = (aa, bb) => (Object.assign(Object.assign({}, aa), bb))) {
|
|
193
|
+
function mergeLoadingStates(a, b, inputMergeFn) {
|
|
201
194
|
var _a, _b;
|
|
195
|
+
const mergeFn = inputMergeFn !== null && inputMergeFn !== void 0 ? inputMergeFn : ((a, b) => (Object.assign(Object.assign({}, a), b)));
|
|
202
196
|
const error = (_a = a === null || a === void 0 ? void 0 : a.error) !== null && _a !== void 0 ? _a : b === null || b === void 0 ? void 0 : b.error;
|
|
203
197
|
let result;
|
|
204
198
|
if (error) {
|
|
@@ -248,7 +242,7 @@ function updatedStateForSetError(state, error) {
|
|
|
248
242
|
exports.updatedStateForSetError = updatedStateForSetError;
|
|
249
243
|
function mapMultipleLoadingStateResults(input, config) {
|
|
250
244
|
const { mapValues, mapState } = config;
|
|
251
|
-
const loading =
|
|
245
|
+
const loading = unknownLoadingStatesIsLoading(input);
|
|
252
246
|
const error = input.map(x => x === null || x === void 0 ? void 0 : x.error).filter(x => Boolean(x))[0];
|
|
253
247
|
let result;
|
|
254
248
|
if (!error && !loading) {
|
|
@@ -272,9 +266,13 @@ function mapMultipleLoadingStateResults(input, config) {
|
|
|
272
266
|
exports.mapMultipleLoadingStateResults = mapMultipleLoadingStateResults;
|
|
273
267
|
function mapLoadingStateResults(input, config) {
|
|
274
268
|
const { mapValue, mapState } = config;
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
269
|
+
const inputValue = input === null || input === void 0 ? void 0 : input.value;
|
|
270
|
+
let value;
|
|
271
|
+
if (inputValue != null && mapValue) {
|
|
272
|
+
value = mapValue(inputValue, input);
|
|
273
|
+
}
|
|
274
|
+
else {
|
|
275
|
+
value = inputValue;
|
|
278
276
|
}
|
|
279
277
|
let result;
|
|
280
278
|
if (!mapState) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loading.state.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.state.ts"],"names":[],"mappings":";;;AAAA,+
|
|
1
|
+
{"version":3,"file":"loading.state.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { OperatorFunction } from 'rxjs';
|
|
2
2
|
import { ListLoadingState } from "./loading.state";
|
|
3
|
-
export declare function listLoadingStateIsEmpty<T>(listLoadingState: ListLoadingState<T>): boolean;
|
|
4
|
-
export declare function isListLoadingStateEmpty<T>(): OperatorFunction<ListLoadingState<T>, boolean>;
|
|
3
|
+
export declare function listLoadingStateIsEmpty<T = unknown>(listLoadingState: ListLoadingState<T>): boolean;
|
|
4
|
+
export declare function isListLoadingStateEmpty<T = unknown>(): OperatorFunction<ListLoadingState<T>, boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loading.state.list.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.state.list.ts"],"names":[],"mappings":";;;AAAA,+BAAiE;AACjE,mDAA0E;AAE1E,SAAgB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"loading.state.list.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.state.list.ts"],"names":[],"mappings":";;;AAAA,+BAAiE;AACjE,mDAA0E;AAE1E,SAAgB,uBAAuB,CAAc,gBAAqC;;IACxF,OAAO,OAAO,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC,CAAC,CAAA,MAAA,gBAAgB,CAAC,KAAK,0CAAE,MAAM,IAAG,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC;AAFD,0DAEC;AAED,SAAgB,uBAAuB;IACrC,OAAO,CAAC,GAAoC,EAAE,EAAE;QAC9C,OAAO,GAAG,CAAC,IAAI,CACb,IAAA,aAAM,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAA,qCAAqB,EAAC,CAAC,CAAC,CAAC,EACtC,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,WAAC,OAAA,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAA,MAAA,CAAC,CAAC,KAAK,0CAAE,MAAM,IAAG,CAAC,CAAC,CAAC,CAAA,EAAA,CAAC,CACrD,CAAC;IACJ,CAAC,CAAA;AACH,CAAC;AAPD,0DAOC"}
|
package/src/lib/lock.d.ts
CHANGED
|
@@ -26,7 +26,7 @@ export declare const DEFAULT_LOCK_SET_TIME_LOCK_KEY = "timelock";
|
|
|
26
26
|
/**
|
|
27
27
|
* Executes the input function when the lockSet is set unlocked, or the timeout is reached.
|
|
28
28
|
*/
|
|
29
|
-
export declare function onLockSetNextUnlock({ lockSet, fn, timeout:
|
|
29
|
+
export declare function onLockSetNextUnlock({ lockSet, fn, timeout: inputTimeout, delayTime }: OnLockSetUnlockedConfig): Subscription;
|
|
30
30
|
/**
|
|
31
31
|
* Used for preventing an action until all keys are removed.
|
|
32
32
|
*
|
|
@@ -42,7 +42,6 @@ export declare class LockSet implements Destroyable {
|
|
|
42
42
|
*/
|
|
43
43
|
readonly isLocked$: Observable<boolean>;
|
|
44
44
|
readonly isUnlocked$: Observable<boolean>;
|
|
45
|
-
constructor();
|
|
46
45
|
private get locks();
|
|
47
46
|
setLocked(key: LockKey, config: SetLockedConfig): void;
|
|
48
47
|
setLocked(key: LockKey, config: boolean, duration?: number): void;
|
package/src/lib/lock.js
CHANGED
|
@@ -11,7 +11,8 @@ exports.DEFAULT_LOCK_SET_TIME_LOCK_KEY = 'timelock';
|
|
|
11
11
|
/**
|
|
12
12
|
* Executes the input function when the lockSet is set unlocked, or the timeout is reached.
|
|
13
13
|
*/
|
|
14
|
-
function onLockSetNextUnlock({ lockSet, fn, timeout:
|
|
14
|
+
function onLockSetNextUnlock({ lockSet, fn, timeout: inputTimeout, delayTime }) {
|
|
15
|
+
const timeoutTime = inputTimeout !== null && inputTimeout !== void 0 ? inputTimeout : (0, ms_1.default)('50s');
|
|
15
16
|
return lockSet.isUnlocked$.pipe((0, rxjs_2.filter)((x) => x), (0, rxjs_2.delay)(delayTime !== null && delayTime !== void 0 ? delayTime : 0), (0, rxjs_2.timeout)({
|
|
16
17
|
first: timeoutTime,
|
|
17
18
|
with: () => (0, rxjs_2.of)(false).pipe((0, rxjs_2.tap)(() => console.warn('LockSet time out. Potential issue detected.')))
|
|
@@ -69,7 +70,7 @@ class LockSet {
|
|
|
69
70
|
}
|
|
70
71
|
addLock(key, obs) {
|
|
71
72
|
obs = obs.pipe((0, rxjs_2.defaultIfEmpty)(false));
|
|
72
|
-
|
|
73
|
+
const removeLock = () => this._removeObsForKey(obs, key);
|
|
73
74
|
this._locks.value.set(key, obs);
|
|
74
75
|
this._locks.next(this._locks.value);
|
|
75
76
|
return removeLock;
|
package/src/lib/lock.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../../../../packages/rxjs/src/lib/lock.ts"],"names":[],"mappings":";;;AAAA,wCAA6C;AAE7C,+BAAiK;AACjK,iCAAmF;AACnF,wCAA2E;AAC3E,2BAAoB;AACpB,iDAAoD;AA2BvC,QAAA,8BAA8B,GAAG,UAAU,CAAC;AAEzD;;GAEG;AACH,SAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,GAAG,IAAA,YAAE,EAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../../../../packages/rxjs/src/lib/lock.ts"],"names":[],"mappings":"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"}
|
package/src/lib/object.js
CHANGED
|
@@ -3,22 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.filterIfObjectValuesUnchanged = exports.distinctUntilObjectValuesChanged = void 0;
|
|
4
4
|
const util_1 = require("@dereekb/util");
|
|
5
5
|
const rxjs_1 = require("rxjs");
|
|
6
|
-
const operators_1 = require("rxjs/operators");
|
|
7
6
|
/**
|
|
8
7
|
* Equivalent to distinctUntilChanged() using isEqualObject()
|
|
9
8
|
*/
|
|
10
9
|
function distinctUntilObjectValuesChanged() {
|
|
11
|
-
return (0,
|
|
10
|
+
return (0, rxjs_1.distinctUntilChanged)((a, b) => (0, util_1.areEqualPOJOValues)(a, b));
|
|
12
11
|
}
|
|
13
12
|
exports.distinctUntilObjectValuesChanged = distinctUntilObjectValuesChanged;
|
|
14
13
|
function filterIfObjectValuesUnchanged(input) {
|
|
15
14
|
if ((0, rxjs_1.isObservable)(input)) {
|
|
16
|
-
return (0,
|
|
15
|
+
return (0, rxjs_1.mergeMap)((inputFilter) => {
|
|
17
16
|
return input.pipe(filterIfObjectValuesUnchanged(inputFilter));
|
|
18
17
|
});
|
|
19
18
|
}
|
|
20
19
|
else {
|
|
21
|
-
return (0,
|
|
20
|
+
return (0, rxjs_1.filter)((inputObject) => !(0, util_1.areEqualPOJOValues)(input, inputObject));
|
|
22
21
|
}
|
|
23
22
|
}
|
|
24
23
|
exports.filterIfObjectValuesUnchanged = filterIfObjectValuesUnchanged;
|
package/src/lib/object.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../../packages/rxjs/src/lib/object.ts"],"names":[],"mappings":";;;AAAA,wCAAmD;AACnD,+
|
|
1
|
+
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../../packages/rxjs/src/lib/object.ts"],"names":[],"mappings":";;;AAAA,wCAAmD;AACnD,+BAAkH;AAElH;;GAEG;AACH,SAAgB,gCAAgC;IAC9C,OAAO,IAAA,2BAAoB,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAA,yBAAkB,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAFD,4EAEC;AAOD,SAAgB,6BAA6B,CAAI,KAAwB;IACvE,IAAI,IAAA,mBAAY,EAAC,KAAK,CAAC,EAAE;QACvB,OAAO,IAAA,eAAQ,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,aAAM,EAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAA,yBAAkB,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAA;KACxE;AACH,CAAC;AARD,sEAQC"}
|