(
printablePredicate: (codePoint: number) => boolean,
escaper: (codePoint: number) => string
)
| 147 | } |
| 148 | |
| 149 | export function escapeNonPrintableMapper( |
| 150 | printablePredicate: (codePoint: number) => boolean, |
| 151 | escaper: (codePoint: number) => string |
| 152 | ): (u: number) => string { |
| 153 | function mapper(u: number): string { |
| 154 | switch (u) { |
| 155 | case 0x5c: |
| 156 | return "\\\\"; |
| 157 | case 0x22: |
| 158 | return '\\"'; |
| 159 | case 0x0a: |
| 160 | return "\\n"; |
| 161 | case 0x09: |
| 162 | return "\\t"; |
| 163 | default: |
| 164 | if (printablePredicate(u)) { |
| 165 | return String.fromCharCode(u); |
| 166 | } |
| 167 | return escaper(u); |
| 168 | } |
| 169 | } |
| 170 | return mapper; |
| 171 | } |
| 172 | |
| 173 | export const utf16StringEscape = utf16ConcatMap(escapeNonPrintableMapper(isPrintable, standardUnicodeHexEscape)); |
| 174 | export const stringEscape = utf32ConcatMap(escapeNonPrintableMapper(isPrintable, standardUnicodeHexEscape)); |
no outgoing calls
no test coverage detected
searching dependent graphs…