improve return types of createTemplateFilter() and createTemplateGlobalFunction();

accommodate in ScaffolderTemplatingExtensionPoint

Signed-off-by: Matt Benson <gudnabrsam@gmail.com>
This commit is contained in:
Matt Benson
2025-03-12 00:21:17 -05:00
parent 403bb43d3d
commit 7f56c442aa
4 changed files with 14 additions and 10 deletions
@@ -24,9 +24,9 @@ import { z } from 'zod';
*/
export const createTemplateFilter = <
TSchema extends TemplateFilterSchema<any, any> | undefined,
TFunctionSchema extends TSchema extends TemplateFilterSchema<any, any>
TFilterSchema extends TSchema extends TemplateFilterSchema<any, any>
? z.infer<ReturnType<TSchema>>
: (arg: JsonValue, ...rest: JsonValue[]) => JsonValue | undefined,
>(
filter: CreatedTemplateFilter<TSchema, TFunctionSchema>,
): CreatedTemplateFilter<unknown, unknown> => filter;
filter: CreatedTemplateFilter<TSchema, TFilterSchema>,
): CreatedTemplateFilter<TSchema, TFilterSchema> => filter;
@@ -45,4 +45,4 @@ export const createTemplateGlobalFunction = <
: (...args: JsonValue[]) => JsonValue | undefined,
>(
fn: CreatedTemplateGlobalFunction<TSchema, TFilterSchema>,
): CreatedTemplateGlobalFunction<any, any> => fn;
): CreatedTemplateGlobalFunction<TSchema, TFilterSchema> => fn;
+3 -1
View File
@@ -73,7 +73,9 @@ export const scaffolderTaskBrokerExtensionPoint =
*/
export interface ScaffolderTemplatingExtensionPoint {
addTemplateFilters(
filters: Record<string, TemplateFilter> | CreatedTemplateFilter[],
filters:
| Record<string, TemplateFilter>
| CreatedTemplateFilter<unknown, unknown>[],
): void;
addTemplateGlobals(