reactive-di-observable
Version:
reactive-di dependency injection - observable plugins
51 lines (43 loc) • 1.43 kB
JavaScript
;
exports.__esModule = true;
exports.setter = setter;
exports.setterAnn = setterAnn;
var _driver = require('reactive-di/driver');
/*:: import type {
RawAnnotation,
DepItem
} from 'reactive-di'*/
function setter() /*: RawAnnotation*/ {
for (var _len = arguments.length, deps = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
deps[_key - 1] = arguments[_key];
}
var rec /*:: ?: {
qeue?: mixed,
pending?: boolean
}*/ = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
return {
kind: 'setter',
deps: deps,
pending: rec.pending,
qeue: rec.qeue
};
}
function setterAnn /*:: <V: Function>*/() /*: (target: V) => V*/ {
for (var _len2 = arguments.length, deps = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
deps[_key2 - 1] = arguments[_key2];
}
var rec /*:: ?: {
qeue?: mixed,
pending?: boolean
}*/ = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
return function _setter(target /*: V*/) /*: V*/ {
_driver.rdi.set(target, {
kind: 'setter',
deps: deps,
pending: rec.pending,
qeue: rec.qeue
});
return target;
};
}
//# sourceMappingURL=setter.js.map