@hot-updater/plugin-core
Version:
React Native OTA solution for self-hosted
16 lines (15 loc) • 793 B
TypeScript
type ExtractPlaceholders<T extends string> = T extends `${infer _Start}%%${infer Key}%%${infer Rest}` ? Key | ExtractPlaceholders<Rest> : never;
type TransformTemplateArgs<T extends string> = {
[Key in ExtractPlaceholders<T>]: string;
};
/**
* Replaces placeholders in the format %%key%% in a template string with values from the values object.
* Uses generic type T to automatically infer placeholder keys from the template string to ensure type safety.
*
* @example
* const str = "Hello %%name%%, you are %%age%% years old."
* const result = transformTemplate(str, { name: "John", age: "20" })
* // Result: "Hello John, you are 20 years old."
*/
export declare function transformTemplate<T extends string>(templateString: T, values: TransformTemplateArgs<T>): string;
export {};