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