Skip to content

Commit

Permalink
remove reducer
Browse files Browse the repository at this point in the history
  • Loading branch information
jantimon committed Dec 6, 2022
1 parent 9c141c5 commit 80d0bac
Showing 1 changed file with 4 additions and 35 deletions.
39 changes: 4 additions & 35 deletions packages/graphql-codegen-cli/src/hooks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,40 +15,6 @@ const DEFAULT_HOOKS: Types.LifecycleHooksDefinition = {
beforeAllFileWrite: [],
};

function normalizeHooks(_hooks: Partial<Types.LifecycleHooksDefinition>): {
[key in keyof Types.LifecycleHooksDefinition]: (string | Types.HookFunction)[];
} {
const keys = Object.keys({
...DEFAULT_HOOKS,
..._hooks,
});

return keys.reduce(
(prev: { [key in keyof Types.LifecycleHooksDefinition]: (string | Types.HookFunction)[] }, hookName: string) => {
if (typeof _hooks[hookName] === 'string') {
return {
...prev,
[hookName]: [_hooks[hookName]] as string[],
};
}
if (typeof _hooks[hookName] === 'function') {
return {
...prev,
[hookName]: [_hooks[hookName]],
};
}
if (Array.isArray(_hooks[hookName])) {
return {
...prev,
[hookName]: _hooks[hookName] as string[],
};
}
return prev;
},
{} as { [key in keyof Types.LifecycleHooksDefinition]: (string | Types.HookFunction)[] }
);
}

function execShellCommand(cmd: string): Promise<string> {
return new Promise((resolve, reject) => {
exec(
Expand Down Expand Up @@ -94,7 +60,10 @@ async function executeHooks(
}

export const lifecycleHooks = (_hooks: Partial<Types.LifecycleHooksDefinition> = {}) => {
const hooks = normalizeHooks(_hooks);
const hooks = {
...DEFAULT_HOOKS,
..._hooks,
};

return {
afterStart: async (): Promise<void> => executeHooks('afterStart', hooks.afterStart),
Expand Down

0 comments on commit 80d0bac

Please sign in to comment.