@fncts/observable 0.0.9 → 0.0.11
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/BehaviorSubject.d.ts +2 -2
- package/Notification.d.ts +4 -4
- package/Observable/api/connect.d.ts +2 -2
- package/Observable/api/connectable.d.ts +2 -2
- package/Observable/api/fromEvent.d.ts +4 -0
- package/Observable/api/race.d.ts +2 -1
- package/Observable/api/raceWith.d.ts +2 -2
- package/Observable/api/repeatWhen.d.ts +5 -2
- package/Observable/api/retryWhen.d.ts +2 -3
- package/Observable/api/share.d.ts +5 -4
- package/Observable/api/window.d.ts +2 -2
- package/Observable/api/windowCount.d.ts +2 -2
- package/Observable/api/windowTime.d.ts +5 -5
- package/Observable/api/windowToggle.d.ts +3 -3
- package/Observable/api/windowWhen.d.ts +3 -3
- package/Observable/api.d.ts +189 -195
- package/Observable/definition.d.ts +8 -6
- package/ObservableRef/api.d.ts +63 -0
- package/ObservableRef/atomic.d.ts +32 -0
- package/ObservableRef/definition.d.ts +52 -0
- package/Operator.d.ts +2 -2
- package/_cjs/Action.cjs +0 -7
- package/_cjs/Action.cjs.map +1 -1
- package/_cjs/AnimationFrameAction.cjs +0 -12
- package/_cjs/AnimationFrameAction.cjs.map +1 -1
- package/_cjs/AnimationFrameScheduler.cjs +0 -12
- package/_cjs/AnimationFrameScheduler.cjs.map +1 -1
- package/_cjs/AsyncAction.cjs +0 -25
- package/_cjs/AsyncAction.cjs.map +1 -1
- package/_cjs/AsyncScheduler.cjs +2 -16
- package/_cjs/AsyncScheduler.cjs.map +1 -1
- package/_cjs/BehaviorSubject.cjs +1 -13
- package/_cjs/BehaviorSubject.cjs.map +1 -1
- package/_cjs/Notification.cjs +21 -40
- package/_cjs/Notification.cjs.map +1 -1
- package/_cjs/Observable/api/connect.cjs +12 -17
- package/_cjs/Observable/api/connect.cjs.map +1 -1
- package/_cjs/Observable/api/connectable.cjs +6 -18
- package/_cjs/Observable/api/connectable.cjs.map +1 -1
- package/_cjs/Observable/api/fromCallback.cjs +0 -15
- package/_cjs/Observable/api/fromCallback.cjs.map +1 -1
- package/_cjs/Observable/api/fromEvent.cjs +3 -5
- package/_cjs/Observable/api/fromEvent.cjs.map +1 -1
- package/_cjs/Observable/api/index.cjs +0 -28
- package/_cjs/Observable/api/index.cjs.map +1 -1
- package/_cjs/Observable/api/race.cjs +2 -12
- package/_cjs/Observable/api/race.cjs.map +1 -1
- package/_cjs/Observable/api/raceWith.cjs +8 -11
- package/_cjs/Observable/api/raceWith.cjs.map +1 -1
- package/_cjs/Observable/api/repeatWhen.cjs +44 -55
- package/_cjs/Observable/api/repeatWhen.cjs.map +1 -1
- package/_cjs/Observable/api/retryWhen.cjs +29 -45
- package/_cjs/Observable/api/retryWhen.cjs.map +1 -1
- package/_cjs/Observable/api/share.cjs +61 -77
- package/_cjs/Observable/api/share.cjs.map +1 -1
- package/_cjs/Observable/api/window.cjs +33 -39
- package/_cjs/Observable/api/window.cjs.map +1 -1
- package/_cjs/Observable/api/windowCount.cjs +40 -48
- package/_cjs/Observable/api/windowCount.cjs.map +1 -1
- package/_cjs/Observable/api/windowTime.cjs +60 -73
- package/_cjs/Observable/api/windowTime.cjs.map +1 -1
- package/_cjs/Observable/api/windowToggle.cjs +55 -71
- package/_cjs/Observable/api/windowToggle.cjs.map +1 -1
- package/_cjs/Observable/api/windowWhen.cjs +42 -52
- package/_cjs/Observable/api/windowWhen.cjs.map +1 -1
- package/_cjs/Observable/api.cjs +1260 -1485
- package/_cjs/Observable/api.cjs.map +1 -1
- package/_cjs/Observable/definition.cjs +9 -37
- package/_cjs/Observable/definition.cjs.map +1 -1
- package/_cjs/Observable/dom/animationFrames.cjs +0 -12
- package/_cjs/Observable/dom/animationFrames.cjs.map +1 -1
- package/_cjs/Observable.cjs +0 -38
- package/_cjs/Observable.cjs.map +1 -1
- package/_cjs/ObservableRef/api.cjs +160 -0
- package/_cjs/ObservableRef/api.cjs.map +1 -0
- package/_cjs/ObservableRef/atomic.cjs +93 -0
- package/_cjs/ObservableRef/atomic.cjs.map +1 -0
- package/_cjs/ObservableRef/definition.cjs +24 -0
- package/_cjs/ObservableRef/definition.cjs.map +1 -0
- package/_cjs/Operator.cjs +11 -21
- package/_cjs/Operator.cjs.map +1 -1
- package/_cjs/Scheduler.cjs +0 -18
- package/_cjs/Scheduler.cjs.map +1 -1
- package/_cjs/Subject.cjs +3 -50
- package/_cjs/Subject.cjs.map +1 -1
- package/_cjs/Subscriber.cjs +0 -32
- package/_cjs/Subscriber.cjs.map +1 -1
- package/_cjs/Subscription.cjs +0 -37
- package/_cjs/Subscription.cjs.map +1 -1
- package/_cjs/index.cjs +0 -28
- package/_cjs/internal/animationFrameProvider.cjs +0 -9
- package/_cjs/internal/animationFrameProvider.cjs.map +1 -1
- package/_cjs/internal/args.cjs +0 -6
- package/_cjs/internal/args.cjs.map +1 -1
- package/_cjs/internal/intervalProvider.cjs +0 -2
- package/_cjs/internal/intervalProvider.cjs.map +1 -1
- package/_cjs/internal/performanceTimestampProvider.cjs +0 -1
- package/_cjs/internal/performanceTimestampProvider.cjs.map +1 -1
- package/_cjs/internal/timeoutProvider.cjs +0 -2
- package/_cjs/internal/timeoutProvider.cjs.map +1 -1
- package/_cjs/internal/timestampProvider.cjs +0 -1
- package/_cjs/internal/timestampProvider.cjs.map +1 -1
- package/_cjs/internal/util.cjs +2 -21
- package/_cjs/internal/util.cjs.map +1 -1
- package/_mjs/Action.mjs +0 -3
- package/_mjs/Action.mjs.map +1 -1
- package/_mjs/AnimationFrameAction.mjs +0 -6
- package/_mjs/AnimationFrameAction.mjs.map +1 -1
- package/_mjs/AnimationFrameScheduler.mjs +0 -7
- package/_mjs/AnimationFrameScheduler.mjs.map +1 -1
- package/_mjs/AsyncAction.mjs +0 -17
- package/_mjs/AsyncAction.mjs.map +1 -1
- package/_mjs/AsyncScheduler.mjs +2 -10
- package/_mjs/AsyncScheduler.mjs.map +1 -1
- package/_mjs/BehaviorSubject.mjs +1 -8
- package/_mjs/BehaviorSubject.mjs.map +1 -1
- package/_mjs/Notification.mjs +18 -26
- package/_mjs/Notification.mjs.map +1 -1
- package/_mjs/Observable/api/connect.mjs +12 -11
- package/_mjs/Observable/api/connect.mjs.map +1 -1
- package/_mjs/Observable/api/connectable.mjs +6 -9
- package/_mjs/Observable/api/connectable.mjs.map +1 -1
- package/_mjs/Observable/api/fromCallback.mjs +0 -10
- package/_mjs/Observable/api/fromCallback.mjs.map +1 -1
- package/_mjs/Observable/api/fromEvent.mjs +3 -1
- package/_mjs/Observable/api/fromEvent.mjs.map +1 -1
- package/_mjs/Observable/api/index.mjs.map +1 -1
- package/_mjs/Observable/api/race.mjs +2 -6
- package/_mjs/Observable/api/race.mjs.map +1 -1
- package/_mjs/Observable/api/raceWith.mjs +7 -6
- package/_mjs/Observable/api/raceWith.mjs.map +1 -1
- package/_mjs/Observable/api/repeatWhen.mjs +44 -48
- package/_mjs/Observable/api/repeatWhen.mjs.map +1 -1
- package/_mjs/Observable/api/retryWhen.mjs +29 -37
- package/_mjs/Observable/api/retryWhen.mjs.map +1 -1
- package/_mjs/Observable/api/share.mjs +60 -70
- package/_mjs/Observable/api/share.mjs.map +1 -1
- package/_mjs/Observable/api/window.mjs +32 -33
- package/_mjs/Observable/api/window.mjs.map +1 -1
- package/_mjs/Observable/api/windowCount.mjs +39 -43
- package/_mjs/Observable/api/windowCount.mjs.map +1 -1
- package/_mjs/Observable/api/windowTime.mjs +59 -63
- package/_mjs/Observable/api/windowTime.mjs.map +1 -1
- package/_mjs/Observable/api/windowToggle.mjs +54 -62
- package/_mjs/Observable/api/windowToggle.mjs.map +1 -1
- package/_mjs/Observable/api/windowWhen.mjs +41 -45
- package/_mjs/Observable/api/windowWhen.mjs.map +1 -1
- package/_mjs/Observable/api.mjs +1186 -1311
- package/_mjs/Observable/api.mjs.map +1 -1
- package/_mjs/Observable/definition.mjs +9 -24
- package/_mjs/Observable/definition.mjs.map +1 -1
- package/_mjs/Observable/dom/animationFrames.mjs +0 -5
- package/_mjs/Observable/dom/animationFrames.mjs.map +1 -1
- package/_mjs/Observable.mjs +4 -4
- package/_mjs/Observable.mjs.map +1 -1
- package/_mjs/ObservableRef/api.mjs +141 -0
- package/_mjs/ObservableRef/api.mjs.map +1 -0
- package/_mjs/ObservableRef/atomic.mjs +82 -0
- package/_mjs/ObservableRef/atomic.mjs.map +1 -0
- package/_mjs/ObservableRef/definition.mjs +16 -0
- package/_mjs/ObservableRef/definition.mjs.map +1 -0
- package/_mjs/Operator.mjs +11 -12
- package/_mjs/Operator.mjs.map +1 -1
- package/_mjs/Scheduler.mjs +0 -9
- package/_mjs/Scheduler.mjs.map +1 -1
- package/_mjs/Subject.mjs +3 -37
- package/_mjs/Subject.mjs.map +1 -1
- package/_mjs/Subscriber.mjs +0 -20
- package/_mjs/Subscriber.mjs.map +1 -1
- package/_mjs/Subscription.mjs +0 -26
- package/_mjs/Subscription.mjs.map +1 -1
- package/_mjs/index.mjs.map +1 -1
- package/_mjs/internal/animationFrameProvider.mjs +0 -5
- package/_mjs/internal/animationFrameProvider.mjs.map +1 -1
- package/_mjs/internal/args.mjs +0 -2
- package/_mjs/internal/args.mjs.map +1 -1
- package/_mjs/internal/intervalProvider.mjs +0 -2
- package/_mjs/internal/intervalProvider.mjs.map +1 -1
- package/_mjs/internal/performanceTimestampProvider.mjs +0 -1
- package/_mjs/internal/performanceTimestampProvider.mjs.map +1 -1
- package/_mjs/internal/timeoutProvider.mjs +0 -2
- package/_mjs/internal/timeoutProvider.mjs.map +1 -1
- package/_mjs/internal/timestampProvider.mjs +0 -1
- package/_mjs/internal/timestampProvider.mjs.map +1 -1
- package/_mjs/internal/util.mjs +2 -7
- package/_mjs/internal/util.mjs.map +1 -1
- package/_src/Action.ts +0 -1
- package/_src/AnimationFrameAction.ts +0 -2
- package/_src/AnimationFrameScheduler.ts +2 -7
- package/_src/BehaviorSubject.ts +3 -3
- package/_src/Notification.ts +21 -23
- package/_src/Observable/api/connect.ts +12 -9
- package/_src/Observable/api/connectable.ts +6 -7
- package/_src/Observable/api/fromCallback.ts +0 -1
- package/_src/Observable/api/fromEvent.ts +3 -0
- package/_src/Observable/api/race.ts +15 -13
- package/_src/Observable/api/raceWith.ts +15 -14
- package/_src/Observable/api/repeatWhen.ts +51 -56
- package/_src/Observable/api/retryWhen.ts +38 -43
- package/_src/Observable/api/share.ts +63 -71
- package/_src/Observable/api/window.ts +36 -41
- package/_src/Observable/api/windowCount.ts +44 -51
- package/_src/Observable/api/windowTime.ts +69 -81
- package/_src/Observable/api/windowToggle.ts +69 -73
- package/_src/Observable/api/windowWhen.ts +49 -55
- package/_src/Observable/api.ts +1493 -1498
- package/_src/Observable/definition.ts +24 -18
- package/_src/Observable/dom/animationFrames.ts +16 -6
- package/_src/Observable/instances.ts +0 -23
- package/_src/Observable.ts +0 -2
- package/_src/ObservableRef/api.ts +169 -0
- package/_src/ObservableRef/atomic.ts +85 -0
- package/_src/ObservableRef/definition.ts +57 -0
- package/_src/Operator.ts +20 -15
- package/_src/Scheduler.ts +0 -6
- package/_src/Subject.ts +1 -1
- package/_src/Subscriber.ts +3 -2
- package/_src/global.ts +5 -1
- package/_src/internal/util.ts +8 -4
- package/global.d.ts +5 -1
- package/package.json +2 -2
|
@@ -6,72 +6,64 @@ import * as tsplus_module_5 from "@fncts/observable/internal/util";
|
|
|
6
6
|
import * as tsplus_module_6 from "@fncts/observable/Operator";
|
|
7
7
|
import { arrayRemove } from "@fncts/observable/internal/util";
|
|
8
8
|
/**
|
|
9
|
-
* @tsplus
|
|
9
|
+
* @tsplus pipeable fncts.observable.Observable windowToggle
|
|
10
10
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
windows.shift().error(err);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
subscriber.error(err);
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
tsplus_module_3.from(openings).subscribe(tsplus_module_6.operatorSubscriber(subscriber, {
|
|
25
|
-
next: openValue => {
|
|
26
|
-
const window = new tsplus_module_1.Subject();
|
|
27
|
-
windows.push(window);
|
|
28
|
-
const closingSubscription = new tsplus_module_2.Subscription();
|
|
29
|
-
|
|
30
|
-
const closeWindow = () => {
|
|
31
|
-
arrayRemove(windows, window);
|
|
32
|
-
window.complete();
|
|
33
|
-
closingSubscription.unsubscribe();
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
let closingNotifier;
|
|
37
|
-
|
|
38
|
-
try {
|
|
39
|
-
closingNotifier = tsplus_module_3.from(closingSelector(openValue));
|
|
40
|
-
} catch (err) {
|
|
41
|
-
handleError(tsplus_module_4.halt(err));
|
|
42
|
-
return;
|
|
11
|
+
export function windowToggle(openings, closingSelector) {
|
|
12
|
+
return fa => {
|
|
13
|
+
return tsplus_module_6.operate_((source, subscriber, environment) => {
|
|
14
|
+
const windows = [];
|
|
15
|
+
const handleError = err => {
|
|
16
|
+
while (0 < windows.length) {
|
|
17
|
+
windows.shift().error(err);
|
|
43
18
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
19
|
+
subscriber.error(err);
|
|
20
|
+
};
|
|
21
|
+
tsplus_module_3.from(openings).provideEnvironment(environment).subscribe(tsplus_module_6.operatorSubscriber(subscriber, {
|
|
22
|
+
next: openValue => {
|
|
23
|
+
const window = new tsplus_module_1.Subject();
|
|
24
|
+
windows.push(window);
|
|
25
|
+
const closingSubscription = new tsplus_module_2.Subscription();
|
|
26
|
+
const closeWindow = () => {
|
|
27
|
+
arrayRemove(windows, window);
|
|
28
|
+
window.complete();
|
|
29
|
+
closingSubscription.unsubscribe();
|
|
30
|
+
};
|
|
31
|
+
let closingNotifier;
|
|
32
|
+
try {
|
|
33
|
+
closingNotifier = tsplus_module_3.from(closingSelector(openValue));
|
|
34
|
+
} catch (err) {
|
|
35
|
+
handleError(tsplus_module_4.halt(err));
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
subscriber.next(window.asObservable());
|
|
39
|
+
closingSubscription.add(closingNotifier.provideEnvironment(environment).subscribe(tsplus_module_6.operatorSubscriber(subscriber, {
|
|
40
|
+
next: closeWindow,
|
|
41
|
+
complete: tsplus_module_5.noop,
|
|
42
|
+
error: closeWindow
|
|
43
|
+
})));
|
|
44
|
+
},
|
|
45
|
+
complete: tsplus_module_5.noop
|
|
46
|
+
}));
|
|
47
|
+
source.provideEnvironment(environment).subscribe(tsplus_module_6.operatorSubscriber(subscriber, {
|
|
48
|
+
next: value => {
|
|
49
|
+
const windowsCopy = windows.slice();
|
|
50
|
+
for (const window of windowsCopy) {
|
|
51
|
+
window.next(value);
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
error: handleError,
|
|
55
|
+
complete: () => {
|
|
56
|
+
while (0 < windows.length) {
|
|
57
|
+
windows.shift().complete();
|
|
58
|
+
}
|
|
59
|
+
subscriber.complete();
|
|
60
60
|
}
|
|
61
|
-
},
|
|
62
|
-
error: handleError,
|
|
63
|
-
complete: () => {
|
|
61
|
+
}, () => {
|
|
64
62
|
while (0 < windows.length) {
|
|
65
|
-
windows.shift().
|
|
63
|
+
windows.shift().unsubscribe();
|
|
66
64
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}, () => {
|
|
71
|
-
while (0 < windows.length) {
|
|
72
|
-
windows.shift().unsubscribe();
|
|
73
|
-
}
|
|
74
|
-
}));
|
|
75
|
-
});
|
|
65
|
+
}));
|
|
66
|
+
})(fa);
|
|
67
|
+
};
|
|
76
68
|
}
|
|
77
69
|
//# sourceMappingURL=windowToggle.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"windowToggle.mjs","mappings":";;;;;;AAAA,SAASA,
|
|
1
|
+
{"version":3,"file":"windowToggle.mjs","mappings":";;;;;;AAAA,SAASA,WAAW,QAAQ,iCAAiC;AAE7D;;;AAGA,OAAM,SAAUC,YAAY,CAC1BC,QAAoC,EACpCC,eAA+D;EAE/D,OAAiBC,EAAuB,IAAmE;IACzG,OAAOC,yBAAW,CAACC,MAAM,EAAEC,UAAU,EAAEC,WAAW,KAAI;MACpD,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;;QAE7BJ,UAAU,CAACO,KAAK,CAACH,GAAG,CAAC;MACvB,CAAC;MACDI,qBAAgBb,QAAQ,CAAC,CACtBc,kBAAkB,CAACR,WAAW,CAAC,CAC/BS,SAAS,CACRZ,kCAAkB,CAACE,UAAU,EAAE;QAC7BW,IAAI,EAAGC,SAAS,IAAI;UAClB,MAAMC,MAAM,GAAG,oBAAIC,OAAO,EAAe;UACzCZ,OAAO,CAACa,IAAI,CAACF,MAAM,CAAC;UACpB,MAAMG,mBAAmB,GAAG,oBAAIC,YAAY,EAAE;UAC9C,MAAMC,WAAW,GAAW,MAAK;YAC/BzB,WAAW,CAACS,OAAO,EAAEW,MAAM,CAAC;YAC5BA,MAAM,CAACM,QAAQ,EAAE;YACjBH,mBAAmB,CAACI,WAAW,EAAE;UACnC,CAAC;UACD,IAAIC,eAAwC;UAC5C,IAAI;YACFA,eAAe,GAAGb,qBAAgBZ,eAAe,CAACgB,SAAS,CAAC,CAAC;WAC9D,CAAC,OAAOR,GAAG,EAAE;YACZD,WAAW,CAACmB,qBAAWlB,GAAG,CAAC,CAAC;YAC5B;;UAEFJ,UAAU,CAACW,IAAI,CAACE,MAAM,CAACU,YAAY,EAAE,CAAC;UACtCP,mBAAmB,CAACQ,GAAG,CACrBH,eAAe,CAACZ,kBAAkB,CAACR,WAAW,CAAC,CAACS,SAAS,CACvDZ,kCAAkB,CAACE,UAAU,EAAE;YAC7BW,IAAI,EAAEO,WAAW;YACjBC,QAAQ,kBAAEM,IAAI;YACdlB,KAAK,EAAEW;WACR,CAAC,CACH,CACF;QACH,CAAC;QACDC,QAAQ,kBAAEM;OACX,CAAC,CACH;MACH1B,MAAM,CAACU,kBAAkB,CAACR,WAAW,CAAC,CAACS,SAAS,CAC9CZ,kCAAkB,CAChBE,UAAU,EACV;QACEW,IAAI,EAAGe,KAAK,IAAI;UACd,MAAMC,WAAW,GAAGzB,OAAO,CAAC0B,KAAK,EAAE;UACnC,KAAK,MAAMf,MAAM,IAAIc,WAAW,EAAE;YAChCd,MAAM,CAACF,IAAI,CAACe,KAAK,CAAC;;QAEtB,CAAC;QACDnB,KAAK,EAAEJ,WAAW;QAClBgB,QAAQ,EAAE,MAAK;UACb,OAAO,CAAC,GAAGjB,OAAO,CAACG,MAAM,EAAE;YACzBH,OAAO,CAACI,KAAK,EAAG,CAACa,QAAQ,EAAE;;UAE7BnB,UAAU,CAACmB,QAAQ,EAAE;QACvB;OACD,EACD,MAAK;QACH,OAAO,CAAC,GAAGjB,OAAO,CAACG,MAAM,EAAE;UACzBH,OAAO,CAACI,KAAK,EAAG,CAACc,WAAW,EAAE;;MAElC,CAAC,CACF,CACF;IACH,CAAC,EAnEMvB,EAAE,CAmEP;EACJ,CAAC;AACH","names":["arrayRemove","windowToggle","openings","closingSelector","fa","tsplus_module_6","source","subscriber","environment","windows","handleError","err","length","shift","error","tsplus_module_3","provideEnvironment","subscribe","next","openValue","window","Subject","push","closingSubscription","Subscription","closeWindow","complete","unsubscribe","closingNotifier","tsplus_module_4","asObservable","add","noop","value","windowsCopy","slice"],"sourceRoot":"","sources":["../../../_src/Observable/api/windowToggle.ts"],"sourcesContent":[null]}
|
|
@@ -3,52 +3,48 @@ import * as tsplus_module_2 from "@fncts/observable/Observable/api";
|
|
|
3
3
|
import * as tsplus_module_3 from "@fncts/base/data/Cause/api";
|
|
4
4
|
import * as tsplus_module_4 from "@fncts/observable/Operator";
|
|
5
5
|
/**
|
|
6
|
-
* @tsplus
|
|
6
|
+
* @tsplus pipeable fncts.observable.Observable windowWhen
|
|
7
7
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
8
|
+
export function windowWhen(closingSelector) {
|
|
9
|
+
return fa => {
|
|
10
|
+
return tsplus_module_4.operate_((source, subscriber, environment) => {
|
|
11
|
+
let window;
|
|
12
|
+
let closingSubscriber;
|
|
13
|
+
const handleError = err => {
|
|
14
|
+
window.error(err);
|
|
15
|
+
subscriber.error(err);
|
|
16
|
+
};
|
|
17
|
+
const openWindow = () => {
|
|
18
|
+
closingSubscriber?.unsubscribe();
|
|
19
|
+
window?.complete();
|
|
20
|
+
window = new tsplus_module_1.Subject();
|
|
21
|
+
subscriber.next(window.asObservable());
|
|
22
|
+
let closingNotifier;
|
|
23
|
+
try {
|
|
24
|
+
closingNotifier = tsplus_module_2.from(closingSelector());
|
|
25
|
+
} catch (err) {
|
|
26
|
+
handleError(tsplus_module_3.halt(err));
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
closingNotifier.subscribe(closingSubscriber = tsplus_module_4.operatorSubscriber(subscriber, {
|
|
30
|
+
next: openWindow,
|
|
31
|
+
complete: openWindow,
|
|
32
|
+
error: handleError
|
|
33
|
+
}));
|
|
34
|
+
};
|
|
35
|
+
openWindow();
|
|
36
|
+
source.provideEnvironment(environment).subscribe(tsplus_module_4.operatorSubscriber(subscriber, {
|
|
37
|
+
next: value => window.next(value),
|
|
38
|
+
error: handleError,
|
|
39
|
+
complete: () => {
|
|
40
|
+
window.complete();
|
|
41
|
+
subscriber.complete();
|
|
42
|
+
}
|
|
43
|
+
}, () => {
|
|
44
|
+
closingSubscriber?.unsubscribe();
|
|
45
|
+
window = null;
|
|
37
46
|
}));
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
openWindow();
|
|
41
|
-
source.subscribe(tsplus_module_4.operatorSubscriber(subscriber, {
|
|
42
|
-
next: value => window.next(value),
|
|
43
|
-
error: handleError,
|
|
44
|
-
complete: () => {
|
|
45
|
-
window.complete();
|
|
46
|
-
subscriber.complete();
|
|
47
|
-
}
|
|
48
|
-
}, () => {
|
|
49
|
-
closingSubscriber?.unsubscribe();
|
|
50
|
-
window = null;
|
|
51
|
-
}));
|
|
52
|
-
});
|
|
47
|
+
})(fa);
|
|
48
|
+
};
|
|
53
49
|
}
|
|
54
50
|
//# sourceMappingURL=windowWhen.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"windowWhen.mjs","mappings":";;;;AAAA
|
|
1
|
+
{"version":3,"file":"windowWhen.mjs","mappings":";;;;AAAA;;;AAGA,OAAM,SAAUA,UAAU,CAACC,eAAyD;EAClF,OAAiBC,EAAuB,IAA+C;IACrF,OAAOC,yBAAW,CAACC,MAAM,EAAEC,UAAU,EAAEC,WAAW,KAAI;MACpD,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,GAAG,MAAK;QACtBJ,iBAAiB,EAAEK,WAAW,EAAE;QAChCN,MAAM,EAAEO,QAAQ,EAAE;QAClBP,MAAM,GAAG,oBAAIQ,OAAO,EAAE;QACtBV,UAAU,CAACW,IAAI,CAACT,MAAM,CAACU,YAAY,EAAE,CAAC;QACtC,IAAIC,eAA8C;QAClD,IAAI;UACFA,eAAe,GAAGC,qBAAgBlB,eAAe,EAAE,CAAC;SACrD,CAAC,OAAOS,GAAG,EAAE;UACZD,WAAW,CAACW,qBAAWV,GAAG,CAAC,CAAC;UAC5B;;QAEFQ,eAAe,CAACG,SAAS,CACtBb,iBAAiB,GAAGL,kCAAkB,CAACE,UAAU,EAAE;UAClDW,IAAI,EAAEJ,UAAU;UAChBE,QAAQ,EAAEF,UAAU;UACpBD,KAAK,EAAEF;SACR,CAAC,CACH;MACH,CAAC;MACDG,UAAU,EAAE;MACZR,MAAM,CAACkB,kBAAkB,CAAChB,WAAW,CAAC,CAACe,SAAS,CAC9ClB,kCAAkB,CAChBE,UAAU,EACV;QACEW,IAAI,EAAGO,KAAK,IAAKhB,MAAO,CAACS,IAAI,CAACO,KAAK,CAAC;QACpCZ,KAAK,EAAEF,WAAW;QAClBK,QAAQ,EAAE,MAAK;UACbP,MAAO,CAACO,QAAQ,EAAE;UAClBT,UAAU,CAACS,QAAQ,EAAE;QACvB;OACD,EACD,MAAK;QACHN,iBAAiB,EAAEK,WAAW,EAAE;QAChCN,MAAM,GAAG,IAAK;MAChB,CAAC,CACF,CACF;IACH,CAAC,EA7CML,EAAE,CA6CP;EACJ,CAAC;AACH","names":["windowWhen","closingSelector","fa","tsplus_module_4","source","subscriber","environment","window","closingSubscriber","handleError","err","error","openWindow","unsubscribe","complete","Subject","next","asObservable","closingNotifier","tsplus_module_2","tsplus_module_3","subscribe","provideEnvironment","value"],"sourceRoot":"","sources":["../../../_src/Observable/api/windowWhen.ts"],"sourcesContent":[null]}
|