Skip to content

Commit 4296479

Browse files
committed
v3.1.0
### 変更 - `MojiJS.compareToForDefault`, `MojiJS.compareToForNatural` ともに入力を `string` から `any` へ変更 - `MojiJS.compareToForNatural` の入力値に対して `toString` で文字列化して比較するように改善 - 例では、`MojiJS.COMPARE_DEFAULT`, `MojiJS.COMPARE_NATURAL` と紹介していましたが、正しくは、`MojiJS.compareToForDefault`, `MojiJS.compareToForNatural` であったのを修正
1 parent 16125da commit 4296479

20 files changed

Lines changed: 171 additions & 132 deletions

HISTORY.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
# History
22

3+
## v3.1.0
4+
5+
### 変更
6+
7+
- `MojiJS.compareToForDefault`, `MojiJS.compareToForNatural` ともに入力を `string` から `any` へ変更
8+
- `MojiJS.compareToForNatural` の入力値に対して `toString` で文字列化して比較するように改善
9+
- 例では、`MojiJS.COMPARE_DEFAULT`, `MojiJS.COMPARE_NATURAL` と紹介していましたが、正しくは、`MojiJS.compareToForDefault`, `MojiJS.compareToForNatural` であったのを修正
10+
11+
312
## v3.0.5
413

