@prairielearn/error 2.0.11 → 2.0.13
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/CHANGELOG.md +13 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/src/index.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @prairielearn/error
|
|
2
2
|
|
|
3
|
+
## 2.0.13
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 82f9c2f: Upgrade all JavaScript dependencies
|
|
8
|
+
|
|
9
|
+
## 2.0.12
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- c24120e: Minor changes to reduce dependency on lodash
|
|
14
|
+
- 03f1008: Upgrade all JavaScript dependencies
|
|
15
|
+
|
|
3
16
|
## 2.0.11
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
package/dist/index.js
CHANGED
|
@@ -21,7 +21,7 @@ export function makeWithInfo(message, info) {
|
|
|
21
21
|
export function addData(err, data) {
|
|
22
22
|
const newErr = (_.isError(err) ? err : new Error(String(err)));
|
|
23
23
|
newErr.data = newErr.data || {};
|
|
24
|
-
|
|
24
|
+
Object.assign(newErr.data, data);
|
|
25
25
|
return newErr;
|
|
26
26
|
}
|
|
27
27
|
export function newMessage(err, newMsg) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,OAAO,EAAuB,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAqBrE,MAAM,UAAU,IAAI,CAAC,MAAc,EAAE,OAAe,EAAE,IAAU;IAC9D,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,OAAO,CAA2B,CAAC;IACzD,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,IAAI;QAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;IAC1B,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,IAAS;IACrD,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,OAAO,CAAkB,CAAC;IAChD,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;IAChB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,IAAY;IACxD,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,OAAO,CAAkB,CAAC;IAChD,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;IAChB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAQ,EAAE,IAAS;IACzC,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAkB,CAAC;IAChF,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;IAChC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import _ from 'lodash';\n\nimport { type HtmlSafeString } from '@prairielearn/html';\n\nexport { formatErrorStack, formatErrorStackSafe } from './format.js';\n\ninterface ErrorWithData extends Error {\n data: any;\n}\n\ninterface ErrorWithInfo extends Error {\n info: string;\n}\n\ninterface ErrorWithStatus extends Error {\n status: number;\n}\n\ninterface ErrorWithStatusAndData extends ErrorWithData, ErrorWithStatus {}\n\n// TODO: rename all functions include \"error\" in the name so that they can\n// be more easily imported as named imports.\n\nexport function make(status: number, message: string): ErrorWithStatus;\nexport function make(status: number, message: string, data: any): ErrorWithStatusAndData;\nexport function make(status: number, message: string, data?: any): ErrorWithStatusAndData {\n const err = new Error(message) as ErrorWithStatusAndData;\n err.status = status;\n if (data) err.data = data;\n return err;\n}\n\nexport function makeWithData(message: string, data: any): ErrorWithData {\n const err = new Error(message) as ErrorWithData;\n err.data = data;\n return err;\n}\n\nexport function makeWithInfo(message: string, info: string): ErrorWithInfo {\n const err = new Error(message) as ErrorWithInfo;\n err.info = info;\n return err;\n}\n\nexport function addData(err: any, data: any): ErrorWithData {\n const newErr = (_.isError(err) ? err : new Error(String(err))) as ErrorWithData;\n newErr.data = newErr.data || {};\n Object.assign(newErr.data, data);\n return newErr;\n}\n\nexport function newMessage(err: any, newMsg: string): ErrorWithData {\n const newErr = (_.isError(err) ? err : new Error(String(err))) as ErrorWithData;\n newErr.data = newErr.data || {};\n newErr.data._previousMessages = newErr.data._previousMessages || [];\n newErr.data._previousMessages.splice(0, 0, newErr.message);\n newErr.message = `${newMsg}: ${newErr.message}`;\n return newErr;\n}\n\n/**\n * Create a new error based an existing one, optionally adding status, message,\n * and/or data. The existing error will be set as the `cause` of the new error.\n *\n * @param err An existing error.\n * @param param.status Status code to set on the new error.\n * @param param.message Message to add to the new error.\n * @param param.data Data to set on the new error.\n * @returns The augmented error.\n */\nexport function augmentError(\n err: any,\n { status, message, data }: { status?: number; message?: string; data?: any },\n): ErrorWithStatusAndData {\n let newErr: ErrorWithStatusAndData;\n if (err instanceof Error) {\n const combinedMessage = message ? `${message}: ${err.message}` : err.message;\n newErr = new Error(combinedMessage, { cause: err }) as ErrorWithStatusAndData;\n } else {\n newErr = new Error(message ?? String(err)) as ErrorWithStatusAndData;\n }\n newErr.status = status ?? 500;\n newErr.data = data;\n return newErr;\n}\n\nexport interface AugmentedErrorOptions {\n status?: number;\n data?: any;\n info?: HtmlSafeString;\n cause?: unknown;\n}\n\nexport class AugmentedError extends Error {\n status: number;\n data?: any;\n info?: string;\n\n constructor(message: string, options: AugmentedErrorOptions) {\n super(message, { cause: options.cause });\n this.status = options.status ?? 500;\n this.data = options.data;\n this.info = options.info?.toString();\n }\n}\n\nexport class HttpStatusError extends Error {\n status: number;\n\n constructor(status: number, message: string) {\n super(message);\n this.status = status;\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prairielearn/error",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.13",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -17,15 +17,15 @@
|
|
|
17
17
|
"lodash": "^4.17.21"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
|
-
"@prairielearn/html": "^4.0.
|
|
20
|
+
"@prairielearn/html": "^4.0.13",
|
|
21
21
|
"@prairielearn/tsconfig": "^0.0.0",
|
|
22
22
|
"@types/mocha": "^10.0.10",
|
|
23
|
-
"@types/node": "^20.17.
|
|
23
|
+
"@types/node": "^20.17.30",
|
|
24
24
|
"c8": "^10.1.3",
|
|
25
25
|
"chai": "^5.2.0",
|
|
26
26
|
"mocha": "^11.1.0",
|
|
27
27
|
"tsx": "^4.19.3",
|
|
28
|
-
"typescript": "^5.8.
|
|
28
|
+
"typescript": "^5.8.3"
|
|
29
29
|
},
|
|
30
30
|
"c8": {
|
|
31
31
|
"reporter": [
|
package/src/index.ts
CHANGED
|
@@ -45,7 +45,7 @@ export function makeWithInfo(message: string, info: string): ErrorWithInfo {
|
|
|
45
45
|
export function addData(err: any, data: any): ErrorWithData {
|
|
46
46
|
const newErr = (_.isError(err) ? err : new Error(String(err))) as ErrorWithData;
|
|
47
47
|
newErr.data = newErr.data || {};
|
|
48
|
-
|
|
48
|
+
Object.assign(newErr.data, data);
|
|
49
49
|
return newErr;
|
|
50
50
|
}
|
|
51
51
|
|