Skip to content

Commit db9b86c

Browse files
committed
refactor(deps): upgrade sentence-splitter
1 parent ec2a851 commit db9b86c

File tree

3 files changed

+28
-19
lines changed

3 files changed

+28
-19
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
},
3838
"dependencies": {
3939
"kuromojin": "^1.2.1",
40-
"sentence-splitter": "^2.2.0",
40+
"sentence-splitter": "^3.0.11",
4141
"textlint-rule-helper": "^2.1.1",
4242
"textlint-util-to-string": "^2.1.1"
4343
}

src/no-doubled-joshi.js

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"use strict";
33
import {RuleHelper} from "textlint-rule-helper";
44
import {getTokenizer} from "kuromojin";
5-
import {split as splitSentences, Syntax as SentenceSyntax} from "sentence-splitter";
5+
import {splitAST as splitSentences, Syntax as SentenceSyntax} from "sentence-splitter";
66
import StringSource from "textlint-util-to-string";
77
import {
88
is助詞Token, is読点Token,
@@ -80,17 +80,16 @@ module.exports = function (context, options = {}) {
8080
if (helper.isChildNode(node, [Syntax.Link, Syntax.Image, Syntax.BlockQuote, Syntax.Emphasis])) {
8181
return;
8282
}
83-
const source = new StringSource(node);
84-
const text = source.toString();
8583
const isSentenceNode = node => {
8684
return node.type === SentenceSyntax.Sentence;
8785
};
88-
const sentences = splitSentences(text, {
89-
separatorChars: separatorChars
90-
}).filter(isSentenceNode);
86+
const txtParentNode = splitSentences(node);
87+
const sentences = txtParentNode.children.filter(isSentenceNode);
9188
return getTokenizer().then(tokenizer => {
9289
const checkSentence = (sentence) => {
93-
const tokens = tokenizer.tokenizeForSentence(sentence.raw);
90+
const sentenceSource = new StringSource(sentence);
91+
const text = sentenceSource.toString();
92+
const tokens = tokenizer.tokenizeForSentence(text);
9493
// 助詞 + 助詞は 一つの助詞として扱う
9594
// https://github.com/textlint-ja/textlint-rule-no-doubled-joshi/issues/15
9695
// 連語(助詞)の対応
@@ -140,10 +139,8 @@ module.exports = function (context, options = {}) {
140139
const differenceIndex = otherPosition - startPosition;
141140
if (differenceIndex <= minInterval) {
142141
// padding positionを計算する
143-
const originalIndex = source.originalIndexFromIndex(
144-
sentence.range[0] + (current.word_position - 1)
145-
);
146-
report(node, new RuleError(`一文に二回以上利用されている助詞 "${joshiName}" がみつかりました。`, {
142+
const originalIndex = sentenceSource.originalIndexFromIndex(current.word_position - 1);
143+
report(sentence, new RuleError(`一文に二回以上利用されている助詞 "${joshiName}" がみつかりました。`, {
147144
index: originalIndex
148145
}));
149146
}

yarn.lock

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -684,7 +684,7 @@
684684
lodash "^4.17.11"
685685
to-fast-properties "^2.0.0"
686686

687-
"@textlint/ast-node-types@^4.2.1", "@textlint/ast-node-types@^4.2.2":
687+
"@textlint/ast-node-types@^4.0.2", "@textlint/ast-node-types@^4.2.1", "@textlint/ast-node-types@^4.2.2":
688688
version "4.2.2"
689689
resolved "https://registry.yarnpkg.com/@textlint/ast-node-types/-/ast-node-types-4.2.2.tgz#5042d0b3b16f18b9f2d16b96e6ee5356e6f3d37d"
690690
integrity sha512-5VHykhxgUat7dvRWGw52Tk55SWjuZDpDO7PKDhfcLTFrD1cjbTtFFnWeJc0BfoqB2AUjfHXRoMdnqbFRGmnPVQ==
@@ -1310,7 +1310,7 @@ deep-is@~0.1.3:
13101310
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
13111311
integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
13121312

1313-
define-properties@^1.1.2:
1313+
define-properties@^1.1.2, define-properties@^1.1.3:
13141314
version "1.1.3"
13151315
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
13161316
integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
@@ -1381,7 +1381,7 @@ error-ex@^1.2.0, error-ex@^1.3.1:
13811381
dependencies:
13821382
is-arrayish "^0.2.1"
13831383

1384-
es-abstract@^1.4.3:
1384+
es-abstract@^1.12.0, es-abstract@^1.4.3:
13851385
version "1.13.0"
13861386
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9"
13871387
integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==
@@ -2499,6 +2499,16 @@ object.pick@^1.3.0:
24992499
dependencies:
25002500
isobject "^3.0.1"
25012501

2502+
object.values@^1.0.4:
2503+
version "1.1.0"
2504+
resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9"
2505+
integrity sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==
2506+
dependencies:
2507+
define-properties "^1.1.3"
2508+
es-abstract "^1.12.0"
2509+
function-bind "^1.1.1"
2510+
has "^1.0.3"
2511+
25022512
once@^1.3.0:
25032513
version "1.4.0"
25042514
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
@@ -3006,12 +3016,14 @@ semver@^6.1.1:
30063016
resolved "https://registry.yarnpkg.com/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db"
30073017
integrity sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==
30083018

3009-
sentence-splitter@^2.2.0:
3010-
version "2.3.2"
3011-
resolved "https://registry.yarnpkg.com/sentence-splitter/-/sentence-splitter-2.3.2.tgz#5ad33cd0e6ae171d58c88f6bfef16a9ed04f3a79"
3012-
integrity sha512-QnpHNykm4nI4T6mT+NoVayh9Ixl5DohYCSVqMgPJsO2WejOcqaYTh4HQOkmzaDzXH3NO5pif4z/hpo2NGtgNlg==
3019+
sentence-splitter@^3.0.11:
3020+
version "3.0.11"
3021+
resolved "https://registry.yarnpkg.com/sentence-splitter/-/sentence-splitter-3.0.11.tgz#82d98f0fd7a392e0e6c49b0730ae7b880bfde0b2"
3022+
integrity sha512-8k/74ErjpdvgBVLQ7kI7jbbaqNdgMXVqMF8gWlJan25xfm1mg8cYmHQgMb+zx8xyocm1Dq46af4TpmnKWHr/yA==
30133023
dependencies:
3024+
"@textlint/ast-node-types" "^4.0.2"
30143025
concat-stream "^1.5.2"
3026+
object.values "^1.0.4"
30153027
structured-source "^3.0.2"
30163028

30173029
set-blocking@~2.0.0:

0 commit comments

Comments
 (0)