Skip to content

Commit f56afb3

Browse files
authored
fix: Add back types (#26)
1 parent 9faa10d commit f56afb3

17 files changed

+240
-511
lines changed

package-lock.json

Lines changed: 23 additions & 508 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,17 @@
1414
"test:node": "node test/test-node.js",
1515
"test:deno": "deno run --allow-read --allow-write --allow-net test/test-deno.js",
1616
"test:wpt-in-deno": "deno run --allow-read --allow-write --allow-net test/test-wpt-in-deno.js",
17-
"build": "rm -rf dist && rollup -c rollup.config.js"
17+
"build": "rm -rf dist && rollup -c rollup.config.js",
18+
"prepublishOnly": "rm -rf types && tsc"
1819
},
1920
"repository": {
2021
"type": "git",
2122
"url": "git+https://github.com/jimmywarting/native-file-system-adapter.git"
2223
},
24+
"engines": {
25+
"node": ">=14.8.0"
26+
},
27+
"types": "types",
2328
"keywords": [
2429
"filesystem",
2530
"file",
@@ -56,7 +61,8 @@
5661
"rollup-plugin-multi-input": "^1.3.1",
5762
"rollup-plugin-terser": "^7.0.2",
5863
"standard": "^16.0.3",
59-
"tape": "^5.2.2"
64+
"tape": "^5.2.2",
65+
"typescript": "^4.4.4"
6066
},
6167
"standard": {
6268
"globals": [

tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@
1111
"lib": ["es2019", "dom"],
1212
"outDir": "./types/"
1313
},
14-
"include": ["src/*.js"]
14+
"include": ["mod.js"]
1515
}

types/mod.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from "./src/es6.js";
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
export default FileSystemDirectoryHandle;
2+
export class FileSystemDirectoryHandle extends FileSystemHandle {
3+
constructor(adapter: any);
4+
getDirectoryHandle(name: string, options?: {
5+
create?: boolean;
6+
}): Promise<FileSystemDirectoryHandle>;
7+
entries(): AsyncGenerator<[string, FileSystemHandle | FileSystemDirectoryHandle]>;
8+
getEntries(): AsyncGenerator<import("./FileSystemFileHandle.js").default | FileSystemDirectoryHandle, void, unknown>;
9+
getFileHandle(name: string, options?: {
10+
create?: boolean;
11+
}): Promise<import("./FileSystemFileHandle.js").default>;
12+
removeEntry(name: string, options?: {
13+
recursive?: boolean;
14+
}): Promise<any>;
15+
resolve(possibleDescendant: any): Promise<any[]>;
16+
keys(): AsyncGenerator<any, void, unknown>;
17+
values(): AsyncGenerator<FileSystemHandle | FileSystemDirectoryHandle, void, unknown>;
18+
[kAdapter]: any;
19+
[Symbol.asyncIterator](): AsyncGenerator<[string, FileSystemHandle | FileSystemDirectoryHandle], any, any>;
20+
}
21+
import FileSystemHandle from "./FileSystemHandle.js";
22+
declare const kAdapter: unique symbol;

types/src/FileSystemFileHandle.d.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
export default FileSystemFileHandle;
2+
export class FileSystemFileHandle extends FileSystemHandle {
3+
constructor(adapter: any);
4+
createWritable(options?: {
5+
keepExistingData?: boolean;
6+
}): Promise<FileSystemWritableFileStream>;
7+
getFile(): Promise<File>;
8+
[kAdapter]: any;
9+
}
10+
import FileSystemHandle from "./FileSystemHandle.js";
11+
import FileSystemWritableFileStream from "./FileSystemWritableFileStream.js";
12+
declare const kAdapter: unique symbol;

