You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
2.0 KiB
1 lines
2.0 KiB
{"version":3,"file":"max.js","sourceRoot":"","sources":["../../src/operators/max.ts"],"names":[],"mappings":";AAAA,uBAAuB,UAAU,CAAC,CAAA;AAGlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,aAAuB,QAAiC;IACtD,IAAM,GAAG,GAAsB,CAAC,OAAO,QAAQ,KAAK,UAAU,CAAC;UAC3D,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAA1B,CAA0B;UACpC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAb,CAAa,CAAC;IAE5B,MAAM,CAAC,eAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AANe,WAAG,MAMlB,CAAA","sourcesContent":["import { reduce } from './reduce';\nimport { MonoTypeOperatorFunction } from '../interfaces';\n\n/**\n * The Max operator operates on an Observable that emits numbers (or items that can be compared with a provided function),\n * and when source Observable completes it emits a single item: the item with the largest value.\n *\n * <img src=\"./img/max.png\" width=\"100%\">\n *\n * @example <caption>Get the maximal value of a series of numbers</caption>\n * Rx.Observable.of(5, 4, 7, 2, 8)\n * .max()\n * .subscribe(x => console.log(x)); // -> 8\n *\n * @example <caption>Use a comparer function to get the maximal item</caption>\n * interface Person {\n * age: number,\n * name: string\n * }\n * Observable.of<Person>({age: 7, name: 'Foo'},\n * {age: 5, name: 'Bar'},\n * {age: 9, name: 'Beer'})\n * .max<Person>((a: Person, b: Person) => a.age < b.age ? -1 : 1)\n * .subscribe((x: Person) => console.log(x.name)); // -> 'Beer'\n * }\n *\n * @see {@link min}\n *\n * @param {Function} [comparer] - Optional comparer function that it will use instead of its default to compare the\n * value of two items.\n * @return {Observable} An Observable that emits item with the largest value.\n * @method max\n * @owner Observable\n */\nexport function max<T>(comparer?: (x: T, y: T) => number): MonoTypeOperatorFunction<T> {\n const max: (x: T, y: T) => T = (typeof comparer === 'function')\n ? (x, y) => comparer(x, y) > 0 ? x : y\n : (x, y) => x > y ? x : y;\n\n return reduce(max);\n}\n"]} |