Rename FileInfo time fields and represent them as Date objects (#4932)

This patch also increases the resolution of reported file times to
sub-millisecond precision.
This commit is contained in:
Bert Belder 2020-04-27 20:09:56 +02:00
parent c190a0dbc4
commit ee4e6a1ef9
No known key found for this signature in database
GPG key ID: 7A77887B2E2ED461
9 changed files with 143 additions and 130 deletions

View file

@ -4,9 +4,9 @@ import { build } from "../../build.ts";
export interface FileInfo {
size: number;
modified: number | null;
accessed: number | null;
created: number | null;
mtime: Date | null;
atime: Date | null;
birthtime: Date | null;
dev: number | null;
ino: number | null;
mode: number | null;
@ -26,9 +26,9 @@ export interface StatResponse {
isDirectory: boolean;
isSymlink: boolean;
size: number;
modified: number;
accessed: number;
created: number;
mtime: number | null;
atime: number | null;
birthtime: number | null;
// Null for stat(), but exists for readdir().
name: string | null;
// Unix only members
@ -51,9 +51,9 @@ export function parseFileInfo(response: StatResponse): FileInfo {
isDirectory: response.isDirectory,
isSymlink: response.isSymlink,
size: response.size,
modified: response.modified ? response.modified : null,
accessed: response.accessed ? response.accessed : null,
created: response.created ? response.created : null,
mtime: response.mtime != null ? new Date(response.mtime) : null,
atime: response.atime != null ? new Date(response.atime) : null,
birthtime: response.birthtime != null ? new Date(response.birthtime) : null,
// Only non-null if on Unix
dev: isUnix ? response.dev : null,
ino: isUnix ? response.ino : null,