diff options
author | Kyra <kyradiscord@gmail.com> | 2018-11-04 19:05:02 +0100 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2018-11-04 10:05:02 -0800 |
commit | e93d686e9d5e797f7e4e02bda56a8b6d535326ca (patch) | |
tree | e89490da61e17ee890ce590fdaa99d0701dc8308 /js/file.ts | |
parent | 1241b8e9babfec3e87c8958e2065966ee5dd1335 (diff) |
Web APIs: `File` and `FormData` (#1056)
Diffstat (limited to 'js/file.ts')
-rw-r--r-- | js/file.ts | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/js/file.ts b/js/file.ts new file mode 100644 index 000000000..8496d6edb --- /dev/null +++ b/js/file.ts @@ -0,0 +1,24 @@ +// Copyright 2018 the Deno authors. All rights reserved. MIT license. +import * as domTypes from "./dom_types"; +import * as blob from "./blob"; + +export class DenoFile extends blob.DenoBlob implements domTypes.File { + lastModified: number; + name: string; + + constructor( + fileBits: domTypes.BlobPart[], + fileName: string, + options?: domTypes.FilePropertyBag + ) { + options = options || {}; + super(fileBits, options); + + // 4.1.2.1 Replace any "/" character (U+002F SOLIDUS) + // with a ":" (U + 003A COLON) + this.name = String(fileName).replace(/\u002F/g, "\u003A"); + // 4.1.3.3 If lastModified is not provided, set lastModified to the current + // date and time represented in number of milliseconds since the Unix Epoch. + this.lastModified = options.lastModified || Date.now(); + } +} |