| 15 | }); |
| 16 | |
| 17 | function getErrorFactory(code) { |
| 18 | const { |
| 19 | ERR_FS_CP_DIR_TO_NON_DIR, |
| 20 | } = require('internal/errors').codes; |
| 21 | |
| 22 | switch (code) { |
| 23 | case 'built-in': |
| 24 | return (n) => new Error(); |
| 25 | case 'ERR_FS_CP_DIR_TO_NON_DIR': |
| 26 | return (n) => new ERR_FS_CP_DIR_TO_NON_DIR({ |
| 27 | message: 'cannot overwrite directory', |
| 28 | path: 'dest', |
| 29 | syscall: 'cp', |
| 30 | errno: 21, |
| 31 | code: 'EISDIR', |
| 32 | }); |
| 33 | default: |
| 34 | throw new Error(`${code} not supported`); |
| 35 | } |
| 36 | } |
| 37 | |
| 38 | function main({ n, code, stackTraceLimit }) { |
| 39 | const getError = getErrorFactory(code); |