string-interpolation-ts
Version:
Dynamic string manipulation in typescript
43 lines (42 loc) • 1.44 kB
TypeScript
export type Alias = {
key: string;
ref: string;
};
export type Modifier = {
key: string;
transform: (value: string, rawData: Record<string, unknown>) => string;
};
export type Options = {
aliases?: Alias[];
modifiers?: Modifier[];
};
type Rule = {
key: string;
replace: string;
modifiers: Modifier[];
alternativeText: string;
};
export declare class Interpolator {
options: Options;
modifiers: Modifier[];
aliases: Alias[];
constructor(options?: Options);
registerModifier(modifier: Modifier): this;
parseRules(str: string): Rule[];
getKeyFromMatch(match: string): string;
removeDelimiter(val: string): string;
removeAfter(str: string, val: string): string;
extractAfter(str: string, val: string): string;
getAlternativeText(str: string): string;
getModifiers(str: string): (Modifier | undefined)[];
parse(str?: string, data?: {}): string;
parseFromRules(str: string, data: any, rules: Rule[]): string;
applyRule(str: string, rule: Rule, data?: Record<string, unknown>): string;
getFromAlias(key: string): Alias | undefined;
applyData(key: string, data: Record<string, unknown>): unknown;
getModifier(key: string): Modifier | undefined;
applyModifiers(modifiers: Modifier[], str: string, rawData: Record<string, unknown>): string;
registerAlias(newAlias: Alias): this;
removeAlias(key: string): this;
}
export {};