import { IterableX } from '../../iterable/iterablex' ; import { memoize } from '../../iterable/operators/memoize' ; export function memoizeProto < TSource > ( this , readerCount ? ) ; export function memoizeProto < TSource , TResult > ( this , readerCount ? , selector ? ) ; ignore export function memoizeProto < TSource , TResult = TSource > ( this , readerCount = - 1 , selector ? ) { return memoize ( readerCount , selector ) ( this ) ; } IterableX . prototype . memoize = memoizeProto ; declare module '../../iterable/iterablex' { interface IterableX < T > { memoize : typeof memoizeProto ; } }