UNPKG

@backland/schema

Version:

TypeScript schema declaration and validation library with static type inference

31 lines (30 loc) 1.22 kB
"use strict"; 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