UNPKG

@obsidize/tar-browserify

Version:

Browser-based tar utility for packing and unpacking tar files (stream-capable)

94 lines (93 loc) 3.72 kB
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 { readonly bytes: Uint8Array; readonly offset: number; constructor(bytes?: Uint8Array, offset?: number); /** * @returns A copy of the defaults used by all headers */ static defaultValues(): 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 from(attrs: UstarHeaderLike | Partial<UstarHeaderLike>): UstarHeader; /** * Short-hand for constructing a new `UstarHeader` and immediately calling `toUint8Array()` on it */ static serialize(attrs: UstarHeaderLike | Partial<UstarHeaderLike>): Uint8Array; /** * @returns A new `UstarHeader` instance populated with the content returned by `defaultValues()` */ static seeded(): UstarHeader; get byteLength(): number; 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; /** * @returns A snapshot of the underlying buffer for this header */ toUint8Array(): Uint8Array; toJSON(): Record<string, unknown>; toAttributes(): UstarHeaderLike; /** * Override all values in the header. * Any values not provided in `attrs` will be filled in with default values. * @returns `this` for operation chaining */ initialize(attrs?: UstarHeaderLike | Partial<UstarHeaderLike>): this; /** * Ensures the state of the header is synced after changes have been made. * @returns `this` for operation chaining */ updateChecksum(): this; /** * Mechanism to batch-update properties. * Automatically normalizes the header if any changes were made. * @returns `this` for operation chaining */ update(attrs: UstarHeaderLike | Partial<UstarHeaderLike>): this; }