@cardano-sdk/util-rxjs 0.8.0 → 0.9.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cardano-sdk/util-rxjs",
3
- "version": "0.8.0",
3
+ "version": "0.9.1",
4
4
  "description": "RxJS extensions",
5
5
  "engines": {
6
6
  "node": ">=16.20.2"
@@ -43,7 +43,7 @@
43
43
  "ts-log": "^2.2.7"
44
44
  },
45
45
  "devDependencies": {
46
- "@cardano-sdk/util-dev": "~0.24.1",
46
+ "@cardano-sdk/util-dev": "~0.24.4",
47
47
  "eslint": "^7.32.0",
48
48
  "jest": "^28.1.3",
49
49
  "madge": "^5.0.1",
@@ -59,5 +59,5 @@
59
59
  "LICENSE",
60
60
  "NOTICE"
61
61
  ],
62
- "gitHead": "d99ce3d0ea9c52bfd4c6adabe38a7bff6a7c831b"
62
+ "gitHead": "babafa33aedea682bb61dc91ca93c5f38ec5d797"
63
63
  }
@@ -1,16 +0,0 @@
1
- import { Logger } from 'ts-log';
2
- import { Observable, switchMap } from 'rxjs';
3
- import { RetryBackoffConfig } from 'backoff-rxjs';
4
- export interface ColdObservableProviderProps<T> {
5
- provider: () => Promise<T>;
6
- retryBackoffConfig: RetryBackoffConfig;
7
- onFatalError?: (value: unknown) => void;
8
- trigger$?: Observable<unknown>;
9
- equals?: (t1: T, t2: T) => boolean;
10
- combinator?: typeof switchMap;
11
- cancel$?: Observable<unknown>;
12
- pollUntil?: (v: T) => boolean;
13
- logger: Logger;
14
- }
15
- export declare const coldObservableProvider: <T>({ provider, retryBackoffConfig, onFatalError, trigger$, equals, combinator, cancel$, pollUntil, logger }: ColdObservableProviderProps<T>) => Observable<T>;
16
- //# sourceMappingURL=coldObservableProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coldObservableProvider.d.ts","sourceRoot":"","sources":["../../src/coldObservableProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAEL,UAAU,EAUV,SAAS,EAGV,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,kBAAkB,EAAgB,MAAM,cAAc,CAAC;AAEhE,MAAM,WAAW,2BAA2B,CAAC,CAAC;IAC5C,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC;IACnC,UAAU,CAAC,EAAE,OAAO,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,sBAAsB,gKAsE/B,CAAC"}
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.coldObservableProvider = void 0;
4
- const util_1 = require("@cardano-sdk/util");
5
- const rxjs_1 = require("rxjs");
6
- const backoff_rxjs_1 = require("backoff-rxjs");
7
- const coldObservableProvider = ({ provider, retryBackoffConfig, onFatalError, trigger$ = (0, rxjs_1.of)(true), equals = util_1.strictEquals, combinator = rxjs_1.switchMap, cancel$ = rxjs_1.NEVER, pollUntil = () => true, logger }) => new rxjs_1.Observable((subscriber) => {
8
- const cancelOnFatalError$ = new rxjs_1.Subject();
9
- const internalCancel$ = (0, rxjs_1.merge)(cancel$, cancelOnFatalError$);
10
- const sub = trigger$
11
- .pipe(combinator(() => (0, rxjs_1.defer)(() => (0, rxjs_1.from)(provider()).pipe((0, rxjs_1.mergeMap)((v) => pollUntil(v)
12
- ? (0, rxjs_1.of)(v)
13
- :
14
- (0, rxjs_1.concat)((0, rxjs_1.of)(v), (0, rxjs_1.throwError)(() => new Error('polling')))))).pipe((0, backoff_rxjs_1.retryBackoff)({
15
- ...retryBackoffConfig,
16
- shouldRetry: (error) => {
17
- logger.error(error);
18
- if (retryBackoffConfig.shouldRetry) {
19
- const shouldRetry = retryBackoffConfig.shouldRetry(error);
20
- logger.debug(`Should retry: ${shouldRetry}`);
21
- if (!shouldRetry) {
22
- return false;
23
- }
24
- }
25
- if (error instanceof util_1.InvalidStringError) {
26
- onFatalError?.(error);
27
- cancelOnFatalError$.next(true);
28
- return false;
29
- }
30
- return true;
31
- }
32
- }), (0, rxjs_1.catchError)((error) => {
33
- onFatalError?.(error);
34
- return (0, rxjs_1.throwError)(() => error);
35
- }))), (0, rxjs_1.distinctUntilChanged)(equals), (0, rxjs_1.takeUntil)(internalCancel$))
36
- .subscribe(subscriber);
37
- return () => {
38
- sub.unsubscribe();
39
- cancelOnFatalError$.complete();
40
- };
41
- });
42
- exports.coldObservableProvider = coldObservableProvider;
43
- //# sourceMappingURL=coldObservableProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coldObservableProvider.js","sourceRoot":"","sources":["../../src/coldObservableProvider.ts"],"names":[],"mappings":";;;AAAA,4CAAqE;AAErE,+BAec;AACd,+CAAgE;AAczD,MAAM,sBAAsB,GAAG,CAAI,EACxC,QAAQ,EACR,kBAAkB,EAClB,YAAY,EACZ,QAAQ,GAAG,IAAA,SAAE,EAAC,IAAI,CAAC,EACnB,MAAM,GAAG,mBAAY,EACrB,UAAU,GAAG,gBAAS,EACtB,OAAO,GAAG,YAAK,EACf,SAAS,GAAG,GAAG,EAAE,CAAC,IAAI,EACtB,MAAM,EACyB,EAAE,EAAE,CACnC,IAAI,iBAAU,CAAI,CAAC,UAAU,EAAE,EAAE;IAC/B,MAAM,mBAAmB,GAAG,IAAI,cAAO,EAAW,CAAC;IACnD,MAAM,eAAe,GAAG,IAAA,YAAK,EAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,QAAQ;SACjB,IAAI,CACH,UAAU,CAAC,GAAG,EAAE,CACd,IAAA,YAAK,EAAC,GAAG,EAAE,CACT,IAAA,WAAI,EAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CACnB,IAAA,eAAQ,EAAC,CAAC,CAAC,EAAE,EAAE,CACb,SAAS,CAAC,CAAC,CAAC;QACV,CAAC,CAAC,IAAA,SAAE,EAAC,CAAC,CAAC;QACP,CAAC;YACC,IAAA,aAAM,EACJ,IAAA,SAAE,EAAC,CAAC,CAAC,EACL,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CACvC,CACN,CACF,CACF,CAAC,IAAI,CACJ,IAAA,2BAAY,EAAC;QACX,GAAG,kBAAkB;QACrB,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;YACrB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAEpB,IAAI,kBAAkB,CAAC,WAAW,EAAE;gBAClC,MAAM,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC1D,MAAM,CAAC,KAAK,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAC;gBAE7C,IAAI,CAAC,WAAW,EAAE;oBAChB,OAAO,KAAK,CAAC;iBACd;aACF;YAED,IAAI,KAAK,YAAY,yBAAkB,EAAE;gBACvC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC;gBACtB,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/B,OAAO,KAAK,CAAC;aACd;YAED,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC,EACF,IAAA,iBAAU,EAAC,CAAC,KAAK,EAAE,EAAE;QACnB,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC;QAGtB,OAAO,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC,CACH,CACF,EACD,IAAA,2BAAoB,EAAC,MAAM,CAAC,EAC5B,IAAA,gBAAS,EAAC,eAAe,CAAC,CAC3B;SACA,SAAS,CAAC,UAAU,CAAC,CAAC;IAEzB,OAAO,GAAG,EAAE;QACV,GAAG,CAAC,WAAW,EAAE,CAAC;QAClB,mBAAmB,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAtEQ,QAAA,sBAAsB,0BAsE9B"}
@@ -1,16 +0,0 @@
1
- import { Logger } from 'ts-log';
2
- import { Observable, switchMap } from 'rxjs';
3
- import { RetryBackoffConfig } from 'backoff-rxjs';
4
- export interface ColdObservableProviderProps<T> {
5
- provider: () => Promise<T>;
6
- retryBackoffConfig: RetryBackoffConfig;
7
- onFatalError?: (value: unknown) => void;
8
- trigger$?: Observable<unknown>;
9
- equals?: (t1: T, t2: T) => boolean;
10
- combinator?: typeof switchMap;
11
- cancel$?: Observable<unknown>;
12
- pollUntil?: (v: T) => boolean;
13
- logger: Logger;
14
- }
15
- export declare const coldObservableProvider: <T>({ provider, retryBackoffConfig, onFatalError, trigger$, equals, combinator, cancel$, pollUntil, logger }: ColdObservableProviderProps<T>) => Observable<T>;
16
- //# sourceMappingURL=coldObservableProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coldObservableProvider.d.ts","sourceRoot":"","sources":["../../src/coldObservableProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAEL,UAAU,EAUV,SAAS,EAGV,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,kBAAkB,EAAgB,MAAM,cAAc,CAAC;AAEhE,MAAM,WAAW,2BAA2B,CAAC,CAAC;IAC5C,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC;IACnC,UAAU,CAAC,EAAE,OAAO,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,sBAAsB,gKAsE/B,CAAC"}
@@ -1,39 +0,0 @@
1
- import { InvalidStringError, strictEquals } from '@cardano-sdk/util';
2
- import { NEVER, Observable, Subject, catchError, concat, defer, distinctUntilChanged, from, merge, mergeMap, of, switchMap, takeUntil, throwError } from 'rxjs';
3
- import { retryBackoff } from 'backoff-rxjs';
4
- export const coldObservableProvider = ({ provider, retryBackoffConfig, onFatalError, trigger$ = of(true), equals = strictEquals, combinator = switchMap, cancel$ = NEVER, pollUntil = () => true, logger }) => new Observable((subscriber) => {
5
- const cancelOnFatalError$ = new Subject();
6
- const internalCancel$ = merge(cancel$, cancelOnFatalError$);
7
- const sub = trigger$
8
- .pipe(combinator(() => defer(() => from(provider()).pipe(mergeMap((v) => pollUntil(v)
9
- ? of(v)
10
- :
11
- concat(of(v), throwError(() => new Error('polling')))))).pipe(retryBackoff({
12
- ...retryBackoffConfig,
13
- shouldRetry: (error) => {
14
- logger.error(error);
15
- if (retryBackoffConfig.shouldRetry) {
16
- const shouldRetry = retryBackoffConfig.shouldRetry(error);
17
- logger.debug(`Should retry: ${shouldRetry}`);
18
- if (!shouldRetry) {
19
- return false;
20
- }
21
- }
22
- if (error instanceof InvalidStringError) {
23
- onFatalError?.(error);
24
- cancelOnFatalError$.next(true);
25
- return false;
26
- }
27
- return true;
28
- }
29
- }), catchError((error) => {
30
- onFatalError?.(error);
31
- return throwError(() => error);
32
- }))), distinctUntilChanged(equals), takeUntil(internalCancel$))
33
- .subscribe(subscriber);
34
- return () => {
35
- sub.unsubscribe();
36
- cancelOnFatalError$.complete();
37
- };
38
- });
39
- //# sourceMappingURL=coldObservableProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coldObservableProvider.js","sourceRoot":"","sources":["../../src/coldObservableProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EACL,KAAK,EACL,UAAU,EACV,OAAO,EACP,UAAU,EACV,MAAM,EACN,KAAK,EACL,oBAAoB,EACpB,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,EAAE,EACF,SAAS,EACT,SAAS,EACT,UAAU,EACX,MAAM,MAAM,CAAC;AACd,OAAO,EAAsB,YAAY,EAAE,MAAM,cAAc,CAAC;AAchE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAI,EACxC,QAAQ,EACR,kBAAkB,EAClB,YAAY,EACZ,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC,EACnB,MAAM,GAAG,YAAY,EACrB,UAAU,GAAG,SAAS,EACtB,OAAO,GAAG,KAAK,EACf,SAAS,GAAG,GAAG,EAAE,CAAC,IAAI,EACtB,MAAM,EACyB,EAAE,EAAE,CACnC,IAAI,UAAU,CAAI,CAAC,UAAU,EAAE,EAAE;IAC/B,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAAW,CAAC;IACnD,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,QAAQ;SACjB,IAAI,CACH,UAAU,CAAC,GAAG,EAAE,CACd,KAAK,CAAC,GAAG,EAAE,CACT,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CACnB,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,SAAS,CAAC,CAAC,CAAC;QACV,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACP,CAAC;YACC,MAAM,CACJ,EAAE,CAAC,CAAC,CAAC,EACL,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CACvC,CACN,CACF,CACF,CAAC,IAAI,CACJ,YAAY,CAAC;QACX,GAAG,kBAAkB;QACrB,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;YACrB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAEpB,IAAI,kBAAkB,CAAC,WAAW,EAAE;gBAClC,MAAM,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC1D,MAAM,CAAC,KAAK,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAC;gBAE7C,IAAI,CAAC,WAAW,EAAE;oBAChB,OAAO,KAAK,CAAC;iBACd;aACF;YAED,IAAI,KAAK,YAAY,kBAAkB,EAAE;gBACvC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC;gBACtB,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/B,OAAO,KAAK,CAAC;aACd;YAED,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC,EACF,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE;QACnB,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC;QAGtB,OAAO,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC,CACH,CACF,EACD,oBAAoB,CAAC,MAAM,CAAC,EAC5B,SAAS,CAAC,eAAe,CAAC,CAC3B;SACA,SAAS,CAAC,UAAU,CAAC,CAAC;IAEzB,OAAO,GAAG,EAAE;QACV,GAAG,CAAC,WAAW,EAAE,CAAC;QAClB,mBAAmB,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}