514
### 変更

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ console.log("面区点:" + data3.encode.menkuten.text + ", 漢字水準:" +
6464
```javascript
6565
const MojiJS = require("mojijs");
6666

67-
console.log(["", "02", "", "", "", "1"].sort(MojiJS.COMPARE_NATURAL));
67+
console.log(["", "02", "", "", "", "1"].sort(MojiJS.compareToForNatural));
6868
-> [ '1', '02', '', '', '', '' ]
6969
```
7070

build/CommonJS/index.js

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4592,8 +4592,9 @@ class ComparatorTool {
45924592

45934593
/**
45944594
* 2つの文字列を比較する
4595-
* @param {String} a - 比較元
4596-
* @param {String} b - 比較先
4595+
*
4596+
* @param {any} a - 比較元
4597+
* @param {any} b - 比較先
45974598
* @returns {number} Compare結果
45984599
*/
45994600
static compareToForDefault(a, b) {
@@ -4608,19 +4609,19 @@ class ComparatorTool {
46084609

46094610
/**
46104611
* 2つの文字列を自然順に比較を行う(自然順ソート(Natural Sort)用)
4611-
* @param {String} a - 比較元
4612-
* @param {String} b - 比較先
4612+
* - 入力引数は文字列化して比較します
4613+
*
4614+
* @param {any} a - 比較元
4615+
* @param {any} b - 比較先
46134616
* @returns {number} Compare結果
46144617
*/
46154618
static compareToForNatural(a, b) {
4616-
if((typeof a === typeof b) && (typeof a === "string")) {
4617-
const a_str = Unicode.toUTF16Array(ComparatorTool.toNormalizeString(a));
4618-
const b_str = Unicode.toUTF16Array(ComparatorTool.toNormalizeString(b));
4619-
return ComparatorTool.compareText(a_str, b_str);
4620-
}
4621-
else {
4622-
return ComparatorTool.compareToForDefault(a, b);
4619+
if((a.toString === undefined) || (b.toString === undefined)) {
4620+
return 0;
46234621
}
4622+
const a_str = Unicode.toUTF16Array(ComparatorTool.toNormalizeString(a.toString()));
4623+
const b_str = Unicode.toUTF16Array(ComparatorTool.toNormalizeString(b.toString()));
4624+
return ComparatorTool.compareText(a_str, b_str);
46244625
}
46254626

46264627
}
@@ -4634,13 +4635,15 @@ const StringComparator = {
46344635

46354636
/**
46364637
* 2つの文字列を比較する関数
4637-
* @type {function(string, string): number}
4638+
* @type {function(any, any): number}
46384639
*/
46394640
DEFAULT : ComparatorTool.compareToForDefault,
46404641

46414642
/**
46424643
* 2つの文字列を自然順ソートで比較する関数
4643-
* @type {function(string, string): number}
4644+
* - 入力引数は文字列化して比較します
4645+
*
4646+
* @type {function(any, any): number}
46444647
*/
46454648
NATURAL : ComparatorTool.compareToForNatural
46464649

@@ -5052,8 +5055,9 @@ class MojiJS {
50525055
/**
50535056
* 2つの文字列を比較する関数
50545057
* - sortの引数で利用できます
5055-
* @param {String} a - 比較元
5056-
* @param {String} b - 比較先
5058+
*
5059+
* @param {any} a - 比較元
5060+
* @param {any} b - 比較先
50575061
* @returns {number} Compare結果
50585062
*/
50595063
static compareToForDefault(a, b) {
@@ -5063,8 +5067,10 @@ class MojiJS {
50635067
/**
50645068
* 2つの文字列を自然順ソートで比較する関数
50655069
* - sortの引数で利用できます
5066-
* @param {String} a - 比較元
5067-
* @param {String} b - 比較先
5070+
* - 入力引数は文字列化して比較します
5071+
*
5072+
* @param {any} a - 比較元
5073+
* @param {any} b - 比較先
50685074
* @returns {number} Compare結果
50695075
*/
50705076
static compareToForNatural(a, b) {

build/esm/index.js

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4592,8 +4592,9 @@ class ComparatorTool {
45924592

45934593
/**
45944594
* 2つの文字列を比較する
4595-
* @param {String} a - 比較元
4596-
* @param {String} b - 比較先
4595+
*
4596+
* @param {any} a - 比較元
4597+
* @param {any} b - 比較先
45974598
* @returns {number} Compare結果
45984599
*/
45994600
static compareToForDefault(a, b) {
@@ -4608,19 +4609,19 @@ class ComparatorTool {
46084609

46094610
/**
46104611
* 2つの文字列を自然順に比較を行う(自然順ソート(Natural Sort)用)
4611-
* @param {String} a - 比較元
4612-
* @param {String} b - 比較先
4612+
* - 入力引数は文字列化して比較します
4613+
*
4614+
* @param {any} a - 比較元
4615+
* @param {any} b - 比較先
46134616
* @returns {number} Compare結果
46144617
*/
46154618
static compareToForNatural(a, b) {
4616-
if((typeof a === typeof b) && (typeof a === "string")) {
4617-
const a_str = Unicode.toUTF16Array(ComparatorTool.toNormalizeString(a));
4618-
const b_str = Unicode.toUTF16Array(ComparatorTool.toNormalizeString(b));
4619-
return ComparatorTool.compareText(a_str, b_str);
4620-
}
4621-
else {
4622-
return ComparatorTool.compareToForDefault(a, b);
4619+
if((a.toString === undefined) || (b.toString === undefined)) {
4620+
return 0;
46234621
}
4622+
const a_str = Unicode.toUTF16Array(ComparatorTool.toNormalizeString(a.toString()));
4623+
const b_str = Unicode.toUTF16Array(ComparatorTool.toNormalizeString(b.toString()));
4624+
return ComparatorTool.compareText(a_str, b_str);
46244625
}
46254626

46264627
}
@@ -4634,13 +4635,15 @@ const StringComparator = {
46344635

46354636
/**
46364637
* 2つの文字列を比較する関数
4637-
* @type {function(string, string): number}
4638+
* @type {function(any, any): number}
46384639
*/
46394640
DEFAULT : ComparatorTool.compareToForDefault,
46404641

46414642
/**
46424643
* 2つの文字列を自然順ソートで比較する関数
4643-
* @type {function(string, string): number}
4644+
* - 入力引数は文字列化して比較します
4645+
*
4646+
* @type {function(any, any): number}
46444647
*/
46454648
NATURAL : ComparatorTool.compareToForNatural
46464649

@@ -5052,8 +5055,9 @@ class MojiJS {
50525055
/**
50535056
* 2つの文字列を比較する関数
50545057
* - sortの引数で利用できます
5055-
* @param {String} a - 比較元
5056-
* @param {String} b - 比較先
5058+
*
5059+
* @param {any} a - 比較元
5060+
* @param {any} b - 比較先
50575061
* @returns {number} Compare結果
50585062
*/
50595063
static compareToForDefault(a, b) {
@@ -5063,8 +5067,10 @@ class MojiJS {
50635067
/**
50645068
* 2つの文字列を自然順ソートで比較する関数
50655069
* - sortの引数で利用できます
5066-
* @param {String} a - 比較元
5067-
* @param {String} b - 比較先
5070+
* - 入力引数は文字列化して比較します
5071+
*
5072+
* @param {any} a - 比較元
5073+
* @param {any} b - 比較先
50685074
* @returns {number} Compare結果
50695075
*/
50705076
static compareToForNatural(a, b) {

build/index.d.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -260,19 +260,22 @@ declare class MojiJS {
260260
/**
261261
* 2つの文字列を比較する関数
262262
* - sortの引数で利用できます
263-
* @param {String} a - 比較元
264-
* @param {String} b - 比較先
263+
*
264+
* @param {any} a - 比較元
265+
* @param {any} b - 比較先
265266
* @returns {number} Compare結果
266267
*/
267-
static compareToForDefault(a: string, b: string): number;
268+
static compareToForDefault(a: any, b: any): number;
268269
/**
269270
* 2つの文字列を自然順ソートで比較する関数
270271
* - sortの引数で利用できます
271-
* @param {String} a - 比較元
272-
* @param {String} b - 比較先
272+
* - 入力引数は文字列化して比較します
273+
*
274+
* @param {any} a - 比較元
275+
* @param {any} b - 比較先
273276
* @returns {number} Compare結果
274277
*/
275-
static compareToForNatural(a: string, b: string): number;
278+
static compareToForNatural(a: any, b: any): number;
276279
}
277280

278281
/**

build/mojijs.esm.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/mojijs.umd.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/mojijs.wsh.js

-2 Bytes
Binary file not shown.

docs/class/src/MojiJS.js~MojiJS.html

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ <h1 data-ice="name">MojiJS</h1>
155155

156156

157157

158-
<span class="code" data-ice="name"><span><a href="class/src/MojiJS.js~MojiJS.html#static-method-compareToForDefault">compareToForDefault</a></span></span><span class="code" data-ice="signature">(a: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span>, b: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span></span>
158+
<span class="code" data-ice="name"><span><a href="class/src/MojiJS.js~MojiJS.html#static-method-compareToForDefault">compareToForDefault</a></span></span><span class="code" data-ice="signature">(a: <span>any</span>, b: <span>any</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span></span>
159159
</p>
160160
</div>
161161
<div>
@@ -187,7 +187,7 @@ <h1 data-ice="name">MojiJS</h1>
187187

188188

189189

190-
<span class="code" data-ice="name"><span><a href="class/src/MojiJS.js~MojiJS.html#static-method-compareToForNatural">compareToForNatural</a></span></span><span class="code" data-ice="signature">(a: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span>, b: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span></span>
190+
<span class="code" data-ice="name"><span><a href="class/src/MojiJS.js~MojiJS.html#static-method-compareToForNatural">compareToForNatural</a></span></span><span class="code" data-ice="signature">(a: <span>any</span>, b: <span>any</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span></span>
191191
</p>
192192
</div>
193193
<div>
@@ -196,6 +196,7 @@ <h1 data-ice="name">MojiJS</h1>
196196
<div data-ice="description"><p>2&#x3064;&#x306E;&#x6587;&#x5B57;&#x5217;&#x3092;&#x81EA;&#x7136;&#x9806;&#x30BD;&#x30FC;&#x30C8;&#x3067;&#x6BD4;&#x8F03;&#x3059;&#x308B;&#x95A2;&#x6570;</p>
197197
<ul>
198198
<li>sort&#x306E;&#x5F15;&#x6570;&#x3067;&#x5229;&#x7528;&#x3067;&#x304D;&#x307E;&#x3059;</li>
199+
<li>&#x5165;&#x529B;&#x5F15;&#x6570;&#x306F;&#x6587;&#x5B57;&#x5217;&#x5316;&#x3057;&#x3066;&#x6BD4;&#x8F03;&#x3057;&#x307E;&#x3059;</li>
199200
</ul>
200201
</div>
201202
</div>
@@ -1429,11 +1430,11 @@ <h3 data-ice="anchor" id="static-method-compareToForDefault">
14291430

14301431

14311432

1432-
<span class="code" data-ice="name">compareToForDefault</span><span class="code" data-ice="signature">(a: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span>, b: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span></span>
1433+
<span class="code" data-ice="name">compareToForDefault</span><span class="code" data-ice="signature">(a: <span>any</span>, b: <span>any</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span></span>
14331434
<span class="right-info">
14341435

14351436

1436-
<span data-ice="source"><span><a href="file/src/MojiJS.js.html#lineNumber419">source</a></span></span>
1437+
<span data-ice="source"><span><a href="file/src/MojiJS.js.html#lineNumber420">source</a></span></span>
14371438
</span>
14381439
</h3>
14391440

@@ -1458,14 +1459,14 @@ <h4 data-ice="title">Params:</h4>
14581459

14591460
<tr data-ice="property" data-depth="0">
14601461
<td data-ice="name" class="code" data-depth="0">a</td>
1461-
<td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
1462+
<td data-ice="type" class="code"><span>any</span></td>
14621463
<td data-ice="appendix"></td>
14631464
<td data-ice="description"><p>&#x6BD4;&#x8F03;&#x5143;</p>
14641465
</td>
14651466
</tr>
14661467
<tr data-ice="property" data-depth="0">
14671468
<td data-ice="name" class="code" data-depth="0">b</td>
1468-
<td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
1469+
<td data-ice="type" class="code"><span>any</span></td>
14691470
<td data-ice="appendix"></td>
14701471
<td data-ice="description"><p>&#x6BD4;&#x8F03;&#x5148;</p>
14711472
</td>
@@ -1513,11 +1514,11 @@ <h3 data-ice="anchor" id="static-method-compareToForNatural">
15131514

15141515

15151516

1516-
<span class="code" data-ice="name">compareToForNatural</span><span class="code" data-ice="signature">(a: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span>, b: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span></span>
1517+
<span class="code" data-ice="name">compareToForNatural</span><span class="code" data-ice="signature">(a: <span>any</span>, b: <span>any</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span></span>
15171518
<span class="right-info">
15181519

15191520

1520-
<span data-ice="source"><span><a href="file/src/MojiJS.js.html#lineNumber430">source</a></span></span>
1521+
<span data-ice="source"><span><a href="file/src/MojiJS.js.html#lineNumber433">source</a></span></span>
15211522
</span>
15221523
</h3>
15231524

@@ -1527,6 +1528,7 @@ <h3 data-ice="anchor" id="static-method-compareToForNatural">
15271528
<div data-ice="description"><p>2&#x3064;&#x306E;&#x6587;&#x5B57;&#x5217;&#x3092;&#x81EA;&#x7136;&#x9806;&#x30BD;&#x30FC;&#x30C8;&#x3067;&#x6BD4;&#x8F03;&#x3059;&#x308B;&#x95A2;&#x6570;</p>
15281529
<ul>
15291530
<li>sort&#x306E;&#x5F15;&#x6570;&#x3067;&#x5229;&#x7528;&#x3067;&#x304D;&#x307E;&#x3059;</li>
1531+
<li>&#x5165;&#x529B;&#x5F15;&#x6570;&#x306F;&#x6587;&#x5B57;&#x5217;&#x5316;&#x3057;&#x3066;&#x6BD4;&#x8F03;&#x3057;&#x307E;&#x3059;</li>
15301532
</ul>
15311533
</div>
15321534

@@ -1542,14 +1544,14 @@ <h4 data-ice="title">Params:</h4>
15421544

15431545
<tr data-ice="property" data-depth="0">
15441546
<td data-ice="name" class="code" data-depth="0">a</td>
1545-
<td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
1547+
<td data-ice="type" class="code"><span>any</span></td>
15461548
<td data-ice="appendix"></td>
15471549
<td data-ice="description"><p>&#x6BD4;&#x8F03;&#x5143;</p>
15481550
</td>
15491551
</tr>
15501552
<tr data-ice="property" data-depth="0">
15511553
<td data-ice="name" class="code" data-depth="0">b</td>
1552-
<td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
1554+
<td data-ice="type" class="code"><span>any</span></td>
15531555
<td data-ice="appendix"></td>
15541556
<td data-ice="description"><p>&#x6BD4;&#x8F03;&#x5148;</p>
15551557
</td>

docs/file/src/MojiJS.js.html

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -453,8 +453,9 @@
453453
/**
454454
* 2&#x3064;&#x306E;&#x6587;&#x5B57;&#x5217;&#x3092;&#x6BD4;&#x8F03;&#x3059;&#x308B;&#x95A2;&#x6570;
455455
* - sort&#x306E;&#x5F15;&#x6570;&#x3067;&#x5229;&#x7528;&#x3067;&#x304D;&#x307E;&#x3059;
456-
* @param {String} a - &#x6BD4;&#x8F03;&#x5143;
457-
* @param {String} b - &#x6BD4;&#x8F03;&#x5148;
456+
*
457+
* @param {any} a - &#x6BD4;&#x8F03;&#x5143;
458+
* @param {any} b - &#x6BD4;&#x8F03;&#x5148;
458459
* @returns {number} Compare&#x7D50;&#x679C;
459460
*/
460461
static compareToForDefault(a, b) {
@@ -464,8 +465,10 @@
464465
/**
465466
* 2&#x3064;&#x306E;&#x6587;&#x5B57;&#x5217;&#x3092;&#x81EA;&#x7136;&#x9806;&#x30BD;&#x30FC;&#x30C8;&#x3067;&#x6BD4;&#x8F03;&#x3059;&#x308B;&#x95A2;&#x6570;
466467
* - sort&#x306E;&#x5F15;&#x6570;&#x3067;&#x5229;&#x7528;&#x3067;&#x304D;&#x307E;&#x3059;
467-
* @param {String} a - &#x6BD4;&#x8F03;&#x5143;
468-
* @param {String} b - &#x6BD4;&#x8F03;&#x5148;
468+
* - &#x5165;&#x529B;&#x5F15;&#x6570;&#x306F;&#x6587;&#x5B57;&#x5217;&#x5316;&#x3057;&#x3066;&#x6BD4;&#x8F03;&#x3057;&#x307E;&#x3059;
469+
*
470+
* @param {any} a - &#x6BD4;&#x8F03;&#x5143;
471+
* @param {any} b - &#x6BD4;&#x8F03;&#x5148;
469472
* @returns {number} Compare&#x7D50;&#x679C;
470473
*/
471474
static compareToForNatural(a, b) {

0 commit comments

Comments
 (0)