UNPKG

gun-flint

Version:

Micro-framework for building Gun adapters

104 lines (74 loc) 3.08 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of'); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _baseMixin = require('./base-mixin'); var _baseMixin2 = _interopRequireDefault(_baseMixin); var _events = require('events'); var _events2 = _interopRequireDefault(_events); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var EVENTS = { RESULT: 0, DONE: 1, ERR: 2 }; var ResultStream = function (_EventEmitter) { (0, _inherits3.default)(ResultStream, _EventEmitter); function ResultStream(done) { (0, _classCallCheck3.default)(this, ResultStream); var _this = (0, _possibleConstructorReturn3.default)(this, (ResultStream.__proto__ || (0, _getPrototypeOf2.default)(ResultStream)).call(this)); _this.done = done; _this.EVENTS = EVENTS; _this.on(EVENTS.RESULT, _this.in.bind(_this)).on(EVENTS.DONE, _this.done.bind(_this)).on(EVENTS.ERROR, _this.err.bind(_this)); return _this; } (0, _createClass3.default)(ResultStream, [{ key: 'in', value: function _in(result) { this.done(null, result); } }, { key: 'done', value: function done(err, results) { this.done(err, results); } }, { key: 'err', value: function err(_err) { this.done(_err); } }]); return ResultStream; }(_events2.default); var ResultStreamMixin = function (_BaseMixin) { (0, _inherits3.default)(ResultStreamMixin, _BaseMixin); function ResultStreamMixin(context) { (0, _classCallCheck3.default)(this, ResultStreamMixin); return (0, _possibleConstructorReturn3.default)(this, (ResultStreamMixin.__proto__ || (0, _getPrototypeOf2.default)(ResultStreamMixin)).call(this, context, ['_get'])); } /** * @param {string} key - A gun request context. * @param {function} done - Call when results received * @param {function} next - Next method in Adapter/Mixin chain * @returns {void} */ (0, _createClass3.default)(ResultStreamMixin, [{ key: '_get', value: function _get(key, field, done, next) { var stream = new ResultStream(done); next(key, field, stream); } }]); return ResultStreamMixin; }(_baseMixin2.default); exports.default = ResultStreamMixin;