Skip to content

Commit 686d0dd

Browse files
committed
poggers
1 parent 66a5f62 commit 686d0dd

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

lib/transform.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import alwaysFk from './transforms/alwaysFk.js';
2+
import poggers from './transforms/poggers.js';
23
import { parseScript } from 'meriyah';
34
import { walk } from 'estree-walker';
45
import { generate } from 'astring';
@@ -14,6 +15,7 @@ export default function transform(source) {
1415
walk(ast, {
1516
enter(node) {
1617
alwaysFk(node, this);
18+
poggers(node, this);
1719
}
1820
});
1921
console.timeEnd('walking');

lib/transforms/poggers.js

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
export default function poggers(node, ctx) {
2+
if (node.type !== 'ConditionalExpression') return;
3+
4+
if (node.test.type === 'BinaryExpression') {
5+
if (node.consequent.type !== 'Literal') return;
6+
if (node.consequent.value !== 'MAJOR') return;
7+
8+
ctx.replace({
9+
type: 'ConditionalExpression',
10+
test: {
11+
type: 'BinaryExpression',
12+
operator: '>=',
13+
left: node.test.left,
14+
right: {
15+
type: 'Literal',
16+
value: 1.0,
17+
}
18+
},
19+
consequent: {
20+
type: 'Literal',
21+
value: 'POGGERS',
22+
},
23+
alternate: node,
24+
});
25+
ctx.skip();
26+
}
27+
}

0 commit comments

Comments
 (0)