json-placeholder-replacer
Version:
Javascript/Typescript library/cli to replace placeholders in an javascript object
47 lines (46 loc) • 1.49 kB
TypeScript
export interface DelimiterTagFixture {
begin: string;
end: string;
}
export interface Placeholder {
begin: string;
end: string;
escapedBeginning: string;
escapedEnding: string;
regex: RegExp;
}
export interface BuildOptions {
delimiterTags: DelimiterTagFixture[];
defaultValueSeparator: string;
nullishValues: (boolean | number | string | null)[];
}
type NullishValue = boolean | number | string | null;
export interface Configuration {
placeholders: Placeholder[];
defaultValueSeparator: string;
nullishValues: NullishValue[];
}
type VariableMap = Record<string, unknown>;
export declare class JsonPlaceholderReplacer {
private readonly variablesMap;
private readonly configuration;
private readonly delimiterTagsRegex;
private readonly serializedNullishValues;
private readonly stringifyCache;
private readonly escapeRegExp;
constructor(options?: Partial<BuildOptions>);
addVariableMap(variableMap: VariableMap | string): JsonPlaceholderReplacer;
setVariableMap(...variablesMap: (VariableMap | string)[]): JsonPlaceholderReplacer;
replace(json: object): object;
replaceWith(json: object, ...variablesMap: VariableMap[]): object;
private initializeConfigurations;
private replaceChildren;
private replaceValue;
private replacer;
private safeStringify;
private parseTag;
private checkInEveryMap;
private isNullishValue;
private navigateThroughMap;
}
export {};