@konomi-app/kintone-utilities 5.12.1 → 5.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4 @@
1
+ /**
2
+ * 全角ひらがなをヘボン式ローマ字で半角英文字に変換します。
3
+ */
4
+ export declare function toHebon(s: string): string;
@@ -0,0 +1,196 @@
1
+ // 'ん' は、別途ハンドリングするのでデータに含めない
2
+ const hebonMap = {
3
+ あ: 'A',
4
+ い: 'I',
5
+ う: 'U',
6
+ え: 'E',
7
+ お: 'O',
8
+ か: 'KA',
9
+ き: 'KI',
10
+ く: 'KU',
11
+ け: 'KE',
12
+ こ: 'KO',
13
+ さ: 'SA',
14
+ し: 'SHI',
15
+ す: 'SU',
16
+ せ: 'SE',
17
+ そ: 'SO',
18
+ た: 'TA',
19
+ ち: 'CHI',
20
+ つ: 'TSU',
21
+ て: 'TE',
22
+ と: 'TO',
23
+ な: 'NA',
24
+ に: 'NI',
25
+ ぬ: 'NU',
26
+ ね: 'NE',
27
+ の: 'NO',
28
+ は: 'HA',
29
+ ひ: 'HI',
30
+ ふ: 'FU',
31
+ へ: 'HE',
32
+ ほ: 'HO',
33
+ ま: 'MA',
34
+ み: 'MI',
35
+ む: 'MU',
36
+ め: 'ME',
37
+ も: 'MO',
38
+ や: 'YA',
39
+ ゆ: 'YU',
40
+ よ: 'YO',
41
+ ら: 'RA',
42
+ り: 'RI',
43
+ る: 'RU',
44
+ れ: 'RE',
45
+ ろ: 'RO',
46
+ わ: 'WA',
47
+ ゐ: 'I',
48
+ ゑ: 'E',
49
+ を: 'O',
50
+ ぁ: 'A',
51
+ ぃ: 'I',
52
+ ぅ: 'U',
53
+ ぇ: 'E',
54
+ ぉ: 'O',
55
+ が: 'GA',
56
+ ぎ: 'GI',
57
+ ぐ: 'GU',
58
+ げ: 'GE',
59
+ ご: 'GO',
60
+ ざ: 'ZA',
61
+ じ: 'JI',
62
+ ず: 'ZU',
63
+ ぜ: 'ZE',
64
+ ぞ: 'ZO',
65
+ だ: 'DA',
66
+ ぢ: 'JI',
67
+ づ: 'ZU',
68
+ で: 'DE',
69
+ ど: 'DO',
70
+ ば: 'BA',
71
+ び: 'BI',
72
+ ぶ: 'BU',
73
+ べ: 'BE',
74
+ ぼ: 'BO',
75
+ ぱ: 'PA',
76
+ ぴ: 'PI',
77
+ ぷ: 'PU',
78
+ ぺ: 'PE',
79
+ ぽ: 'PO',
80
+ きゃ: 'KYA',
81
+ きゅ: 'KYU',
82
+ きょ: 'KYO',
83
+ しゃ: 'SHA',
84
+ しゅ: 'SHU',
85
+ しょ: 'SHO',
86
+ ちゃ: 'CHA',
87
+ ちゅ: 'CHU',
88
+ ちょ: 'CHO',
89
+ ちぇ: 'CHE',
90
+ にゃ: 'NYA',
91
+ にゅ: 'NYU',
92
+ にょ: 'NYO',
93
+ ひゃ: 'HYA',
94
+ ひゅ: 'HYU',
95
+ ひょ: 'HYO',
96
+ みゃ: 'MYA',
97
+ みゅ: 'MYU',
98
+ みょ: 'MYO',
99
+ りゃ: 'RYA',
100
+ りゅ: 'RYU',
101
+ りょ: 'RYO',
102
+ ぎゃ: 'GYA',
103
+ ぎゅ: 'GYU',
104
+ ぎょ: 'GYO',
105
+ じゃ: 'JA',
106
+ じゅ: 'JU',
107
+ じょ: 'JO',
108
+ びゃ: 'BYA',
109
+ びゅ: 'BYU',
110
+ びょ: 'BYO',
111
+ ぴゃ: 'PYA',
112
+ ぴゅ: 'PYU',
113
+ ぴょ: 'PYO',
114
+ };
115
+ const aaSet = {
116
+ AA: true,
117
+ EE: true,
118
+ II: false, // I は連続しても省略しない
119
+ OO: true,
120
+ OU: true,
121
+ UU: true,
122
+ };
123
+ const getHebon = (s, index) => {
124
+ let h = null;
125
+ let c = null;
126
+ if (index + 1 < s.length) {
127
+ c = s.substring(index, index + 2);
128
+ h = hebonMap[c];
129
+ }
130
+ if (!h && index < s.length) {
131
+ c = s.substring(index, index + 1);
132
+ h = hebonMap[c];
133
+ }
134
+ return { c: c ?? '', h: h ?? null };
135
+ };
136
+ /**
137
+ * 全角ひらがなをヘボン式ローマ字で半角英文字に変換します。
138
+ */
139
+ export function toHebon(s) {
140
+ let hebon = '';
141
+ let lastHebon = '';
142
+ let lastChar = '';
143
+ let i = 0;
144
+ while (i < s.length) {
145
+ const hr = getHebon(s, i);
146
+ if (hr.c === 'っ') {
147
+ // 'っち'
148
+ const nextHr = getHebon(s, i + 1);
149
+ if (nextHr.h !== null) {
150
+ if (nextHr.h.startsWith('CH')) {
151
+ hr.h = 'T';
152
+ }
153
+ else {
154
+ hr.h = nextHr.h.substring(0, 1);
155
+ }
156
+ }
157
+ }
158
+ else if (hr.c === 'ん') {
159
+ // B,M,P の前の 'ん' は 'M' とする。
160
+ const nextHr = getHebon(s, i + 1);
161
+ if (nextHr.h !== null && 'BMP'.indexOf(nextHr.h.charAt(0)) !== -1) {
162
+ hr.h = 'M';
163
+ }
164
+ else {
165
+ hr.h = 'N';
166
+ }
167
+ }
168
+ else if (hr.c === 'ー') {
169
+ // 長音は無視
170
+ hr.h = '';
171
+ }
172
+ if (hr.h !== null) {
173
+ // 変換できる文字の場合
174
+ if (lastHebon !== null) {
175
+ // 連続する母音の除去
176
+ let htest = lastHebon + hr.h;
177
+ if (htest.length > 2) {
178
+ htest = htest.substring(htest.length - 2);
179
+ }
180
+ if (aaSet[htest]) {
181
+ hr.h = '';
182
+ }
183
+ }
184
+ hebon += hr.h;
185
+ }
186
+ else {
187
+ // 変換できない文字の場合
188
+ hebon += hr.c;
189
+ }
190
+ lastHebon = hr.h;
191
+ lastChar = hr.c;
192
+ i += hr.c.length;
193
+ }
194
+ return hebon;
195
+ }
196
+ //# sourceMappingURL=character-hebon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"character-hebon.js","sourceRoot":"","sources":["../src/character-hebon.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,48 @@
1
+ /**
2
+ * カタカナをひらがなに変換します。
3
+ *
4
+ * @param target - 変換対象の文字列
5
+ * @returns カタカナがひらがなに変換された文字列
6
+ *
7
+ * @example
8
+ * ```
9
+ * convertKatakanaToHiragana("カタカナ") // => "かたかな"
10
+ * convertKatakanaToHiragana("カタカナとひらがな") // => "かたかなとひらがな"
11
+ * ```
12
+ */
1
13
  export declare const convertKatakanaToHiragana: (target: string) => string;
