@cardano-sdk/util-rxjs 0.4.4 → 0.4.5-nightly.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/dist/cjs/blockingWithLatestFrom.d.ts.map +1 -1
- package/dist/cjs/blockingWithLatestFrom.js +24 -10
- package/dist/cjs/blockingWithLatestFrom.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/blockingWithLatestFrom.d.ts.map +1 -1
- package/dist/esm/blockingWithLatestFrom.js +25 -11
- package/dist/esm/blockingWithLatestFrom.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockingWithLatestFrom.d.ts","sourceRoot":"","sources":["../../src/blockingWithLatestFrom.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EACV,gBAAgB,
|
|
1
|
+
{"version":3,"file":"blockingWithLatestFrom.d.ts","sourceRoot":"","sources":["../../src/blockingWithLatestFrom.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EACV,gBAAgB,EAcjB,MAAM,MAAM,CAAC;AAKd,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACtG,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC5C,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,EAC1B,UAAU,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAClC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { combineLatest, distinctUntilKeyChanged, filter, from, map, mergeScan, of, startWith } from 'rxjs';
|
|
1
|
+
import { combineLatest, defaultIfEmpty, delay, distinctUntilKeyChanged, filter, from, last, map, mergeScan, of, share, startWith, takeUntil } from 'rxjs';
|
|
2
2
|
import { isNotNil } from '@cardano-sdk/util';
|
|
3
3
|
const EMPTY_DEPENDENCY = Symbol('EMPTY');
|
|
4
4
|
export function blockingWithLatestFrom(dependency$, combinator = (a, b) => [a, b]) {
|
|
@@ -6,17 +6,31 @@ export function blockingWithLatestFrom(dependency$, combinator = (a, b) => [a, b
|
|
|
6
6
|
buffer: [],
|
|
7
7
|
output: null
|
|
8
8
|
};
|
|
9
|
-
return (source$) =>
|
|
10
|
-
|
|
9
|
+
return (source$) => {
|
|
10
|
+
const sharedSource$ = source$.pipe(share());
|
|
11
|
+
return combineLatest([
|
|
12
|
+
sharedSource$,
|
|
13
|
+
dependency$.pipe(startWith(EMPTY_DEPENDENCY), takeUntil(sharedSource$.pipe(defaultIfEmpty(null), delay(1), last())))
|
|
14
|
+
]).pipe(mergeScan(({ buffer }, output) => {
|
|
15
|
+
if (output[1] === EMPTY_DEPENDENCY) {
|
|
16
|
+
return of({
|
|
17
|
+
buffer: [...buffer, output[0]],
|
|
18
|
+
output: null
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
if (buffer.length > 0) {
|
|
22
|
+
const lastItem = buffer[buffer.length - 1];
|
|
23
|
+
const items = lastItem === output[0] ? buffer : [...buffer, output[0]];
|
|
24
|
+
return from(items.map((sourceValue) => ({
|
|
25
|
+
buffer: [],
|
|
26
|
+
output: [sourceValue, output[1]]
|
|
27
|
+
})));
|
|
28
|
+
}
|
|
11
29
|
return of({
|
|
12
|
-
buffer: [
|
|
13
|
-
output
|
|
30
|
+
buffer: [],
|
|
31
|
+
output
|
|
14
32
|
});
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
buffer: [],
|
|
18
|
-
output: [sourceValue, output[1]]
|
|
19
|
-
})));
|
|
20
|
-
}, accumulator), map(({ output }) => output), filter(isNotNil), distinctUntilKeyChanged(0), map(([sourceValue, dependency]) => combinator(sourceValue, dependency)));
|
|
33
|
+
}, accumulator, 1), map(({ output }) => output), filter(isNotNil), distinctUntilKeyChanged(0), map(([sourceValue, dependency]) => combinator(sourceValue, dependency)));
|
|
34
|
+
};
|
|
21
35
|
}
|
|
22
36
|
//# sourceMappingURL=blockingWithLatestFrom.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockingWithLatestFrom.js","sourceRoot":"","sources":["../../src/blockingWithLatestFrom.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,aAAa,EACb,uBAAuB,EACvB,MAAM,EACN,IAAI,EACJ,GAAG,EACH,SAAS,EACT,EAAE,EACF,SAAS,EACV,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAYzC,MAAM,UAAU,sBAAsB,CACpC,WAA4B,EAC5B,aAAa,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEvC,MAAM,WAAW,GAAG;QAClB,MAAM,EAAE,EAAS;QACjB,MAAM,EAAE,IAAuB;KAChC,CAAC;IAGF,OAAO,CAAC,OAAsB,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"blockingWithLatestFrom.js","sourceRoot":"","sources":["../../src/blockingWithLatestFrom.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,aAAa,EACb,cAAc,EACd,KAAK,EACL,uBAAuB,EACvB,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,SAAS,EACT,EAAE,EACF,KAAK,EACL,SAAS,EACT,SAAS,EACV,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAYzC,MAAM,UAAU,sBAAsB,CACpC,WAA4B,EAC5B,aAAa,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEvC,MAAM,WAAW,GAAG;QAClB,MAAM,EAAE,EAAS;QACjB,MAAM,EAAE,IAAuB;KAChC,CAAC;IAGF,OAAO,CAAC,OAAsB,EAAE,EAAE;QAChC,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5C,OAAO,aAAa,CAAC;YACnB,aAAa;YACb,WAAW,CAAC,IAAI,CACd,SAAS,CAAC,gBAAgB,CAAC,EAC3B,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CACtE;SACF,CAAC,CAAC,IAAI,CACL,SAAS,CACP,CAAC,EAAE,MAAM,EAAe,EAAE,MAAM,EAA2B,EAAE;YAE3D,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,gBAAgB,EAAE;gBAClC,OAAO,EAAE,CAAC;oBACR,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC9B,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC;aACJ;YACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC3C,MAAM,KAAK,GAAG,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEvE,OAAO,IAAI,CACT,KAAK,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;oBAC1B,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAa;iBAC7C,CAAC,CAAC,CACJ,CAAC;aACH;YACD,OAAO,EAAE,CAAC;gBACR,MAAM,EAAE,EAAE;gBACV,MAAM;aACP,CAAC,CAAC;QACL,CAAC,EACD,WAAW,EAIX,CAAC,CACF,EACD,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAC3B,MAAM,CAAC,QAAQ,CAAC,EAEhB,uBAAuB,CAAC,CAAC,CAAC,EAC1B,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CACxE,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|