UNPKG

eslint-plugin-intl-mobile

Version:

Intl Mobile ESLint Rules.

36 lines (30 loc) 768 B
// 用于检测 JSON.parse 没有用 try catch 'use strict'; const { get } = require('lodash'); const desc = 'JSON.parse need try catch'; module.exports = { meta: { type: 'suggestion', docs: { description: desc, category: 'Best Practices', }, }, create: function(context){ return { CallExpression(node) { if (get(node, 'callee.object.name') === 'JSON' && get(node, 'callee.property.name') === 'parse') { let p = node.parent; let hasTryFlg = false; while (p && !hasTryFlg) { if (p.type === 'TryStatement') hasTryFlg = true; p = p.parent; } if (!hasTryFlg) { context.report(node, desc); } } }, } }, }