UNPKG

eslint-plugin-intl-mobile

Version:

Intl Mobile ESLint Rules.

49 lines (41 loc) 1.19 kB
// 用于检测使用使用了全角 ¥ 符号 'use strict'; const { get } = require('lodash'); const desc = 'Do not use full width character ¥,please replace half-angle ¥'; const fullWidthYen = '¥'; function isFullWidthYen(value) { if (!value) return false; return (value + '').indexOf(fullWidthYen) > -1; } function getPropertyValue(data) { if (typeof data !== 'object') return []; return Object.keys(data).map(key => get(data[key], 'value.raw') || get(data[key], 'value')); } module.exports = { meta: { type: 'suggestion', docs: { description: desc, category: 'Best Practices', }, }, create: function(context){ return { VariableDeclarator(node) { if (isFullWidthYen(get(node, 'init.value'))) { context.report(node, desc); } getPropertyValue(get(node, 'init.expressions')).forEach(value => { if (isFullWidthYen(value)) { context.report(node, desc); } }); getPropertyValue(get(node, 'init.quasis')).forEach(value => { if (isFullWidthYen(value)) { context.report(node, desc); } }); }, } }, }