UNPKG

@compas/code-gen

Version:

Generate various boring parts of your server

26 lines (25 loc) 1.23 kB
/** * Execute a function based on the target language defined in the context. * * @template {(...args: any) => any} F * * @param {import("../generate.js").GenerateContext} generateContext * @param {Record<import("../generated/common/types.js").StructureGenerateOptions["targetLanguage"], F|(() => * void)>} functions * @param {[...Parameters<F>]} args * @returns {ReturnType<F>|undefined} */ export function targetLanguageSwitch<F extends (...args: any) => any>(generateContext: import("../generate.js").GenerateContext, functions: Record<import("../generated/common/types.js").StructureGenerateOptions["targetLanguage"], F | (() => void)>, args: [...Parameters<F>]): ReturnType<F> | undefined; /** * Execute a function based on the provided target. * * @template {(...args: any) => any} F * @template {string} Targets * * @param {Record<Targets, F|(() => * void)>} functions * @param {Targets|undefined} target * @param {[...Parameters<F>]} args * @returns {ReturnType<F>|undefined} */ export function targetCustomSwitch<F extends (...args: any) => any, Targets extends string>(functions: Record<Targets, F | (() => void)>, target: Targets | undefined, args: [...Parameters<F>]): ReturnType<F> | undefined;