@cardano-sdk/util-rxjs 0.4.5-nightly.0 → 0.4.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"blockingWithLatestFrom.d.ts","sourceRoot":"","sources":["../../src/blockingWithLatestFrom.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EACV,gBAAgB,EASjB,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
+ {"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$) => combineLatest([source$, dependency$.pipe(startWith(EMPTY_DEPENDENCY))]).pipe(mergeScan(({ buffer }, output) => {
10
- if (output[1] === EMPTY_DEPENDENCY) {
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: [...buffer, output[0]],
13
- output: null
30
+ buffer: [],
31
+ output
14
32
  });
15
- }
16
- return from([...buffer, output[0]].map((sourceValue) => ({
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,CAChC,aAAa,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAC1E,SAAS,CAAC,CAAC,EAAE,MAAM,EAAe,EAAE,MAAM,EAA2B,EAAE;QAErE,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,gBAAgB,EAAE;YAClC,OAAO,EAAE,CAAC;gBACR,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC9B,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,CACT,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAC3C,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAa;SAC7C,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC,EAAE,WAAW,CAAC,EACf,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAC3B,MAAM,CAAC,QAAQ,CAAC,EAChB,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;AACN,CAAC"}
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"}