vrack2-core 1.0.3 → 1.0.4
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 +9 -1
- package/lib/errors/ErrorManager.d.ts +12 -0
- package/lib/errors/ErrorManager.js +34 -3
- package/lib/validator/types/BasicType.d.ts +6 -0
- package/lib/validator/types/BasicType.js +9 -0
- package/package.json +1 -1
- package/src/errors/ErrorManager.ts +32 -2
- package/src/validator/types/BasicType.ts +10 -0
package/README.md
CHANGED
|
@@ -9,7 +9,15 @@ VRack2 Core
|
|
|
9
9
|
|
|
10
10
|
--------
|
|
11
11
|
|
|
12
|
-
### Последнее
|
|
12
|
+
### Последнее обновление 1.0.4
|
|
13
|
+
|
|
14
|
+
- `BasicType` (класс `Rule`) `require()` deprecated - используем `required()`
|
|
15
|
+
- **ErrorManager** - Теперь не создаёт ошибку при повторной регистрации с одинаковыми параметрами
|
|
16
|
+
- Добавлены методы в **ErrorManager**
|
|
17
|
+
- isCode(error: any, code: string) - Проверяет является ли ошибка VRack2 Error и соответсвует ли код переданной ошибке (проверяет vShort и vCode)
|
|
18
|
+
- isError(error: any) - Проверяет - пренадлежит ли объект ошибки CoreError
|
|
19
|
+
|
|
20
|
+
### Обновление 1.0.3
|
|
13
21
|
|
|
14
22
|
- Теперь порты `DevicePort` имеют ссылки на устройство своего владельца `Device`
|
|
15
23
|
- Добавлено свойство meta внутри контейнера для хранения дополнительной информации
|
|
@@ -34,6 +34,18 @@ declare class ErrorManager {
|
|
|
34
34
|
* @param error Ошибка для преобразования
|
|
35
35
|
*/
|
|
36
36
|
convert(error: any): any;
|
|
37
|
+
/**
|
|
38
|
+
* Проверяет является ли ошибка VRack2 Error
|
|
39
|
+
* и соответсвует ли код переданной ошибке (проверяет vShort и vCode)
|
|
40
|
+
*/
|
|
41
|
+
isCode(error: any, code: string): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Проверяет - пренадлежит объект ошибки VRack2 Error
|
|
44
|
+
*
|
|
45
|
+
* Это не обязательно должен быть класс CoreError но и
|
|
46
|
+
* любой сериализированный класс ошибки VRack2
|
|
47
|
+
*/
|
|
48
|
+
isError(error: any): boolean;
|
|
37
49
|
/**
|
|
38
50
|
* Searches for an error by code or short
|
|
39
51
|
*
|
|
@@ -31,8 +31,15 @@ class ErrorManager {
|
|
|
31
31
|
register(name, code, short, description, rules = {}) {
|
|
32
32
|
const reg1 = this.getRegistered(code);
|
|
33
33
|
const reg2 = this.getRegistered(short);
|
|
34
|
-
if (reg1 !== null || reg2 !== null)
|
|
35
|
-
|
|
34
|
+
if (reg1 !== null || reg2 !== null) {
|
|
35
|
+
// Если уже есть идентичная запись - просто игнорим
|
|
36
|
+
if ((reg1 === null || reg1 === void 0 ? void 0 : reg1.code) === (reg2 === null || reg2 === void 0 ? void 0 : reg2.code) && (reg1 === null || reg1 === void 0 ? void 0 : reg1.short) === (reg2 === null || reg2 === void 0 ? void 0 : reg2.short)) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
throw this.make('EM_CODE_EXISTS', { code, short });
|
|
41
|
+
}
|
|
42
|
+
}
|
|
36
43
|
const nr = { name, code, short, description, rules };
|
|
37
44
|
this.registeredList.push(nr);
|
|
38
45
|
}
|
|
@@ -66,6 +73,30 @@ class ErrorManager {
|
|
|
66
73
|
ne.import(error);
|
|
67
74
|
return ne;
|
|
68
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Проверяет является ли ошибка VRack2 Error
|
|
78
|
+
* и соответсвует ли код переданной ошибке (проверяет vShort и vCode)
|
|
79
|
+
*/
|
|
80
|
+
isCode(error, code) {
|
|
81
|
+
if (!this.isError(error))
|
|
82
|
+
return false;
|
|
83
|
+
if (error.vShort === code || error.vCode === code)
|
|
84
|
+
return true;
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Проверяет - пренадлежит объект ошибки VRack2 Error
|
|
89
|
+
*
|
|
90
|
+
* Это не обязательно должен быть класс CoreError но и
|
|
91
|
+
* любой сериализированный класс ошибки VRack2
|
|
92
|
+
*/
|
|
93
|
+
isError(error) {
|
|
94
|
+
if (error instanceof CoreError_1.default)
|
|
95
|
+
return true;
|
|
96
|
+
if (error.vError && error.vCode !== undefined && error.vShort !== undefined)
|
|
97
|
+
return true;
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
69
100
|
/**
|
|
70
101
|
* Searches for an error by code or short
|
|
71
102
|
*
|
|
@@ -79,7 +110,7 @@ class ErrorManager {
|
|
|
79
110
|
}
|
|
80
111
|
}
|
|
81
112
|
const GlobalErrorManager = new ErrorManager();
|
|
82
|
-
GlobalErrorManager.register('ErrorManager', 'NcZIb9QvQRcq', 'EM_CODE_EXISTS', '
|
|
113
|
+
GlobalErrorManager.register('ErrorManager', 'NcZIb9QvQRcq', 'EM_CODE_EXISTS', 'Has anyone else encountered this error code? Possible duplication of the error code and short word in different registrations.');
|
|
83
114
|
GlobalErrorManager.register('ErrorManager', 'uLYv4mE1Yo50', 'EM_CODE_NOT_FOUND', 'No such error found');
|
|
84
115
|
GlobalErrorManager.register('ErrorManager', 'RIl3BUrxWOzP', 'EM_ERROR_CONVERT', 'Converted error');
|
|
85
116
|
exports.default = GlobalErrorManager;
|
|
@@ -2,6 +2,12 @@ import IValidationRule from "../IValidationRule";
|
|
|
2
2
|
export default class BasicType {
|
|
3
3
|
protected rule: IValidationRule;
|
|
4
4
|
constructor();
|
|
5
|
+
required(): this;
|
|
6
|
+
/**
|
|
7
|
+
* Вскоре будет удален
|
|
8
|
+
* @see required
|
|
9
|
+
* @deprecated use required()
|
|
10
|
+
*/
|
|
5
11
|
require(): this;
|
|
6
12
|
/**
|
|
7
13
|
* Example of a valid value for this rule
|
|
@@ -20,6 +20,15 @@ class BasicType {
|
|
|
20
20
|
message: '',
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
|
+
required() {
|
|
24
|
+
this.rule.require = true;
|
|
25
|
+
return this;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Вскоре будет удален
|
|
29
|
+
* @see required
|
|
30
|
+
* @deprecated use required()
|
|
31
|
+
*/
|
|
23
32
|
require() {
|
|
24
33
|
this.rule.require = true;
|
|
25
34
|
return this;
|
package/package.json
CHANGED
|
@@ -49,7 +49,14 @@ class ErrorManager {
|
|
|
49
49
|
register(name: string, code: string, short: string, description: string, rules: { [key: string]: BasicType } = {}) {
|
|
50
50
|
const reg1 = this.getRegistered(code)
|
|
51
51
|
const reg2 = this.getRegistered(short)
|
|
52
|
-
if (reg1 !== null || reg2 !== null)
|
|
52
|
+
if (reg1 !== null || reg2 !== null) {
|
|
53
|
+
// Если уже есть идентичная запись - просто игнорим
|
|
54
|
+
if (reg1?.code === reg2?.code && reg1?.short === reg2?.short){
|
|
55
|
+
return
|
|
56
|
+
}else {
|
|
57
|
+
throw this.make('EM_CODE_EXISTS', { code, short })
|
|
58
|
+
}
|
|
59
|
+
}
|
|
53
60
|
const nr = { name, code, short, description, rules }
|
|
54
61
|
this.registeredList.push(nr)
|
|
55
62
|
}
|
|
@@ -74,6 +81,7 @@ class ErrorManager {
|
|
|
74
81
|
return Object.assign(ne, additional)
|
|
75
82
|
}
|
|
76
83
|
|
|
84
|
+
|
|
77
85
|
/**
|
|
78
86
|
* Converts a normal error to a VRack error
|
|
79
87
|
*
|
|
@@ -86,6 +94,28 @@ class ErrorManager {
|
|
|
86
94
|
return ne
|
|
87
95
|
}
|
|
88
96
|
|
|
97
|
+
/**
|
|
98
|
+
* Проверяет является ли ошибка VRack2 Error
|
|
99
|
+
* и соответсвует ли код переданной ошибке (проверяет vShort и vCode)
|
|
100
|
+
*/
|
|
101
|
+
isCode(error: any, code: string){
|
|
102
|
+
if (!this.isError(error)) return false
|
|
103
|
+
if (error.vShort === code || error.vCode === code) return true
|
|
104
|
+
return false
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Проверяет - пренадлежит объект ошибки VRack2 Error
|
|
109
|
+
*
|
|
110
|
+
* Это не обязательно должен быть класс CoreError но и
|
|
111
|
+
* любой сериализированный класс ошибки VRack2
|
|
112
|
+
*/
|
|
113
|
+
isError(error: any){
|
|
114
|
+
if (error instanceof CoreError) return true
|
|
115
|
+
if (error.vError && error.vCode !== undefined && error.vShort !== undefined) return true
|
|
116
|
+
return false
|
|
117
|
+
}
|
|
118
|
+
|
|
89
119
|
/**
|
|
90
120
|
* Searches for an error by code or short
|
|
91
121
|
*
|
|
@@ -100,7 +130,7 @@ class ErrorManager {
|
|
|
100
130
|
|
|
101
131
|
|
|
102
132
|
const GlobalErrorManager = new ErrorManager()
|
|
103
|
-
GlobalErrorManager.register('ErrorManager', 'NcZIb9QvQRcq', 'EM_CODE_EXISTS', '
|
|
133
|
+
GlobalErrorManager.register('ErrorManager', 'NcZIb9QvQRcq', 'EM_CODE_EXISTS', 'Has anyone else encountered this error code? Possible duplication of the error code and short word in different registrations.')
|
|
104
134
|
GlobalErrorManager.register('ErrorManager', 'uLYv4mE1Yo50', 'EM_CODE_NOT_FOUND', 'No such error found')
|
|
105
135
|
GlobalErrorManager.register('ErrorManager', 'RIl3BUrxWOzP', 'EM_ERROR_CONVERT', 'Converted error')
|
|
106
136
|
export default GlobalErrorManager
|
|
@@ -21,6 +21,16 @@ export default class BasicType {
|
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
required(){
|
|
25
|
+
this.rule.require = true
|
|
26
|
+
return this
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Вскоре будет удален
|
|
31
|
+
* @see required
|
|
32
|
+
* @deprecated use required()
|
|
33
|
+
*/
|
|
24
34
|
require(){
|
|
25
35
|
this.rule.require = true
|
|
26
36
|
return this
|