| |
| "use strict"; |
| |
| class MemoryFileSystemError extends Error { |
| constructor(err, path, operation) { |
| super(err, path); |
| |
| // Set `name` and `message` before call `Error.captureStackTrace` \ |
| // so that we will obtain the correct 1st line of stack, like: |
| // [Error]: [Message] |
| this.name = this.constructor.name; |
| var message = [`${err.code}:`, `${err.description},`]; |
| // Add operation name and path into message, similar to node `fs` style. |
| if(operation) { |
| message.push(operation); |
| } |
| message.push(`\'${path}\'`); |
| this.message = message.join(' '); |
| |
| this.code = err.code; |
| this.errno = err.errno; |
| this.path = path; |
| this.operation = operation; |
| |
| if(Error.captureStackTrace) { |
| Error.captureStackTrace(this, this.constructor); |
| } |
| } |
| } |
| |
| module.exports = MemoryFileSystemError; |