import { ParsedMessagePart } from './parsed-message-part'; import { INormalizedMessage, ValidationErrors } from '../api/i-normalized-message'; import { IMessageParser } from './i-message-parser'; import { IICUMessage, IICUMessageTranslation } from '../api/i-icu-message'; /** * Created by martin on 05.05.2017. * A message text read from a translation file. * Can contain placeholders, tags, text. * This class is a representation independent of the concrete format. */ export declare class ParsedMessage implements INormalizedMessage { /** * Parser that created this message (determines the native format). */ private _parser; /** * The message where this one stems from as translation. * Optional, set only for messages created by calling translate. */ private sourceMessage; /** * The parts of the message. */ private _parts; /** * messages xml representation. */ private _xmlRepresentation; constructor(parser: IMessageParser, sourceMessage: ParsedMessage); /** * Get the parser (for tests only, not part of API) * @return parser */ getParser(): IMessageParser; /** * Create a new normalized message as a translation of this one. * @param normalizedString the translation in normalized form. * If the message is an ICUMessage (getICUMessage returns a value), use translateICUMessage instead. * @throws an error if normalized string is not well formed. * Throws an error too, if this is an ICU message. */ translate(normalizedString: string): INormalizedMessage; /** * Create a new normalized icu message as a translation of this one. * @param icuTranslation the translation, this is the translation of the ICU message, * which is not a string, but a collections of the translations of the different categories. * The message must be an ICUMessage (getICUMessage returns a value) * @throws an error if normalized string is not well formed. * Throws an error too, if this is not an ICU message. */ translateICUMessage(icuTranslation: IICUMessageTranslation): INormalizedMessage; /** * Create a new normalized message from a native xml string as a translation of this one. * @param nativeString xml string in the format of the underlying file format. * Throws an error if native string is not acceptable. */ translateNativeString(nativeString: string): INormalizedMessage; /** * normalized message as string. * @param displayFormat optional way to determine the exact syntax. * Allowed formats are defined as constants NORMALIZATION_FORMAT... */ asDisplayString(displayFormat?: string): string; /** * Returns the message content as format dependent native string. * Includes all format specific markup like .. */ asNativeString(): string; /** * Validate the message. * @return null, if ok, error object otherwise. */ validate(): ValidationErrors | null; /** * Validate the message, check for warnings only. * A warning shows, that the message is acceptable, but misses something. * E.g. if you remove a placeholder or a special tag from the original message, this generates a warning. * @return null, if no warning, warnings as error object otherwise. */ validateWarnings(): ValidationErrors | null; /** * Test wether this message is an ICU message. * @return true, if it is an ICU message. */ isICUMessage(): boolean; /** * Test wether this message contains an ICU message reference. * ICU message references are something like . * @return true, if there is an ICU message reference in the message. */ containsICUMessageRef(): boolean; /** * If this message is an ICU message, returns its structure. * Otherwise this method returns null. * @return ICUMessage or null. */ getICUMessage(): IICUMessage; /** * Check for added placeholder. * @return null or message, if fulfilled. */ private checkPlaceholderAdded; /** * Check for removed placeholder. * @return null or message, if fulfilled. */ private checkPlaceholderRemoved; /** * Check for added ICU Message Refs. * @return null or message, if fulfilled. */ private checkICUMessageRefAdded; /** * Check for removed ICU Message Refs. * @return null or message, if fulfilled. */ private checkICUMessageRefRemoved; /** * Get all indexes of placeholders used in the message. */ private allPlaceholders; /** * Return the disp-Attribute of placeholder * @param index index of placeholder * @return disp or null */ getPlaceholderDisp(index: number): string; /** * Get all indexes of ICU message refs used in the message. */ private allICUMessageRefs; /** * Return the disp-Attribute of icu message ref * @param index of ref * @return disp or null */ getICUMessageRefDisp(index: number): string; /** * Check for added tags. * @return null or message, if fulfilled. */ private checkTagAdded; /** * Check for removed tags. * @return null or message, if fulfilled. */ private checkTagRemoved; /** * Get all tag names used in the message. */ private allTags; parts(): ParsedMessagePart[]; setXmlRepresentation(xmlRepresentation: Element): void; addText(text: string): void; addPlaceholder(index: number, disp: string): void; addStartTag(tagname: string, idcounter: number): void; addEndTag(tagname: string): void; addEmptyTag(tagname: string, idcounter: number): void; addICUMessageRef(index: number, disp: any): void; addICUMessage(text: string): void; /** * Determine, wether there is an open tag, that is not closed. * Returns the latest one or null, if there is no open tag. */ private calculateOpenTagName; } //# sourceMappingURL=parsed-message.d.ts.map