UNPKG

astro

Version:

Astro is a modern site builder with web best practices, performance, and DX front-of-mind.

31 lines (30 loc) 1.46 kB
export declare const escapeHTML: (str: string) => string; /** * Serializes a value to a JSON string that is safe to embed inside a `<script>` tag. * All `<` characters are escaped to `\u003c` so the browser's HTML parser cannot be * tricked into closing the script block early via `</script>` variants (case-insensitive, * whitespace, or self-closing forms) or `<!--` comment injection. * @see https://mathiasbynens.be/notes/etago */ export declare function stringifyForScript(value: any): string; export declare class HTMLBytes extends Uint8Array { } declare const htmlStringSymbol: unique symbol; /** * A "blessed" extension of String that tells Astro that the string * has already been escaped. This helps prevent double-escaping of HTML. */ export declare class HTMLString extends String { [htmlStringSymbol]: boolean; } type BlessedType = string | HTMLBytes; /** * markHTMLString marks a string as raw or "already escaped" by returning * a `HTMLString` instance. This is meant for internal use, and should not * be returned through any public JS API. */ export declare const markHTMLString: (value: any) => any; export declare function isHTMLString(value: any): value is HTMLString; export declare function isHTMLBytes(value: any): value is HTMLBytes; export declare function unescapeHTML(str: any): BlessedType | Promise<BlessedType | AsyncGenerator<BlessedType, void, unknown>> | AsyncGenerator<BlessedType, void, unknown>; export {};