Urara-Blog/node_modules/.pnpm-store/v3/files/60/5f5ed88dfe13b013b02bbae2c9b4d8bc01ebcb96cb19cc04956141b3e56343db3e402b4586cf8d79315455ca05d47f452a87d862ef8203fbb6ee2e55a194d5
2022-08-14 01:14:53 +08:00

23 lines
535 B
Text

'use strict'
// When writing files on Windows, translate the characters to their
// 0xf000 higher-encoded versions.
const raw = [
'|',
'<',
'>',
'?',
':',
]
const win = raw.map(char =>
String.fromCharCode(0xf000 + char.charCodeAt(0)))
const toWin = new Map(raw.map((char, i) => [char, win[i]]))
const toRaw = new Map(win.map((char, i) => [char, raw[i]]))
module.exports = {
encode: s => raw.reduce((s, c) => s.split(c).join(toWin.get(c)), s),
decode: s => win.reduce((s, c) => s.split(c).join(toRaw.get(c)), s),
}