mirror of
https://github.com/Sevichecc/Urara-Blog.git
synced 2025-05-03 08:39:29 +08:00
44 lines
1.1 KiB
Text
44 lines
1.1 KiB
Text
'use strict'
|
|
// map types from key to human-friendly name
|
|
exports.name = new Map([
|
|
['0', 'File'],
|
|
// same as File
|
|
['', 'OldFile'],
|
|
['1', 'Link'],
|
|
['2', 'SymbolicLink'],
|
|
// Devices and FIFOs aren't fully supported
|
|
// they are parsed, but skipped when unpacking
|
|
['3', 'CharacterDevice'],
|
|
['4', 'BlockDevice'],
|
|
['5', 'Directory'],
|
|
['6', 'FIFO'],
|
|
// same as File
|
|
['7', 'ContiguousFile'],
|
|
// pax headers
|
|
['g', 'GlobalExtendedHeader'],
|
|
['x', 'ExtendedHeader'],
|
|
// vendor-specific stuff
|
|
// skip
|
|
['A', 'SolarisACL'],
|
|
// like 5, but with data, which should be skipped
|
|
['D', 'GNUDumpDir'],
|
|
// metadata only, skip
|
|
['I', 'Inode'],
|
|
// data = link path of next file
|
|
['K', 'NextFileHasLongLinkpath'],
|
|
// data = path of next file
|
|
['L', 'NextFileHasLongPath'],
|
|
// skip
|
|
['M', 'ContinuationFile'],
|
|
// like L
|
|
['N', 'OldGnuLongPath'],
|
|
// skip
|
|
['S', 'SparseFile'],
|
|
// skip
|
|
['V', 'TapeVolumeHeader'],
|
|
// like x
|
|
['X', 'OldExtendedHeader'],
|
|
])
|
|
|
|
// map the other direction
|
|
exports.code = new Map(Array.from(exports.name).map(kv => [kv[1], kv[0]]))
|