diff --git a/fs-extra-promise-es6/fs-extra-promise-es6-tests.ts b/fs-extra-promise-es6/fs-extra-promise-es6-tests.ts new file mode 100644 index 0000000000..12623c54b1 --- /dev/null +++ b/fs-extra-promise-es6/fs-extra-promise-es6-tests.ts @@ -0,0 +1,226 @@ +/// + +import fs = require('fs-extra-promise-es6'); +import stream = require('stream'); + +var stats: fs.Stats; +var str: string; +var strArr: string[]; +var bool: boolean; +var num: number; +var src: string; +var dest: string; +var file: string; +var filename: string; +var dir: string; +var path: string; +var data: any; +var object: Object; +var buffer: NodeBuffer; +var modeNum: number; +var modeStr: string; +var encoding: string; +var type: string; +var flags: string; +var srcpath: string; +var dstpath: string; +var oldPath: string; +var newPath: string; +var cache: string; +var offset: number; +var length: number; +var position: number; +var cacheBool: boolean; +var cacheStr: string; +var fd: number; +var len: number; +var uid: number; +var gid: number; +var atime: number; +var mtime: number; +var statsCallback: (err: Error, stats: fs.Stats) => void; +var errorCallback: (err: Error) => void; +var openOpts: fs.OpenOptions; +var watcher: fs.FSWatcher; +var readStreeam: stream.Readable; +var writeStream: stream.Writable; + +fs.copy(src, dest, errorCallback); +fs.copy(src, dest, (src: string) => { + return false; +}, errorCallback); +fs.copySync(src, dest); +fs.copySync(src, dest, (src: string) => { + return false; +}); +fs.createFile(file, errorCallback); +fs.createFileSync(file); + +fs.mkdirs(dir, errorCallback); +fs.mkdirsSync(dir); +fs.mkdirp(dir, errorCallback); +fs.mkdirpSync(dir); + +fs.outputFile(file, data, errorCallback); +fs.outputFileSync(file, data); +fs.outputJson(file, data, errorCallback); +fs.outputJSON(file, data, errorCallback); + +fs.outputJsonSync(file, data); +fs.outputJSONSync(file, data); + +fs.readJson(file, errorCallback); +fs.readJson(file, openOpts, errorCallback); +fs.readJSON(file, errorCallback); +fs.readJSON(file, openOpts, errorCallback); + +fs.readJsonSync(file, openOpts); +fs.readJSONSync(file, openOpts); + +fs.remove(dir, errorCallback); +fs.removeSync(dir); + +fs.writeJson(file, object, errorCallback); +fs.writeJson(file, object, openOpts, errorCallback); +fs.writeJSON(file, object, errorCallback); +fs.writeJSON(file, object, openOpts, errorCallback); + +fs.writeJsonSync(file, object, openOpts); +fs.writeJSONSync(file, object, openOpts); + +fs.rename(oldPath, newPath, errorCallback); +fs.renameSync(oldPath, newPath); +fs.truncate(fd, len, errorCallback); +fs.truncateSync(fd, len); +fs.chown(path, uid, gid, errorCallback); +fs.chownSync(path, uid, gid); +fs.fchown(fd, uid, gid, errorCallback); +fs.fchownSync(fd, uid, gid); +fs.lchown(path, uid, gid, errorCallback); +fs.lchownSync(path, uid, gid); +fs.chmod(path, modeNum, errorCallback); +fs.chmod(path, modeStr, errorCallback); +fs.chmodSync(path, modeNum); +fs.chmodSync(path, modeStr); +fs.fchmod(fd, modeNum, errorCallback); +fs.fchmod(fd, modeStr, errorCallback); +fs.fchmodSync(fd, modeNum); +fs.fchmodSync(fd, modeStr); +fs.lchmod(path, modeStr, errorCallback); +fs.lchmod(path, modeNum, errorCallback); +fs.lchmodSync(path, modeNum); +fs.lchmodSync(path, modeStr); +fs.stat(path, statsCallback); +fs.lstat(path, statsCallback); +fs.fstat(fd, statsCallback); +stats = fs.statSync(path); +stats = fs.lstatSync(path); +stats = fs.fstatSync(fd); +fs.link(srcpath, dstpath, errorCallback); +fs.linkSync(srcpath, dstpath); +fs.symlink(srcpath, dstpath, type, errorCallback); +fs.symlinkSync(srcpath, dstpath, type); +fs.readlink(path, (err: Error, linkString: string) => { + +}); +fs.realpath(path, (err: Error, resolvedPath: string) => { + +}); +fs.realpath(path, cache, (err: Error, resolvedPath: string) => { + +}); +str = fs.realpathSync(path, cacheBool); +fs.unlink(path, errorCallback); +fs.unlinkSync(path); +fs.rmdir(path, errorCallback); +fs.rmdirSync(path); +fs.mkdir(path, modeNum, errorCallback); +fs.mkdir(path, modeStr, errorCallback); +fs.mkdirSync(path, modeNum); +fs.mkdirSync(path, modeStr); +fs.readdir(path, (err: Error, files: string[]) => { + +}); +strArr = fs.readdirSync(path); +fs.close(fd, errorCallback); +fs.closeSync(fd); +fs.open(path, flags, modeStr, (err: Error, fd: number) => { + +}); +num = fs.openSync(path, flags, modeStr); +fs.utimes(path, atime, mtime, errorCallback); +fs.utimesSync(path, atime, mtime); +fs.futimes(fd, atime, mtime, errorCallback); +fs.futimesSync(fd, atime, mtime); +fs.fsync(fd, errorCallback); +fs.fsyncSync(fd); +fs.write(fd, buffer, offset, length, position, (err: Error, written: number, buffer: NodeBuffer) => { + +}); +num = fs.writeSync(fd, buffer, offset, length, position); +fs.read(fd, buffer, offset, length, position, (err: Error, bytesRead: number, buffer: NodeBuffer) => { + +}); +num = fs.readSync(fd, buffer, offset, length, position); +fs.readFile(filename, (err: Error, data: NodeBuffer) => { + +}); +fs.readFile(filename, encoding, (err: Error, data: string) => { + +}); +fs.readFile(filename, openOpts, (err: Error, data: string) => { + +}); +fs.readFile(filename, (err: Error, data: NodeBuffer) => { + +}); +buffer = fs.readFileSync(filename); +str = fs.readFileSync(filename, encoding); +str = fs.readFileSync(filename, openOpts); + +fs.writeFile(filename, data, errorCallback); +fs.writeFile(filename, data, encoding, errorCallback); +fs.writeFile(filename, data, openOpts, errorCallback); +fs.writeFileSync(filename, data); +fs.writeFileSync(filename, data, encoding); +fs.writeFileSync(filename, data, openOpts); + +fs.appendFile(filename, data, errorCallback); +fs.appendFile(filename, data, encoding, errorCallback); +fs.appendFile(filename, data, openOpts, errorCallback); +fs.appendFileSync(filename, data); +fs.appendFileSync(filename, data, encoding); +fs.appendFileSync(filename, data, openOpts); + +fs.watchFile(filename, { + curr: stats, + prev: stats +}); +fs.watchFile(filename, { + persistent: bool, + interval: num +}, { + curr: stats, + prev: stats +}); +fs.unwatchFile(filename); +watcher = fs.watch(filename, { persistent: bool }, (event: string, filename: string) => { + +}); +fs.exists(path, (exists: boolean) => { + +}); +bool = fs.existsSync(path); + +readStreeam = fs.createReadStream(path); +readStreeam = fs.createReadStream(path, { + flags: str, + encoding: str, + fd: num, + mode: num +}); +writeStream = fs.createWriteStream(path); +writeStream = fs.createWriteStream(path, { + flags: str, + encoding: str +}); diff --git a/fs-extra-promise-es6/index.d.ts b/fs-extra-promise-es6/index.d.ts new file mode 100644 index 0000000000..85055636dc --- /dev/null +++ b/fs-extra-promise-es6/index.d.ts @@ -0,0 +1,241 @@ +// Type definitions for fs-extra-promise-es6 +// Project: https://github.com/vinsonchuong/fs-extra-promise-es6 +// Definitions by: midknight41 , Jason Swearingen , Joshua DeVinney +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +// Imported from: fs-extra-promise typings (minus Bluebird) + +/// + + +import stream = require("stream"); +import fs = require("fs"); + +export type Stats = fs.Stats + +export interface FSWatcher { + close(): void; +} + +export declare class ReadStream extends stream.Readable { } +export declare class WriteStream extends stream.Writable { } + +//extended methods +export declare function copy(src: string, dest: string, callback?: (err: Error) => void): void; +export declare function copy(src: string, dest: string, filter: (src: string) => boolean, callback?: (err: Error) => void): void; + +export declare function copySync(src: string, dest: string): void; +export declare function copySync(src: string, dest: string, filter: (src: string) => boolean): void; + +export declare function createFile(file: string, callback?: (err: Error) => void): void; +export declare function createFileSync(file: string): void; + +export declare function mkdirs(dir: string, callback?: (err: Error) => void): void; +export declare function mkdirp(dir: string, callback?: (err: Error) => void): void; +export declare function mkdirsSync(dir: string): void; +export declare function mkdirpSync(dir: string): void; + +export declare function outputFile(file: string, data: any, callback?: (err: Error) => void): void; +export declare function outputFileSync(file: string, data: any): void; + +export declare function outputJson(file: string, data: any, callback?: (err: Error) => void): void; +export declare function outputJSON(file: string, data: any, callback?: (err: Error) => void): void; +export declare function outputJsonSync(file: string, data: any): void; +export declare function outputJSONSync(file: string, data: any): void; + +export declare function readJson(file: string, callback?: (err: Error) => void): void; +export declare function readJson(file: string, options?: OpenOptions, callback?: (err: Error) => void): void; +export declare function readJSON(file: string, callback?: (err: Error) => void): void; +export declare function readJSON(file: string, options?: OpenOptions, callback?: (err: Error) => void): void; + +export declare function readJsonSync(file: string, options?: OpenOptions): void; +export declare function readJSONSync(file: string, options?: OpenOptions): void; + +export declare function remove(dir: string, callback?: (err: Error) => void): void; +export declare function removeSync(dir: string): void; +// export function delete(dir: string, callback?: (err: Error) => void): void; +// export function deleteSync(dir: string): void; + +export declare function writeJson(file: string, object: any, callback?: (err: Error) => void): void; +export declare function writeJson(file: string, object: any, options?: OpenOptions, callback?: (err: Error) => void): void; +export declare function writeJSON(file: string, object: any, callback?: (err: Error) => void): void; +export declare function writeJSON(file: string, object: any, options?: OpenOptions, callback?: (err: Error) => void): void; + +export declare function writeJsonSync(file: string, object: any, options?: OpenOptions): void; +export declare function writeJSONSync(file: string, object: any, options?: OpenOptions): void; + +export declare function rename(oldPath: string, newPath: string, callback?: (err: Error) => void): void; +export declare function renameSync(oldPath: string, newPath: string): void; +export declare function truncate(fd: number, len: number, callback?: (err: Error) => void): void; +export declare function truncateSync(fd: number, len: number): void; +export declare function chown(path: string, uid: number, gid: number, callback?: (err: Error) => void): void; +export declare function chownSync(path: string, uid: number, gid: number): void; +export declare function fchown(fd: number, uid: number, gid: number, callback?: (err: Error) => void): void; +export declare function fchownSync(fd: number, uid: number, gid: number): void; +export declare function lchown(path: string, uid: number, gid: number, callback?: (err: Error) => void): void; +export declare function lchownSync(path: string, uid: number, gid: number): void; +export declare function chmod(path: string, mode: number, callback?: (err: Error) => void): void; +export declare function chmod(path: string, mode: string, callback?: (err: Error) => void): void; +export declare function chmodSync(path: string, mode: number): void; +export declare function chmodSync(path: string, mode: string): void; +export declare function fchmod(fd: number, mode: number, callback?: (err: Error) => void): void; +export declare function fchmod(fd: number, mode: string, callback?: (err: Error) => void): void; +export declare function fchmodSync(fd: number, mode: number): void; +export declare function fchmodSync(fd: number, mode: string): void; +export declare function lchmod(path: string, mode: string, callback?: (err: Error) => void): void; +export declare function lchmod(path: string, mode: number, callback?: (err: Error) => void): void; +export declare function lchmodSync(path: string, mode: number): void; +export declare function lchmodSync(path: string, mode: string): void; +export declare function stat(path: string, callback?: (err: Error, stats: Stats) => void): void; +export declare function lstat(path: string, callback?: (err: Error, stats: Stats) => void): void; +export declare function fstat(fd: number, callback?: (err: Error, stats: Stats) => void): void; +export declare function statSync(path: string): Stats; +export declare function lstatSync(path: string): Stats; +export declare function fstatSync(fd: number): Stats; +export declare function link(srcpath: string, dstpath: string, callback?: (err: Error) => void): void; +export declare function linkSync(srcpath: string, dstpath: string): void; +export declare function symlink(srcpath: string, dstpath: string, type?: string, callback?: (err: Error) => void): void; +export declare function symlinkSync(srcpath: string, dstpath: string, type?: string): void; +export declare function readlink(path: string, callback?: (err: Error, linkString: string) => void): void; +export declare function realpath(path: string, callback?: (err: Error, resolvedPath: string) => void): void; +export declare function realpath(path: string, cache: string, callback: (err: Error, resolvedPath: string) => void): void; +export declare function realpathSync(path: string, cache?: boolean): string; +export declare function unlink(path: string, callback?: (err: Error) => void): void; +export declare function unlinkSync(path: string): void; +export declare function rmdir(path: string, callback?: (err: Error) => void): void; +export declare function rmdirSync(path: string): void; +export declare function mkdir(path: string, mode?: number, callback?: (err: Error) => void): void; +export declare function mkdir(path: string, mode?: string, callback?: (err: Error) => void): void; +export declare function mkdirSync(path: string, mode?: number): void; +export declare function mkdirSync(path: string, mode?: string): void; +export declare function readdir(path: string, callback?: (err: Error, files: string[]) => void): void; +export declare function readdirSync(path: string): string[]; +export declare function close(fd: number, callback?: (err: Error) => void): void; +export declare function closeSync(fd: number): void; +export declare function open(path: string, flags: string, mode?: string, callback?: (err: Error, fs: number) => void): void; +export declare function openSync(path: string, flags: string, mode?: string): number; +export declare function utimes(path: string, atime: number, mtime: number, callback?: (err: Error) => void): void; +export declare function utimesSync(path: string, atime: number, mtime: number): void; +export declare function futimes(fd: number, atime: number, mtime: number, callback?: (err: Error) => void): void; +export declare function futimesSync(fd: number, atime: number, mtime: number): void; +export declare function fsync(fd: number, callback?: (err: Error) => void): void; +export declare function fsyncSync(fd: number): void; +export declare function write(fd: number, buffer: NodeBuffer, offset: number, length: number, position: number, callback?: (err: Error, written: number, buffer: NodeBuffer) => void): void; +export declare function writeSync(fd: number, buffer: NodeBuffer, offset: number, length: number, position: number): number; +export declare function read(fd: number, buffer: NodeBuffer, offset: number, length: number, position: number, callback?: (err: Error, bytesRead: number, buffer: NodeBuffer) => void): void; +export declare function readSync(fd: number, buffer: NodeBuffer, offset: number, length: number, position: number): number; +export declare function readFile(filename: string, encoding: string, callback: (err: Error, data: string) => void): void; +export declare function readFile(filename: string, options: OpenOptions, callback: (err: Error, data: string) => void): void; +export declare function readFile(filename: string, callback: (err: Error, data: NodeBuffer) => void): void; +export declare function readFileSync(filename: string): NodeBuffer; +export declare function readFileSync(filename: string, encoding: string): string; +export declare function readFileSync(filename: string, options: OpenOptions): string; +export declare function writeFile(filename: string, data: any, encoding?: string, callback?: (err: Error) => void): void; +export declare function writeFile(filename: string, data: any, options?: OpenOptions, callback?: (err: Error) => void): void; +export declare function writeFileSync(filename: string, data: any, encoding?: string): void; +export declare function writeFileSync(filename: string, data: any, option?: OpenOptions): void; +export declare function appendFile(filename: string, data: any, encoding?: string, callback?: (err: Error) => void): void; +export declare function appendFile(filename: string, data: any, option?: OpenOptions, callback?: (err: Error) => void): void; +export declare function appendFileSync(filename: string, data: any, encoding?: string): void; +export declare function appendFileSync(filename: string, data: any, option?: OpenOptions): void; +export declare function watchFile(filename: string, listener: { curr: Stats; prev: Stats; }): void; +export declare function watchFile(filename: string, options: { persistent?: boolean; interval?: number; }, listener: { curr: Stats; prev: Stats; }): void; +export declare function unwatchFile(filename: string, listener?: Stats): void; +export declare function watch(filename: string, options?: { persistent?: boolean; }, listener?: (event: string, filename: string) => any): FSWatcher; +export declare function exists(path: string, callback?: (exists: boolean) => void): void; +export declare function existsSync(path: string): boolean; +export declare function ensureDir(path: string, cb: (err: Error) => void): void; +export declare function ensureDirSync(path: string): void; + +export interface OpenOptions { + encoding?: string; + flag?: string; +} + +export declare function createReadStream(path: string | Buffer, options?: { + flags?: string; + encoding?: string; + fd?: number; + mode?: number; + autoClose?: boolean; + start?: number; + end?: number; +}): ReadStream; +export declare function createWriteStream(path: string | Buffer, options?: { + flags?: string; + encoding?: string; + fd?: number; + mode?: number; +}): WriteStream; + + + +//promisified versions +export declare function copyAsync(src: string, dest: string): Promise; +export declare function copyAsync(src: string, dest: string, filter: (src: string) => boolean): Promise; + +export declare function createFileAsync(file: string): Promise; + +export declare function mkdirsAsync(dir: string): Promise; +export declare function mkdirpAsync(dir: string): Promise; + +export declare function outputFileAsync(file: string, data: any): Promise; + +export declare function outputJsonAsync(file: string, data: any): Promise; +export declare function outputJSONAsync(file: string, data: any): Promise; + +export declare function readJsonAsync(file: string): Promise; +export declare function readJsonAsync(file: string, options?: OpenOptions): Promise; +export declare function readJSONAsync(file: string): Promise; +export declare function readJSONAsync(file: string, options?: OpenOptions): Promise; + + +export declare function removeAsync(dir: string): Promise; +// export function deleteAsync(dir: string):Promise; + +export declare function writeJsonAsync(file: string, object: any): Promise; +export declare function writeJsonAsync(file: string, object: any, options?: OpenOptions): Promise; +export declare function writeJSONAsync(file: string, object: any): Promise; +export declare function writeJSONAsync(file: string, object: any, options?: OpenOptions): Promise; + +export declare function renameAsync(oldPath: string, newPath: string): Promise; +export declare function truncateAsync(fd: number, len: number): Promise; +export declare function chownAsync(path: string, uid: number, gid: number): Promise; +export declare function fchownAsync(fd: number, uid: number, gid: number): Promise; +export declare function lchownAsync(path: string, uid: number, gid: number): Promise; +export declare function chmodAsync(path: string, mode: number): Promise; +export declare function chmodAsync(path: string, mode: string): Promise; +export declare function fchmodAsync(fd: number, mode: number): Promise; +export declare function fchmodAsync(fd: number, mode: string): Promise; +export declare function lchmodAsync(path: string, mode: string): Promise; +export declare function lchmodAsync(path: string, mode: number): Promise; +export declare function statAsync(path: string): Promise; +export declare function lstatAsync(path: string): Promise; +export declare function fstatAsync(fd: number): Promise; +export declare function linkAsync(srcpath: string, dstpath: string): Promise; +export declare function symlinkAsync(srcpath: string, dstpath: string, type?: string): Promise; +export declare function readlinkAsync(path: string): Promise; +export declare function realpathAsync(path: string): Promise; +export declare function realpathAsync(path: string, cache: string): Promise; +export declare function unlinkAsync(path: string): Promise; +export declare function rmdirAsync(path: string): Promise; +export declare function mkdirAsync(path: string, mode?: number): Promise; +export declare function mkdirAsync(path: string, mode?: string): Promise; +export declare function readdirAsync(path: string): Promise; +export declare function closeAsync(fd: number): Promise; +export declare function openAsync(path: string, flags: string, mode?: string): Promise; +export declare function utimesAsync(path: string, atime: number, mtime: number): Promise; +export declare function futimesAsync(fd: number, atime: number, mtime: number): Promise; +export declare function fsyncAsync(fd: number): Promise; +export declare function writeAsync(fd: number, buffer: NodeBuffer, offset: number, length: number, position: number): Promise<[number, NodeBuffer]>; +export declare function readAsync(fd: number, buffer: NodeBuffer, offset: number, length: number, position: number): Promise<[number, NodeBuffer]>; +export declare function readFileAsync(filename: string, encoding: string): Promise; +export declare function readFileAsync(filename: string, options: OpenOptions): Promise; +export declare function readFileAsync(filename: string): Promise; +export declare function writeFileAsync(filename: string, data: any, encoding?: string): Promise; +export declare function writeFileAsync(filename: string, data: any, options?: OpenOptions): Promise; +export declare function appendFileAsync(filename: string, data: any, encoding?: string): Promise; +export declare function appendFileAsync(filename: string, data: any, option?: OpenOptions): Promise; + +export declare function existsAsync(path: string): Promise; +export declare function ensureDirAsync(path: string): Promise; diff --git a/fs-extra-promise-es6/tsconfig.json b/fs-extra-promise-es6/tsconfig.json new file mode 100644 index 0000000000..a0bda21ebe --- /dev/null +++ b/fs-extra-promise-es6/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es6", + "noImplicitAny": true, + "strictNullChecks": false, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "fs-extra-promise-es6-tests.ts" + ] +} \ No newline at end of file