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