| "use strict"; | 
| Object.defineProperty(exports, "__esModule", { value: true }); | 
| var Observable_1 = require("../Observable"); | 
| var isArray_1 = require("../util/isArray"); | 
| var isFunction_1 = require("../util/isFunction"); | 
| var map_1 = require("../operators/map"); | 
| function fromEventPattern(addHandler, removeHandler, resultSelector) { | 
|     if (resultSelector) { | 
|         return fromEventPattern(addHandler, removeHandler).pipe(map_1.map(function (args) { return isArray_1.isArray(args) ? resultSelector.apply(void 0, args) : resultSelector(args); })); | 
|     } | 
|     return new Observable_1.Observable(function (subscriber) { | 
|         var handler = function () { | 
|             var e = []; | 
|             for (var _i = 0; _i < arguments.length; _i++) { | 
|                 e[_i] = arguments[_i]; | 
|             } | 
|             return subscriber.next(e.length === 1 ? e[0] : e); | 
|         }; | 
|         var retValue; | 
|         try { | 
|             retValue = addHandler(handler); | 
|         } | 
|         catch (err) { | 
|             subscriber.error(err); | 
|             return undefined; | 
|         } | 
|         if (!isFunction_1.isFunction(removeHandler)) { | 
|             return undefined; | 
|         } | 
|         return function () { return removeHandler(handler, retValue); }; | 
|     }); | 
| } | 
| exports.fromEventPattern = fromEventPattern; | 
| //# sourceMappingURL=fromEventPattern.js.map |