123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- "use strict";
- var __read = (this && this.__read) || function (o, n) {
- var m = typeof Symbol === "function" && o[Symbol.iterator];
- if (!m) return o;
- var i = m.call(o), r, ar = [], e;
- try {
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
- }
- catch (error) { e = { error: error }; }
- finally {
- try {
- if (r && !r.done && (m = i["return"])) m.call(i);
- }
- finally { if (e) throw e.error; }
- }
- return ar;
- };
- var __spreadArray = (this && this.__spreadArray) || function (to, from) {
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
- to[j] = from[i];
- return to;
- };
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.bindCallbackInternals = void 0;
- var isScheduler_1 = require("../util/isScheduler");
- var Observable_1 = require("../Observable");
- var subscribeOn_1 = require("../operators/subscribeOn");
- var mapOneOrManyArgs_1 = require("../util/mapOneOrManyArgs");
- var observeOn_1 = require("../operators/observeOn");
- var AsyncSubject_1 = require("../AsyncSubject");
- function bindCallbackInternals(isNodeStyle, callbackFunc, resultSelector, scheduler) {
- if (resultSelector) {
- if (isScheduler_1.isScheduler(resultSelector)) {
- scheduler = resultSelector;
- }
- else {
- return function () {
- var args = [];
- for (var _i = 0; _i < arguments.length; _i++) {
- args[_i] = arguments[_i];
- }
- return bindCallbackInternals(isNodeStyle, callbackFunc, scheduler)
- .apply(this, args)
- .pipe(mapOneOrManyArgs_1.mapOneOrManyArgs(resultSelector));
- };
- }
- }
- if (scheduler) {
- return function () {
- var args = [];
- for (var _i = 0; _i < arguments.length; _i++) {
- args[_i] = arguments[_i];
- }
- return bindCallbackInternals(isNodeStyle, callbackFunc)
- .apply(this, args)
- .pipe(subscribeOn_1.subscribeOn(scheduler), observeOn_1.observeOn(scheduler));
- };
- }
- return function () {
- var _this = this;
- var args = [];
- for (var _i = 0; _i < arguments.length; _i++) {
- args[_i] = arguments[_i];
- }
- var subject = new AsyncSubject_1.AsyncSubject();
- var uninitialized = true;
- return new Observable_1.Observable(function (subscriber) {
- var subs = subject.subscribe(subscriber);
- if (uninitialized) {
- uninitialized = false;
- var isAsync_1 = false;
- var isComplete_1 = false;
- callbackFunc.apply(_this, __spreadArray(__spreadArray([], __read(args)), [
- function () {
- var results = [];
- for (var _i = 0; _i < arguments.length; _i++) {
- results[_i] = arguments[_i];
- }
- if (isNodeStyle) {
- var err = results.shift();
- if (err != null) {
- subject.error(err);
- return;
- }
- }
- subject.next(1 < results.length ? results : results[0]);
- isComplete_1 = true;
- if (isAsync_1) {
- subject.complete();
- }
- },
- ]));
- if (isComplete_1) {
- subject.complete();
- }
- isAsync_1 = true;
- }
- return subs;
- });
- };
- }
- exports.bindCallbackInternals = bindCallbackInternals;
- //# sourceMappingURL=bindCallbackInternals.js.map
|