Extensive work on building, wearables, assets, inventory, attachments, serialization, etc.
Resolves #36
This commit is contained in:
44
lib/classes/TarFile.ts
Normal file
44
lib/classes/TarFile.ts
Normal file
@@ -0,0 +1,44 @@
|
||||
import * as fs from 'fs';
|
||||
|
||||
export class TarFile
|
||||
{
|
||||
fileName: string;
|
||||
fileMode: number;
|
||||
userID: number;
|
||||
groupID: number;
|
||||
modifyTime: Date;
|
||||
linkIndicator: number;
|
||||
linkedFile: string;
|
||||
offset: number;
|
||||
fileSize: number;
|
||||
archiveFile: string;
|
||||
|
||||
read(): Promise<Buffer>
|
||||
{
|
||||
return new Promise<Buffer>((resolve, reject) =>
|
||||
{
|
||||
fs.open(this.archiveFile, 'r', (err: Error | null, fd: number) =>
|
||||
{
|
||||
if (err)
|
||||
{
|
||||
reject(err);
|
||||
}
|
||||
else
|
||||
{
|
||||
const buf = Buffer.alloc(this.fileSize);
|
||||
fs.read(fd, buf, 0, this.fileSize, this.offset, (err2: Error | null, bytesRead: number, buffer: Buffer) =>
|
||||
{
|
||||
if (err2)
|
||||
{
|
||||
reject(err2);
|
||||
}
|
||||
else
|
||||
{
|
||||
resolve(buffer);
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user