diff options
| author | Pinapelz <yukais@pinapelz.com> | 2025-06-28 17:26:46 -0700 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2025-06-28 17:43:56 -0700 |
| commit | e4fa1e69e7ebfb627c7198fd1a9881e9327ec4d4 (patch) | |
| tree | 06284a538a6008eca75051399e47db4e5d50301c /node_modules/rxjs/dist/cjs/internal/operators/single.js | |
initial commit: scaffolding
Diffstat (limited to 'node_modules/rxjs/dist/cjs/internal/operators/single.js')
| -rw-r--r-- | node_modules/rxjs/dist/cjs/internal/operators/single.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/node_modules/rxjs/dist/cjs/internal/operators/single.js b/node_modules/rxjs/dist/cjs/internal/operators/single.js new file mode 100644 index 0000000..f56f2c0 --- /dev/null +++ b/node_modules/rxjs/dist/cjs/internal/operators/single.js @@ -0,0 +1,34 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.single = void 0; +var EmptyError_1 = require("../util/EmptyError"); +var SequenceError_1 = require("../util/SequenceError"); +var NotFoundError_1 = require("../util/NotFoundError"); +var lift_1 = require("../util/lift"); +var OperatorSubscriber_1 = require("./OperatorSubscriber"); +function single(predicate) { + return lift_1.operate(function (source, subscriber) { + var hasValue = false; + var singleValue; + var seenValue = false; + var index = 0; + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) { + seenValue = true; + if (!predicate || predicate(value, index++, source)) { + hasValue && subscriber.error(new SequenceError_1.SequenceError('Too many matching values')); + hasValue = true; + singleValue = value; + } + }, function () { + if (hasValue) { + subscriber.next(singleValue); + subscriber.complete(); + } + else { + subscriber.error(seenValue ? new NotFoundError_1.NotFoundError('No matching values') : new EmptyError_1.EmptyError()); + } + })); + }); +} +exports.single = single; +//# sourceMappingURL=single.js.map
\ No newline at end of file |
