integreat
Version:
Node.js integration layer
26 lines • 822 B
JavaScript
function serviceIdFromSchema(schemas, type) {
const schema = type ? schemas.get(type) : undefined;
return schema?.service;
}
export default function getService(schemas, services) {
if (!services) {
return () => undefined;
}
return (types, serviceId) => {
if (!serviceId && schemas && types) {
if (Array.isArray(types)) {
for (const type of types) {
serviceId = serviceIdFromSchema(schemas, type);
if (serviceId) {
break;
}
}
}
else {
serviceId = serviceIdFromSchema(schemas, types);
}
}
return (serviceId && services[serviceId]) || undefined;
};
}
//# sourceMappingURL=getService.js.map