element-vir
Version:
Heroic. Reactive. Declarative. Type safe. Web components without compromise.
21 lines (20 loc) • 1.08 kB
TypeScript
import { type TemplateTransform } from './template-transform-type.js';
export type ValueInsertion = {
index: number;
value: unknown;
};
export type ValueTransformCallback = (lastNewString: string, currentLitString: string, currentValue: unknown) => {
replacement: unknown;
getExtraValues: ((currentValue: unknown) => unknown[]) | undefined;
} | undefined;
export declare function getTransformedTemplate<PossibleValues>(templateStringsKey: TemplateStringsArray, values: PossibleValues[], fallbackTransform: () => TemplateTransform): {
strings: TemplateStringsArray;
values: PossibleValues[];
};
export type TransformTemplateParams<PossibleValues> = Readonly<{
inputTemplateStrings: TemplateStringsArray;
inputValues: PossibleValues[];
transformValue: ValueTransformCallback;
assertValidString?: ((templateStringPart: string) => void) | undefined;
}>;
export declare function transformTemplate<PossibleValues>({ inputTemplateStrings, inputValues, transformValue, assertValidString, }: TransformTemplateParams<PossibleValues>): TemplateTransform;