types/src/FileSystemHandle.d.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
export default FileSystemHandle;
2+
export class FileSystemHandle {
3+
constructor(adapter: FileSystemHandle & {
4+
writable;
5+
});
6+
name: string;
7+
kind: ('file' | 'directory');
8+
queryPermission({ mode }?: {
9+
mode?: string;
10+
}): Promise<any>;
11+
requestPermission({ mode }?: {
12+
mode?: string;
13+
}): Promise<any>;
14+
remove(options?: {
15+
recursive?: boolean;
16+
}): Promise<void>;
17+
isSameEntry(other: FileSystemHandle): Promise<any>;
18+
[kAdapter]: any;
19+
}
20+
declare const kAdapter: unique symbol;
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
export default FileSystemWritableFileStream;
2+
export class FileSystemWritableFileStream extends WritableStream<any> {
3+
constructor(...args: any[]);
4+
private _closed;
5+
seek(position: number): Promise<void>;
6+
truncate(size: number): Promise<void>;
7+
write(data: any): Promise<void>;
8+
}

types/src/adapters/downloader.d.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
export class FileHandle {
2+
constructor(name?: string);
3+
name: string;
4+
kind: string;
5+
getFile(): Promise<void>;
6+
isSameEntry(other: any): Promise<boolean>;
7+
createWritable(options?: object): Promise<WritableStreamDefaultWriter<any>>;
8+
}

types/src/adapters/memory.d.ts

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
export class Sink {
2+
constructor(fileHandle: FileHandle, file: File);
3+
fileHandle: FileHandle;
4+
file: File;
5+
size: number;
6+
position: number;
7+
write(chunk: any): void;
8+
close(): void;
9+
}
10+
export class FileHandle {
11+
constructor(name?: string, file?: File, writable?: boolean);
12+
_file: File;
13+
name: string;
14+
kind: string;
15+
_deleted: boolean;
16+
writable: boolean;
17+
readable: boolean;
18+
getFile(): Promise<File>;
19+
createWritable(opts: any): Promise<Sink>;
20+
isSameEntry(other: any): Promise<boolean>;
21+
_destroy(): Promise<void>;
22+
}
23+
export class FolderHandle {
24+
constructor(name: string, writable?: boolean);
25+
name: string;
26+
kind: string;
27+
_deleted: boolean;
28+
_entries: {
29+
[x: string]: (FolderHandle | FileHandle);
30+
};
31+
writable: boolean;
32+
readable: boolean;
33+
entries(): AsyncGenerator<[string, FileHandle | FolderHandle]>;
34+
isSameEntry(other: any): Promise<boolean>;
35+
getDirectoryHandle(name: string, opts: {
36+
create: boolean;
37+
}): Promise<FolderHandle>;
38+
getFileHandle(name: string, opts: {
39+
create: boolean;
40+
}): Promise<FileHandle>;
41+
removeEntry(name: any, opts: any): Promise<void>;
42+
_destroy(recursive: any): Promise<void>;
43+
}
44+
declare function _default(): FolderHandle;
45+
export default _default;
46+
declare const File_1: typeof window.File;

types/src/adapters/sandbox.d.ts

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
export class FileHandle {
2+
constructor(file: FileEntry, writable?: boolean);
3+
file: FileEntry;
4+
kind: string;
5+
writable: boolean;
6+
readable: boolean;
7+
get name(): string;
8+
isSameEntry(other: any): boolean;
9+
getFile(): Promise<File>;
10+
createWritable(opts: any): Promise<Sink>;
11+
}
12+
export class FolderHandle {
13+
constructor(dir: DirectoryEntry, writable?: boolean);
14+
dir: DirectoryEntry;
15+
writable: boolean;
16+
readable: boolean;
17+
kind: string;
18+
name: string;
19+
isSameEntry(other: FolderHandle): boolean;
20+
entries(): AsyncGenerator<[string, FileHandle | FolderHandle]>;
21+
getDirectoryHandle(name: string, opts: {
22+
create: boolean;
23+
}): Promise<FolderHandle>;
24+
getFileHandle(name: string, opts: {
25+
create: boolean;
26+
}): Promise<FileHandle>;
27+
removeEntry(name: string, opts: {
28+
recursive: boolean;
29+
}): Promise<any>;
30+
}
31+
declare function _default(opts?: {}): Promise<any>;
32+
export default _default;
33+
declare class Sink {
34+
constructor(writer: FileWriter, fileEntry: FileEntry);
35+
writer: FileWriter;
36+
fileEntry: FileEntry;
37+
write(chunk: BlobPart | any): Promise<any>;
38+
close(): Promise<any>;
39+
}

