@fncts/observable 0.0.26 → 0.0.27
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/Observable/api/raceWith.d.ts +0 -1
- package/Observable/api/repeatWhen.d.ts +1 -1
- package/Observable/api/share.d.ts +1 -1
- package/Observable/api.d.ts +4 -4
- package/Observable/definition.d.ts +1 -4
- package/Observable.d.ts +16 -16
- package/ObservableRef.d.ts +2 -2
- package/Operator.d.ts +3 -3
- package/Subject.d.ts +14 -5
- package/Subscriber.d.ts +23 -8
- package/Subscription.d.ts +2 -2
- package/_cjs/Action.cjs +1 -1
- package/_cjs/AnimationFrameAction.cjs +2 -2
- package/_cjs/AnimationFrameScheduler.cjs +2 -2
- package/_cjs/AsyncAction.cjs +4 -4
- package/_cjs/AsyncAction.cjs.map +1 -1
- package/_cjs/AsyncScheduler.cjs +2 -2
- package/_cjs/BehaviorSubject.cjs +2 -2
- package/_cjs/BehaviorSubject.cjs.map +1 -1
- package/_cjs/Observable/api/connect.cjs +7 -7
- package/_cjs/Observable/api/connect.cjs.map +1 -1
- package/_cjs/Observable/api/connectable.cjs +4 -4
- package/_cjs/Observable/api/connectable.cjs.map +1 -1
- package/_cjs/Observable/api/fromCallback.cjs +2 -2
- package/_cjs/Observable/api/fromEvent.cjs +1 -1
- package/_cjs/Observable/api/race.cjs +4 -4
- package/_cjs/Observable/api/race.cjs.map +1 -1
- package/_cjs/Observable/api/raceWith.cjs +3 -4
- package/_cjs/Observable/api/raceWith.cjs.map +1 -1
- package/_cjs/Observable/api/repeatWhen.cjs +9 -8
- package/_cjs/Observable/api/repeatWhen.cjs.map +1 -1
- package/_cjs/Observable/api/retryWhen.cjs +9 -8
- package/_cjs/Observable/api/retryWhen.cjs.map +1 -1
- package/_cjs/Observable/api/share.cjs +9 -9
- package/_cjs/Observable/api/share.cjs.map +1 -1
- package/_cjs/Observable/api/window.cjs +12 -11
- package/_cjs/Observable/api/window.cjs.map +1 -1
- package/_cjs/Observable/api/windowCount.cjs +12 -10
- package/_cjs/Observable/api/windowCount.cjs.map +1 -1
- package/_cjs/Observable/api/windowTime.cjs +12 -11
- package/_cjs/Observable/api/windowTime.cjs.map +1 -1
- package/_cjs/Observable/api/windowToggle.cjs +26 -24
- package/_cjs/Observable/api/windowToggle.cjs.map +1 -1
- package/_cjs/Observable/api/windowWhen.cjs +17 -15
- package/_cjs/Observable/api/windowWhen.cjs.map +1 -1
- package/_cjs/Observable/api.cjs +325 -311
- package/_cjs/Observable/api.cjs.map +1 -1
- package/_cjs/Observable/definition.cjs +7 -14
- package/_cjs/Observable/definition.cjs.map +1 -1
- package/_cjs/Observable/dom/animationFrames.cjs +3 -3
- package/_cjs/Observable/dom/animationFrames.cjs.map +1 -1
- package/_cjs/Observable.cjs +64 -64
- package/_cjs/Observable.cjs.map +1 -1
- package/_cjs/ObservableRef/api.cjs +2 -2
- package/_cjs/ObservableRef/atomic.cjs +2 -2
- package/_cjs/ObservableRef/definition.cjs +1 -1
- package/_cjs/ObservableRef.cjs +8 -8
- package/_cjs/ObservableRef.cjs.map +1 -1
- package/_cjs/Operator.cjs +9 -14
- package/_cjs/Operator.cjs.map +1 -1
- package/_cjs/Scheduler.cjs +2 -2
- package/_cjs/Subject.cjs +69 -43
- package/_cjs/Subject.cjs.map +1 -1
- package/_cjs/Subscriber.cjs +122 -70
- package/_cjs/Subscriber.cjs.map +1 -1
- package/_cjs/Subscription.cjs +7 -7
- package/_cjs/Subscription.cjs.map +1 -1
- package/_cjs/config.cjs +15 -0
- package/_cjs/config.cjs.map +1 -0
- package/_cjs/index.cjs +13 -13
- package/_cjs/internal/animationFrameProvider.cjs +1 -1
- package/_cjs/internal/args.cjs +1 -1
- package/_cjs/internal/util.cjs +2 -2
- package/_mjs/AsyncAction.mjs +3 -3
- package/_mjs/AsyncAction.mjs.map +1 -1
- package/_mjs/BehaviorSubject.mjs +1 -1
- package/_mjs/BehaviorSubject.mjs.map +1 -1
- package/_mjs/Observable/api/connect.mjs +6 -6
- package/_mjs/Observable/api/connect.mjs.map +1 -1
- package/_mjs/Observable/api/connectable.mjs +1 -1
- package/_mjs/Observable/api/connectable.mjs.map +1 -1
- package/_mjs/Observable/api/race.mjs +1 -1
- package/_mjs/Observable/api/race.mjs.map +1 -1
- package/_mjs/Observable/api/raceWith.mjs +3 -4
- package/_mjs/Observable/api/raceWith.mjs.map +1 -1
- package/_mjs/Observable/api/repeatWhen.mjs +9 -8
- package/_mjs/Observable/api/repeatWhen.mjs.map +1 -1
- package/_mjs/Observable/api/retryWhen.mjs +9 -8
- package/_mjs/Observable/api/retryWhen.mjs.map +1 -1
- package/_mjs/Observable/api/share.mjs +8 -8
- package/_mjs/Observable/api/share.mjs.map +1 -1
- package/_mjs/Observable/api/window.mjs +12 -11
- package/_mjs/Observable/api/window.mjs.map +1 -1
- package/_mjs/Observable/api/windowCount.mjs +12 -10
- package/_mjs/Observable/api/windowCount.mjs.map +1 -1
- package/_mjs/Observable/api/windowTime.mjs +11 -10
- package/_mjs/Observable/api/windowTime.mjs.map +1 -1
- package/_mjs/Observable/api/windowToggle.mjs +25 -23
- package/_mjs/Observable/api/windowToggle.mjs.map +1 -1
- package/_mjs/Observable/api/windowWhen.mjs +17 -15
- package/_mjs/Observable/api/windowWhen.mjs.map +1 -1
- package/_mjs/Observable/api.mjs +304 -290
- package/_mjs/Observable/api.mjs.map +1 -1
- package/_mjs/Observable/definition.mjs +2 -9
- package/_mjs/Observable/definition.mjs.map +1 -1
- package/_mjs/Observable/dom/animationFrames.mjs +1 -1
- package/_mjs/Observable/dom/animationFrames.mjs.map +1 -1
- package/_mjs/Observable.mjs +16 -18
- package/_mjs/Observable.mjs.map +1 -1
- package/_mjs/ObservableRef.mjs +2 -3
- package/_mjs/ObservableRef.mjs.map +1 -1
- package/_mjs/Operator.mjs +6 -11
- package/_mjs/Operator.mjs.map +1 -1
- package/_mjs/Subject.mjs +65 -39
- package/_mjs/Subject.mjs.map +1 -1
- package/_mjs/Subscriber.mjs +119 -67
- package/_mjs/Subscriber.mjs.map +1 -1
- package/_mjs/Subscription.mjs +6 -6
- package/_mjs/Subscription.mjs.map +1 -1
- package/_mjs/config.mjs +9 -0
- package/_mjs/config.mjs.map +1 -0
- package/_src/AsyncAction.ts +3 -3
- package/_src/BehaviorSubject.ts +1 -1
- package/_src/Observable/api/connect.ts +2 -2
- package/_src/Observable/api/connectable.ts +1 -1
- package/_src/Observable/api/race.ts +1 -1
- package/_src/Observable/api/raceWith.ts +2 -5
- package/_src/Observable/api/repeatWhen.ts +4 -4
- package/_src/Observable/api/retryWhen.ts +3 -3
- package/_src/Observable/api/share.ts +6 -6
- package/_src/Observable/api/window.ts +3 -3
- package/_src/Observable/api/windowCount.ts +30 -33
- package/_src/Observable/api/windowTime.ts +4 -4
- package/_src/Observable/api/windowToggle.ts +19 -21
- package/_src/Observable/api/windowWhen.ts +10 -13
- package/_src/Observable/api.ts +358 -363
- package/_src/Observable/definition.ts +2 -17
- package/_src/Observable/dom/animationFrames.ts +1 -1
- package/_src/Observable.ts +17 -18
- package/_src/ObservableRef.ts +2 -3
- package/_src/Operator.ts +9 -21
- package/_src/Subject.ts +66 -39
- package/_src/Subscriber.ts +134 -59
- package/_src/Subscription.ts +8 -8
- package/_src/config.ts +40 -0
- package/_src/global.ts +1 -1
- package/config.d.ts +36 -0
- package/global.d.ts +1 -1
- package/package.json +2 -2
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "@fncts/observable/AsyncScheduler";
|
|
2
|
-
import * as tsplus_module_2 from "@fncts/observable/
|
|
3
|
-
import * as tsplus_module_3 from "@fncts/observable/
|
|
4
|
-
import * as tsplus_module_4 from "@fncts/observable/
|
|
2
|
+
import * as tsplus_module_2 from "@fncts/observable/Observable";
|
|
3
|
+
import * as tsplus_module_3 from "@fncts/observable/Subscription";
|
|
4
|
+
import * as tsplus_module_4 from "@fncts/observable/Subject";
|
|
5
|
+
import * as tsplus_module_5 from "@fncts/observable/Operator";
|
|
5
6
|
import { popScheduler } from "@fncts/observable/internal/args";
|
|
6
7
|
import { arrayRemove } from "@fncts/observable/internal/util";
|
|
7
8
|
export function windowTime(windowTimeSpan, ...args) {
|
|
@@ -9,7 +10,7 @@ export function windowTime(windowTimeSpan, ...args) {
|
|
|
9
10
|
const scheduler = popScheduler(args) ?? tsplus_module_1.asyncScheduler;
|
|
10
11
|
const windowCreationInterval = args[0] ?? null;
|
|
11
12
|
const maxWindowSize = args[1] || Infinity;
|
|
12
|
-
return
|
|
13
|
+
return new tsplus_module_2.Observable((subscriber, environment) => {
|
|
13
14
|
let windowRecords = [];
|
|
14
15
|
let restartOnClose = false;
|
|
15
16
|
const closeWindow = record => {
|
|
@@ -24,9 +25,9 @@ export function windowTime(windowTimeSpan, ...args) {
|
|
|
24
25
|
};
|
|
25
26
|
const startWindow = () => {
|
|
26
27
|
if (windowRecords) {
|
|
27
|
-
const subs = new
|
|
28
|
+
const subs = new tsplus_module_3.Subscription();
|
|
28
29
|
subscriber.add(subs);
|
|
29
|
-
const window = new
|
|
30
|
+
const window = new tsplus_module_4.Subject();
|
|
30
31
|
const record = {
|
|
31
32
|
window,
|
|
32
33
|
subs,
|
|
@@ -39,7 +40,7 @@ export function windowTime(windowTimeSpan, ...args) {
|
|
|
39
40
|
};
|
|
40
41
|
windowCreationInterval !== null && windowCreationInterval >= 0 ? subscriber.add(scheduler.schedule(function () {
|
|
41
42
|
startWindow();
|
|
42
|
-
!this.
|
|
43
|
+
!this._closed && subscriber.add(this.schedule(null, windowCreationInterval));
|
|
43
44
|
}, windowCreationInterval)) : restartOnClose = true;
|
|
44
45
|
startWindow();
|
|
45
46
|
const loop = cb => windowRecords.slice().forEach(cb);
|
|
@@ -50,7 +51,7 @@ export function windowTime(windowTimeSpan, ...args) {
|
|
|
50
51
|
cb(subscriber);
|
|
51
52
|
subscriber.unsubscribe();
|
|
52
53
|
};
|
|
53
|
-
|
|
54
|
+
fa.provideEnvironment(environment).subscribe(tsplus_module_5.operate_({
|
|
54
55
|
next: value => {
|
|
55
56
|
loop(record => {
|
|
56
57
|
record.window.next(value);
|
|
@@ -59,11 +60,11 @@ export function windowTime(windowTimeSpan, ...args) {
|
|
|
59
60
|
},
|
|
60
61
|
error: err => terminate(consumer => consumer.error(err)),
|
|
61
62
|
complete: () => terminate(consumer => consumer.complete())
|
|
62
|
-
}));
|
|
63
|
+
})(subscriber));
|
|
63
64
|
return () => {
|
|
64
65
|
windowRecords = null;
|
|
65
66
|
};
|
|
66
|
-
})
|
|
67
|
+
});
|
|
67
68
|
};
|
|
68
69
|
}
|
|
69
70
|
//# sourceMappingURL=windowTime.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"windowTime.mjs","names":["popScheduler","arrayRemove","windowTime","windowTimeSpan","args","fa","scheduler","tsplus_module_1","asyncScheduler","windowCreationInterval","maxWindowSize","Infinity","
|
|
1
|
+
{"version":3,"file":"windowTime.mjs","names":["popScheduler","arrayRemove","windowTime","windowTimeSpan","args","fa","scheduler","tsplus_module_1","asyncScheduler","windowCreationInterval","maxWindowSize","Infinity","tsplus_module_2","Observable","subscriber","environment","windowRecords","restartOnClose","closeWindow","record","window","subs","complete","unsubscribe","startWindow","tsplus_module_3","Subscription","add","tsplus_module_4","Subject","seen","push","next","asObservable","schedule","_closed","loop","cb","slice","forEach","terminate","provideEnvironment","subscribe","tsplus_module_5","operate_","value","error","err","consumer"],"sources":["../../../_src/Observable/api/windowTime.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import * as tsplus_module_1 from "@fncts/observable/
|
|
2
|
-
import * as tsplus_module_2 from "@fncts/observable/
|
|
3
|
-
import * as tsplus_module_3 from "@fncts/observable/
|
|
4
|
-
import * as tsplus_module_4 from "@fncts/
|
|
5
|
-
import * as tsplus_module_5 from "@fncts/
|
|
6
|
-
import * as tsplus_module_6 from "@fncts/observable/
|
|
1
|
+
import * as tsplus_module_1 from "@fncts/observable/Observable";
|
|
2
|
+
import * as tsplus_module_2 from "@fncts/observable/Subject";
|
|
3
|
+
import * as tsplus_module_3 from "@fncts/observable/Subscription";
|
|
4
|
+
import * as tsplus_module_4 from "@fncts/observable/Observable/api";
|
|
5
|
+
import * as tsplus_module_5 from "@fncts/base/data/Cause/api";
|
|
6
|
+
import * as tsplus_module_6 from "@fncts/observable/internal/util";
|
|
7
|
+
import * as tsplus_module_7 from "@fncts/observable/Operator";
|
|
7
8
|
import { arrayRemove } from "@fncts/observable/internal/util";
|
|
8
9
|
/**
|
|
9
10
|
* @tsplus pipeable fncts.observable.Observable windowToggle
|
|
10
11
|
*/
|
|
11
12
|
export function windowToggle(openings, closingSelector) {
|
|
12
13
|
return fa => {
|
|
13
|
-
return
|
|
14
|
+
return new tsplus_module_1.Observable((subscriber, environment) => {
|
|
14
15
|
const windows = [];
|
|
15
16
|
const handleError = err => {
|
|
16
17
|
while (0 < windows.length) {
|
|
@@ -18,11 +19,11 @@ export function windowToggle(openings, closingSelector) {
|
|
|
18
19
|
}
|
|
19
20
|
subscriber.error(err);
|
|
20
21
|
};
|
|
21
|
-
|
|
22
|
+
tsplus_module_4.from(openings).provideEnvironment(environment).subscribe(tsplus_module_7.operate_({
|
|
22
23
|
next: openValue => {
|
|
23
|
-
const window = new
|
|
24
|
+
const window = new tsplus_module_2.Subject();
|
|
24
25
|
windows.push(window);
|
|
25
|
-
const closingSubscription = new
|
|
26
|
+
const closingSubscription = new tsplus_module_3.Subscription();
|
|
26
27
|
const closeWindow = () => {
|
|
27
28
|
arrayRemove(windows, window);
|
|
28
29
|
window.complete();
|
|
@@ -30,21 +31,21 @@ export function windowToggle(openings, closingSelector) {
|
|
|
30
31
|
};
|
|
31
32
|
let closingNotifier;
|
|
32
33
|
try {
|
|
33
|
-
closingNotifier =
|
|
34
|
+
closingNotifier = tsplus_module_4.from(closingSelector(openValue));
|
|
34
35
|
} catch (err) {
|
|
35
|
-
handleError(
|
|
36
|
+
handleError(tsplus_module_5.halt(err));
|
|
36
37
|
return;
|
|
37
38
|
}
|
|
38
39
|
subscriber.next(window.asObservable());
|
|
39
|
-
closingSubscription.add(closingNotifier.provideEnvironment(environment).subscribe(
|
|
40
|
+
closingSubscription.add(closingNotifier.provideEnvironment(environment).subscribe(tsplus_module_7.operatorSubscriber(subscriber, {
|
|
40
41
|
next: closeWindow,
|
|
41
|
-
complete:
|
|
42
|
+
complete: tsplus_module_6.noop,
|
|
42
43
|
error: closeWindow
|
|
43
44
|
})));
|
|
44
45
|
},
|
|
45
|
-
complete:
|
|
46
|
-
}));
|
|
47
|
-
|
|
46
|
+
complete: tsplus_module_6.noop
|
|
47
|
+
})(subscriber));
|
|
48
|
+
fa.provideEnvironment(environment).subscribe(tsplus_module_7.operate_({
|
|
48
49
|
next: value => {
|
|
49
50
|
const windowsCopy = windows.slice();
|
|
50
51
|
for (const window of windowsCopy) {
|
|
@@ -57,13 +58,14 @@ export function windowToggle(openings, closingSelector) {
|
|
|
57
58
|
windows.shift().complete();
|
|
58
59
|
}
|
|
59
60
|
subscriber.complete();
|
|
61
|
+
},
|
|
62
|
+
finalize: () => {
|
|
63
|
+
while (0 < windows.length) {
|
|
64
|
+
windows.shift().unsubscribe();
|
|
65
|
+
}
|
|
60
66
|
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
windows.shift().unsubscribe();
|
|
64
|
-
}
|
|
65
|
-
}));
|
|
66
|
-
})(fa);
|
|
67
|
+
})(subscriber));
|
|
68
|
+
});
|
|
67
69
|
};
|
|
68
70
|
}
|
|
69
71
|
//# sourceMappingURL=windowToggle.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"windowToggle.mjs","names":["arrayRemove","windowToggle","openings","closingSelector","fa","
|
|
1
|
+
{"version":3,"file":"windowToggle.mjs","names":["arrayRemove","windowToggle","openings","closingSelector","fa","tsplus_module_1","Observable","subscriber","environment","windows","handleError","err","length","shift","error","tsplus_module_4","from","provideEnvironment","subscribe","tsplus_module_7","operate_","next","openValue","window","tsplus_module_2","Subject","push","closingSubscription","tsplus_module_3","Subscription","closeWindow","complete","unsubscribe","closingNotifier","tsplus_module_5","halt","asObservable","add","operatorSubscriber","tsplus_module_6","noop","value","windowsCopy","slice","finalize"],"sources":["../../../_src/Observable/api/windowToggle.ts"],"sourcesContent":[null],"mappings":";;;;;;;AAAA,SAASA,WAAW,QAAQ,iCAAiC;AAE7D;;;AAGA,OAAM,SAAUC,YAAYA,CAC1BC,QAAoC,EACpCC,eAA+D;EAE/D,OAAiBC,EAAuB,IAAmE;IACzG,OAAO,IAAAC,eAAA,CAAIC,UAAU,CAAC,CAACC,UAAU,EAAEC,WAAW,KAAI;MAChD,MAAMC,OAAO,GAA2B,EAAE;MAC1C,MAAMC,WAAW,GAAwBC,GAAa,IAAI;QACxD,OAAO,CAAC,GAAGF,OAAO,CAACG,MAAM,EAAE;UACzBH,OAAO,CAACI,KAAK,EAAG,CAACC,KAAK,CAACH,GAAG,CAAC;QAC7B;QACAJ,UAAU,CAACO,KAAK,CAACH,GAAG,CAAC;MACvB,CAAC;MACDI,eAAA,CAAAC,IAAA,CAAgBd,QAAQ,CAAC,CACtBe,kBAAkB,CAACT,WAAW,CAAC,CAC/BU,SAAS,CACRC,eAAA,CAAAC,QAAA,CAAmB;QACjBC,IAAI,EAAGC,SAAS,IAAI;UAClB,MAAMC,MAAM,GAAG,IAAAC,eAAA,CAAIC,OAAO,EAAe;UACzChB,OAAO,CAACiB,IAAI,CAACH,MAAM,CAAC;UACpB,MAAMI,mBAAmB,GAAG,IAAAC,eAAA,CAAIC,YAAY,EAAE;UAC9C,MAAMC,WAAW,GAAWA,CAAA,KAAK;YAC/B9B,WAAW,CAACS,OAAO,EAAEc,MAAM,CAAC;YAC5BA,MAAM,CAACQ,QAAQ,EAAE;YACjBJ,mBAAmB,CAACK,WAAW,EAAE;UACnC,CAAC;UACD,IAAIC,eAAwC;UAC5C,IAAI;YACFA,eAAe,GAAGlB,eAAA,CAAAC,IAAA,CAAgBb,eAAe,CAACmB,SAAS,CAAC,CAAC;UAC/D,CAAC,CAAC,OAAOX,GAAG,EAAE;YACZD,WAAW,CAACwB,eAAA,CAAAC,IAAA,CAAWxB,GAAG,CAAC,CAAC;YAC5B;UACF;UACAJ,UAAU,CAACc,IAAI,CAACE,MAAM,CAACa,YAAY,EAAE,CAAC;UACtCT,mBAAmB,CAACU,GAAG,CACrBJ,eAAe,CAAChB,kBAAkB,CAACT,WAAW,CAAC,CAACU,SAAS,CACvDC,eAAA,CAAAmB,kBAAkB,CAAC/B,UAAU,EAAE;YAC7Bc,IAAI,EAAES,WAAW;YACjBC,QAAQ,EAAAQ,eAAA,CAAEC,IAAI;YACd1B,KAAK,EAAEgB;WACR,CAAC,CACH,CACF;QACH,CAAC;QACDC,QAAQ,EAAAQ,eAAA,CAAEC;OACX,EA7BDjC,UAAU,CA6BR,CACH;MACHH,EAAE,CAACa,kBAAkB,CAACT,WAAW,CAAC,CAACU,SAAS,CAC1CC,eAAA,CAAAC,QAAA,CAAmB;QACjBC,IAAI,EAAGoB,KAAK,IAAI;UACd,MAAMC,WAAW,GAAGjC,OAAO,CAACkC,KAAK,EAAE;UACnC,KAAK,MAAMpB,MAAM,IAAImB,WAAW,EAAE;YAChCnB,MAAM,CAACF,IAAI,CAACoB,KAAK,CAAC;UACpB;QACF,CAAC;QACD3B,KAAK,EAAEJ,WAAW;QAClBqB,QAAQ,EAAEA,CAAA,KAAK;UACb,OAAO,CAAC,GAAGtB,OAAO,CAACG,MAAM,EAAE;YACzBH,OAAO,CAACI,KAAK,EAAG,CAACkB,QAAQ,EAAE;UAC7B;UACAxB,UAAU,CAACwB,QAAQ,EAAE;QACvB,CAAC;QAEDa,QAAQ,EAAEA,CAAA,KAAK;UACb,OAAO,CAAC,GAAGnC,OAAO,CAACG,MAAM,EAAE;YACzBH,OAAO,CAACI,KAAK,EAAG,CAACmB,WAAW,EAAE;UAChC;QACF;OACD,EApBDzB,UAAU,CAoBR,CACH;IACH,CAAC,CAAC;EACJ,CAAC;AACH","ignoreList":[]}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import * as tsplus_module_1 from "@fncts/observable/
|
|
2
|
-
import * as tsplus_module_2 from "@fncts/observable/
|
|
3
|
-
import * as tsplus_module_3 from "@fncts/
|
|
4
|
-
import * as tsplus_module_4 from "@fncts/
|
|
1
|
+
import * as tsplus_module_1 from "@fncts/observable/Observable";
|
|
2
|
+
import * as tsplus_module_2 from "@fncts/observable/Subject";
|
|
3
|
+
import * as tsplus_module_3 from "@fncts/observable/Observable/api";
|
|
4
|
+
import * as tsplus_module_4 from "@fncts/base/data/Cause/api";
|
|
5
|
+
import * as tsplus_module_5 from "@fncts/observable/Operator";
|
|
5
6
|
/**
|
|
6
7
|
* @tsplus pipeable fncts.observable.Observable windowWhen
|
|
7
8
|
*/
|
|
8
9
|
export function windowWhen(closingSelector) {
|
|
9
10
|
return fa => {
|
|
10
|
-
return
|
|
11
|
+
return new tsplus_module_1.Observable((subscriber, environment) => {
|
|
11
12
|
let window;
|
|
12
13
|
let closingSubscriber;
|
|
13
14
|
const handleError = err => {
|
|
@@ -17,34 +18,35 @@ export function windowWhen(closingSelector) {
|
|
|
17
18
|
const openWindow = () => {
|
|
18
19
|
closingSubscriber?.unsubscribe();
|
|
19
20
|
window?.complete();
|
|
20
|
-
window = new
|
|
21
|
+
window = new tsplus_module_2.Subject();
|
|
21
22
|
subscriber.next(window.asObservable());
|
|
22
23
|
let closingNotifier;
|
|
23
24
|
try {
|
|
24
|
-
closingNotifier =
|
|
25
|
+
closingNotifier = tsplus_module_3.from(closingSelector());
|
|
25
26
|
} catch (err) {
|
|
26
|
-
handleError(
|
|
27
|
+
handleError(tsplus_module_4.halt(err));
|
|
27
28
|
return;
|
|
28
29
|
}
|
|
29
|
-
closingNotifier.subscribe(closingSubscriber =
|
|
30
|
+
closingNotifier.subscribe(closingSubscriber = tsplus_module_5.operatorSubscriber(subscriber, {
|
|
30
31
|
next: openWindow,
|
|
31
32
|
complete: openWindow,
|
|
32
33
|
error: handleError
|
|
33
34
|
}));
|
|
34
35
|
};
|
|
35
36
|
openWindow();
|
|
36
|
-
|
|
37
|
+
fa.provideEnvironment(environment).subscribe(tsplus_module_5.operate_({
|
|
37
38
|
next: value => window.next(value),
|
|
38
39
|
error: handleError,
|
|
39
40
|
complete: () => {
|
|
40
41
|
window.complete();
|
|
41
42
|
subscriber.complete();
|
|
43
|
+
},
|
|
44
|
+
finalize: () => {
|
|
45
|
+
closingSubscriber?.unsubscribe();
|
|
46
|
+
window = null;
|
|
42
47
|
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
window = null;
|
|
46
|
-
}));
|
|
47
|
-
})(fa);
|
|
48
|
+
})(subscriber));
|
|
49
|
+
});
|
|
48
50
|
};
|
|
49
51
|
}
|
|
50
52
|
//# sourceMappingURL=windowWhen.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"windowWhen.mjs","names":["windowWhen","closingSelector","fa","
|
|
1
|
+
{"version":3,"file":"windowWhen.mjs","names":["windowWhen","closingSelector","fa","tsplus_module_1","Observable","subscriber","environment","window","closingSubscriber","handleError","err","error","openWindow","unsubscribe","complete","tsplus_module_2","Subject","next","asObservable","closingNotifier","tsplus_module_3","from","tsplus_module_4","halt","subscribe","tsplus_module_5","operatorSubscriber","provideEnvironment","operate_","value","finalize"],"sources":["../../../_src/Observable/api/windowWhen.ts"],"sourcesContent":[null],"mappings":";;;;;AAAA;;;AAGA,OAAM,SAAUA,UAAUA,CAACC,eAAyD;EAClF,OAAiBC,EAAuB,IAA+C;IACrF,OAAO,IAAAC,eAAA,CAAIC,UAAU,CAAC,CAACC,UAAU,EAAEC,WAAW,KAAI;MAChD,IAAIC,MAAmC;MACvC,IAAIC,iBAAiD;MACrD,MAAMC,WAAW,GAAIC,GAAa,IAAI;QACpCH,MAAO,CAACI,KAAK,CAACD,GAAG,CAAC;QAClBL,UAAU,CAACM,KAAK,CAACD,GAAG,CAAC;MACvB,CAAC;MACD,MAAME,UAAU,GAAGA,CAAA,KAAK;QACtBJ,iBAAiB,EAAEK,WAAW,EAAE;QAChCN,MAAM,EAAEO,QAAQ,EAAE;QAClBP,MAAM,GAAG,IAAAQ,eAAA,CAAIC,OAAO,EAAE;QACtBX,UAAU,CAACY,IAAI,CAACV,MAAM,CAACW,YAAY,EAAE,CAAC;QACtC,IAAIC,eAA8C;QAClD,IAAI;UACFA,eAAe,GAAGC,eAAA,CAAAC,IAAA,CAAgBpB,eAAe,EAAE,CAAC;QACtD,CAAC,CAAC,OAAOS,GAAG,EAAE;UACZD,WAAW,CAACa,eAAA,CAAAC,IAAA,CAAWb,GAAG,CAAC,CAAC;UAC5B;QACF;QACAS,eAAe,CAACK,SAAS,CACtBhB,iBAAiB,GAAGiB,eAAA,CAAAC,kBAAkB,CAACrB,UAAU,EAAE;UAClDY,IAAI,EAAEL,UAAU;UAChBE,QAAQ,EAAEF,UAAU;UACpBD,KAAK,EAAEF;SACR,CAAE,CACJ;MACH,CAAC;MACDG,UAAU,EAAE;MACZV,EAAE,CAACyB,kBAAkB,CAACrB,WAAW,CAAC,CAACkB,SAAS,CAC1CC,eAAA,CAAAG,QAAA,CAAmB;QACjBX,IAAI,EAAGY,KAAK,IAAKtB,MAAO,CAACU,IAAI,CAACY,KAAK,CAAC;QACpClB,KAAK,EAAEF,WAAW;QAClBK,QAAQ,EAAEA,CAAA,KAAK;UACbP,MAAO,CAACO,QAAQ,EAAE;UAClBT,UAAU,CAACS,QAAQ,EAAE;QACvB,CAAC;QACDgB,QAAQ,EAAEA,CAAA,KAAK;UACbtB,iBAAiB,EAAEK,WAAW,EAAE;UAChCN,MAAM,GAAG,IAAK;QAChB;OACD,EAXDF,UAAU,CAWR,CACH;IACH,CAAC,CAAC;EACJ,CAAC;AACH","ignoreList":[]}
|