liudong
2023-05-29 340f156319b863525e50e900c58e59b86ecb3d5e
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;