You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							24 lines
						
					
					
						
							535 B
						
					
					
				
			
		
		
	
	
							24 lines
						
					
					
						
							535 B
						
					
					
				'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),
 | 
						|
}
 |