messageformat
Version:
Intl.MessageFormat / Unicode MessageFormat 2 parser, runtime and polyfill
53 lines (52 loc) • 2.04 kB
TypeScript
import type { Node } from './data-model/types.ts';
/**
* Base error class used by MessageFormat
*
* @category Errors
*/
export declare class MessageError extends Error {
type: 'not-formattable' | 'unknown-function' | typeof MessageResolutionError.prototype.type | typeof MessageSelectionError.prototype.type | typeof MessageSyntaxError.prototype.type;
constructor(type: typeof MessageError.prototype.type, message: string);
}
/**
* Errors in the message syntax.
*
* @category Errors
*/
export declare class MessageSyntaxError extends MessageError {
type: 'empty-token' | 'bad-escape' | 'bad-input-expression' | 'duplicate-attribute' | 'duplicate-declaration' | 'duplicate-option-name' | 'duplicate-variant' | 'extra-content' | 'key-mismatch' | 'parse-error' | 'missing-fallback' | 'missing-selector-annotation' | 'missing-syntax';
start: number;
end: number;
/** @private */
constructor(type: typeof MessageSyntaxError.prototype.type, start: number, end?: number, expected?: string);
}
/**
* Errors in the message data model.
*
* @category Errors
*/
export declare class MessageDataModelError extends MessageSyntaxError {
type: 'duplicate-declaration' | 'duplicate-variant' | 'key-mismatch' | 'missing-fallback' | 'missing-selector-annotation';
/** @private */
constructor(type: typeof MessageDataModelError.prototype.type, node: Node);
}
/**
* Message runtime resolution errors
*
* @category Errors
*/
export declare class MessageResolutionError extends MessageError {
type: 'bad-function-result' | 'bad-operand' | 'bad-option' | 'unresolved-variable' | 'unsupported-operation';
source: string;
constructor(type: typeof MessageResolutionError.prototype.type, message: string, source: string);
}
/**
* Errors in message selection.
*
* @category Errors
*/
export declare class MessageSelectionError extends MessageError {
type: 'bad-selector' | 'no-match';
cause?: unknown;
constructor(type: typeof MessageSelectionError.prototype.type, cause?: unknown);
}