diff options
Diffstat (limited to 'node_modules/webpack-chain/src/Orderable.js')
| -rw-r--r-- | node_modules/webpack-chain/src/Orderable.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/node_modules/webpack-chain/src/Orderable.js b/node_modules/webpack-chain/src/Orderable.js new file mode 100644 index 00000000..abb8a079 --- /dev/null +++ b/node_modules/webpack-chain/src/Orderable.js @@ -0,0 +1,40 @@ +module.exports = Class => + class extends Class { + before(name) { + if (this.__after) { + throw new Error( + `Unable to set .before(${JSON.stringify( + name + )}) with existing value for .after()` + ); + } + + this.__before = name; + return this; + } + + after(name) { + if (this.__before) { + throw new Error( + `Unable to set .after(${JSON.stringify( + name + )}) with existing value for .before()` + ); + } + + this.__after = name; + return this; + } + + merge(obj, omit = []) { + if (obj.before) { + this.before(obj.before); + } + + if (obj.after) { + this.after(obj.after); + } + + return super.merge(obj, [...omit, 'before', 'after']); + } + }; |
