@obsidize/tar-browserify
Version:
Browser-based tar utility for packing and unpacking tar files (stream-capable)
74 lines (73 loc) • 3.07 kB
TypeScript
import { TarSerializable } from '../../common/tar-utility';
import { UstarHeaderLike } from './ustar-header-like';
import { UstarHeaderLinkIndicatorType } from './ustar-header-link-indicator-type';
/**
* Facade over a backing Uint8Array buffer to consume/edit header data
* at a specific location in the buffer.
*
* Does not perform any mutations or reads on creation, and
* lazy loads/sets data via getters and setters.
*/
export declare class UstarHeader implements UstarHeaderLike, TarSerializable {
private readonly mValueMap;
constructor(attributes?: Partial<UstarHeaderLike>);
static isUstarHeader(value: any): boolean;
/**
* @returns A new `UstarHeader` instance based on the given attributes (if they are a POJO).
* Note that if the given value is already a UstarHeader instance, this will return it as-is.
*/
static fromAttributes(attributes: Partial<UstarHeaderLike>): UstarHeader;
/**
* Short-hand for constructing a new `UstarHeader` and immediately calling `toUint8Array()` on it
*/
static serializeAttributes(attributes: Partial<UstarHeaderLike>): Uint8Array;
/**
* Parses out a UstarHeader instance from the given input buffer, at the given offset.
* The given offset must be a multiple of SECTOR_SIZE.
*
* If the sector at the given offset is not marked with a ustar indicator,
* this will return null.
*/
static deserialize(input: Uint8Array, offset?: number): UstarHeader | null;
static defaultValues(): UstarHeaderLike;
get fileName(): string;
set fileName(value: string);
get fileMode(): number;
set fileMode(value: number);
get ownerUserId(): number;
set ownerUserId(value: number);
get groupUserId(): number;
set groupUserId(value: number);
get fileSize(): number;
set fileSize(value: number);
get lastModified(): number;
set lastModified(value: number);
get headerChecksum(): number;
set headerChecksum(value: number);
get linkedFileName(): string;
set linkedFileName(value: string);
get typeFlag(): UstarHeaderLinkIndicatorType;
set typeFlag(value: UstarHeaderLinkIndicatorType);
get ustarIndicator(): string;
get ustarVersion(): string;
set ustarVersion(value: string);
get ownerUserName(): string;
set ownerUserName(value: string);
get ownerGroupName(): string;
set ownerGroupName(value: string);
get deviceMajorNumber(): string;
set deviceMajorNumber(value: string);
get deviceMinorNumber(): string;
set deviceMinorNumber(value: string);
get fileNamePrefix(): string;
set fileNamePrefix(value: string);
get isPaxHeader(): boolean;
get isGlobalPaxHeader(): boolean;
get isLocalPaxHeader(): boolean;
get isFileHeader(): boolean;
get isDirectoryHeader(): boolean;
update(attributes: Partial<UstarHeaderLike>): this;
toAttributes(): UstarHeaderLike;
toUint8Array(): Uint8Array;
toJSON(): Record<string, unknown>;
}