{"version":3,"file":"dematerialize.js","sourceRoot":"","sources":["../../src/operator/dematerialize.ts"],"names":[],"mappings":";AAGA,8BAA6C,4BAA4B,CAAC,CAAA;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH;IACE,MAAM,CAAC,6BAAW,EAAE,CAAC,IAAI,CAAkB,CAAC;AAC9C,CAAC;AAFe,qBAAa,gBAE5B,CAAA","sourcesContent":["\nimport { Observable } from '../Observable';\nimport { Notification } from '../Notification';\nimport { dematerialize as higherOrder } from '../operators/dematerialize';\n\n/**\n * Converts an Observable of {@link Notification} objects into the emissions\n * that they represent.\n *\n * Unwraps {@link Notification} objects as actual `next`,\n * `error` and `complete` emissions. The opposite of {@link materialize}.\n *\n * \n *\n * `dematerialize` is assumed to operate an Observable that only emits\n * {@link Notification} objects as `next` emissions, and does not emit any\n * `error`. Such Observable is the output of a `materialize` operation. Those\n * notifications are then unwrapped using the metadata they contain, and emitted\n * as `next`, `error`, and `complete` on the output Observable.\n *\n * Use this operator in conjunction with {@link materialize}.\n *\n * @example Convert an Observable of Notifications to an actual Observable\n * var notifA = new Rx.Notification('N', 'A');\n * var notifB = new Rx.Notification('N', 'B');\n * var notifE = new Rx.Notification('E', void 0,\n * new TypeError('x.toUpperCase is not a function')\n * );\n * var materialized = Rx.Observable.of(notifA, notifB, notifE);\n * var upperCase = materialized.dematerialize();\n * upperCase.subscribe(x => console.log(x), e => console.error(e));\n *\n * // Results in:\n * // A\n * // B\n * // TypeError: x.toUpperCase is not a function\n *\n * @see {@link Notification}\n * @see {@link materialize}\n *\n * @return {Observable} An Observable that emits items and notifications\n * embedded in Notification objects emitted by the source Observable.\n * @method dematerialize\n * @owner Observable\n */\nexport function dematerialize(this: Observable>): Observable {\n return higherOrder()(this) as Observable;\n}\n"]}