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
						
					
					
				| '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);
 |