@jakubmazanec/error 1.0.0-next.dd30e61 → 1.0.1-5b1b7ef

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/constants.ts"],"sourcesContent":["export const ERROR_MESSAGE_TOKEN_PATTERN = /\\{(\\d+)\\}/gu;\n\nexport const UNKNOWN_ERROR = 'UNKNOWN_ERROR';\n\nexport const INTERNAL_ERROR_MESSAGES = {\n [UNKNOWN_ERROR]: 'An unknown error has occurred.',\n};\n"],"names":["ERROR_MESSAGE_TOKEN_PATTERN","UNKNOWN_ERROR","INTERNAL_ERROR_MESSAGES"],"mappings":"AAAA,OAAO,MAAMA,2BAA2B,gBAAgB,CAAC;AAEzD,OAAO,MAAMC,aAAa,GAAG,eAAe,CAAC;AAE7C,OAAO,MAAMC,uBAAuB,GAAG;IACrC,CAACD,aAAa,CAAC,EAAE,gCAAgC;CAClD,CAAC"}
1
+ {"version":3,"sources":["../src/constants.ts"],"sourcesContent":["export const ERROR_MESSAGE_TOKEN_PATTERN = /\\{(\\d+)\\}/gu;\n\nexport const UNKNOWN_ERROR = 'UNKNOWN_ERROR';\n\nexport const INTERNAL_ERROR_MESSAGES = {\n [UNKNOWN_ERROR]: 'An unknown error has occurred.',\n};\n"],"names":["ERROR_MESSAGE_TOKEN_PATTERN","UNKNOWN_ERROR","INTERNAL_ERROR_MESSAGES"],"mappings":"AAAA,OAAO,MAAMA,8BAA8B,cAAc;AAEzD,OAAO,MAAMC,gBAAgB,gBAAgB;AAE7C,OAAO,MAAMC,0BAA0B;IACrC,CAACD,cAAc,EAAE;AACnB,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/createCustomError.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any -- needed */\nimport {ERROR_MESSAGE_TOKEN_PATTERN, INTERNAL_ERROR_MESSAGES, UNKNOWN_ERROR} from './constants.js';\nimport type {CustomError, ErrorMessages} from './types.js';\n\nfunction createErrorMessage<T extends string>(\n errorCode: T,\n errorMessages: ErrorMessages<T>,\n messageParameters: unknown[] = [],\n): string {\n let errorMessage = errorMessages[errorCode];\n\n if (!errorMessage) {\n return '';\n }\n\n return `${errorCode}: ${errorMessage.replace(\n ERROR_MESSAGE_TOKEN_PATTERN,\n (match: string, index: number) => String(messageParameters[index]),\n )}`;\n}\n\nexport interface CustomErrorOptions<T> {\n messageParameters?: unknown[];\n data: T;\n}\n\n/**\n * Function for creating custom error classes. Such custom error class properly subclasses built-in `Error`, simplifies\n * generating error messages via predefined error codes and allows attaching custom data to the error instance.\n */\nexport function createCustomError<\n ErrorCode extends string,\n // eslint-disable-next-line @typescript-eslint/no-redeclare -- because `ErrorData` is used only as a type, we don't mind\n ErrorData extends abstract new (...args: any) => any,\n>(\n errorName: string,\n errorMessages: ErrorMessages<ErrorCode>,\n ErrorData?: ErrorData,\n): new (code: ErrorCode, options?: CustomErrorOptions<InstanceType<ErrorData>>) => CustomError<\n ErrorCode | typeof UNKNOWN_ERROR,\n InstanceType<ErrorData>\n> {\n return class InternalCustomError\n extends Error\n implements CustomError<ErrorCode, InstanceType<ErrorData>>\n {\n code: ErrorCode | typeof UNKNOWN_ERROR;\n data?: InstanceType<ErrorData>;\n\n constructor(errorCode: ErrorCode, options?: CustomErrorOptions<InstanceType<ErrorData>>) {\n super(createErrorMessage(errorCode, errorMessages, options?.messageParameters));\n\n this.code = errorCode;\n this.name = errorName;\n\n if (typeof options?.data !== 'undefined') {\n this.data = options.data;\n }\n\n // if the message is empty, we are making this an unknown error\n if (!this.message) {\n this.code = UNKNOWN_ERROR;\n this.message = createErrorMessage(UNKNOWN_ERROR, INTERNAL_ERROR_MESSAGES);\n }\n }\n };\n}\n"],"names":["ERROR_MESSAGE_TOKEN_PATTERN","INTERNAL_ERROR_MESSAGES","UNKNOWN_ERROR","createErrorMessage","errorCode","errorMessages","messageParameters","errorMessage","replace","match","index","String","createCustomError","errorName","ErrorData","InternalCustomError","Error","constructor","options","code","name","data","message"],"mappings":"AAAA,iEAAiE,CACjE,SAAQA,2BAA2B,EAAEC,uBAAuB,EAAEC,aAAa,QAAO,gBAAgB,CAAC;AAGnG,SAASC,kBAAkB,CACzBC,SAAY,EACZC,aAA+B,EAC/BC,iBAA4B,GAAG,EAAE,EACzB;IACR,IAAIC,YAAY,GAAGF,aAAa,CAACD,SAAS,CAAC,AAAC;IAE5C,IAAI,CAACG,YAAY,EAAE;QACjB,OAAO,EAAE,CAAC;KACX;IAED,OAAO,CAAC,EAAEH,SAAS,CAAC,EAAE,EAAEG,YAAY,CAACC,OAAO,CAC1CR,2BAA2B,EAC3B,CAACS,KAAa,EAAEC,KAAa,GAAKC,MAAM,CAACL,iBAAiB,CAACI,KAAK,CAAC,CAAC,CACnE,CAAC,CAAC,CAAC;CACL;AAOD;;;GAGG,CACH,OAAO,SAASE,iBAAiB,CAK/BC,SAAiB,EACjBR,aAAuC,EACvCS,SAAqB,EAIrB;IACA,OAAO,MAAMC,mBAAmB,SACtBC,KAAK;QAMbC,YAAYb,SAAoB,EAAEc,OAAqD,CAAE;YACvF,KAAK,CAACf,kBAAkB,CAACC,SAAS,EAAEC,aAAa,EAAEa,OAAO,aAAPA,OAAO,WAAmB,GAA1BA,KAAAA,CAA0B,GAA1BA,OAAO,CAAEZ,iBAAiB,CAAC,CAAC,CAAC;YAEhF,IAAI,CAACa,IAAI,GAAGf,SAAS,CAAC;YACtB,IAAI,CAACgB,IAAI,GAAGP,SAAS,CAAC;YAEtB,IAAI,OAAOK,CAAAA,OAAO,aAAPA,OAAO,WAAM,GAAbA,KAAAA,CAAa,GAAbA,OAAO,CAAEG,IAAI,CAAA,KAAK,WAAW,EAAE;gBACxC,IAAI,CAACA,IAAI,GAAGH,OAAO,CAACG,IAAI,CAAC;aAC1B;YAED,+DAA+D;YAC/D,IAAI,CAAC,IAAI,CAACC,OAAO,EAAE;gBACjB,IAAI,CAACH,IAAI,GAAGjB,aAAa,CAAC;gBAC1B,IAAI,CAACoB,OAAO,GAAGnB,kBAAkB,CAACD,aAAa,EAAED,uBAAuB,CAAC,CAAC;aAC3E;SACF;KACF,CAAC;CACH"}
1
+ {"version":3,"sources":["../src/createCustomError.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any -- needed */\nimport {ERROR_MESSAGE_TOKEN_PATTERN, INTERNAL_ERROR_MESSAGES, UNKNOWN_ERROR} from './constants.js';\nimport type {CustomError, ErrorMessages} from './types.js';\n\nfunction createErrorMessage<T extends string>(\n errorCode: T,\n errorMessages: ErrorMessages<T>,\n messageParameters: unknown[] = [],\n): string {\n let errorMessage = errorMessages[errorCode];\n\n if (!errorMessage) {\n return '';\n }\n\n return `${errorCode}: ${errorMessage.replace(\n ERROR_MESSAGE_TOKEN_PATTERN,\n (match: string, index: number) => String(messageParameters[index]),\n )}`;\n}\n\nexport interface CustomErrorOptions<T> {\n messageParameters?: unknown[];\n data: T;\n}\n\n/**\n * Function for creating custom error classes. Such custom error class properly subclasses built-in `Error`, simplifies\n * generating error messages via predefined error codes and allows attaching custom data to the error instance.\n */\nexport function createCustomError<\n ErrorCode extends string,\n // eslint-disable-next-line @typescript-eslint/no-redeclare -- because `ErrorData` is used only as a type, we don't mind\n ErrorData extends abstract new (...args: any) => any,\n>(\n errorName: string,\n errorMessages: ErrorMessages<ErrorCode>,\n ErrorData?: ErrorData,\n): new (code: ErrorCode, options?: CustomErrorOptions<InstanceType<ErrorData>>) => CustomError<\n ErrorCode | typeof UNKNOWN_ERROR,\n InstanceType<ErrorData>\n> {\n return class InternalCustomError\n extends Error\n implements CustomError<ErrorCode, InstanceType<ErrorData>>\n {\n code: ErrorCode | typeof UNKNOWN_ERROR;\n data?: InstanceType<ErrorData>;\n\n constructor(errorCode: ErrorCode, options?: CustomErrorOptions<InstanceType<ErrorData>>) {\n super(createErrorMessage(errorCode, errorMessages, options?.messageParameters));\n\n this.code = errorCode;\n this.name = errorName;\n\n if (typeof options?.data !== 'undefined') {\n this.data = options.data;\n }\n\n // if the message is empty, we are making this an unknown error\n if (!this.message) {\n this.code = UNKNOWN_ERROR;\n this.message = createErrorMessage(UNKNOWN_ERROR, INTERNAL_ERROR_MESSAGES);\n }\n }\n };\n}\n"],"names":["ERROR_MESSAGE_TOKEN_PATTERN","INTERNAL_ERROR_MESSAGES","UNKNOWN_ERROR","createErrorMessage","errorCode","errorMessages","messageParameters","errorMessage","replace","match","index","String","createCustomError","errorName","ErrorData","InternalCustomError","Error","constructor","options","code","name","data","message"],"mappings":"AAAA,+DAA+D,GAC/D,SAAQA,2BAA2B,EAAEC,uBAAuB,EAAEC,aAAa,QAAO,iBAAiB;AAGnG,SAASC,mBACPC,SAAY,EACZC,aAA+B,EAC/BC,oBAA+B,EAAE,EACzB;IACR,IAAIC,eAAeF,aAAa,CAACD,UAAU;IAE3C,IAAI,CAACG,cAAc;QACjB,OAAO;IACT,CAAC;IAED,OAAO,CAAC,EAAEH,UAAU,EAAE,EAAEG,aAAaC,OAAO,CAC1CR,6BACA,CAACS,OAAeC,QAAkBC,OAAOL,iBAAiB,CAACI,MAAM,GACjE,CAAC;AACL;AAOA;;;CAGC,GACD,OAAO,SAASE,kBAKdC,SAAiB,EACjBR,aAAuC,EACvCS,SAAqB,EAIrB;IACA,OAAO,MAAMC,4BACHC;QAMRC,YAAYb,SAAoB,EAAEc,OAAqD,CAAE;YACvF,KAAK,CAACf,mBAAmBC,WAAWC,eAAea,oBAAAA,qBAAAA,KAAAA,IAAAA,QAASZ,iBAAiB;YAE7E,IAAI,CAACa,IAAI,GAAGf;YACZ,IAAI,CAACgB,IAAI,GAAGP;YAEZ,IAAI,OAAOK,CAAAA,oBAAAA,qBAAAA,KAAAA,IAAAA,QAASG,IAAI,AAAD,MAAM,aAAa;gBACxC,IAAI,CAACA,IAAI,GAAGH,QAAQG,IAAI;YAC1B,CAAC;YAED,+DAA+D;YAC/D,IAAI,CAAC,IAAI,CAACC,OAAO,EAAE;gBACjB,IAAI,CAACH,IAAI,GAAGjB;gBACZ,IAAI,CAACoB,OAAO,GAAGnB,mBAAmBD,eAAeD;YACnD,CAAC;QACH;IACF;AACF,CAAC"}
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.ts"],"sourcesContent":["export * from './createCustomError.js';\nexport * from './types.js';\n"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"sources":["../src/main.ts"],"sourcesContent":["export * from './createCustomError.js';\nexport * from './types.js';\n"],"names":[],"mappings":"AAAA,cAAc,yBAAyB;AACvC,cAAc,aAAa"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/types/ErrorMessages.ts"],"sourcesContent":["/**\n * Object type whose property keys are `ErrorCode` and whose property values are `string`.\n */\nexport type ErrorMessages<ErrorCode extends string> = Record<ErrorCode, string>;\n"],"names":[],"mappings":"AAAA;;GAEG,CACH,WAAgF"}
1
+ {"version":3,"sources":["../../src/types/ErrorMessages.ts"],"sourcesContent":["/**\n * Object type whose property keys are `ErrorCode` and whose property values are `string`.\n */\nexport type ErrorMessages<ErrorCode extends string> = Record<ErrorCode, string>;\n"],"names":[],"mappings":"AAAA;;CAEC,GACD,WAAgF"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/types.ts"],"sourcesContent":["export * from './types/CustomError.js';\nexport * from './types/ErrorMessages.js';\n"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"sources":["../src/types.ts"],"sourcesContent":["export * from './types/CustomError.js';\nexport * from './types/ErrorMessages.js';\n"],"names":[],"mappings":"AAAA,cAAc,yBAAyB;AACvC,cAAc,2BAA2B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jakubmazanec/error",
3
- "version": "1.0.0-next.dd30e61",
3
+ "version": "1.0.1-5b1b7ef",
4
4
  "description": "Collection of utilities for creating and handling errors.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -28,8 +28,8 @@
28
28
  "devDependencies": {
29
29
  "@jest/globals": "^28.1.3"
30
30
  },
31
- "packageManager": "npm@8.11.0",
31
+ "packageManager": "npm@8.19.2",
32
32
  "engines": {
33
- "node": ">=16.15.0"
33
+ "node": ">=16.18.1"
34
34
  }
35
35
  }