(name)
| 52 | } |
| 53 | |
| 54 | export function encodeFilename(name) { |
| 55 | // `escape` generated URI has % in it |
| 56 | return name.replace(/[-\\/:*?"<>|%\s]/g, (m) => { |
| 57 | let code = m.charCodeAt(0).toString(16); |
| 58 | if (code.length < 2) code = `0${code}`; |
| 59 | return `-${code}`; |
| 60 | }); |
| 61 | } |
| 62 | |
| 63 | export function decodeFilename(filename) { |
| 64 | return filename.replace(/-([0-9a-f]{2})/g, (_m, g) => String.fromCharCode(parseInt(g, 16))); |