UNPKG

@reactivehub/cli

Version:
50 lines (41 loc) 1.3 kB
'use strict'; 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