{"version":3,"sources":["jsdelivr-header.js","/npm/task-ts@0.1.0/dist/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aACA,OAAO,eAAe,QAAS,aAAc,CAAE,OAAO,IACtD,IAAI,KAAO,WAAgC,EACvC,KAAsB,WACtB,SAAS,EAAK,GACV,KAAK,YAAc,CACvB,CAsFA,OArFA,EAAK,MAAQ,WACT,OAAO,IAAI,EAAK,KACpB,EACA,EAAK,GAAK,SAAU,GAChB,OAAO,IAAI,GAAK,SAAU,GACtB,EAAQ,EACZ,GACJ,EACA,EAAK,SAAW,SAAU,GACtB,OAAO,IAAI,GAAK,SAAU,EAAG,GACzB,EAAO,EACX,GACJ,EACA,EAAK,KAAO,SAAU,GAClB,OAAO,IAAI,GAAK,SAAU,EAAS,GAC/B,IAAI,GAAO,EACP,EAAQ,SAAU,GAAM,OAAO,SAAU,GACzC,IAAK,EAED,OADA,GAAO,EACA,EAAG,EAElB,CAAG,EACH,EAAM,SAAQ,SAAU,GACpB,EAAK,KAAK,EAAM,GAAU,EAAM,GACpC,GACJ,GACJ,EACA,EAAK,SAAW,SAAU,GACtB,OAAO,IAAI,GAAK,SAAU,EAAS,GAC/B,IAAI,EAAS,EAAM,OACf,EAAU,IAAI,MAAM,GACpB,EAAW,GACf,EAAM,SAAQ,SAAU,EAAM,GAC1B,EAAK,MAAK,SAAU,GAChB,EAAQ,GAAO,EACX,EAAS,KAAK,KAAU,GACxB,EAAQ,EAEhB,IAAG,SAAU,GACT,EAAO,EACX,GACJ,GACJ,GACJ,EACA,EAAK,YAAc,SAAU,GACzB,OAAO,IAAI,GAAK,SAAU,EAAS,IAEX,mBAAZ,EAAyB,IAAY,GAAS,KAAK,EAAS,EACxE,GACJ,EACA,EAAK,UAAU,KAAO,SAAU,EAAS,QACvB,IAAV,IAAoB,EAAQ,MAChC,KAAK,YAAY,EAAS,EAC9B,EACA,EAAK,UAAU,IAAM,SAAU,GAC3B,IAAI,EAAQ,KACZ,OAAO,IAAI,GAAK,SAAU,EAAS,GAC/B,OAAO,EAAM,MAAK,SAAU,GAAK,OAAO,EAAQ,EAAG,GAAK,IAAG,SAAU,GAAK,OAAO,EAAO,EAAI,GAChG,GACJ,EACA,EAAK,UAAU,YAAc,SAAU,GACnC,IAAI,EAAQ,KACZ,OAAO,IAAI,GAAK,SAAU,EAAS,GAC/B,OAAO,EAAM,MAAK,SAAU,GAAK,OAAO,EAAQ,EAAI,IAAG,SAAU,GAAK,OAAO,EAAO,EAAG,GAAK,GAChG,GACJ,EACA,EAAK,UAAU,MAAQ,SAAU,GAC7B,IAAI,EAAQ,KACZ,OAAO,IAAI,GAAK,SAAU,EAAS,GAC/B,OAAO,EAAM,MAAK,SAAU,GAAK,OAAO,EAAG,GAAG,KAAK,EAAS,EAAS,IAAG,SAAU,GAAK,OAAO,EAAO,EAAI,GAC7G,GACJ,EACA,EAAK,UAAU,OAAS,SAAU,GAC9B,IAAI,EAAQ,KACZ,OAAO,IAAI,GAAK,SAAU,EAAS,GAC/B,OAAO,EAAM,MAAK,SAAU,GAAK,OAAO,EAAG,GAAG,KAAK,EAAS,EAAS,IAAG,SAAU,GAAK,OAAO,EAAG,GAAG,KAAK,EAAS,EAAS,GAC/H,GACJ,EACA,EAAK,UAAU,OAAS,SAAU,GAC9B,OAAO,EAAK,KAAK,CAAC,KAAM,GAC5B,EACA,EAAK,UAAU,UAAY,WACvB,IAAI,EAAQ,KACZ,OAAO,IAAI,SAAQ,SAAU,EAAS,GAAU,OAAO,EAAM,KAAK,EAAS,EAAS,GACxF,EACO,CACX,CA1FyB,GA2FzB,QAAQ,QAAU","file":"/npm/task-ts@0.1.0/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/task-ts@0.1.0/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar noop = function () { return undefined; };\nvar Task = /** @class */ (function () {\n    function Task(computation) {\n        this.computation = computation;\n    }\n    Task.empty = function () {\n        return new Task(noop);\n    };\n    Task.of = function (value) {\n        return new Task(function (resolve) {\n            resolve(value);\n        });\n    };\n    Task.rejected = function (reason) {\n        return new Task(function (_, reject) {\n            reject(reason);\n        });\n    };\n    Task.race = function (tasks) {\n        return new Task(function (resolve, reject) {\n            var done = false;\n            var guard = function (fn) { return function (x) {\n                if (!done) {\n                    done = true;\n                    return fn(x);\n                }\n            }; };\n            tasks.forEach(function (task) {\n                task.fork(guard(resolve), guard(reject));\n            });\n        });\n    };\n    Task.parallel = function (tasks) {\n        return new Task(function (resolve, reject) {\n            var length = tasks.length;\n            var results = new Array(length);\n            var resolved = [];\n            tasks.forEach(function (task, idx) {\n                task.fork(function (result) {\n                    results[idx] = result;\n                    if (resolved.push(task) === length) {\n                        resolve(results);\n                    }\n                }, function (err) {\n                    reject(err);\n                });\n            });\n        });\n    };\n    Task.fromPromise = function (promise) {\n        return new Task(function (resolve, reject) {\n            ;\n            (typeof promise === 'function' ? promise() : promise).then(resolve, reject);\n        });\n    };\n    Task.prototype.fork = function (success, error) {\n        if (error === void 0) { error = noop; }\n        this.computation(success, error);\n    };\n    Task.prototype.map = function (fn) {\n        var _this = this;\n        return new Task(function (resolve, reject) {\n            return _this.fork(function (a) { return resolve(fn(a)); }, function (b) { return reject(b); });\n        });\n    };\n    Task.prototype.mapRejected = function (fn) {\n        var _this = this;\n        return new Task(function (resolve, reject) {\n            return _this.fork(function (a) { return resolve(a); }, function (b) { return reject(fn(b)); });\n        });\n    };\n    Task.prototype.chain = function (fn) {\n        var _this = this;\n        return new Task(function (resolve, reject) {\n            return _this.fork(function (a) { return fn(a).fork(resolve, reject); }, function (b) { return reject(b); });\n        });\n    };\n    Task.prototype.orElse = function (fn) {\n        var _this = this;\n        return new Task(function (resolve, reject) {\n            return _this.fork(function (a) { return fn(a).fork(resolve, reject); }, function (b) { return fn(b).fork(resolve, reject); });\n        });\n    };\n    Task.prototype.concat = function (that) {\n        return Task.race([this, that]);\n    };\n    Task.prototype.toPromise = function () {\n        var _this = this;\n        return new Promise(function (resolve, reject) { return _this.fork(resolve, reject); });\n    };\n    return Task;\n}());\nexports.default = Task;\n"]}