0

我正在开发一个自定义编辑器,它使用 Monaco 编辑器来接受用户片段(在 JS 语言中预定义),并且我正在使用 JSHint 在将其提交到后端之前评估它们的有效性。

根据我的应用程序,数据类型可以接受一定数量的自定义函数。让我们举一个 String 的例子来更清楚地说明我的情况。

我已经使用以下脚本初始化了 JSHint:

String.prototype.myFunc = param => {};
String.prototype.myAnotherFunc = paramTwo => {};

所以我的程序中所有字符串的两个可接受的函数是myFuncmyAnotherFunc

但是,如果用户输入/调用任何其他函数,如

"testString".invalidFunc();

我希望它像浏览器控制台那样抛出错误。

在此处输入图像描述

我也检查了jsHintData变量内部的“错误”数组。有人可以帮我理解我哪里出错了吗?

如果有帮助,这是我的 JSHint 配置:

    const script = [
    'String.prototype.myFunc = param => {};',
'String.prototype.myAnotherFunc = paramTwo => {};',
'"testString".invalidFunc();'
  ];

  try {
    JSHINT(script, { maxerr: Infinity, asi: true, latedef: true });
    const jsHintData = JSHINT.data();
   } catch (error) {
    return error;
  }
4

0 回答 0