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.
		
		
		
		
		
			
		
			
				
					59 lines
				
				1012 B
			
		
		
			
		
	
	
					59 lines
				
				1012 B
			| 
											3 years ago
										 | 'use strict'; | ||
|  | 
 | ||
|  | // Helper
 | ||
|  | function reverse(map) { | ||
|  |   const res = {}; | ||
|  | 
 | ||
|  |   Object.keys(map).forEach(function(key) { | ||
|  |     // Convert key to integer if it is stringified
 | ||
|  |     if ((key | 0) == key) | ||
|  |       key = key | 0; | ||
|  | 
 | ||
|  |     const value = map[key]; | ||
|  |     res[value] = key; | ||
|  |   }); | ||
|  | 
 | ||
|  |   return res; | ||
|  | } | ||
|  | 
 | ||
|  | exports.tagClass = { | ||
|  |   0: 'universal', | ||
|  |   1: 'application', | ||
|  |   2: 'context', | ||
|  |   3: 'private' | ||
|  | }; | ||
|  | exports.tagClassByName = reverse(exports.tagClass); | ||
|  | 
 | ||
|  | exports.tag = { | ||
|  |   0x00: 'end', | ||
|  |   0x01: 'bool', | ||
|  |   0x02: 'int', | ||
|  |   0x03: 'bitstr', | ||
|  |   0x04: 'octstr', | ||
|  |   0x05: 'null_', | ||
|  |   0x06: 'objid', | ||
|  |   0x07: 'objDesc', | ||
|  |   0x08: 'external', | ||
|  |   0x09: 'real', | ||
|  |   0x0a: 'enum', | ||
|  |   0x0b: 'embed', | ||
|  |   0x0c: 'utf8str', | ||
|  |   0x0d: 'relativeOid', | ||
|  |   0x10: 'seq', | ||
|  |   0x11: 'set', | ||
|  |   0x12: 'numstr', | ||
|  |   0x13: 'printstr', | ||
|  |   0x14: 't61str', | ||
|  |   0x15: 'videostr', | ||
|  |   0x16: 'ia5str', | ||
|  |   0x17: 'utctime', | ||
|  |   0x18: 'gentime', | ||
|  |   0x19: 'graphstr', | ||
|  |   0x1a: 'iso646str', | ||
|  |   0x1b: 'genstr', | ||
|  |   0x1c: 'unistr', | ||
|  |   0x1d: 'charstr', | ||
|  |   0x1e: 'bmpstr' | ||
|  | }; | ||
|  | exports.tagByName = reverse(exports.tag); |