@emoyly/problem 4.1.8 → 4.1.9
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/LICENSE +21 -0
- package/dist/README.md +59 -0
- package/dist/SECURITY.md +12 -0
- package/dist/defaults/4xx.d.ts +147 -0
- package/dist/defaults/4xx.js +151 -0
- package/dist/defaults/5xx.d.ts +57 -0
- package/dist/defaults/5xx.js +61 -0
- package/dist/defaults/aws.d.ts +12 -0
- package/dist/defaults/aws.js +16 -0
- package/dist/defaults/cloudflare.d.ts +47 -0
- package/dist/defaults/cloudflare.js +52 -0
- package/dist/defaults/iis.d.ts +17 -0
- package/dist/defaults/iis.js +21 -0
- package/dist/defaults/index.d.ts +7 -0
- package/dist/defaults/index.js +17 -0
- package/dist/defaults/nginx.d.ts +32 -0
- package/dist/defaults/nginx.js +36 -0
- package/dist/defaults/others.d.ts +37 -0
- package/dist/defaults/others.js +40 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +34 -0
- package/dist/middleware/axios.d.ts +13 -0
- package/dist/middleware/axios.js +36 -0
- package/dist/middleware/base.d.ts +24 -0
- package/dist/middleware/base.js +49 -0
- package/dist/middleware/express.d.ts +19 -0
- package/dist/middleware/express.js +57 -0
- package/dist/package.json +45 -0
- package/dist/parsers/axios.d.ts +3 -0
- package/dist/parsers/axios.js +39 -0
- package/dist/parsers/http.d.ts +3 -0
- package/dist/parsers/http.js +15 -0
- package/dist/parsers/jsonwebtoken.d.ts +3 -0
- package/dist/parsers/jsonwebtoken.js +96 -0
- package/dist/parsers/mikroorm.d.ts +3 -0
- package/dist/parsers/mikroorm.js +15 -0
- package/dist/parsers/tsoa.d.ts +3 -0
- package/dist/parsers/tsoa.js +17 -0
- package/dist/problem.d.ts +13 -0
- package/dist/problem.js +50 -0
- package/dist/tsconfig.tsbuildinfo +3797 -0
- package/dist/typings/events.d.ts +2 -0
- package/dist/typings/events.js +2 -0
- package/dist/typings/index.d.ts +5 -0
- package/dist/typings/index.js +17 -0
- package/dist/typings/middleware.d.ts +9 -0
- package/dist/typings/middleware.js +2 -0
- package/dist/typings/misc.d.ts +3 -0
- package/dist/typings/misc.js +2 -0
- package/dist/typings/parser.d.ts +9 -0
- package/dist/typings/parser.js +2 -0
- package/dist/typings/problem.d.ts +23 -0
- package/dist/typings/problem.js +12 -0
- package/dist/util/events.d.ts +16 -0
- package/dist/util/events.js +29 -0
- package/dist/util/getProblems.d.ts +5 -0
- package/dist/util/getProblems.js +45 -0
- package/dist/util/version.d.ts +3 -0
- package/dist/util/version.js +20 -0
- package/dist/yarn.lock +2076 -0
- package/package.json +4 -4
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tsoa_1 = require("tsoa");
|
|
4
|
+
const problem_1 = require("../problem");
|
|
5
|
+
const others_1 = require("../defaults/others");
|
|
6
|
+
const parse = (input) => {
|
|
7
|
+
if (!(input instanceof tsoa_1.ValidateError)) {
|
|
8
|
+
return [];
|
|
9
|
+
}
|
|
10
|
+
// TODO: Give actual useful responses instead of this shit
|
|
11
|
+
return [
|
|
12
|
+
new problem_1.Problem(Object.assign(Object.assign({}, others_1.otherErrors.inputValidationError), { 'detail': input.message, 'status': input.status, 'data': {
|
|
13
|
+
'fields': input.fields,
|
|
14
|
+
} }))
|
|
15
|
+
];
|
|
16
|
+
};
|
|
17
|
+
exports.default = parse;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IProblem, ProblemOpts, JsonProblem } from './typings/problem';
|
|
2
|
+
export declare class Problem extends Error implements IProblem {
|
|
3
|
+
type: string;
|
|
4
|
+
title: string;
|
|
5
|
+
status: number;
|
|
6
|
+
detail: string;
|
|
7
|
+
instance: string;
|
|
8
|
+
errorObject?: unknown;
|
|
9
|
+
__problemVersion: string;
|
|
10
|
+
data: any;
|
|
11
|
+
constructor({ type, title, status, detail, instance, stack, errorObject, data }: ProblemOpts);
|
|
12
|
+
toObject: () => JsonProblem;
|
|
13
|
+
}
|
package/dist/problem.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Problem = void 0;
|
|
4
|
+
const version_1 = require("./util/version");
|
|
5
|
+
class Problem extends Error {
|
|
6
|
+
constructor({ type, title, status, detail, instance, stack, errorObject, data }) {
|
|
7
|
+
var _a;
|
|
8
|
+
super((_a = detail !== null && detail !== void 0 ? detail : title) !== null && _a !== void 0 ? _a : 'HTTP Problem Details');
|
|
9
|
+
this.type = '/errors/default/unknown';
|
|
10
|
+
this.title = 'Unknown error';
|
|
11
|
+
this.status = 500;
|
|
12
|
+
this.detail = 'No extended details are available';
|
|
13
|
+
this.instance = '/unknown';
|
|
14
|
+
this.__problemVersion = version_1.version;
|
|
15
|
+
this.data = undefined;
|
|
16
|
+
this.toObject = () => {
|
|
17
|
+
return {
|
|
18
|
+
'type': this.type,
|
|
19
|
+
'title': this.title,
|
|
20
|
+
'status': this.status,
|
|
21
|
+
'detail': this.detail,
|
|
22
|
+
'instance': this.instance,
|
|
23
|
+
'__problemVersion': this.__problemVersion,
|
|
24
|
+
'data': this.data
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
// TODO: Figure out why i wrote this?
|
|
28
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
29
|
+
this.type = type;
|
|
30
|
+
this.title = title;
|
|
31
|
+
this.status = status;
|
|
32
|
+
if (detail)
|
|
33
|
+
this.detail = detail;
|
|
34
|
+
if (instance)
|
|
35
|
+
this.instance = instance;
|
|
36
|
+
if (errorObject)
|
|
37
|
+
this.errorObject = errorObject;
|
|
38
|
+
if (stack) {
|
|
39
|
+
this.stack = stack;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
// capture stack trace
|
|
43
|
+
// TODO: This seems to often cause issues. Figure out why??
|
|
44
|
+
this.stack = new Error().stack;
|
|
45
|
+
}
|
|
46
|
+
if (data)
|
|
47
|
+
this.data = data;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.Problem = Problem;
|