import { AsyncIterableX } from '../../asynciterable/asynciterablex' ; import { memoize } from '../../asynciterable/operators/memoize' ; export function memoizeProto < T > ( this , readerCount ? ) ; export function memoizeProto < T , R > ( this , readerCount ? , selector ? ) ; ignore export function memoizeProto < T , R = T > ( this , readerCount = - 1 , selector ? ) { return memoize ( readerCount , selector ) ( this ) ; } AsyncIterableX . prototype . memoize = memoizeProto ; declare module '../../asynciterable/asynciterablex' { interface AsyncIterableX < T > { memoize : typeof memoizeProto ; } }