aboutsummaryrefslogtreecommitdiffstats
path: root/node_modules/rxjs/dist/cjs/internal/observable/bindCallbackInternals.js
diff options
context:
space:
mode:
authorPinapelz <yukais@pinapelz.com>2025-06-28 17:26:46 -0700
committerPinapelz <yukais@pinapelz.com>2025-06-28 17:43:56 -0700
commite4fa1e69e7ebfb627c7198fd1a9881e9327ec4d4 (patch)
tree06284a538a6008eca75051399e47db4e5d50301c /node_modules/rxjs/dist/cjs/internal/observable/bindCallbackInternals.js
initial commit: scaffolding
Diffstat (limited to 'node_modules/rxjs/dist/cjs/internal/observable/bindCallbackInternals.js')
-rw-r--r--node_modules/rxjs/dist/cjs/internal/observable/bindCallbackInternals.js103
1 files changed, 103 insertions, 0 deletions
diff --git a/node_modules/rxjs/dist/cjs/internal/observable/bindCallbackInternals.js b/node_modules/rxjs/dist/cjs/internal/observable/bindCallbackInternals.js
new file mode 100644
index 0000000..94360db
--- /dev/null
+++ b/node_modules/rxjs/dist/cjs/internal/observable/bindCallbackInternals.js
@@ -0,0 +1,103 @@
+"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 \ No newline at end of file
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage