(name: string)
| 117 | * Escapes backslashes, quotes, and control characters. |
| 118 | */ |
| 119 | export function quoteProp(name: string): string { |
| 120 | if (!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(name)) { |
| 121 | let escaped = ""; |
| 122 | for (const ch of name) { |
| 123 | if (ch === "\\") escaped += "\\\\"; |
| 124 | else if (ch === '"') escaped += '\\"'; |
| 125 | else if (ch === "\n") escaped += "\\n"; |
| 126 | else if (ch === "\r") escaped += "\\r"; |
| 127 | else if (ch === "\t") escaped += "\\t"; |
| 128 | else if (ch === "\u2028") escaped += "\\u2028"; |
| 129 | else if (ch === "\u2029") escaped += "\\u2029"; |
| 130 | else escaped += escapeControlChar(ch); |
| 131 | } |
| 132 | return `"${escaped}"`; |
| 133 | } |
| 134 | return name; |
| 135 | } |
| 136 | |
| 137 | /** |
| 138 | * Escape a string for use inside a double-quoted TypeScript string literal. |
no test coverage detected