@reactivehub/cli
Version:
50 lines (41 loc) • 1.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _keys = require('babel-runtime/core-js/object/keys');
var _keys2 = _interopRequireDefault(_keys);
var _flat = require('flat');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const getKeySuggestions = (payload, term) => {
const flatPayload = (0, _flat.flatten)(payload, { maxDepth: null, safe: true });
const suggestions = [];
const otherFields = [];
(0, _keys2.default)(flatPayload).forEach(key => {
if (key.match(term)) {
suggestions.push(key);
} else {
otherFields.push(key);
}
});
return {
suggestions,
otherFields
};
};
const modelToPayloadValue = eventModel => (0, _flat.flatten)(eventModel, { safe: false, maxDepth: null, delimiter: '_' });
const checkRequired = (eventPayload, required, prefix = '') => {
const messages = required.map(key => {
const value = eventPayload[key];
if (value && value !== '') {
return false;
}
return `${prefix}Required property "${key}" missing on YAML.`;
}).filter(key => key);
return { status: messages.length === 0, messages };
};
exports.default = {
getKeySuggestions,
modelToPayloadValue,
checkRequired
};
//# sourceMappingURL=objects.js.map