summaryrefslogtreecommitdiff
path: root/op_crates/file/lib.deno_file.d.ts
diff options
context:
space:
mode:
authorLuca Casonato <lucacasonato@yahoo.com>2021-04-06 12:55:05 +0200
committerGitHub <noreply@github.com>2021-04-06 12:55:05 +0200
commit00e63306cbcc295a87ba662f9f63311a3c6c49ce (patch)
tree88020a85a0f1d64803841386d2c5711b7ee008dc /op_crates/file/lib.deno_file.d.ts
parentff5d072702aee52882787ea85dd73573a8f8f316 (diff)
refactor: add deno_file op crate (#10019)
Also enables WPT for FileReader.
Diffstat (limited to 'op_crates/file/lib.deno_file.d.ts')
-rw-r--r--op_crates/file/lib.deno_file.d.ts40
1 files changed, 40 insertions, 0 deletions
diff --git a/op_crates/file/lib.deno_file.d.ts b/op_crates/file/lib.deno_file.d.ts
new file mode 100644
index 000000000..a907c3f50
--- /dev/null
+++ b/op_crates/file/lib.deno_file.d.ts
@@ -0,0 +1,40 @@
+// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
+
+/// <reference no-default-lib="true" />
+/// <reference lib="esnext" />
+
+type BlobPart = BufferSource | Blob | string;
+
+interface BlobPropertyBag {
+ type?: string;
+ endings?: "transparent" | "native";
+}
+
+/** A file-like object of immutable, raw data. Blobs represent data that isn't necessarily in a JavaScript-native format. The File interface is based on Blob, inheriting blob functionality and expanding it to support files on the user's system. */
+declare class Blob {
+ constructor(blobParts?: BlobPart[], options?: BlobPropertyBag);
+
+ readonly size: number;
+ readonly type: string;
+ arrayBuffer(): Promise<ArrayBuffer>;
+ slice(start?: number, end?: number, contentType?: string): Blob;
+ stream(): ReadableStream<Uint8Array>;
+ text(): Promise<string>;
+}
+
+interface FilePropertyBag extends BlobPropertyBag {
+ lastModified?: number;
+}
+
+/** Provides information about files and allows JavaScript in a web page to
+ * access their content. */
+declare class File extends Blob {
+ constructor(
+ fileBits: BlobPart[],
+ fileName: string,
+ options?: FilePropertyBag,
+ );
+
+ readonly lastModified: number;
+ readonly name: string;
+}