New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@textlint-ja/textlint-rule-no-dropping-i

Package Overview
Dependencies
Maintainers
0
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@textlint-ja/textlint-rule-no-dropping-i - npm Package Compare versions

Comparing version 2.0.1 to 3.0.0

29

lib/no-dropping-i.js

@@ -5,13 +5,21 @@ // LICENSE : MIT

var _textlintRuleHelper = require("textlint-rule-helper");
var _kuromojin = require("kuromojin");
function isTargetWord(token) {
return token.pos === "助詞" && token.pos_detail_1 === "接続助詞" && token.basic_form === "て";
function isMasuTargetWord(token) {
return token.pos === "助詞" && token.pos_detail_1 === "接続助詞" && (token.basic_form === "て" || token.basic_form === "で");
}
function isMasuWord(token) {
return token.pos === "助動詞" && token.pos_detail_1 === "*" && token.basic_form === "ます";
}
function isTeruTargetWord(token) {
return token.pos === "動詞" && token.pos_detail_1 === "自立";
}
function isTeruWord(token) {
return token.pos === "動詞" && token.pos_detail_1 === "非自立" && (token.basic_form === "てる" || token.basic_form === "でる");
}
function isTenaiTargetWord(token) {
return token.pos === "動詞" && token.pos_detail_1 === "非自立" && (token.basic_form === "て" || token.basic_form === "で");
}
function isTenaiWord(token) {
return token.pos === "助動詞" && token.conjugated_type === "特殊・ナイ" && token.basic_form === "ない";
}
module.exports = function (context) {

@@ -30,3 +38,2 @@ var helper = new _textlintRuleHelper.RuleHelper(context);

}
var text = getSource(node);

@@ -37,8 +44,9 @@ return (0, _kuromojin.tokenize)(text).then(tokens => {

var prev = tokens[index - 1];
if (!prev || !current) {
return;
}
if (isTargetWord(prev) && isMasuWord(current)) {
var isMasuPattern = isMasuTargetWord(prev) && isMasuWord(current);
var isTeruPattern = isTeruTargetWord(prev) && isTeruWord(current);
var isTenaiPattern = isTenaiTargetWord(prev) && isTenaiWord(current);
if (isMasuPattern || isTeruPattern || isTenaiPattern) {
report(node, new RuleError("い抜き言葉を使用しています。", {

@@ -51,5 +59,4 @@ index: current.word_position - 1

}
};
};
//# sourceMappingURL=no-dropping-i.js.map

@@ -8,3 +8,3 @@ {

"kuromojin": "^3.0.0",
"textlint-rule-helper": "^2.1.1"
"textlint-rule-helper": "^2.3.1"
},

@@ -62,3 +62,3 @@ "description": "い抜き言葉を検出するtextlint rule",

},
"version": "2.0.1"
"version": "3.0.0"
}

@@ -5,4 +5,8 @@ # textlint-rule-no-dropping-i [![Actions Status: test](https://github.com/textlint-ja/textlint-rule-no-dropping-i/workflows/test/badge.svg)](https://github.com/textlint-ja/textlint-rule-no-dropping-i/actions?query=workflow%3A"test")

- ◯ 開発しています。
- ✗ 開発してます。
| ○ | × |
| --- | --- |
| 開発しています。 | 開発してます。 |
| 見学している。 | 見学してる。 |
| 勉強していない。 | 勉強してない。 |
| 遊んでいる。 | 遊んでる。 |

@@ -9,0 +13,0 @@ ## Installation

@@ -6,4 +6,4 @@ // LICENSE : MIT

function isTargetWord(token) {
return token.pos === "助詞" && token.pos_detail_1 === "接続助詞" && token.basic_form === "て";
function isMasuTargetWord(token) {
return token.pos === "助詞" && token.pos_detail_1 === "接続助詞" && (token.basic_form === "て" || token.basic_form === "で");
}

@@ -15,2 +15,18 @@

function isTeruTargetWord(token) {
return token.pos === "動詞" && token.pos_detail_1 === "自立";
}
function isTeruWord(token) {
return token.pos === "動詞" && token.pos_detail_1 === "非自立" && (token.basic_form === "てる" || token.basic_form === "でる");
}
function isTenaiTargetWord(token) {
return token.pos === "動詞" && token.pos_detail_1 === "非自立" && (token.basic_form === "て" || token.basic_form === "で");
}
function isTenaiWord(token) {
return token.pos === "助動詞" && token.conjugated_type === "特殊・ナイ" && token.basic_form === "ない";
}
module.exports = function(context) {

@@ -29,6 +45,12 @@ const helper = new RuleHelper(context);

const prev = tokens[index - 1];
if (!prev || !current) {
return;
}
if (isTargetWord(prev) && isMasuWord(current)) {
const isMasuPattern = isMasuTargetWord(prev) && isMasuWord(current);
const isTeruPattern = isTeruTargetWord(prev) && isTeruWord(current);
const isTenaiPattern = isTenaiTargetWord(prev) && isTenaiWord(current);
if (isMasuPattern || isTeruPattern || isTenaiPattern) {
report(

@@ -35,0 +57,0 @@ node,

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc