diff options
| author | ruki <waruqi@gmail.com> | 2018-11-08 00:38:48 +0800 |
|---|---|---|
| committer | ruki <waruqi@gmail.com> | 2018-11-07 21:53:09 +0800 |
| commit | 26105034da4fcce7ac883c899d781f016559310d (patch) | |
| tree | c459a5dc4e3aa0972d9919033ece511ce76dd129 /node_modules/webpack-chain/src/Orderable.js | |
| parent | 2c77f00f1a7ecb6c8192f9c16d3b2001b254a107 (diff) | |
| download | xmake-docs-26105034da4fcce7ac883c899d781f016559310d.tar.gz xmake-docs-26105034da4fcce7ac883c899d781f016559310d.zip | |
switch to vuepress
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']); + } + }; |
