UNPKG

atombeak

Version:

Create asynchronous atomic functions!

36 lines (35 loc) 1.27 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); var internal_1 = require("./internal"); var internal_2 = require("./internal"); var AbstractOperation = /** @class */ (function () { function AbstractOperation() { } AbstractOperation.prototype.map = function (fn) { return new internal_1.MappedOperation(this, fn); }; AbstractOperation.prototype.flatMap = function (fn) { return new internal_2.FlatMappedOperation(this, fn); }; AbstractOperation.prototype.assign = function (key, valueOperation) { return this.flatMap(function (inner) { return valueOperation.map(function (value) { var _a; return __assign({}, inner, (_a = {}, _a[key] = value, _a)); }); }); }; return AbstractOperation; }()); exports.AbstractOperation = AbstractOperation;