globalstorage
Version:
Global Storage is a Global Distributed Data Warehouse
55 lines (47 loc) • 1.46 kB
JavaScript
;
var _require = require('metaschema'),
SchemaValidationError = _require.errors.SchemaValidationError;
var addApplication = function addApplication(application, ms) {
if (ms.applications.has(application.name)) {
return [new SchemaValidationError('duplicate', application.name, {
type: 'application'
})];
}
ms.applications.set(application.name, application);
return [];
};
var processApplication = function processApplication(application, ms) {
var errors = [];
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = application.definition.Categories[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var category = _step.value;
if (!ms.categories.has(category)) {
errors.push(new SchemaValidationError('unresolved', application.name, {
type: 'category',
value: category
}));
}
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return != null) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
return errors;
};
module.exports = {
addApplication: addApplication,
processApplication: processApplication
};