UNPKG

fluxtuate

Version:

a javascript ES7 library for handling complex data transactions

41 lines (28 loc) 1.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = function (valueClass, typeProperty, typeChecks) { if (!(0, _lang.isArray)(valueClass) && typeChecks) { return convert.apply(this, [(0, _instanceOf2.default)(), valueClass, typeProperty, typeChecks]); } else { return convert.bind(this, (0, _instanceOf2.default)(valueClass, typeProperty, typeChecks)); } }; var _observableArray = require("../observable-array"); var _observableArray2 = _interopRequireDefault(_observableArray); var _lang = require("lodash/lang"); var _instanceOf = require("./instance-of"); var _instanceOf2 = _interopRequireDefault(_instanceOf); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function defineArrayProps(returnArray, name, parentName, convertFunction) { return _observableArray2.default.getInstance(returnArray, name, parentName, convertFunction); } function convert(conversionFunction, data, parentName, parentProperty) { if (data === undefined) return undefined; if (!(0, _lang.isArray)(data)) throw new Error("Value must be of type Array"); var returnArray = data.map(function (d, i) { return conversionFunction(d, parentName, parentProperty + "[" + i + "]"); }); return defineArrayProps(returnArray, parentProperty, parentName, conversionFunction); }