string-template-parser
Version:
Parsing & evaluating utilities for string templates
55 lines (50 loc) • 2.14 kB
TypeScript
// Generated by dts-bundle v0.7.3
declare module 'string-template-parser' {
export * from 'string-template-parser/parser';
export * from 'string-template-parser/evaluator';
}
declare module 'string-template-parser/parser' {
export interface Pipe {
name: string;
parameters: string[];
}
export interface Variable {
name: string;
pipes: Pipe[];
}
export interface ParsedString {
literals: string[];
variables: Variable[];
}
export const DEFAULT_QUOTED_STRING_REGEX: RegExp;
export function parseStringTemplateGenerator({ESCAPE, VARIABLE_START, VARIABLE_END, PIPE_START, PIPE_PARAMETER_START, QUOTED_STRING, QUOTED_STRING_TEST, QUOTED_STRING_GET_AND_ADVANCE, QUOTED_STRING_IN_PARAMETER_TEST, QUOTED_STRING_IN_PARAMETER_GET_AND_ADVANCE}?: {
ESCAPE?: RegExp;
VARIABLE_START?: RegExp;
VARIABLE_END?: RegExp;
PIPE_START?: RegExp;
PIPE_PARAMETER_START?: RegExp;
QUOTED_STRING?: RegExp;
QUOTED_STRING_TEST?: (remainingString: string) => boolean | null;
QUOTED_STRING_GET_AND_ADVANCE?: (remainingString: string, advance: (length: number) => void) => string | null;
QUOTED_STRING_IN_PARAMETER_TEST?: (remainingString: string) => boolean | null;
QUOTED_STRING_IN_PARAMETER_GET_AND_ADVANCE?: (remainingString: string, advance: (length: number) => void) => string | null;
}): (input: string) => ParsedString;
export const parseStringTemplate: (input: string) => ParsedString;
export function getQuotedStringAndAdvanceForRegex(regex: RegExp): (remainingString: string, advance: (length: number) => void) => string;
}
declare module 'string-template-parser/evaluator' {
import { ParsedString } from 'string-template-parser/parser';
export interface PipeFunction {
(variableValue: any, parameters: string[]): string;
}
export function evaluateParsedString(parsedString: ParsedString, variables: {
[variableName: string]: any;
}, pipes: {
[pipeName: string]: PipeFunction;
}, getValue?: (variableName: string) => any): string;
export function evaluateStringTemplate(input: string, variables: {
[variableName: string]: string;
}, pipes: {
[pipeName: string]: PipeFunction;
}): string;
}