@backland/schema
Version:
TypeScript schema declaration and validation library with static type inference
29 lines (28 loc) • 1.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getUserDefinedTypeName = getUserDefinedTypeName;
exports.parseTypeName = parseTypeName;
var _utils = require("@backland/utils");
var _MetaFieldField = require("./fields/MetaFieldField");
var _parseObjectDefinition = require("./parseObjectDefinition");
function parseTypeName(input) {
var field = input.field,
parentName = input.parentName,
fieldName = input.fieldName;
var userDefined = getUserDefinedTypeName(field);
var result = userDefined || "".concat(parentName).concat(fieldName ? "_".concat(fieldName) : '');
if (!result) {
throw new _utils.RuntimeError("parseTypeName: failed to generate a valid type name", input);
}
return result;
}
function getUserDefinedTypeName(field) {
var _getObjectDefinitionM;
if (field.name && typeof field.name === 'string') return field.name;
var cached = (0, _parseObjectDefinition.__getCachedFieldInstance)(field);
if (cached.id) return cached.id;
return field.type === 'object' ? (_getObjectDefinitionM = (0, _MetaFieldField.getObjectDefinitionMetaField)(field.def)) === null || _getObjectDefinitionM === void 0 ? void 0 : _getObjectDefinitionM.def.id : null;
}
//# sourceMappingURL=parseTypeName.js.map