UNPKG

textlint-rule-no-hankaku-kana

Version:
46 lines (45 loc) 1.31 kB
// LICENSE : MIT "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.report = exports.default = void 0; var _textlintRuleHelper = require("textlint-rule-helper"); var HankakuRegExp = /([\uff61-\uff9f]+)/g; var report = function reporter(context) { var { Syntax, RuleError, fixer, report, locator, getSource } = context; var helper = new _textlintRuleHelper.RuleHelper(context); return { [Syntax.Str](node) { if (!helper.isPlainStrNode(node)) { return; } var nodeText = getSource(node); for (var match of nodeText.matchAll(HankakuRegExp)) { var _match$index; var text = match[0]; var index = (_match$index = match.index) !== null && _match$index !== void 0 ? _match$index : 0; var range = [index, index + text.length]; var ruleError = new RuleError("Disallow to use \u534A\u89D2\u30AB\u30BF\u30AB\u30CA: \"".concat(text, "\""), { padding: locator.range(range), fix: fixer.replaceTextRange(range, text.normalize('NFKC')) }); report(node, ruleError); } } }; }; exports.report = report; var _default = { linter: report, fixer: report }; exports.default = _default; //# sourceMappingURL=textlint-rule-no-hankaku-kana.js.map