@apollo/server
Version:
Core engine for Apollo GraphQL server
31 lines • 951 B
JavaScript
import { isDefined } from './isDefined.js';
export async function invokeDidStartHook(targets, hook) {
const didEndHooks = (await Promise.all(targets.map((target) => hook(target)))).filter(isDefined);
didEndHooks.reverse();
return async (...args) => {
for (const didEndHook of didEndHooks) {
didEndHook(...args);
}
};
}
export function invokeSyncDidStartHook(targets, hook) {
const didEndHooks = targets
.map((target) => hook(target))
.filter(isDefined);
didEndHooks.reverse();
return (...args) => {
for (const didEndHook of didEndHooks) {
didEndHook(...args);
}
};
}
export async function invokeHooksUntilDefinedAndNonNull(targets, hook) {
for (const target of targets) {
const value = await hook(target);
if (value != null) {
return value;
}
}
return null;
}
//# sourceMappingURL=invokeHooks.js.map