shyft
Version:
Model driven GraphQL API framework
36 lines (35 loc) • 1.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRegisteredEntityAttribute = exports.getRegisteredEntity = exports.registerEntity = exports.registry = void 0;
exports.registry = {};
var registerEntity = function (_a) {
var entity = _a.entity, typeName = _a.typeName, typeNamePlural = _a.typeNamePlural, typeNamePascalCase = _a.typeNamePascalCase, typeNamePluralPascalCase = _a.typeNamePluralPascalCase, attributes = _a.attributes, dataShaper = _a.dataShaper, dataSetShaper = _a.dataSetShaper, reverseDataShaper = _a.reverseDataShaper;
var entityName = entity.name;
exports.registry[entityName] = {
entity: entity,
typeName: typeName,
typeNamePlural: typeNamePlural,
typeNamePascalCase: typeNamePascalCase,
typeNamePluralPascalCase: typeNamePluralPascalCase,
attributes: attributes,
dataShaper: dataShaper,
dataSetShaper: dataSetShaper,
reverseDataShaper: reverseDataShaper,
};
};
exports.registerEntity = registerEntity;
var getRegisteredEntity = function (entityName) {
if (!exports.registry[entityName]) {
throw new Error("Cannot find entity '" + entityName + "' in registry");
}
return exports.registry[entityName];
};
exports.getRegisteredEntity = getRegisteredEntity;
var getRegisteredEntityAttribute = function (entityName, attributeName) {
var entity = exports.getRegisteredEntity(entityName);
if (!entity.attributes[attributeName]) {
throw new Error("Cannot find entity attribute '" + entityName + "." + attributeName + "' in registry");
}
return entity.attributes[attributeName];
};
exports.getRegisteredEntityAttribute = getRegisteredEntityAttribute;