UNPKG

mobx-vue

Version:
41 lines 1.26 kB
"use strict"; /** * @author Kuitos * @homepage https://github.com/kuitos/ * @since 2018-06-08 10:16 */ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var mobx = tslib_1.__importStar(require("mobx")); /** * check if is a mobx observable * compatible with mobx 5 */ function isMobxObservable(value) { return !!(value.$mobx || value.__mobxDecorators || value[mobx.$mobx]); } function collectData(vm, data) { var dataDefinition = typeof data === 'function' ? data.call(vm, vm) : (data || {}); var filteredData = Object.keys(dataDefinition).reduce(function (result, field) { var value = dataDefinition[field]; if (isMobxObservable(value)) { Object.defineProperty(vm, field, { configurable: true, get: function () { return value; }, // @formatter:off // tslint:disable-next-line set: function () { } // @formatter:on }); } else { result[field] = value; } return result; }, {}); return filteredData; } exports.default = collectData; //# sourceMappingURL=collectData.js.map