14
+ /**
15
+ * 全角英数字を半角英数字に変換します。
16
+ *
17
+ * @param target - 変換対象の文字列
18
+ * @returns 全角英数字が半角英数字に変換された文字列
19
+ *
20
+ * @example
21
+ * ```
22
+ * convertFullwidthAlphanumericToHalfwidth("ABC123") // => "ABC123"
23
+ * convertFullwidthAlphanumericToHalfwidth("全角英数字") // => "全角英数字"
24
+ * ```
25
+ */
2
26
  export declare const convertFullwidthAlphanumericToHalfwidth: (target: string) => string;
27
+ /**
28
+ * 半角カタカナを全角カタカナに変換します。
29
+ *
30
+ * @param target - 変換対象の文字列
31
+ * @returns 半角カタカナが全角カタカナに変換された文字列
32
+ *
33
+ * @example
34
+ * ```
35
+ * convertHalfwidthKatakanaToFullwidth("カタカナ") // => "カタカナ"
36
+ * convertHalfwidthKatakanaToFullwidth("半角カタカナ") // => "半角カタカナ"
37
+ * ```
38
+ */
3
39
  export declare const convertHalfwidthKatakanaToFullwidth: (target: string) => string;
4
40
  export type GetYuruCharaOptions = {
5
41
  isZenkakuEisujiSensitive: boolean;
6
42
  isCaseSensitive: boolean;
7
43
  isHankakuKatakanaSensitive: boolean;
8
44
  isKatakanaSensitive: boolean;
45
+ isHebonSensitive: boolean;
9
46
  };
