mirror of
https://github.com/bendtherules/completion-viz.git
synced 2026-08-19 00:31:34 +00:00
Clone engine262 in /engine262
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
'use strict';
|
||||
|
||||
let features;
|
||||
try {
|
||||
features = require('../..').FEATURES.map((f) => f.flag);
|
||||
} catch {}
|
||||
|
||||
function isFeatureCall(node) {
|
||||
return node.callee.type === 'MemberExpression'
|
||||
&& node.callee.computed === false
|
||||
&& node.callee.property.name === 'feature';
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
create(context) {
|
||||
return {
|
||||
CallExpression(node) {
|
||||
if (!isFeatureCall(node)) {
|
||||
return;
|
||||
}
|
||||
if (node.arguments.length !== 1) {
|
||||
context.report(node, 'Invalid arguments passed to feature()');
|
||||
return;
|
||||
}
|
||||
const featureName = node.arguments[0].value;
|
||||
if (!features.includes(featureName)) {
|
||||
context.report(node.arguments[0], `'${featureName}' is not a valid feature. Check src/engine.mjs.`);
|
||||
}
|
||||
},
|
||||
};
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user