mirror of
https://github.com/idanoo/GoScrobble.git
synced 2024-11-25 01:45:15 +00:00
59 lines
1012 B
JavaScript
59 lines
1012 B
JavaScript
|
'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);
|