UNPKG

reactive-di-observable

Version:

reactive-di dependency injection - observable plugins

35 lines (29 loc) 1.05 kB
'use strict'; exports.__esModule = true; exports.observable = observable; exports.observableAnn = observableAnn; var _driver = require('reactive-di/driver'); /*:: import type { ObservableParams, ObservableAnnotation } from 'reactive-di-observable'*/ function observable /*:: <V>*/() /*: ObservableAnnotation<V>*/ { var rec /*:: ?: ObservableParams<V>*/ = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; return { kind: 'observable', key: rec.key, loader: rec.loader, serializable: rec.serializable }; } function observableAnn /*:: <V: Function>*/() /*: (target: V) => V*/ { var rec /*:: ?: ObservableParams*/ = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; return function _observable(target /*: V*/) /*: V*/ { if (typeof target !== 'function') { throw new Error('Not a function'); } _driver.rdi.set(target, observable(rec)); return target; }; } //# sourceMappingURL=observable.js.map