Bump dev (w/ eslint 8) (#4070)
* Bump dev (w/ eslint 8) * Additional linting * Additional * More lint fixes * Last batch * Additional * Cleanups
This commit is contained in:
@@ -10,18 +10,19 @@ import { memoize } from '@polkadot/util';
|
||||
|
||||
import { drr } from './drr';
|
||||
|
||||
type ObsFn <T> = (...params: any[]) => Observable<T>;
|
||||
type ObsFn <T> = (...params: unknown[]) => Observable<T>;
|
||||
|
||||
// Wraps a derive, doing 2 things to optimize calls -
|
||||
// 1. creates a memo of the inner fn -> Observable, removing when unsubscribed
|
||||
// 2. wraps the observable in a drr() (which includes an unsub delay)
|
||||
/** @internal */
|
||||
export function memo <T> (instanceId: string, inner: ObsFn<T>): Memoized<ObsFn<T>> {
|
||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||
export function memo <T> (instanceId: string, inner: Function): Memoized<ObsFn<T>> {
|
||||
const options = { getInstanceId: () => instanceId };
|
||||
const cached = memoize(
|
||||
(...params: any[]): Observable<T> =>
|
||||
(...params: unknown[]): Observable<T> =>
|
||||
new Observable((observer: Observer<T>): TeardownLogic => {
|
||||
const subscription = inner(...params).subscribe(observer);
|
||||
const subscription = (inner as ObsFn<T>)(...params).subscribe(observer);
|
||||
|
||||
return (): void => {
|
||||
cached.unmemoize(...params);
|
||||
|
||||
Reference in New Issue
Block a user