96 lines
3.3 KiB
TypeScript
96 lines
3.3 KiB
TypeScript
import { DecodingMode } from "./decode.js";
|
|
/** The level of entities to support. */
|
|
export declare enum EntityLevel {
|
|
/** Support only XML entities. */
|
|
XML = 0,
|
|
/** Support HTML entities, which are a superset of XML entities. */
|
|
HTML = 1
|
|
}
|
|
export declare enum EncodingMode {
|
|
/**
|
|
* The output is UTF-8 encoded. Only characters that need escaping within
|
|
* XML will be escaped.
|
|
*/
|
|
UTF8 = 0,
|
|
/**
|
|
* The output consists only of ASCII characters. Characters that need
|
|
* escaping within HTML, and characters that aren't ASCII characters will
|
|
* be escaped.
|
|
*/
|
|
ASCII = 1,
|
|
/**
|
|
* Encode all characters that have an equivalent entity, as well as all
|
|
* characters that are not ASCII characters.
|
|
*/
|
|
Extensive = 2,
|
|
/**
|
|
* Encode all characters that have to be escaped in HTML attributes,
|
|
* following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
|
|
*/
|
|
Attribute = 3,
|
|
/**
|
|
* Encode all characters that have to be escaped in HTML text,
|
|
* following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
|
|
*/
|
|
Text = 4
|
|
}
|
|
export interface DecodingOptions {
|
|
/**
|
|
* The level of entities to support.
|
|
* @default {@link EntityLevel.XML}
|
|
*/
|
|
level?: EntityLevel;
|
|
/**
|
|
* Decoding mode. If `Legacy`, will support legacy entities not terminated
|
|
* with a semicolon (`;`).
|
|
*
|
|
* Always `Strict` for XML. For HTML, set this to `true` if you are parsing
|
|
* an attribute value.
|
|
*
|
|
* The deprecated `decodeStrict` function defaults this to `Strict`.
|
|
*
|
|
* @default {@link DecodingMode.Legacy}
|
|
*/
|
|
mode?: DecodingMode | undefined;
|
|
}
|
|
/**
|
|
* Decodes a string with entities.
|
|
*
|
|
* @param data String to decode.
|
|
* @param options Decoding options.
|
|
*/
|
|
export declare function decode(data: string, options?: DecodingOptions | EntityLevel): string;
|
|
/**
|
|
* Decodes a string with entities. Does not allow missing trailing semicolons for entities.
|
|
*
|
|
* @param data String to decode.
|
|
* @param options Decoding options.
|
|
* @deprecated Use `decode` with the `mode` set to `Strict`.
|
|
*/
|
|
export declare function decodeStrict(data: string, options?: DecodingOptions | EntityLevel): string;
|
|
/**
|
|
* Options for `encode`.
|
|
*/
|
|
export interface EncodingOptions {
|
|
/**
|
|
* The level of entities to support.
|
|
* @default {@link EntityLevel.XML}
|
|
*/
|
|
level?: EntityLevel;
|
|
/**
|
|
* Output format.
|
|
* @default {@link EncodingMode.Extensive}
|
|
*/
|
|
mode?: EncodingMode;
|
|
}
|
|
/**
|
|
* Encodes a string with entities.
|
|
*
|
|
* @param data String to encode.
|
|
* @param options Encoding options.
|
|
*/
|
|
export declare function encode(data: string, options?: EncodingOptions | EntityLevel): string;
|
|
export { encodeXML, escape, escapeUTF8, escapeAttribute, escapeText, } from "./escape.js";
|
|
export { encodeHTML, encodeNonAsciiHTML, encodeHTML as encodeHTML4, encodeHTML as encodeHTML5, } from "./encode.js";
|
|
export { EntityDecoder, DecodingMode, decodeXML, decodeHTML, decodeHTMLStrict, decodeHTMLAttribute, decodeHTML as decodeHTML4, decodeHTML as decodeHTML5, decodeHTMLStrict as decodeHTML4Strict, decodeHTMLStrict as decodeHTML5Strict, decodeXML as decodeXMLStrict, } from "./decode.js";
|
|
//# sourceMappingURL=index.d.ts.map
|