index.d.ts
1.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
declare namespace cpFile {
interface Options {
/**
Overwrite existing file.
@default true
*/
readonly overwrite?: boolean;
}
interface ProgressData {
/**
Absolute path to source.
*/
src: string;
/**
Absolute path to destination.
*/
dest: string;
/**
File size in bytes.
*/
size: number;
/**
Copied size in bytes.
*/
written: number;
/**
Copied percentage, a value between `0` and `1`.
*/
percent: number;
}
interface ProgressEmitter {
/**
For empty files, the `progress` event is emitted only once.
*/
on(event: 'progress', handler: (data: ProgressData) => void): Promise<void>;
}
}
declare const cpFile: {
/**
Copy a file.
@param source - File you want to copy.
@param destination - Where you want the file copied.
@returns A `Promise` that resolves when the file is copied.
@example
```
import cpFile = require('cp-file');
(async () => {
await cpFile('source/unicorn.png', 'destination/unicorn.png');
console.log('File copied');
})();
```
*/
(source: string, destination: string, options?: cpFile.Options): Promise<void> & cpFile.ProgressEmitter;
/**
Copy a file synchronously.
@param source - File you want to copy.
@param destination - Where you want the file copied.
*/
sync(source: string, destination: string, options?: cpFile.Options): void;
// TODO: Remove this for the next major release
default: typeof cpFile;
};
export = cpFile;