@etsoo/shared 1.1.88 → 1.1.89
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/README.md +1 -0
- package/__tests__/Utils.ts +8 -0
- package/lib/cjs/Utils.d.ts +19 -1
- package/lib/cjs/Utils.js +12 -0
- package/lib/mjs/Utils.d.ts +19 -1
- package/lib/mjs/Utils.js +12 -0
- package/package.json +6 -6
- package/src/Utils.ts +39 -1
package/README.md
CHANGED
|
@@ -246,6 +246,7 @@ String and other related utilities
|
|
|
246
246
|
|addBlankItem|Add blank item to collection|
|
|
247
247
|
|arrayDifferences|Array 1 items do not exist in Array 2 or reverse match|
|
|
248
248
|
|charsToNumber|Base64 chars to number|
|
|
249
|
+
|containChinese|Check the input string contains Chinese character or not|
|
|
249
250
|
|correctTypes|Correct object's property value type|
|
|
250
251
|
|equals|Two values equal|
|
|
251
252
|
|exclude|Exclude specific items|
|
package/__tests__/Utils.ts
CHANGED
|
@@ -13,6 +13,14 @@ test('Tests for addBlankItem', () => {
|
|
|
13
13
|
expect(options.length).toBe(3);
|
|
14
14
|
});
|
|
15
15
|
|
|
16
|
+
test('Tests for containChinese', () => {
|
|
17
|
+
expect('123 abC'.containChinese()).toBeFalsy();
|
|
18
|
+
expect('亿速思维'.containChinese()).toBeTruthy();
|
|
19
|
+
expect('亿速Etsoo'.containChinese()).toBeTruthy();
|
|
20
|
+
expect('김 민수'.containKorean()).toBeTruthy();
|
|
21
|
+
expect('ぁ-ん'.containJapanese()).toBeTruthy();
|
|
22
|
+
});
|
|
23
|
+
|
|
16
24
|
test('Tests for arrayDifferences', () => {
|
|
17
25
|
const a1 = ['a', 'b', 'c', 'e'];
|
|
18
26
|
const a2 = ['a', 'c', 'd'];
|
package/lib/cjs/Utils.d.ts
CHANGED
|
@@ -1,9 +1,27 @@
|
|
|
1
1
|
import { DataTypes } from './DataTypes';
|
|
2
2
|
declare global {
|
|
3
3
|
interface String {
|
|
4
|
+
/**
|
|
5
|
+
* Check the input string contains Chinese character or not
|
|
6
|
+
* @param this Input
|
|
7
|
+
* @param test Test string
|
|
8
|
+
*/
|
|
9
|
+
containChinese(this: string): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Check the input string contains Korean character or not
|
|
12
|
+
* @param this Input
|
|
13
|
+
* @param test Test string
|
|
14
|
+
*/
|
|
15
|
+
containKorean(this: string): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Check the input string contains Japanese character or not
|
|
18
|
+
* @param this Input
|
|
19
|
+
* @param test Test string
|
|
20
|
+
*/
|
|
21
|
+
containJapanese(this: string): boolean;
|
|
4
22
|
/**
|
|
5
23
|
* Format string with parameters
|
|
6
|
-
* @param this
|
|
24
|
+
* @param this Input template
|
|
7
25
|
* @param parameters Parameters to fill the template
|
|
8
26
|
*/
|
|
9
27
|
format(this: string, ...parameters: string[]): string;
|
package/lib/cjs/Utils.js
CHANGED
|
@@ -15,6 +15,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.Utils = void 0;
|
|
16
16
|
const DataTypes_1 = require("./DataTypes");
|
|
17
17
|
const lodash_isequal_1 = __importDefault(require("lodash.isequal"));
|
|
18
|
+
String.prototype.containChinese = function () {
|
|
19
|
+
const regExp = /[\u3040-\u30ff\u3400-\u4dbf\u4e00-\u9fff\uf900-\ufaff\uff66-\uff9f]/g;
|
|
20
|
+
return regExp.test(this);
|
|
21
|
+
};
|
|
22
|
+
String.prototype.containKorean = function () {
|
|
23
|
+
const regExp = /[\uac00-\ud7af\u1100-\u11ff\u3130-\u318f\ua960-\ua97f\ud7b0-\ud7ff\u3400-\u4dbf]/g;
|
|
24
|
+
return regExp.test(this);
|
|
25
|
+
};
|
|
26
|
+
String.prototype.containJapanese = function () {
|
|
27
|
+
const regExp = /[\u3040-\u309f\u30a0-\u30ff\uff00-\uff9f\u4e00-\u9faf]/g;
|
|
28
|
+
return regExp.test(this);
|
|
29
|
+
};
|
|
18
30
|
String.prototype.format = function (...parameters) {
|
|
19
31
|
let template = this;
|
|
20
32
|
parameters.forEach((value, index) => {
|
package/lib/mjs/Utils.d.ts
CHANGED
|
@@ -1,9 +1,27 @@
|
|
|
1
1
|
import { DataTypes } from './DataTypes';
|
|
2
2
|
declare global {
|
|
3
3
|
interface String {
|
|
4
|
+
/**
|
|
5
|
+
* Check the input string contains Chinese character or not
|
|
6
|
+
* @param this Input
|
|
7
|
+
* @param test Test string
|
|
8
|
+
*/
|
|
9
|
+
containChinese(this: string): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Check the input string contains Korean character or not
|
|
12
|
+
* @param this Input
|
|
13
|
+
* @param test Test string
|
|
14
|
+
*/
|
|
15
|
+
containKorean(this: string): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Check the input string contains Japanese character or not
|
|
18
|
+
* @param this Input
|
|
19
|
+
* @param test Test string
|
|
20
|
+
*/
|
|
21
|
+
containJapanese(this: string): boolean;
|
|
4
22
|
/**
|
|
5
23
|
* Format string with parameters
|
|
6
|
-
* @param this
|
|
24
|
+
* @param this Input template
|
|
7
25
|
* @param parameters Parameters to fill the template
|
|
8
26
|
*/
|
|
9
27
|
format(this: string, ...parameters: string[]): string;
|
package/lib/mjs/Utils.js
CHANGED
|
@@ -9,6 +9,18 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import { DataTypes } from './DataTypes';
|
|
11
11
|
import isEqual from 'lodash.isequal';
|
|
12
|
+
String.prototype.containChinese = function () {
|
|
13
|
+
const regExp = /[\u3040-\u30ff\u3400-\u4dbf\u4e00-\u9fff\uf900-\ufaff\uff66-\uff9f]/g;
|
|
14
|
+
return regExp.test(this);
|
|
15
|
+
};
|
|
16
|
+
String.prototype.containKorean = function () {
|
|
17
|
+
const regExp = /[\uac00-\ud7af\u1100-\u11ff\u3130-\u318f\ua960-\ua97f\ud7b0-\ud7ff\u3400-\u4dbf]/g;
|
|
18
|
+
return regExp.test(this);
|
|
19
|
+
};
|
|
20
|
+
String.prototype.containJapanese = function () {
|
|
21
|
+
const regExp = /[\u3040-\u309f\u30a0-\u30ff\uff00-\uff9f\u4e00-\u9faf]/g;
|
|
22
|
+
return regExp.test(this);
|
|
23
|
+
};
|
|
12
24
|
String.prototype.format = function (...parameters) {
|
|
13
25
|
let template = this;
|
|
14
26
|
parameters.forEach((value, index) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@etsoo/shared",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.89",
|
|
4
4
|
"description": "TypeScript shared utilities and functions",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/mjs/index.js",
|
|
@@ -54,12 +54,12 @@
|
|
|
54
54
|
},
|
|
55
55
|
"homepage": "https://github.com/ETSOO/Shared#readme",
|
|
56
56
|
"devDependencies": {
|
|
57
|
-
"@types/jest": "^29.
|
|
57
|
+
"@types/jest": "^29.4.0",
|
|
58
58
|
"@types/lodash.isequal": "^4.5.6",
|
|
59
|
-
"jest": "^29.3
|
|
60
|
-
"jest-environment-jsdom": "^29.3
|
|
61
|
-
"ts-jest": "^29.0.
|
|
62
|
-
"typescript": "^4.9.
|
|
59
|
+
"jest": "^29.4.3",
|
|
60
|
+
"jest-environment-jsdom": "^29.4.3",
|
|
61
|
+
"ts-jest": "^29.0.5",
|
|
62
|
+
"typescript": "^4.9.5"
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
65
|
"lodash.isequal": "^4.5.0"
|
package/src/Utils.ts
CHANGED
|
@@ -3,9 +3,30 @@ import isEqual from 'lodash.isequal';
|
|
|
3
3
|
|
|
4
4
|
declare global {
|
|
5
5
|
interface String {
|
|
6
|
+
/**
|
|
7
|
+
* Check the input string contains Chinese character or not
|
|
8
|
+
* @param this Input
|
|
9
|
+
* @param test Test string
|
|
10
|
+
*/
|
|
11
|
+
containChinese(this: string): boolean;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Check the input string contains Korean character or not
|
|
15
|
+
* @param this Input
|
|
16
|
+
* @param test Test string
|
|
17
|
+
*/
|
|
18
|
+
containKorean(this: string): boolean;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Check the input string contains Japanese character or not
|
|
22
|
+
* @param this Input
|
|
23
|
+
* @param test Test string
|
|
24
|
+
*/
|
|
25
|
+
containJapanese(this: string): boolean;
|
|
26
|
+
|
|
6
27
|
/**
|
|
7
28
|
* Format string with parameters
|
|
8
|
-
* @param this
|
|
29
|
+
* @param this Input template
|
|
9
30
|
* @param parameters Parameters to fill the template
|
|
10
31
|
*/
|
|
11
32
|
format(this: string, ...parameters: string[]): string;
|
|
@@ -51,6 +72,23 @@ declare global {
|
|
|
51
72
|
}
|
|
52
73
|
}
|
|
53
74
|
|
|
75
|
+
String.prototype.containChinese = function (this: string): boolean {
|
|
76
|
+
const regExp =
|
|
77
|
+
/[\u3040-\u30ff\u3400-\u4dbf\u4e00-\u9fff\uf900-\ufaff\uff66-\uff9f]/g;
|
|
78
|
+
return regExp.test(this);
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
String.prototype.containKorean = function (this: string): boolean {
|
|
82
|
+
const regExp =
|
|
83
|
+
/[\uac00-\ud7af\u1100-\u11ff\u3130-\u318f\ua960-\ua97f\ud7b0-\ud7ff\u3400-\u4dbf]/g;
|
|
84
|
+
return regExp.test(this);
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
String.prototype.containJapanese = function (this: string): boolean {
|
|
88
|
+
const regExp = /[\u3040-\u309f\u30a0-\u30ff\uff00-\uff9f\u4e00-\u9faf]/g;
|
|
89
|
+
return regExp.test(this);
|
|
90
|
+
};
|
|
91
|
+
|
|
54
92
|
String.prototype.format = function (
|
|
55
93
|
this: string,
|
|
56
94
|
...parameters: string[]
|