@buggyorg/library-specification
Version:
Specification for buggy component library servers.
31 lines (26 loc) • 886 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.normalizeDb = normalizeDb;
var _lodash = require('lodash');
var _lodash2 = _interopRequireDefault(_lodash);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* Normalizes a database so that the arrays have a well-defined order.
* @export
* @param {object} db database object
* @returns new normalized database object
*/
function normalizeDb(db) {
db = _lodash2.default.cloneDeep(db);
return {
components: _lodash2.default.sortBy(db.components || [], ['componentId', 'version']),
meta: _lodash2.default.map(db.meta || {}, function (keyValues, meta) {
return _lodash2.default.map(keyValues, function (values, key) {
return _lodash2.default.sortBy(values, ['version']);
});
}),
config: db.config
};
}