mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-04-01 12:42:58 +08:00
Add typings for move-concurrently. (#18813)
* Add typings for move-concurrently. * Get Promise type from options if passed.
This commit is contained in:
committed by
Mohamed Hegazy
parent
da150d0187
commit
65f34f72c6
43
types/move-concurrently/index.d.ts
vendored
Normal file
43
types/move-concurrently/index.d.ts
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
// Type definitions for move-concurrently 1.0
|
||||
// Project: https://www.npmjs.com/package/move-concurrently
|
||||
// Definitions by: Melvin Groenhoff <https://github.com/mgroenhoff>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
// TypeScript Version: 2.4
|
||||
|
||||
/**
|
||||
* Recursively moves from to to and resolves its promise when finished. If to already exists then the promise will be rejected with an EEXIST error.
|
||||
*/
|
||||
declare function move<T extends PromiseLike<void> = Promise<void>>(from: string, to: string, opts?: move.Options<T>): T;
|
||||
|
||||
declare namespace move {
|
||||
interface Options<T extends PromiseLike<void> = Promise<void>> {
|
||||
/**
|
||||
* (Default: 1) The maximum number of concurrent copies to do at once.
|
||||
*/
|
||||
maxConcurrency?: number;
|
||||
/**
|
||||
* (Default: process.platform === 'win32') If true enables Windows symlink semantics.
|
||||
* This requires an extra stat to determine if the destination of a symlink is a file or directory.
|
||||
* If symlinking a directory fails then we'll try making a junction instead.
|
||||
*/
|
||||
isWindows?: boolean;
|
||||
/**
|
||||
* (Default: global.Promise) The promise implementation to use, defaults to Node's.
|
||||
*/
|
||||
Promise?: new (...args: any[]) => T;
|
||||
/**
|
||||
* (Default: require('fs')) The filesystem module to use. Can be used to use graceful-fs or to inject a mock.
|
||||
*/
|
||||
fs?: any;
|
||||
/**
|
||||
* (Default: require('fs-write-stream-atomic')) The implementation of writeStreamAtomic to use. Used to inject a mock.
|
||||
*/
|
||||
writeStreamAtomic?: any;
|
||||
/**
|
||||
* (Default: process.getuid) A function that returns the current UID. Used to inject a mock.
|
||||
*/
|
||||
getuid?: any;
|
||||
}
|
||||
}
|
||||
|
||||
export = move;
|
||||
20
types/move-concurrently/move-concurrently-tests.ts
Normal file
20
types/move-concurrently/move-concurrently-tests.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import * as move from 'move-concurrently';
|
||||
|
||||
move('/path/to/thing', '/new/path/thing').then(() => {
|
||||
// thing is now moved!
|
||||
}).catch((err: any) => {
|
||||
// oh no!
|
||||
});
|
||||
|
||||
import * as Bluebird from 'bluebird';
|
||||
|
||||
const promise = move('/path/to/thing', '/new/path/thing', { Promise: Bluebird })
|
||||
.then(() => {
|
||||
// thing is now moved!
|
||||
})
|
||||
.error((err: any) => {
|
||||
// this is a Bluebird promise!
|
||||
})
|
||||
.catch((err: any) => {
|
||||
// oh no!
|
||||
});
|
||||
22
types/move-concurrently/tsconfig.json
Normal file
22
types/move-concurrently/tsconfig.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"lib": [
|
||||
"es6"
|
||||
],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"move-concurrently-tests.ts"
|
||||
]
|
||||
}
|
||||
1
types/move-concurrently/tslint.json
Normal file
1
types/move-concurrently/tslint.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "extends": "dtslint/dt.json" }
|
||||
Reference in New Issue
Block a user