From 846ed95c0edbed1e654be9aef41de3e4b7ee5e40 Mon Sep 17 00:00:00 2001 From: Matt Benson Date: Fri, 7 Feb 2025 11:40:19 -0600 Subject: [PATCH] refine TemplateFilter type Signed-off-by: Matt Benson --- .../scaffolder-backend/src/lib/templating/SecureTemplater.ts | 3 ++- plugins/scaffolder-node/src/types.ts | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/plugins/scaffolder-backend/src/lib/templating/SecureTemplater.ts b/plugins/scaffolder-backend/src/lib/templating/SecureTemplater.ts index b24d859bb7..fea04c0c1c 100644 --- a/plugins/scaffolder-backend/src/lib/templating/SecureTemplater.ts +++ b/plugins/scaffolder-backend/src/lib/templating/SecureTemplater.ts @@ -190,7 +190,8 @@ export class SecureTemplater { if (!Object.hasOwn(templateFilters, filterName)) { return ''; } - const rz = templateFilters[filterName](...args); + const [input, ...rest] = args; + const rz = templateFilters[filterName](input, ...rest); return rz === undefined ? '' : JSON.stringify(rz); }, ); diff --git a/plugins/scaffolder-node/src/types.ts b/plugins/scaffolder-node/src/types.ts index bae106c84e..e25ee4db80 100644 --- a/plugins/scaffolder-node/src/types.ts +++ b/plugins/scaffolder-node/src/types.ts @@ -17,7 +17,10 @@ import { JsonValue } from '@backstage/types'; /** @public */ -export type TemplateFilter = (...args: JsonValue[]) => JsonValue | undefined; +export type TemplateFilter = ( + arg: JsonValue, + ...rest: JsonValue[] +) => JsonValue | undefined; /** @public */ export type TemplateGlobal =