@jayfong/x-server 2.2.15 → 2.3.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.
- package/lib/_cjs/cli/build_util.js +1 -0
- package/lib/_cjs/cli/cli.js +2 -1
- package/lib/_cjs/cli/deploy_util.js +1 -1
- package/lib/_cjs/services/sensitive_words.js +18 -2
- package/lib/cli/api_generator.d.ts +1 -1
- package/lib/cli/build_util.js +1 -0
- package/lib/cli/cli.js +2 -1
- package/lib/cli/deploy_util.d.ts +1 -0
- package/lib/cli/deploy_util.js +1 -1
- package/lib/core/define_bus.d.ts +6 -6
- package/lib/core/types.d.ts +1 -1
- package/lib/services/cache.d.ts +5 -5
- package/lib/services/log.d.ts +3 -3
- package/lib/services/sensitive_words.d.ts +4 -0
- package/lib/services/sensitive_words.js +17 -2
- package/lib/types/index.d.ts +6 -6
- package/package.json +3 -3
package/lib/_cjs/cli/cli.js
CHANGED
|
@@ -49,7 +49,7 @@ class DeployUtil {
|
|
|
49
49
|
cd ${appDir}/dist
|
|
50
50
|
[ -f no_install.lock ] && yarn_disable_self_update_check=true tyn
|
|
51
51
|
${options.cmd || ''}
|
|
52
|
-
pm2 startOrReload pm2.config.js
|
|
52
|
+
${options.memory ? `PM2_MEMORY=${options.memory} ` : ''}pm2 startOrReload pm2.config.js
|
|
53
53
|
`, {
|
|
54
54
|
cwd: options.cwd,
|
|
55
55
|
onStdout: buf => console.log(buf.toString()),
|
|
@@ -7,6 +7,8 @@ exports.SensitiveWordsService = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _mintFilter = _interopRequireDefault(require("mint-filter"));
|
|
9
9
|
|
|
10
|
+
var _vtils = require("vtils");
|
|
11
|
+
|
|
10
12
|
/**
|
|
11
13
|
* 敏感词服务。
|
|
12
14
|
*/
|
|
@@ -16,6 +18,20 @@ class SensitiveWordsService {
|
|
|
16
18
|
this.serviceName = 'sensitiveWords';
|
|
17
19
|
this.mint = void 0;
|
|
18
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* 文本转换。
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
transform(text) {
|
|
27
|
+
return (// 移除空白字符
|
|
28
|
+
(0, _vtils.removeBlankChars)( // 移除非单词字符
|
|
29
|
+
(0, _vtils.removeNonWordChars)( // 全角转半角
|
|
30
|
+
(0, _vtils.toHalfWidthString)(text))) // 转小写
|
|
31
|
+
.toLowerCase() // 叠词归一
|
|
32
|
+
.replace(/(.)\1+/g, '$1')
|
|
33
|
+
);
|
|
34
|
+
}
|
|
19
35
|
/**
|
|
20
36
|
* 处理文本,敏感词将被替换为 * 号。
|
|
21
37
|
*/
|
|
@@ -26,7 +42,7 @@ class SensitiveWordsService {
|
|
|
26
42
|
this.mint = new _mintFilter.default(this.options.words);
|
|
27
43
|
}
|
|
28
44
|
|
|
29
|
-
const res = await this.mint.filter(text, {
|
|
45
|
+
const res = await this.mint.filter(this.transform(text), {
|
|
30
46
|
every: true,
|
|
31
47
|
replace: true,
|
|
32
48
|
words: false
|
|
@@ -43,7 +59,7 @@ class SensitiveWordsService {
|
|
|
43
59
|
this.mint = new _mintFilter.default(this.options.words);
|
|
44
60
|
}
|
|
45
61
|
|
|
46
|
-
const res = await this.mint.filter(text, {
|
|
62
|
+
const res = await this.mint.filter(this.transform(text), {
|
|
47
63
|
replace: false,
|
|
48
64
|
every: !!every,
|
|
49
65
|
words: true
|
package/lib/cli/build_util.js
CHANGED
package/lib/cli/cli.js
CHANGED
package/lib/cli/deploy_util.d.ts
CHANGED
package/lib/cli/deploy_util.js
CHANGED
|
@@ -37,7 +37,7 @@ export class DeployUtil {
|
|
|
37
37
|
cd ${appDir}/dist
|
|
38
38
|
[ -f no_install.lock ] && yarn_disable_self_update_check=true tyn
|
|
39
39
|
${options.cmd || ''}
|
|
40
|
-
pm2 startOrReload pm2.config.js
|
|
40
|
+
${options.memory ? `PM2_MEMORY=${options.memory} ` : ''}pm2 startOrReload pm2.config.js
|
|
41
41
|
`, {
|
|
42
42
|
cwd: options.cwd,
|
|
43
43
|
onStdout: buf => console.log(buf.toString()),
|
package/lib/core/define_bus.d.ts
CHANGED
|
@@ -10,10 +10,10 @@ interface TypeRecord<T, U, V> {
|
|
|
10
10
|
' _eventsType'?: U;
|
|
11
11
|
' _emitType'?: V;
|
|
12
12
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
type InnerEEMethodReturnType<T, TValue, FValue> = T extends (...args: any[]) => any ? ReturnType<T> extends void | undefined ? FValue : TValue : FValue;
|
|
14
|
+
type EEMethodReturnType<T, S extends string, TValue, FValue = void> = S extends keyof T ? InnerEEMethodReturnType<T[S], TValue, FValue> : FValue;
|
|
15
|
+
type ListenerType<T> = [T] extends [(...args: infer U) => any] ? U : [T] extends [void] ? [] : [T];
|
|
16
|
+
type OverriddenMethods<TEmitter, TEventRecord, TEmitRecord = TEventRecord> = {
|
|
17
17
|
on<P extends keyof TEventRecord, T>(this: T, event: P, listener: (...args: ListenerType<TEventRecord[P]>) => void): EEMethodReturnType<TEmitter, 'on', T>;
|
|
18
18
|
on(event: typeof assignmentCompatibilityHack, listener: (...args: any[]) => any): void;
|
|
19
19
|
addListener<P extends keyof TEventRecord, T>(this: T, event: P, listener: (...args: ListenerType<TEventRecord[P]>) => void): EEMethodReturnType<TEmitter, 'addListener', T>;
|
|
@@ -33,6 +33,6 @@ declare type OverriddenMethods<TEmitter, TEventRecord, TEmitRecord = TEventRecor
|
|
|
33
33
|
onReturnOff<P extends keyof TEventRecord, T>(this: T, event: P, listener: (...args: ListenerType<TEventRecord[P]>) => void): () => any;
|
|
34
34
|
onReturnOff(event: typeof assignmentCompatibilityHack, listener: (...args: any[]) => any): () => any;
|
|
35
35
|
};
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
type OverriddenKeys = keyof OverriddenMethods<any, any, any>;
|
|
37
|
+
type StrictEventEmitter<TEmitterType, TEventRecord, TEmitRecord = TEventRecord, UnneededMethods extends Exclude<OverriddenKeys, keyof TEmitterType> = Exclude<OverriddenKeys, keyof TEmitterType>, NeededMethods extends Exclude<OverriddenKeys, UnneededMethods> = Exclude<OverriddenKeys, UnneededMethods>> = TypeRecord<TEmitterType, TEventRecord, TEmitRecord> & Pick<TEmitterType, Exclude<keyof TEmitterType, OverriddenKeys>> & Pick<OverriddenMethods<TEmitterType, TEventRecord, TEmitRecord>, NeededMethods>;
|
|
38
38
|
export {};
|
package/lib/core/types.d.ts
CHANGED
package/lib/services/cache.d.ts
CHANGED
|
@@ -5,17 +5,17 @@ export interface CacheServiceOptions {
|
|
|
5
5
|
/** 默认过期时间 */
|
|
6
6
|
ttl: MsValue;
|
|
7
7
|
}
|
|
8
|
-
|
|
8
|
+
type Data = {
|
|
9
9
|
[K in string]: (...args: any[]) => any;
|
|
10
10
|
};
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
type Key<T extends Data> = keyof T;
|
|
12
|
+
type KeyPath<T extends Data> = {
|
|
13
13
|
[K in keyof T]: T[K] extends (...args: infer X) => any ? IsEmptyArray<X> extends true ? K : [K, ...X] : never;
|
|
14
14
|
}[keyof T];
|
|
15
|
-
|
|
15
|
+
type KeyPathForNumberValue<T extends Data> = {
|
|
16
16
|
[K in keyof T]: T[K] extends (...args: infer X) => number ? IsEmptyArray<X> extends true ? K : [K, ...X] : never;
|
|
17
17
|
}[keyof T];
|
|
18
|
-
|
|
18
|
+
type Value<T extends Data, P extends KeyPath<T>> = ReturnType<T[P extends any[] ? P[0] : P]>;
|
|
19
19
|
export declare class CacheService<TData extends Data = Data, TKey extends Key<TData> = any, TKeyPath extends KeyPath<TData> = any, TKeyPathForNumberValue extends KeyPathForNumberValue<TData> = any> implements BaseService {
|
|
20
20
|
options: CacheServiceOptions;
|
|
21
21
|
serviceName: string;
|
package/lib/services/log.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { BaseService } from './base';
|
|
2
|
-
export
|
|
3
|
-
export
|
|
2
|
+
export type LogServiceLevel = 'error' | 'info' | 'success';
|
|
3
|
+
export type LogServicePayload = {
|
|
4
4
|
level: LogServiceLevel;
|
|
5
5
|
title: string;
|
|
6
6
|
desc?: Record<string, any>;
|
|
7
7
|
};
|
|
8
|
-
export
|
|
8
|
+
export type LogServicePayloadWithTime = LogServicePayload & {
|
|
9
9
|
time: string;
|
|
10
10
|
};
|
|
11
11
|
export declare class LogService implements BaseService {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import Mint from 'mint-filter';
|
|
2
|
+
import { removeBlankChars, removeNonWordChars, toHalfWidthString } from 'vtils';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* 敏感词服务。
|
|
@@ -9,6 +10,20 @@ export class SensitiveWordsService {
|
|
|
9
10
|
this.serviceName = 'sensitiveWords';
|
|
10
11
|
this.mint = void 0;
|
|
11
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* 文本转换。
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
transform(text) {
|
|
19
|
+
return (// 移除空白字符
|
|
20
|
+
removeBlankChars( // 移除非单词字符
|
|
21
|
+
removeNonWordChars( // 全角转半角
|
|
22
|
+
toHalfWidthString(text))) // 转小写
|
|
23
|
+
.toLowerCase() // 叠词归一
|
|
24
|
+
.replace(/(.)\1+/g, '$1')
|
|
25
|
+
);
|
|
26
|
+
}
|
|
12
27
|
/**
|
|
13
28
|
* 处理文本,敏感词将被替换为 * 号。
|
|
14
29
|
*/
|
|
@@ -19,7 +34,7 @@ export class SensitiveWordsService {
|
|
|
19
34
|
this.mint = new Mint(this.options.words);
|
|
20
35
|
}
|
|
21
36
|
|
|
22
|
-
const res = await this.mint.filter(text, {
|
|
37
|
+
const res = await this.mint.filter(this.transform(text), {
|
|
23
38
|
every: true,
|
|
24
39
|
replace: true,
|
|
25
40
|
words: false
|
|
@@ -36,7 +51,7 @@ export class SensitiveWordsService {
|
|
|
36
51
|
this.mint = new Mint(this.options.words);
|
|
37
52
|
}
|
|
38
53
|
|
|
39
|
-
const res = await this.mint.filter(text, {
|
|
54
|
+
const res = await this.mint.filter(this.transform(text), {
|
|
40
55
|
replace: false,
|
|
41
56
|
every: !!every,
|
|
42
57
|
words: true
|
package/lib/types/index.d.ts
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { OmitStrict, PartialBy, RequiredBy, RequiredDeep, Simplify } from 'vtils/types';
|
|
2
|
-
export
|
|
2
|
+
export type MakeDtoRequired<TRawData extends Record<any, any>, TPickKey extends keyof TRawData = never, TPartialKey extends keyof Pick<RequiredDeep<TRawData>, [
|
|
3
3
|
TPickKey
|
|
4
4
|
] extends [never] ? keyof TRawData : TPickKey> = never> = Simplify<PartialBy<Pick<RequiredDeep<TRawData>, [
|
|
5
5
|
TPickKey
|
|
6
6
|
] extends [never] ? keyof TRawData : TPickKey>, TPartialKey>>;
|
|
7
|
-
export
|
|
7
|
+
export type MakeDtoPartial<TRawData extends Record<any, any>, TPickKey extends keyof TRawData = never, TRequiredKey extends keyof Pick<Partial<TRawData>, [
|
|
8
8
|
TPickKey
|
|
9
9
|
] extends [never] ? keyof TRawData : TPickKey> = never> = Simplify<RequiredBy<Pick<Partial<TRawData>, [
|
|
10
10
|
TPickKey
|
|
11
11
|
] extends [never] ? keyof TRawData : TPickKey>, TRequiredKey>>;
|
|
12
|
-
export
|
|
12
|
+
export type MakeDtoExcludeRequired<TRawData extends Record<any, any>, TExcludeKey extends keyof TRawData = never, TPartialKey extends keyof Omit<RequiredDeep<TRawData>, [
|
|
13
13
|
TExcludeKey
|
|
14
14
|
] extends [never] ? never : TExcludeKey> = never> = Simplify<PartialBy<Omit<RequiredDeep<TRawData>, [
|
|
15
15
|
TExcludeKey
|
|
16
16
|
] extends [never] ? never : TExcludeKey>, TPartialKey>>;
|
|
17
|
-
export
|
|
17
|
+
export type MakeDtoExcludePartial<TRawData extends Record<any, any>, TExcludeKey extends keyof TRawData = never, TRequiredKey extends keyof Omit<Partial<TRawData>, [
|
|
18
18
|
TExcludeKey
|
|
19
19
|
] extends [never] ? never : TExcludeKey> = never> = Simplify<RequiredBy<Omit<Partial<TRawData>, [
|
|
20
20
|
TExcludeKey
|
|
21
21
|
] extends [never] ? never : TExcludeKey>, TRequiredKey>>;
|
|
22
|
-
export
|
|
23
|
-
export
|
|
22
|
+
export type MakeDtoExclude<T, K extends keyof T> = OmitStrict<T, K>;
|
|
23
|
+
export type MakeDtoInclude<T, K extends keyof T> = Pick<T, K>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jayfong/x-server",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0",
|
|
4
4
|
"license": "ISC",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "lib/_cjs/index.js",
|
|
@@ -88,9 +88,9 @@
|
|
|
88
88
|
"jest": "^27.5.1",
|
|
89
89
|
"lint-staged": "^10.5.4",
|
|
90
90
|
"npm-check-updates": "^12.5.9",
|
|
91
|
-
"prettier": "^2.
|
|
91
|
+
"prettier": "^2.8.8",
|
|
92
92
|
"standard-version": "^9.3.2",
|
|
93
|
-
"typescript": "^
|
|
93
|
+
"typescript": "^5.0.4",
|
|
94
94
|
"typescript-snapshots-plugin": "^1.7.0"
|
|
95
95
|
},
|
|
96
96
|
"publishConfig": {
|