@technobuddha/library
Version: 
A large library of useful functions
36 lines (35 loc) • 1.84 kB
TypeScript
/**
 * Escape a string for use in Python
 *
 * | Character          | Hex                  | Escape Sequence          |
 * | ------------------ | -------------------- | ------------------------ |
 * | NUL                | 0x00                 | \\0 or \\000[^1]         |
 * | Bell               | 0x07                 | \\a                      |
 * | Backspace          | 0x08                 | \\b                      |
 * | Tab                | 0x09                 | \\t                      |
 * | Newline            | 0x0a                 | \\n                      |
 * | Vertical Tab       | 0x0b                 | \\v                      |
 * | Form Feed          | 0x0c                 | \\f                      |
 * | Carriage Return    | 0x0d                 | \\r                      |
 * | Double Quote       | 0x22                 | \\"                      |
 * | Single Quote       | 0x27                 | \\'                      |
 * | Backslash          | 0x5c                 | \\\\                     |
 * | Control Characters | 0x00-0x1f, 0x7f-0x9f | \\xnn                    |
 * | BMP                | 0x0100-0xffff    | \\unnnn                  |
 * | Astral             | 0x10000-0x10ffff   | \\Unnnnnnnn              |
 *
 * [^1]: The sequence \\0 must not be followed by a octal digit (0-7) to avoid being interpreted
 * as a different character, \\000 will be used to avoid ambiguity.
 * @param input - The string to escape
 * @returns the string escapes for use in python
 * @example
 * ```typescript
 * escapePython('Hello\nWorld'); // "Hello\\nWorld"
 * escapePython('"\\');          // "\\\"\\\\"
 * escapePython('\b');           // "\\b"
 * escapePython('\u20ac');       // "\\u20ac"
 * ```
 * @group Programming
 * @category Escaping
 */
export declare function escapePython(input: string): string;