UNPKG

@baseplate-dev/core-generators

Version:

Core generators for Baseplate

23 lines 1.38 kB
import type { BuilderAction, WriteFileOptions } from '@baseplate-dev/sync'; import type { InferTextTemplateVariablesFromTemplate, TextTemplateFile, TextTemplateGroup } from './types.js'; type HasVariables<T extends TextTemplateFile> = keyof InferTextTemplateVariablesFromTemplate<T> extends never ? false : true; type InferTextTemplateVariablesFromTemplateGroup<T extends TextTemplateGroup> = { [K in keyof T as HasVariables<T[K]> extends true ? K : never]: InferTextTemplateVariablesFromTemplate<T[K]>; }; interface RenderTextTemplateGroupActionInputBase<T extends TextTemplateGroup> { group: T; paths: { [K in keyof T]: string; }; options?: { [K in keyof T]?: Omit<WriteFileOptions, 'templateMetadata'>; }; } export type RenderTextTemplateGroupActionInput<T extends TextTemplateGroup = TextTemplateGroup> = RenderTextTemplateGroupActionInputBase<T> & (keyof InferTextTemplateVariablesFromTemplateGroup<T> extends never ? Partial<{ variables: InferTextTemplateVariablesFromTemplateGroup<T>; }> : { variables: InferTextTemplateVariablesFromTemplateGroup<T>; }); export declare function renderTextTemplateGroupAction<T extends TextTemplateGroup = TextTemplateGroup>({ group, paths, variables, options, }: RenderTextTemplateGroupActionInput<T>): BuilderAction; export {}; //# sourceMappingURL=render-text-template-group-action.d.ts.map