@backland/schema
Version:
TypeScript schema declaration and validation library with static type inference
38 lines (37 loc) • 962 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.validateObjectFields = validateObjectFields;
var _ObjectType = require("./ObjectType");
var _MetaFieldField = require("./fields/MetaFieldField");
function validateObjectFields(params) {
const {
fieldName,
definition,
value,
parentType,
fieldParserOptions
} = params;
if ((0, _MetaFieldField.isMetaField)(definition, fieldName)) {
return {
errors: []
};
}
function prefixError(msg) {
return parentType ? `• ${parentType}[${fieldName}] ${msg}` : `➤ field "${fieldName}": ${msg.replace(/\.$/, '')}.`;
}
try {
const field = (0, _ObjectType.__getCachedFieldInstance)(definition);
const parsed = field.parse(value, fieldParserOptions);
return {
errors: [],
parsed
};
} catch (e) {
return {
errors: [prefixError(`${e.message}`)]
};
}
}
//# sourceMappingURL=getObjectErrors.js.map