insomnia/packages/insomnia-app/app/sync/git/stat.ts
Dimitri Mitropoulos 5f4c19da35
[TypeScript] Phase 1 & 2 (#3370)
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-05-12 18:35:00 +12:00

45 lines
780 B
TypeScript

interface StatObj {
type: 'file' | 'dir' | 'symlink';
mode: number;
size: number;
ino: number;
mtimeMs: number;
ctimeMs?: number;
}
export default class Stat {
type: 'file' | 'dir' | 'symlink';
mode: number;
size: number;
ino: number;
mtimeMs: number;
ctimeMs: number;
uid: 1;
gid: 1;
dev: 1;
constructor(stats: StatObj) {
this.type = stats.type;
this.mode = stats.mode;
this.size = stats.size;
this.ino = stats.ino;
this.mtimeMs = stats.mtimeMs;
this.ctimeMs = stats.ctimeMs || stats.mtimeMs;
this.uid = 1;
this.gid = 1;
this.dev = 1;
}
isFile() {
return this.type === 'file';
}
isDirectory() {
return this.type === 'dir';
}
isSymbolicLink() {
return this.type === 'symlink';
}
}