10
47
  /**
11
48
  * 指定された文字列に以下の変換をかけて返却します
@@ -23,6 +60,7 @@ export type GetYuruCharaOptions = {
23
60
  * @param options.isCaseSensitive - 大文字小文字を区別するかどうか
24
61
  * @param options.isHankakuKatakanaSensitive - 半角カタカナを全角カタカナに変換するかどうか
25
62
  * @param options.isKatakanaSensitive - カタカナをひらがなに変換するかどうか
63
+ * @param options.isHebonSensitive - ヘボン式ローマ字に変換するかどうか
26
64
  * @returns 変換後の文字列
27
65
  *
28
66
  * @example
@@ -1,9 +1,46 @@
1
+ import { toHebon } from './character-hebon';
2
+ /**
3
+ * カタカナをひらがなに変換します。
4
+ *
5
+ * @param target - 変換対象の文字列
6
+ * @returns カタカナがひらがなに変換された文字列
7
+ *
8
+ * @example
9
+ * ```
10
+ * convertKatakanaToHiragana("カタカナ") // => "かたかな"
11
+ * convertKatakanaToHiragana("カタカナとひらがな") // => "かたかなとひらがな"
12
+ * ```
13
+ */
1
14
  export const convertKatakanaToHiragana = (target) => {
2
15
  return target.replace(/[\u30a1-\u30f6]/g, (match) => String.fromCharCode(match.charCodeAt(0) - 0x60));
3
16
  };
17
+ /**
18
+ * 全角英数字を半角英数字に変換します。
19
+ *
20
+ * @param target - 変換対象の文字列
21
+ * @returns 全角英数字が半角英数字に変換された文字列
22
+ *
23
+ * @example
24
+ * ```
25
+ * convertFullwidthAlphanumericToHalfwidth("ABC123") // => "ABC123"
26
+ * convertFullwidthAlphanumericToHalfwidth("全角英数字") // => "全角英数字"
27
+ * ```
28
+ */
4
29
  export const convertFullwidthAlphanumericToHalfwidth = (target) => {
5
30
  return target.replace(/[A-Za-z0-9]/g, (s) => String.fromCharCode(s.charCodeAt(0) - 0xfee0));
6
31
  };
