diff --git a/types/write-file-atomic/index.d.ts b/types/write-file-atomic/index.d.ts index bcd5ede02c..8981acd483 100644 --- a/types/write-file-atomic/index.d.ts +++ b/types/write-file-atomic/index.d.ts @@ -2,25 +2,29 @@ // Project: https://github.com/npm/write-file-atomic // Definitions by: BendingBender // Jay Rylan +// Piotr Błażejewicz // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /// export = writeFile; -declare function writeFile(filename: string, data: string | Buffer, options: writeFile.Options, callback: (error?: Error) => void): void; +declare function writeFile(filename: string, data: string | Buffer, options: writeFile.Options | BufferEncoding, callback: (error?: Error) => void): void; declare function writeFile(filename: string, data: string | Buffer, callback: (error?: Error) => void): void; -declare function writeFile(filename: string, data: string | Buffer, options?: writeFile.Options): Promise; +declare function writeFile(filename: string, data: string | Buffer, options?: writeFile.Options | BufferEncoding): Promise; declare namespace writeFile { - function sync(filename: string, data: string | Buffer, options?: Options): void; + function sync(filename: string, data: string | Buffer, options?: Options | BufferEncoding): void; interface Options { chown?: { uid: number; gid: number; }; - encoding?: string; + /** + * @default 'utf8' + */ + encoding?: BufferEncoding; fsync?: boolean; mode?: number; } diff --git a/types/write-file-atomic/write-file-atomic-tests.ts b/types/write-file-atomic/write-file-atomic-tests.ts index 4defd48f7b..28e08d871e 100644 --- a/types/write-file-atomic/write-file-atomic-tests.ts +++ b/types/write-file-atomic/write-file-atomic-tests.ts @@ -3,16 +3,17 @@ import writeFileAtomic = require('write-file-atomic'); writeFileAtomic('message.txt', 'Hello Node', err => {}); writeFileAtomic('message.txt', 'Hello Node', {chown: {uid: 100, gid: 50}}, err => {}); -writeFileAtomic('message.txt', 'Hello Node', {encoding: ''}, err => {}); writeFileAtomic('message.txt', 'Hello Node', {fsync: false}, err => {}); writeFileAtomic('message.txt', 'Hello Node', {mode: 123}, err => {}); +writeFileAtomic('message.txt', 'Hello Node', 'utf8', err => {}); writeFileAtomic('message.txt', 'Hello Node').then(() => {}).catch(() => {}); writeFileAtomic('message.txt', 'Hello Node', {mode: 123}).then(() => {}).catch(() => {}); +writeFileAtomic('message.txt', 'Hello Node', 'utf8').then(() => {}).catch(() => {}); writeFileAtomic.sync('message.txt', 'Hello Node'); writeFileAtomic.sync('message.txt', 'Hello Node', {chown: {uid: 100, gid: 50}}); -writeFileAtomic.sync('message.txt', 'Hello Node', {encoding: ''}); writeFileAtomic.sync('message.txt', 'Hello Node', {fsync: false}); writeFileAtomic.sync('message.txt', 'Hello Node', {mode: 123}); +writeFileAtomic.sync('message.txt', 'Hello Node', 'utf8');