@mathrunet/masamune 3.3.0 → 3.3.2
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.
package/CHANGELOG.md
CHANGED
@@ -1,3 +1,21 @@
|
|
1
|
+
## [3.3.2](https://github.com/mathrunet/node_masamune/compare/v3.3.1...v3.3.2) (2025-09-11)
|
2
|
+
|
3
|
+
|
4
|
+
### fix
|
5
|
+
|
6
|
+
* Removed unremovable emojis. ([c33a18f](https://github.com/mathrunet/node_masamune/commit/c33a18f9baaa981f8b28cae1820aaa64fbce2767))
|
7
|
+
|
8
|
+
|
9
|
+
|
10
|
+
## [3.3.1](https://github.com/mathrunet/node_masamune/compare/v3.3.0...v3.3.1) (2025-09-11)
|
11
|
+
|
12
|
+
|
13
|
+
### fix
|
14
|
+
|
15
|
+
* Adjust UUID specifications ([4ead298](https://github.com/mathrunet/node_masamune/commit/4ead298714fbb6968f640aa9537f2c6901f2fe3b))
|
16
|
+
|
17
|
+
|
18
|
+
|
1
19
|
# [3.3.0](https://github.com/mathrunet/node_masamune/compare/v3.2.6...v3.3.0) (2025-09-11)
|
2
20
|
|
3
21
|
|
@@ -185,6 +185,19 @@ declare global {
|
|
185
185
|
* 絵文字を削除した文字列。
|
186
186
|
*/
|
187
187
|
removeOnlyEmoji(): string;
|
188
|
+
/**
|
189
|
+
* Converts [string] to a valid Firestore map key by removing invalid characters.
|
190
|
+
*
|
191
|
+
* FirestoreのMapのキーとして使用できるように、[string]から無効な文字を削除します。
|
192
|
+
*
|
193
|
+
* Invalid characters removed: . / ~ * [ ]
|
194
|
+
* 削除される無効な文字: . / ~ * [ ]
|
195
|
+
*
|
196
|
+
* @return {string}
|
197
|
+
* String that can be used as a Firestore map key.
|
198
|
+
* FirestoreのMapのキーとして使用できる文字列。
|
199
|
+
*/
|
200
|
+
toFirestoreMapKey(): string;
|
188
201
|
/**
|
189
202
|
* Converts [string] to a searchable map.
|
190
203
|
*
|
@@ -198,7 +198,14 @@ String.prototype.splitByTrigram = function () {
|
|
198
198
|
return result;
|
199
199
|
};
|
200
200
|
String.prototype.removeOnlyEmoji = function () {
|
201
|
-
return this.valueOf().replace(/[\u{1F600}-\u{1F64F}\u{1F300}-\u{1F5FF}\u{1F680}-\u{1F6FF}\u{1F700}-\u{1F77F}\u{1F780}-\u{1F7FF}\u{1F800}-\u{1F8FF}\u{1F900}-\u{1F9FF}\u{1FA00}-\u{1FA6F}\u{1FA70}-\u{1FAFF}\u{2600}-\u{26FF}\u{2700}-\u{27BF}]/gu, '');
|
201
|
+
return this.valueOf().replace(/[\u{1F100}-\u{1F1FF}\u{1F600}-\u{1F64F}\u{1F300}-\u{1F5FF}\u{1F680}-\u{1F6FF}\u{1F700}-\u{1F77F}\u{1F780}-\u{1F7FF}\u{1F800}-\u{1F8FF}\u{1F900}-\u{1F9FF}\u{1FA00}-\u{1FA6F}\u{1FA70}-\u{1FAFF}\u{2600}-\u{26FF}\u{2700}-\u{27BF}]/gu, '');
|
202
|
+
};
|
203
|
+
String.prototype.toFirestoreMapKey = function () {
|
204
|
+
// FirestoreのMapのキーに使用できない文字を削除
|
205
|
+
// 使用できない文字: . / ~ * [ ]
|
206
|
+
return this.valueOf()
|
207
|
+
.replace(/[\.\/~\*\[\]]/g, '') // 禁止文字を削除
|
208
|
+
.trim(); // 先頭と末尾の空白を削除
|
202
209
|
};
|
203
210
|
String.prototype.toSearchableMap = function () {
|
204
211
|
const text = this.valueOf();
|
@@ -211,6 +218,7 @@ String.prototype.toSearchableMap = function () {
|
|
211
218
|
.toZenkakuKatakana()
|
212
219
|
.toKatakana()
|
213
220
|
.removeOnlyEmoji()
|
221
|
+
.toFirestoreMapKey()
|
214
222
|
.splitByCharacterAndBigram())
|
215
223
|
.filter((value, index, self) => self.indexOf(value) === index)
|
216
224
|
.reduce((acc, e) => (Object.assign(Object.assign({}, acc), { [e]: true })), {});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"string.extension.js","sourceRoot":"","sources":["../../../src/lib/exntensions/string.extension.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;
|
1
|
+
{"version":3,"file":"string.extension.js","sourceRoot":"","sources":["../../../src/lib/exntensions/string.extension.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/utils.js
CHANGED
@@ -5,8 +5,6 @@ exports.parse = parse;
|
|
5
5
|
exports.uuid = uuid;
|
6
6
|
exports.splitArray = splitArray;
|
7
7
|
const uuid_1 = require("uuid");
|
8
|
-
// Same value as Dart's _kIntMaxValue for consistency
|
9
|
-
const INT_MAX_VALUE = 9007199254740991;
|
10
8
|
/**
|
11
9
|
* Checks if [value] is {[key: string]: any}.
|
12
10
|
*
|
@@ -92,15 +90,11 @@ function uuid(options) {
|
|
92
90
|
var _a, _b;
|
93
91
|
const baseTime = (_a = options === null || options === void 0 ? void 0 : options.baseTime) !== null && _a !== void 0 ? _a : new Date();
|
94
92
|
const reverse = (_b = options === null || options === void 0 ? void 0 : options.reverse) !== null && _b !== void 0 ? _b : false;
|
93
|
+
const generated = (0, uuid_1.v7)({ msecs: baseTime.getTime() }).replace(/-/g, "");
|
95
94
|
if (reverse) {
|
96
|
-
|
97
|
-
// Same logic as Dart version: INT_MAX_VALUE - timestamp
|
98
|
-
const reversedTime = INT_MAX_VALUE - baseTime.getTime();
|
99
|
-
return (0, uuid_1.v7)({ msecs: reversedTime }).replace(/-/g, "");
|
100
|
-
}
|
101
|
-
else {
|
102
|
-
return (0, uuid_1.v7)({ msecs: baseTime.getTime() }).replace(/-/g, "");
|
95
|
+
return _createComplementaryString(generated);
|
103
96
|
}
|
97
|
+
return generated;
|
104
98
|
}
|
105
99
|
/**
|
106
100
|
* Divides an array into pieces of the specified size.
|
@@ -132,4 +126,17 @@ function splitArray(array, chunkSize) {
|
|
132
126
|
}
|
133
127
|
return tempArray;
|
134
128
|
}
|
129
|
+
function _createComplementaryString(originalString) {
|
130
|
+
let buffer = "";
|
131
|
+
const charList = "0123456789abcdef";
|
132
|
+
for (let i = 0; i < originalString.length; i++) {
|
133
|
+
const charIndex = charList.indexOf(originalString[i]);
|
134
|
+
if (charIndex == -1) {
|
135
|
+
continue;
|
136
|
+
}
|
137
|
+
const complementIndex = charList.length - charIndex - 1;
|
138
|
+
buffer += charList[complementIndex];
|
139
|
+
}
|
140
|
+
return buffer;
|
141
|
+
}
|
135
142
|
//# sourceMappingURL=utils.js.map
|
package/dist/lib/utils.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"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"}
|