我们正在使用的当前平台刚刚从基于ECMAScript的专有语言转移到Javascript。
在专有语言中有Arraylist类,我们可以使用除原生JS数组之外的其他类。现在我们已经完全转移到本机JS,我想在有人试图使用Arraylist时生成ESLINT警告。
我读到了"无限制语法" Eslint中的规则并尝试在我的代码
中为下面的调用创建规则require( 'dw/util/ArrayList' )
我提出了以下语法,但这不起作用。我甚至尝试过arguments[0].value
而不是arguments.value
"no-restricted-syntax": [
"warn",
{
"selector": "CallExpression[callee.name='require'][arguments.value='dw/util/ArrayList']",
"message": "Please use native JS Array"
}
]
我使用ESLint Parser Demo检查语法树,如下所示
{
"type": "Program",
"start": 0,
"end": 30,
"body": [
{
"type": "ExpressionStatement",
"start": 0,
"end": 30,
"expression": {
"type": "CallExpression",
"start": 0,
"end": 30,
"callee": {
"type": "Identifier",
"start": 0,
"end": 7,
"name": "require"
},
"arguments": [
{
"type": "Literal",
"start": 9,
"end": 28,
"value": "dw/util/ArrayList",
"raw": "'dw/util/ArrayList'"
}
]
}
}
],
"sourceType": "module"
}
有人可以用正确的语法帮助我。
答案 0 :(得分:0)
正确的语法应为:
[arguments.0.value='dw/util/ArrayList']