{"version":3,"sources":["add/iterable-operators/memoize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAW3D;;GAEG;AACH,MAAM,UAAU,YAAY,CAE1B,cAAsB,CAAC,CAAC,EACxB,QAA0D;IAE1D,OAAO,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,CAAC,SAAS,CAAC,OAAO,GAAG,YAAY,CAAC","file":"memoize.js","sourcesContent":["import { IterableX } from '../../iterable/iterablex';\nimport { memoize } from '../../iterable/operators/memoize';\n\nexport function memoizeProto<TSource>(\n  this: IterableX<TSource>,\n  readerCount?: number\n): IterableX<TSource>;\nexport function memoizeProto<TSource, TResult>(\n  this: IterableX<TSource>,\n  readerCount?: number,\n  selector?: (value: Iterable<TSource>) => Iterable<TResult>\n): IterableX<TResult>;\n/**\n * @ignore\n */\nexport function memoizeProto<TSource, TResult = TSource>(\n  this: IterableX<TSource>,\n  readerCount: number = -1,\n  selector?: (value: Iterable<TSource>) => Iterable<TResult>\n): IterableX<TSource | TResult> {\n  return memoize(readerCount, selector)(this);\n}\n\nIterableX.prototype.memoize = memoizeProto;\n\ndeclare module '../../iterable/iterablex' {\n  interface IterableX<T> {\n    memoize: typeof memoizeProto;\n  }\n}\n"]}