types/src/es6.d.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import FileSystemDirectoryHandle from "./FileSystemDirectoryHandle.js";
2+
import FileSystemFileHandle from "./FileSystemFileHandle.js";
3+
import FileSystemHandle from "./FileSystemHandle.js";
4+
import FileSystemWritableFileStream from "./FileSystemWritableFileStream.js";
5+
import getOriginPrivateDirectory from "./getOriginPrivateDirectory.js";
6+
import showDirectoryPicker from "./showDirectoryPicker.js";
7+
import showOpenFilePicker from "./showOpenFilePicker.js";
8+
import showSaveFilePicker from "./showSaveFilePicker.js";
9+
export { FileSystemDirectoryHandle, FileSystemFileHandle, FileSystemHandle, FileSystemWritableFileStream, getOriginPrivateDirectory, showDirectoryPicker, showOpenFilePicker, showSaveFilePicker };
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export default getOriginPrivateDirectory;
2+
export type FileSystemDirectoryHandle = import('./FileSystemDirectoryHandle.js').default;
3+
declare function getOriginPrivateDirectory(driver?: object | undefined, options?: {}): Promise<import("./FileSystemDirectoryHandle.js").default>;

types/src/showDirectoryPicker.d.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
export default showDirectoryPicker;
2+
export type FileSystemDirectoryHandle = import('./FileSystemDirectoryHandle.js').default;
3+
export function showDirectoryPicker(options?: {
4+
_preferPolyfill?: boolean;
5+
}): Promise<FileSystemDirectoryHandle>;

types/src/showOpenFilePicker.d.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
export default showOpenFilePicker;
2+
export type FileSystemFileHandle = import('./FileSystemFileHandle.js').default;
3+
export function showOpenFilePicker(options?: {
4+
multiple?: boolean;
5+
excludeAcceptAllOption?: boolean;
6+
accepts?: any[];
7+
_preferPolyfill?: boolean;
8+
}): Promise<FileSystemFileHandle[]>;

types/src/showSaveFilePicker.d.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
export default showSaveFilePicker;
2+
export type FileSystemFileHandle = import('./FileSystemFileHandle.js').default;
3+
export function showSaveFilePicker(options?: {
4+
excludeAcceptAllOption?: boolean;
5+
accepts?: any[];
6+
suggestedName?: string;
7+
_name?: string;
8+
_preferPolyfill?: boolean;
9+
}): Promise<import("./FileSystemFileHandle.js").default>;

types/src/util.d.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
export function fromDataTransfer(entries: any): Promise<import("./FileSystemDirectoryHandle.js").default>;
2+
export function getDirHandlesFromInput(input: any): Promise<import("./FileSystemDirectoryHandle.js").default>;
3+
export function getFileHandlesFromInput(input: any): Promise<import("./FileSystemFileHandle.js").default[]>;
4+
export namespace errors {
5+
const INVALID: string[];
6+
const GONE: string[];
7+
const MISMATCH: string[];
8+
const MOD_ERR: string[];
9+
function SYNTAX(m: any): string[];
10+
const SECURITY: string[];
11+
const DISALLOWED: string[];
12+
}
13+
export namespace config {
14+
const writable: {
15+
new <W = any>(underlyingSink?: UnderlyingSink<W>, strategy?: QueuingStrategy<W>): WritableStream<W>;
16+
prototype: WritableStream<any>;
17+
};
18+
}

0 commit comments

Comments
 (0)