textlint-rule-no-double-negative-ja
Version:
66 lines (60 loc) • 1.83 kB
JavaScript
// LICENSE : MIT
;
/*
(d)「~ないことは / もない」
~ない(否定助動詞 / 否定形容詞の連体形) + 形式名詞「こと」+ とりたて助詞「は / も」+ 形容詞「ない」
*/
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = _default;
var _matchTokenStream = _interopRequireDefault(require("./../matchTokenStream"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _default(context) {
var {
RuleError
} = context;
var matchPatternないことはない = (0, _matchTokenStream.default)([{
"basic_form": ["ない", "無い"]
}, {
"reading": "コト",
// 漢字に対応するため
"pos": "名詞"
}, {
"surface_form": "は",
"pos": "助詞"
}, {
"basic_form": ["ない", "無い"] //"pos": ["形容詞", "助動詞"]
}]);
var matchPatternないこともない = (0, _matchTokenStream.default)([{
"basic_form": ["ない", "無い"]
}, {
"reading": "コト",
// 漢字に対応するため
"pos": "名詞"
}, {
"surface_form": "も",
"pos": "助詞"
}, [// ないこともないでしょう。
{
"basic_form": ["ない", "無い"],
"conjugated_type": ["特殊・ナイ"]
}, // ないこともない。
{
"basic_form": ["ない", "無い"],
"pos": "形容詞"
}]]);
return token => {
if (matchPatternないことはない(token)) {
return new RuleError("二重否定: 〜ないことはない", {
index: token.word_position - 1
});
}
if (matchPatternないこともない(token)) {
return new RuleError("二重否定: 〜ないこともない", {
index: token.word_position - 1
});
}
};
}
//# sourceMappingURL=naikotoha-nai.js.map