@kk-garden/shared 1.0.1 → 1.0.3
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/dist/errors/app-error.d.ts +16 -0
- package/dist/errors/app-error.d.ts.map +1 -0
- package/dist/errors/app-error.js +18 -0
- package/dist/errors/app-error.js.map +1 -0
- package/dist/errors/handle-error.d.ts +3 -0
- package/dist/errors/handle-error.d.ts.map +1 -0
- package/dist/errors/handle-error.js +34 -0
- package/dist/errors/handle-error.js.map +1 -0
- package/dist/errors/index.d.ts +4 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +3 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/success-data.d.ts +10 -0
- package/dist/errors/success-data.d.ts.map +1 -0
- package/dist/errors/success-data.js +2 -0
- package/dist/errors/success-data.js.map +1 -0
- package/package.json +5 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { DataObject } from "./success-data";
|
|
2
|
+
export type AppErrorConfig = {
|
|
3
|
+
message: string;
|
|
4
|
+
status?: number;
|
|
5
|
+
context?: DataObject;
|
|
6
|
+
error?: Error;
|
|
7
|
+
};
|
|
8
|
+
export declare class AppError extends Error {
|
|
9
|
+
status?: number;
|
|
10
|
+
context?: DataObject;
|
|
11
|
+
error?: Error;
|
|
12
|
+
get isServer(): boolean;
|
|
13
|
+
get isClient(): boolean;
|
|
14
|
+
constructor({ status, message, context, error }: AppErrorConfig);
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=app-error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-error.d.ts","sourceRoot":"","sources":["../../src/errors/app-error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAE/C,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAEF,qBAAa,QAAS,SAAQ,KAAK;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;gBAEW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,cAAc;CAMhE"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export class AppError extends Error {
|
|
2
|
+
status;
|
|
3
|
+
context;
|
|
4
|
+
error;
|
|
5
|
+
get isServer() {
|
|
6
|
+
return !!(this.status && this.status > 500 && this.status < 600);
|
|
7
|
+
}
|
|
8
|
+
get isClient() {
|
|
9
|
+
return !!(this.status && this.status >= 400 && this.status < 500);
|
|
10
|
+
}
|
|
11
|
+
constructor({ status, message, context, error }) {
|
|
12
|
+
super(message);
|
|
13
|
+
this.status = status;
|
|
14
|
+
this.context = context;
|
|
15
|
+
this.error = error;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=app-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-error.js","sourceRoot":"","sources":["../../src/errors/app-error.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,MAAM,CAAU;IAChB,OAAO,CAAc;IACrB,KAAK,CAAS;IAEd,IAAI,QAAQ;QACV,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;IACpE,CAAC;IAED,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAkB;QAC7D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handle-error.d.ts","sourceRoot":"","sources":["../../src/errors/handle-error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAG5D,eAAO,MAAM,WAAW,GAAI,IAAI,SAAS,UAAU,GAAG,UAAU,EAAE,GAAG,OAAO,KAAG,WAAW,CAAC,KAAK,EAAE,IAAI,CA0BrG,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { AppError } from "./app-error";
|
|
2
|
+
export const handleError = (e) => {
|
|
3
|
+
let statusCode = 0;
|
|
4
|
+
let message = 'Unknown error';
|
|
5
|
+
if (e instanceof Error) {
|
|
6
|
+
message = `${e.message}`;
|
|
7
|
+
return { success: false, errors: [new AppError({ message, status: 0, context: JSON.stringify(e) })] };
|
|
8
|
+
}
|
|
9
|
+
if (e && typeof e === 'object') {
|
|
10
|
+
if ('code' in e) {
|
|
11
|
+
statusCode = parseInt(e.code);
|
|
12
|
+
}
|
|
13
|
+
else if ('status' in e) {
|
|
14
|
+
statusCode = parseInt(e.status);
|
|
15
|
+
}
|
|
16
|
+
else if ('statusCode' in e) {
|
|
17
|
+
statusCode = parseInt(e.statusCode);
|
|
18
|
+
}
|
|
19
|
+
if ('data' in e) {
|
|
20
|
+
message = JSON.stringify(e.data);
|
|
21
|
+
}
|
|
22
|
+
else if ('description' in e) {
|
|
23
|
+
message = JSON.stringify(e.description);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
message = JSON.stringify(e);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
else if (e && typeof e === 'string') {
|
|
30
|
+
message = e;
|
|
31
|
+
}
|
|
32
|
+
return { success: false, errors: [new AppError({ message, status: statusCode, context: JSON.stringify(e) })] };
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=handle-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handle-error.js","sourceRoot":"","sources":["../../src/errors/handle-error.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AAErC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAuC,CAAU,EAA4B,EAAE;IACxG,IAAI,UAAU,GAAW,CAAC,CAAC;IAC3B,IAAI,OAAO,GAAW,eAAe,CAAC;IACtC,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;QACvB,OAAO,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACxG,CAAC;IACD,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC/B,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAChB,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAc,CAAC,CAAC;QAC1C,CAAC;aAAM,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YACzB,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAgB,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;YAC7B,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAoB,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAChB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,GAAG,CAAC,CAAC;IACd,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACjH,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAuB,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { AppError } from "./app-error";
|
|
2
|
+
export type DataObject = string | object;
|
|
3
|
+
export type SuccessData<T extends boolean, Data extends DataObject = DataObject> = {
|
|
4
|
+
success: T;
|
|
5
|
+
data?: Data;
|
|
6
|
+
} & (T extends false ? {
|
|
7
|
+
errors: AppError[];
|
|
8
|
+
} : object);
|
|
9
|
+
export type SuccessDataAny<Data extends DataObject = DataObject> = SuccessData<true, Data> | SuccessData<false, Data>;
|
|
10
|
+
//# sourceMappingURL=success-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"success-data.d.ts","sourceRoot":"","sources":["../../src/errors/success-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AAE1C,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzC,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,SAAS,UAAU,GAAG,UAAU,IAAI;IACjF,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,CAAC,EAAE,IAAI,CAAC;CACb,GAAG,CAAC,CAAC,SAAS,KAAK,GAAG;IAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;CAAE,GAAG,MAAM,CAAC,CAAC;AAExD,MAAM,MAAM,cAAc,CAAC,IAAI,SAAS,UAAU,GAAG,UAAU,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"success-data.js","sourceRoot":"","sources":["../../src/errors/success-data.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kk-garden/shared",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "Kiryl Kartsialeu EN69783 diploma project shared package",
|
|
5
5
|
"author": "Kiryl Kartsialeu",
|
|
6
6
|
"type": "module",
|
|
@@ -27,6 +27,10 @@
|
|
|
27
27
|
"./types": {
|
|
28
28
|
"types": "./dist/types/index.d.ts",
|
|
29
29
|
"default": "./dist/types/index.js"
|
|
30
|
+
},
|
|
31
|
+
"./errors": {
|
|
32
|
+
"types": "./dist/errors/index.d.ts",
|
|
33
|
+
"default": "./dist/errors/index.js"
|
|
30
34
|
}
|
|
31
35
|
},
|
|
32
36
|
"files": [
|