diff options
Diffstat (limited to 'node_modules/rxjs/dist/cjs/internal/observable/race.js')
| -rw-r--r-- | node_modules/rxjs/dist/cjs/internal/observable/race.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/node_modules/rxjs/dist/cjs/internal/observable/race.js b/node_modules/rxjs/dist/cjs/internal/observable/race.js new file mode 100644 index 0000000..843f577 --- /dev/null +++ b/node_modules/rxjs/dist/cjs/internal/observable/race.js @@ -0,0 +1,37 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.raceInit = exports.race = void 0; +var Observable_1 = require("../Observable"); +var innerFrom_1 = require("./innerFrom"); +var argsOrArgArray_1 = require("../util/argsOrArgArray"); +var OperatorSubscriber_1 = require("../operators/OperatorSubscriber"); +function race() { + var sources = []; + for (var _i = 0; _i < arguments.length; _i++) { + sources[_i] = arguments[_i]; + } + sources = argsOrArgArray_1.argsOrArgArray(sources); + return sources.length === 1 ? innerFrom_1.innerFrom(sources[0]) : new Observable_1.Observable(raceInit(sources)); +} +exports.race = race; +function raceInit(sources) { + return function (subscriber) { + var subscriptions = []; + var _loop_1 = function (i) { + subscriptions.push(innerFrom_1.innerFrom(sources[i]).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) { + if (subscriptions) { + for (var s = 0; s < subscriptions.length; s++) { + s !== i && subscriptions[s].unsubscribe(); + } + subscriptions = null; + } + subscriber.next(value); + }))); + }; + for (var i = 0; subscriptions && !subscriber.closed && i < sources.length; i++) { + _loop_1(i); + } + }; +} +exports.raceInit = raceInit; +//# sourceMappingURL=race.js.map
\ No newline at end of file |
