1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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']);
| }
| };
|
|