32
+ /**
33
+ * 半角カタカナを全角カタカナに変換します。
34
+ *
35
+ * @param target - 変換対象の文字列
36
+ * @returns 半角カタカナが全角カタカナに変換された文字列
37
+ *
38
+ * @example
39
+ * ```
40
+ * convertHalfwidthKatakanaToFullwidth("カタカナ") // => "カタカナ"
41
+ * convertHalfwidthKatakanaToFullwidth("半角カタカナ") // => "半角カタカナ"
42
+ * ```
43
+ */
7
44
  export const convertHalfwidthKatakanaToFullwidth = (target) => {
8
45
  const KANA_CONVERTION_MAP = {
9
46
  ガ: 'ガ',
@@ -118,6 +155,7 @@ export const convertHalfwidthKatakanaToFullwidth = (target) => {
118
155
  * @param options.isCaseSensitive - 大文字小文字を区別するかどうか
119
156
  * @param options.isHankakuKatakanaSensitive - 半角カタカナを全角カタカナに変換するかどうか
120
157
  * @param options.isKatakanaSensitive - カタカナをひらがなに変換するかどうか
158
+ * @param options.isHebonSensitive - ヘボン式ローマ字に変換するかどうか
121
159
  * @returns 変換後の文字列
122
160
  *
123
161
  * @example
@@ -132,20 +170,23 @@ export const convertHalfwidthKatakanaToFullwidth = (target) => {
132
170
  * ```
133
171
  */
134
172
  export const getYuruChara = (target, options) => {
135
- const { isZenkakuEisujiSensitive = false, isCaseSensitive = false, isHankakuKatakanaSensitive = false, isKatakanaSensitive = false, } = options || {};
173
+ const { isZenkakuEisujiSensitive = false, isCaseSensitive = false, isHankakuKatakanaSensitive = false, isKatakanaSensitive = false, isHebonSensitive = false, } = options || {};
136
174
  let converted = target;
137
175
  if (!isZenkakuEisujiSensitive) {
138
176
  converted = convertFullwidthAlphanumericToHalfwidth(converted);
139
177
  }
140
- if (!isCaseSensitive) {
141
- converted = converted.toLowerCase();
142
- }
143
178
  if (!isHankakuKatakanaSensitive) {
144
179
  converted = convertHalfwidthKatakanaToFullwidth(converted);
145
180
  }
146
181
  if (!isKatakanaSensitive) {
147
182
  converted = convertKatakanaToHiragana(converted);
148
183
  }
184
+ if (!isHebonSensitive) {
185
+ converted = toHebon(converted);
186
+ }
187
+ if (!isCaseSensitive) {
188
+ converted = converted.toLowerCase();
189
+ }
149
190
  return converted;
150
191
  };
151
192
  //# sourceMappingURL=character-width-conversion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"character-width-conversion.js","sourceRoot":"","sources":["../src/character-width-conversion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"character-width-conversion.js","sourceRoot":"","sources":["../src/character-width-conversion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC1D,OAAO,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE,CAClD,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAChD,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAG,CAAC,MAAc,EAAE,EAAE;IACxE,OAAO,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;AAC9F,CAAC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,MAAc,EAAE,EAAE;IACpE,MAAM,mBAAmB,GAAG;QAC1B,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;QACN,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,CAAC,EAAE,GAAG;QACN,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;KACT,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAClF,OAAO,MAAM;SACV,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAqC,CAAC,CAAC;SAClF,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;SAClB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACxB,CAAC,CAAC;AAUF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,OAAsC,EAAE,EAAE;IACrF,MAAM,EACJ,wBAAwB,GAAG,KAAK,EAChC,eAAe,GAAG,KAAK,EACvB,0BAA0B,GAAG,KAAK,EAClC,mBAAmB,GAAG,KAAK,EAC3B,gBAAgB,GAAG,KAAK,GACzB,GAAG,OAAO,IAAI,EAAE,CAAC;IAElB,IAAI,SAAS,GAAG,MAAM,CAAC;IAEvB,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC9B,SAAS,GAAG,uCAAuC,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAChC,SAAS,GAAG,mCAAmC,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,SAAS,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IACtC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
@@ -1,23 +1,23 @@
1
1
  import { getYuruChara } from './character-width-conversion';
2
2
  describe('Yuru Chara', () => {
3
3
  test('ひらがな', () => {
4
- expect(getYuruChara('あいうえお')).toBe('あいうえお');
5
- expect(getYuruChara('あいうえお', { isZenkakuEisujiSensitive: true })).toBe('あいうえお');
6
- expect(getYuruChara('あいうえお', { isCaseSensitive: true })).toBe('あいうえお');
7
- expect(getYuruChara('あいうえお', { isHankakuKatakanaSensitive: true })).toBe('あいうえお');
8
- expect(getYuruChara('あいうえお', { isKatakanaSensitive: true })).toBe('あいうえお');
4
+ expect(getYuruChara('あいうえお')).toBe('aiueo');
5
+ expect(getYuruChara('あいうえお', { isZenkakuEisujiSensitive: true })).toBe('aiueo');
6
+ expect(getYuruChara('あいうえお', { isCaseSensitive: true })).toBe('AIUEO');
7
+ expect(getYuruChara('あいうえお', { isHankakuKatakanaSensitive: true })).toBe('aiueo');
8
+ expect(getYuruChara('あいうえお', { isKatakanaSensitive: true })).toBe('aiueo');
9
9
  });
10
10
  test('全角カタカナ', () => {
11
- expect(getYuruChara('アイウエオ')).toBe('あいうえお');
12
- expect(getYuruChara('アイウエオ', { isZenkakuEisujiSensitive: true })).toBe('あいうえお');
13
- expect(getYuruChara('アイウエオ', { isCaseSensitive: true })).toBe('あいうえお');
14
- expect(getYuruChara('アイウエオ', { isHankakuKatakanaSensitive: true })).toBe('あいうえお');
11
+ expect(getYuruChara('アイウエオ')).toBe('aiueo');
12
+ expect(getYuruChara('アイウエオ', { isZenkakuEisujiSensitive: true })).toBe('aiueo');
13
+ expect(getYuruChara('アイウエオ', { isCaseSensitive: true })).toBe('AIUEO');
14
+ expect(getYuruChara('アイウエオ', { isHankakuKatakanaSensitive: true })).toBe('aiueo');
15
15
  expect(getYuruChara('アイウエオ', { isKatakanaSensitive: true })).toBe('アイウエオ');
16
16
  });
17
17
  test('半角カタカナ', () => {
18
- expect(getYuruChara('アイウエオ')).toBe('あいうえお');
19
- expect(getYuruChara('アイウエオ', { isZenkakuEisujiSensitive: true })).toBe('あいうえお');
20
- expect(getYuruChara('アイウエオ', { isCaseSensitive: true })).toBe('あいうえお');
18
+ expect(getYuruChara('アイウエオ')).toBe('aiueo');
19
+ expect(getYuruChara('アイウエオ', { isZenkakuEisujiSensitive: true })).toBe('aiueo');
20
+ expect(getYuruChara('アイウエオ', { isCaseSensitive: true })).toBe('AIUEO');
21
21
  expect(getYuruChara('アイウエオ', { isHankakuKatakanaSensitive: true })).toBe('アイウエオ');
22
22
  expect(getYuruChara('アイウエオ', { isKatakanaSensitive: true })).toBe('アイウエオ');
23
23
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@konomi-app/kintone-utilities",
3
- "version": "5.12.1",
3
+ "version": "5.13.0",
4
4
  "types": "dist/index.d.ts",
5
5
  "main": "dist/index.js",
6
6
  "repository": "https://github.com/local-bias/kintone-utilities.git",
@@ -13,6 +13,7 @@
13
13
  },
14
14
  "dependencies": {
15
15
  "@emotion/css": "^11",
16
+ "jaconv": "^1.0.4",
16
17
  "zod": "^3"
17
18
  },
18
19
  "devDependencies": {