@backland/schema
Version:
TypeScript schema declaration and validation library with static type inference
31 lines (30 loc) • 1.22 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) {
const {
field,
parentName,
fieldName
} = input;
const userDefined = getUserDefinedTypeName(field);
let result = userDefined || `${parentName}${fieldName ? `_${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;
const 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