summaryrefslogtreecommitdiff
path: root/node_modules/tar/lib/warn-mixin.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/tar/lib/warn-mixin.js')
-rw-r--r--node_modules/tar/lib/warn-mixin.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/node_modules/tar/lib/warn-mixin.js b/node_modules/tar/lib/warn-mixin.js
new file mode 100644
index 0000000..a940639
--- /dev/null
+++ b/node_modules/tar/lib/warn-mixin.js
@@ -0,0 +1,24 @@
+'use strict'
+module.exports = Base => class extends Base {
+ warn (code, message, data = {}) {
+ if (this.file) {
+ data.file = this.file
+ }
+ if (this.cwd) {
+ data.cwd = this.cwd
+ }
+ data.code = message instanceof Error && message.code || code
+ data.tarCode = code
+ if (!this.strict && data.recoverable !== false) {
+ if (message instanceof Error) {
+ data = Object.assign(message, data)
+ message = message.message
+ }
+ this.emit('warn', data.tarCode, message, data)
+ } else if (message instanceof Error) {
+ this.emit('error', Object.assign(message, data))
+ } else {
+ this.emit('error', Object.assign(new Error(`${code}: ${message}`), data))
+ }
+ }
+}