csf
Version:
Generator based flow control with context providing
101 lines (72 loc) • 2.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _run = require("./run");
var _run2 = _interopRequireDefault(_run);
var _apply = require("./apply");
var _apply2 = _interopRequireDefault(_apply);
var _create = require("./create");
var _create2 = _interopRequireDefault(_create);
var _createChild = require("./create-child");
var _createChild2 = _interopRequireDefault(_createChild);
var _createChannel = require("./create-channel");
var _createChannel2 = _interopRequireDefault(_createChannel);
var _isChannel = require("./is-channel");
var _isChannel2 = _interopRequireDefault(_isChannel);
var _cancel = require("./cancel");
var _cancel2 = _interopRequireDefault(_cancel);
var _effects = require("./effects");
var _effects2 = _interopRequireDefault(_effects);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/* Api */
function Csf(task) {
var internalPromise = new Promise(function (resolve) {
resolve((0, _apply2.default)(task, {}));
});
Reflect.defineProperty(this, "promise", {
writable: false,
enumerable: false,
configurable: false,
value: internalPromise
});
}
/* Effects */
Csf.prototype = Object.create(Promise.prototype);
Csf.prototype.constructor = Promise;
Csf.prototype.then = function (handler) {
return this.promise.then(handler);
};
Csf.prototype.catch = function (handler) {
return this.promise.catch(handler);
};
/* Export api */
/*
* export {
* run,
* apply,
* create,
* createChild,
* createChannel
* };
*/
Csf.fx = _effects2.default;
/* Effects is deprecated */
Csf.effects = _effects2.default;
/* Extend main module with api */
Object.assign(Csf, {
/* Run is deprecated, use call intead*/
run: _run2.default,
call: _run2.default,
apply: _apply2.default,
/* Create is deprecated, use wrap instad */
create: _create2.default,
wrap: _create2.default,
createChild: _createChild2.default,
createChannel: _createChannel2.default,
isChannel: _isChannel2.default,
cancel: _cancel2.default,
fx: _effects2.default
});
exports.default = Csf;
module.exports = exports["default"];