@dxos/errors 0.1.58-next.3349da8 → 0.7.5-labs.e27f9b9

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 CHANGED
@@ -1,21 +1 @@
1
- # @dxos/errors
2
-
3
- Error definitions and utilities.
4
-
5
- ## Installation
6
-
7
- ```bash
8
- pnpm i @dxos/errors
9
- ```
10
-
11
- ## DXOS Resources
12
-
13
- - [Website](https://dxos.org)
14
- - [Developer Documentation](https://docs.dxos.org)
15
- - Talk to us on [Discord](https://discord.gg/eXVfryv3sW)
16
-
17
- ## Contributions
18
-
19
- Your ideas, issues, and code are most welcome. Please take a look at our [community code of conduct](https://github.com/dxos/dxos/blob/main/CODE_OF_CONDUCT.md), the [issue guide](https://github.com/dxos/dxos/blob/main/CONTRIBUTING.md#submitting-issues), and the [PR contribution guide](https://github.com/dxos/dxos/blob/main/CONTRIBUTING.md#submitting-prs).
20
-
21
- License: [MIT](./LICENSE) Copyright 2022 © DXOS
1
+ # errors
@@ -1,84 +1,54 @@
1
- // packages/sdk/errors/src/errors.ts
2
- var BaseError = class extends Error {
3
- constructor(code, message, context) {
4
- super(message ? `${code}: ${message}` : code.toString());
5
- this.code = code;
6
- this.context = context;
1
+ // packages/common/errors/src/base.ts
2
+ var BaseError = class _BaseError extends Error {
3
+ static extend(code) {
4
+ return class extends _BaseError {
5
+ static {
6
+ this.code = code;
7
+ }
8
+ static is(error) {
9
+ return typeof error === "object" && error !== null && "code" in error && error.code === code;
10
+ }
11
+ constructor(message, options) {
12
+ super(code, message, options);
13
+ }
14
+ };
15
+ }
16
+ #code;
17
+ #context;
18
+ constructor(code, message, options) {
19
+ super(message, options);
20
+ this.#code = code;
21
+ this.#context = options?.context ?? {};
7
22
  Object.setPrototypeOf(this, new.target.prototype);
8
23
  }
9
- };
10
- var ApiError = class extends BaseError {
11
- };
12
- var SystemError = class extends BaseError {
13
- };
14
- var CancelledError = class extends SystemError {
15
- constructor(message, context) {
16
- super("CANCELLED", message, context);
17
- }
18
- };
19
- var InvalidConfigError = class extends ApiError {
20
- constructor(message, context) {
21
- super("INVALID_CONFIG", message, context);
22
- }
23
- };
24
- var RemoteServiceConnectionError = class extends ApiError {
25
- constructor(message, context) {
26
- super("REMOTE_SERVICE_CONNECTION_ERROR", message, context);
27
- }
28
- };
29
- var RemoteServiceConnectionTimeout = class extends ApiError {
30
- constructor(message, context) {
31
- super("REMOTE_SERVICE_CONNECTION_TIMEOUT", message, context);
24
+ get name() {
25
+ return this.#code;
32
26
  }
33
- };
34
- var DataCorruptionError = class extends SystemError {
35
- constructor(message, context) {
36
- super("DATA_CORRUPTION", message, context);
27
+ get code() {
28
+ return this.#code;
37
29
  }
38
- };
39
- var InvalidInvitationExtensionRoleError = class extends SystemError {
40
- constructor(message, context) {
41
- super("INVALID_INVITATION_EXTENSION_ROLE", message, context);
30
+ get context() {
31
+ return this.#context;
42
32
  }
43
33
  };
44
- var ConnectionResetError = class extends BaseError {
45
- constructor(message, context) {
46
- super("ConnectionResetError", message, context);
47
- }
34
+
35
+ // packages/common/errors/src/errors.ts
36
+ var TimeoutError = class extends BaseError.extend("TIMEOUT") {
48
37
  };
49
- var TimeoutError = class extends BaseError {
50
- constructor(message, context) {
51
- super("TimeoutError", message, context);
52
- }
38
+ var AbortedError = class extends BaseError.extend("ABORTED") {
53
39
  };
54
- var ProtocolError = class extends BaseError {
55
- constructor(message, context) {
56
- super("ProtocolError: general protocol error", message, context);
57
- }
40
+ var UnimplementedError = class extends BaseError.extend("UNIMPLEMENTED") {
58
41
  };
59
- var ConnectivityError = class extends BaseError {
60
- constructor(message, context) {
61
- super("ConnectivityError", message, context);
62
- }
42
+ var ApiError = class extends BaseError.extend("API_ERROR") {
63
43
  };
64
- var UnknownProtocolError = class extends BaseError {
65
- constructor(message, innerError) {
66
- super("UnknownProtocolError", message, innerError);
67
- }
44
+ var SystemError = class extends BaseError.extend("SYSTEM_ERROR") {
68
45
  };
69
46
  export {
47
+ AbortedError,
70
48
  ApiError,
71
- CancelledError,
72
- ConnectionResetError,
73
- ConnectivityError,
74
- DataCorruptionError,
75
- InvalidConfigError,
76
- InvalidInvitationExtensionRoleError,
77
- ProtocolError,
78
- RemoteServiceConnectionError,
79
- RemoteServiceConnectionTimeout,
49
+ BaseError,
80
50
  SystemError,
81
51
  TimeoutError,
82
- UnknownProtocolError
52
+ UnimplementedError
83
53
  };
84
54
  //# sourceMappingURL=index.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/errors.ts"],
4
- "sourcesContent": ["//\n// Copyright 2021 DXOS.org\n//\n\n/**\n * NOTE: Messages should be sentences (Start with a capital letter and end with a period).\n * Errors can optionally include a JSON context object.\n */\nclass BaseError extends Error {\n constructor(readonly code: string, message?: string, readonly context?: any) {\n super(message ? `${code}: ${message}` : code.toString());\n // NOTE: Restores prototype chain (https://stackoverflow.com/a/48342359).\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n\n/**\n * User facing API Errors.\n * E.g., something was misconfigured.\n */\nexport class ApiError extends BaseError {}\n\n/**\n * Internal system errors.\n * E.g., unexpected/unrecoverable runtime error.\n */\nexport class SystemError extends BaseError {}\n\nexport class CancelledError extends SystemError {\n constructor(message?: string, context?: any) {\n super('CANCELLED', message, context);\n }\n}\n\nexport class InvalidConfigError extends ApiError {\n constructor(message: string, context?: any) {\n super('INVALID_CONFIG', message, context);\n }\n}\n\n/**\n * Explicit failure to connect with remote client services.\n */\nexport class RemoteServiceConnectionError extends ApiError {\n constructor(message?: string, context?: any) {\n super('REMOTE_SERVICE_CONNECTION_ERROR', message, context);\n }\n}\n\n/**\n * Failed to open a connection to remote client services.\n */\nexport class RemoteServiceConnectionTimeout extends ApiError {\n constructor(message?: string, context?: any) {\n super('REMOTE_SERVICE_CONNECTION_TIMEOUT', message, context);\n }\n}\n\nexport class DataCorruptionError extends SystemError {\n constructor(message?: string, context?: any) {\n super('DATA_CORRUPTION', message, context);\n }\n}\n\nexport class InvalidInvitationExtensionRoleError extends SystemError {\n constructor(message?: string, context?: any) {\n super('INVALID_INVITATION_EXTENSION_ROLE', message, context);\n }\n}\n\nexport class ConnectionResetError extends BaseError {\n constructor(message?: string, context?: any) {\n super('ConnectionResetError', message, context);\n }\n}\n\nexport class TimeoutError extends BaseError {\n constructor(message?: string, context?: any) {\n super('TimeoutError', message, context);\n }\n}\n\n// general protocol error\nexport class ProtocolError extends BaseError {\n constructor(message?: string, context?: any) {\n super('ProtocolError: general protocol error', message, context);\n }\n}\n\n// general connectivity errors\nexport class ConnectivityError extends BaseError {\n constructor(message?: string, context?: any) {\n super('ConnectivityError', message, context);\n }\n}\n\n// TODO(nf): rename? the protocol isn't what's unknown...\nexport class UnknownProtocolError extends BaseError {\n constructor(message?: string, innerError?: Error) {\n super('UnknownProtocolError', message, innerError);\n }\n}\n"],
5
- "mappings": ";AAQA,IAAMA,YAAN,cAAwBC,MAAAA;EACtBC,YAAqBC,MAAcC,SAA2BC,SAAe;AAC3E,UAAMD,UAAU,GAAGD,IAAAA,KAASC,OAAAA,KAAYD,KAAKG,SAAQ,CAAA;gBADlCH;mBAAyCE;AAG5DE,WAAOC,eAAe,MAAM,WAAWC,SAAS;EAClD;AACF;AAMO,IAAMC,WAAN,cAAuBV,UAAAA;AAAW;AAMlC,IAAMW,cAAN,cAA0BX,UAAAA;AAAW;AAErC,IAAMY,iBAAN,cAA6BD,YAAAA;EAClCT,YAAYE,SAAkBC,SAAe;AAC3C,UAAM,aAAaD,SAASC,OAAAA;EAC9B;AACF;AAEO,IAAMQ,qBAAN,cAAiCH,SAAAA;EACtCR,YAAYE,SAAiBC,SAAe;AAC1C,UAAM,kBAAkBD,SAASC,OAAAA;EACnC;AACF;AAKO,IAAMS,+BAAN,cAA2CJ,SAAAA;EAChDR,YAAYE,SAAkBC,SAAe;AAC3C,UAAM,mCAAmCD,SAASC,OAAAA;EACpD;AACF;AAKO,IAAMU,iCAAN,cAA6CL,SAAAA;EAClDR,YAAYE,SAAkBC,SAAe;AAC3C,UAAM,qCAAqCD,SAASC,OAAAA;EACtD;AACF;AAEO,IAAMW,sBAAN,cAAkCL,YAAAA;EACvCT,YAAYE,SAAkBC,SAAe;AAC3C,UAAM,mBAAmBD,SAASC,OAAAA;EACpC;AACF;AAEO,IAAMY,sCAAN,cAAkDN,YAAAA;EACvDT,YAAYE,SAAkBC,SAAe;AAC3C,UAAM,qCAAqCD,SAASC,OAAAA;EACtD;AACF;AAEO,IAAMa,uBAAN,cAAmClB,UAAAA;EACxCE,YAAYE,SAAkBC,SAAe;AAC3C,UAAM,wBAAwBD,SAASC,OAAAA;EACzC;AACF;AAEO,IAAMc,eAAN,cAA2BnB,UAAAA;EAChCE,YAAYE,SAAkBC,SAAe;AAC3C,UAAM,gBAAgBD,SAASC,OAAAA;EACjC;AACF;AAGO,IAAMe,gBAAN,cAA4BpB,UAAAA;EACjCE,YAAYE,SAAkBC,SAAe;AAC3C,UAAM,yCAAyCD,SAASC,OAAAA;EAC1D;AACF;AAGO,IAAMgB,oBAAN,cAAgCrB,UAAAA;EACrCE,YAAYE,SAAkBC,SAAe;AAC3C,UAAM,qBAAqBD,SAASC,OAAAA;EACtC;AACF;AAGO,IAAMiB,uBAAN,cAAmCtB,UAAAA;EACxCE,YAAYE,SAAkBmB,YAAoB;AAChD,UAAM,wBAAwBnB,SAASmB,UAAAA;EACzC;AACF;",
6
- "names": ["BaseError", "Error", "constructor", "code", "message", "context", "toString", "Object", "setPrototypeOf", "prototype", "ApiError", "SystemError", "CancelledError", "InvalidConfigError", "RemoteServiceConnectionError", "RemoteServiceConnectionTimeout", "DataCorruptionError", "InvalidInvitationExtensionRoleError", "ConnectionResetError", "TimeoutError", "ProtocolError", "ConnectivityError", "UnknownProtocolError", "innerError"]
3
+ "sources": ["../../../src/base.ts", "../../../src/errors.ts"],
4
+ "sourcesContent": ["export type BaseErrorOptions = {\n /**\n * The cause of the error.\n * An instance of Error.\n */\n cause?: unknown;\n\n /**\n * Structured details about the error.\n */\n context?: Record<string, unknown>;\n};\n\nexport class BaseError extends Error {\n static extend(code: string) {\n return class extends BaseError {\n static code = code;\n\n static is(error: unknown): error is BaseError {\n return typeof error === 'object' && error !== null && 'code' in error && error.code === code;\n }\n\n constructor(message: string, options?: BaseErrorOptions) {\n super(code, message, options);\n }\n };\n }\n\n #code: string;\n #context: Record<string, unknown>;\n\n constructor(code: string, message: string, options?: BaseErrorOptions) {\n super(message, options);\n\n this.#code = code;\n this.#context = options?.context ?? {};\n Object.setPrototypeOf(this, new.target.prototype);\n }\n\n override get name() {\n return this.#code;\n }\n\n get code() {\n return this.#code;\n }\n\n get context() {\n return this.#context;\n }\n}\n", "import { BaseError } from './base';\n\nexport class TimeoutError extends BaseError.extend('TIMEOUT') {}\n\nexport class AbortedError extends BaseError.extend('ABORTED') {}\n\nexport class UnimplementedError extends BaseError.extend('UNIMPLEMENTED') {}\n\nexport class ApiError extends BaseError.extend('API_ERROR') {}\n\nexport class SystemError extends BaseError.extend('SYSTEM_ERROR') {}\n"],
5
+ "mappings": ";AAaO,IAAMA,YAAN,MAAMA,mBAAkBC,MAAAA;EAC7B,OAAOC,OAAOC,MAAc;AAC1B,WAAO,cAAcH,WAAAA;MACnB;aAAOG,OAAOA;;MAEd,OAAOC,GAAGC,OAAoC;AAC5C,eAAO,OAAOA,UAAU,YAAYA,UAAU,QAAQ,UAAUA,SAASA,MAAMF,SAASA;MAC1F;MAEAG,YAAYC,SAAiBC,SAA4B;AACvD,cAAML,MAAMI,SAASC,OAAAA;MACvB;IACF;EACF;EAEA;EACA;EAEAF,YAAYH,MAAcI,SAAiBC,SAA4B;AACrE,UAAMD,SAASC,OAAAA;AAEf,SAAK,QAAQL;AACb,SAAK,WAAWK,SAASC,WAAW,CAAC;AACrCC,WAAOC,eAAe,MAAM,WAAWC,SAAS;EAClD;EAEA,IAAaC,OAAO;AAClB,WAAO,KAAK;EACd;EAEA,IAAIV,OAAO;AACT,WAAO,KAAK;EACd;EAEA,IAAIM,UAAU;AACZ,WAAO,KAAK;EACd;AACF;;;AChDO,IAAMK,eAAN,cAA2BC,UAAUC,OAAO,SAAA,EAAA;AAAY;AAExD,IAAMC,eAAN,cAA2BF,UAAUC,OAAO,SAAA,EAAA;AAAY;AAExD,IAAME,qBAAN,cAAiCH,UAAUC,OAAO,eAAA,EAAA;AAAkB;AAEpE,IAAMG,WAAN,cAAuBJ,UAAUC,OAAO,WAAA,EAAA;AAAc;AAEtD,IAAMI,cAAN,cAA0BL,UAAUC,OAAO,cAAA,EAAA;AAAiB;",
6
+ "names": ["BaseError", "Error", "extend", "code", "is", "error", "constructor", "message", "options", "context", "Object", "setPrototypeOf", "prototype", "name", "TimeoutError", "BaseError", "extend", "AbortedError", "UnimplementedError", "ApiError", "SystemError"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"packages/sdk/errors/src/errors.ts":{"bytes":9519,"imports":[],"format":"esm"},"packages/sdk/errors/src/index.ts":{"bytes":457,"imports":[{"path":"packages/sdk/errors/src/errors.ts","kind":"import-statement","original":"./errors"}],"format":"esm"}},"outputs":{"packages/sdk/errors/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4811},"packages/sdk/errors/dist/lib/browser/index.mjs":{"imports":[],"exports":["ApiError","CancelledError","ConnectionResetError","ConnectivityError","DataCorruptionError","InvalidConfigError","InvalidInvitationExtensionRoleError","ProtocolError","RemoteServiceConnectionError","RemoteServiceConnectionTimeout","SystemError","TimeoutError","UnknownProtocolError"],"entryPoint":"packages/sdk/errors/src/index.ts","inputs":{"packages/sdk/errors/src/errors.ts":{"bytesInOutput":1996},"packages/sdk/errors/src/index.ts":{"bytesInOutput":0}},"bytes":2376}}}
1
+ {"inputs":{"packages/common/errors/src/base.ts":{"bytes":3711,"imports":[],"format":"esm"},"packages/common/errors/src/errors.ts":{"bytes":1666,"imports":[{"path":"packages/common/errors/src/base.ts","kind":"import-statement","original":"./base"}],"format":"esm"},"packages/common/errors/src/index.ts":{"bytes":439,"imports":[{"path":"packages/common/errors/src/base.ts","kind":"import-statement","original":"./base"},{"path":"packages/common/errors/src/errors.ts","kind":"import-statement","original":"./errors"}],"format":"esm"}},"outputs":{"packages/common/errors/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2700},"packages/common/errors/dist/lib/browser/index.mjs":{"imports":[],"exports":["AbortedError","ApiError","BaseError","SystemError","TimeoutError","UnimplementedError"],"entryPoint":"packages/common/errors/src/index.ts","inputs":{"packages/common/errors/src/base.ts":{"bytesInOutput":742},"packages/common/errors/src/index.ts":{"bytesInOutput":0},"packages/common/errors/src/errors.ts":{"bytesInOutput":344}},"bytes":1305}}}
@@ -16,108 +16,65 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // packages/sdk/errors/src/index.ts
21
- var src_exports = {};
22
- __export(src_exports, {
19
+ var node_exports = {};
20
+ __export(node_exports, {
21
+ AbortedError: () => AbortedError,
23
22
  ApiError: () => ApiError,
24
- CancelledError: () => CancelledError,
25
- ConnectionResetError: () => ConnectionResetError,
26
- ConnectivityError: () => ConnectivityError,
27
- DataCorruptionError: () => DataCorruptionError,
28
- InvalidConfigError: () => InvalidConfigError,
29
- InvalidInvitationExtensionRoleError: () => InvalidInvitationExtensionRoleError,
30
- ProtocolError: () => ProtocolError,
31
- RemoteServiceConnectionError: () => RemoteServiceConnectionError,
32
- RemoteServiceConnectionTimeout: () => RemoteServiceConnectionTimeout,
23
+ BaseError: () => BaseError,
33
24
  SystemError: () => SystemError,
34
25
  TimeoutError: () => TimeoutError,
35
- UnknownProtocolError: () => UnknownProtocolError
26
+ UnimplementedError: () => UnimplementedError
36
27
  });
37
- module.exports = __toCommonJS(src_exports);
38
-
39
- // packages/sdk/errors/src/errors.ts
40
- var BaseError = class extends Error {
41
- constructor(code, message, context) {
42
- super(message ? `${code}: ${message}` : code.toString());
43
- this.code = code;
44
- this.context = context;
28
+ module.exports = __toCommonJS(node_exports);
29
+ var BaseError = class _BaseError extends Error {
30
+ static extend(code) {
31
+ return class extends _BaseError {
32
+ static {
33
+ this.code = code;
34
+ }
35
+ static is(error) {
36
+ return typeof error === "object" && error !== null && "code" in error && error.code === code;
37
+ }
38
+ constructor(message, options) {
39
+ super(code, message, options);
40
+ }
41
+ };
42
+ }
43
+ #code;
44
+ #context;
45
+ constructor(code, message, options) {
46
+ super(message, options);
47
+ this.#code = code;
48
+ this.#context = options?.context ?? {};
45
49
  Object.setPrototypeOf(this, new.target.prototype);
46
50
  }
47
- };
48
- var ApiError = class extends BaseError {
49
- };
50
- var SystemError = class extends BaseError {
51
- };
52
- var CancelledError = class extends SystemError {
53
- constructor(message, context) {
54
- super("CANCELLED", message, context);
51
+ get name() {
52
+ return this.#code;
55
53
  }
56
- };
57
- var InvalidConfigError = class extends ApiError {
58
- constructor(message, context) {
59
- super("INVALID_CONFIG", message, context);
54
+ get code() {
55
+ return this.#code;
60
56
  }
61
- };
62
- var RemoteServiceConnectionError = class extends ApiError {
63
- constructor(message, context) {
64
- super("REMOTE_SERVICE_CONNECTION_ERROR", message, context);
57
+ get context() {
58
+ return this.#context;
65
59
  }
66
60
  };
67
- var RemoteServiceConnectionTimeout = class extends ApiError {
68
- constructor(message, context) {
69
- super("REMOTE_SERVICE_CONNECTION_TIMEOUT", message, context);
70
- }
61
+ var TimeoutError = class extends BaseError.extend("TIMEOUT") {
71
62
  };
72
- var DataCorruptionError = class extends SystemError {
73
- constructor(message, context) {
74
- super("DATA_CORRUPTION", message, context);
75
- }
63
+ var AbortedError = class extends BaseError.extend("ABORTED") {
76
64
  };
77
- var InvalidInvitationExtensionRoleError = class extends SystemError {
78
- constructor(message, context) {
79
- super("INVALID_INVITATION_EXTENSION_ROLE", message, context);
80
- }
65
+ var UnimplementedError = class extends BaseError.extend("UNIMPLEMENTED") {
81
66
  };
82
- var ConnectionResetError = class extends BaseError {
83
- constructor(message, context) {
84
- super("ConnectionResetError", message, context);
85
- }
86
- };
87
- var TimeoutError = class extends BaseError {
88
- constructor(message, context) {
89
- super("TimeoutError", message, context);
90
- }
91
- };
92
- var ProtocolError = class extends BaseError {
93
- constructor(message, context) {
94
- super("ProtocolError: general protocol error", message, context);
95
- }
96
- };
97
- var ConnectivityError = class extends BaseError {
98
- constructor(message, context) {
99
- super("ConnectivityError", message, context);
100
- }
67
+ var ApiError = class extends BaseError.extend("API_ERROR") {
101
68
  };
102
- var UnknownProtocolError = class extends BaseError {
103
- constructor(message, innerError) {
104
- super("UnknownProtocolError", message, innerError);
105
- }
69
+ var SystemError = class extends BaseError.extend("SYSTEM_ERROR") {
106
70
  };
107
71
  // Annotate the CommonJS export names for ESM import in node:
108
72
  0 && (module.exports = {
73
+ AbortedError,
109
74
  ApiError,
110
- CancelledError,
111
- ConnectionResetError,
112
- ConnectivityError,
113
- DataCorruptionError,
114
- InvalidConfigError,
115
- InvalidInvitationExtensionRoleError,
116
- ProtocolError,
117
- RemoteServiceConnectionError,
118
- RemoteServiceConnectionTimeout,
75
+ BaseError,
119
76
  SystemError,
120
77
  TimeoutError,
121
- UnknownProtocolError
78
+ UnimplementedError
122
79
  });
123
80
  //# sourceMappingURL=index.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/index.ts", "../../../src/errors.ts"],
4
- "sourcesContent": ["//\n// Copyright 2022 DXOS.org\n//\n\nexport * from './errors';\n", "//\n// Copyright 2021 DXOS.org\n//\n\n/**\n * NOTE: Messages should be sentences (Start with a capital letter and end with a period).\n * Errors can optionally include a JSON context object.\n */\nclass BaseError extends Error {\n constructor(readonly code: string, message?: string, readonly context?: any) {\n super(message ? `${code}: ${message}` : code.toString());\n // NOTE: Restores prototype chain (https://stackoverflow.com/a/48342359).\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n\n/**\n * User facing API Errors.\n * E.g., something was misconfigured.\n */\nexport class ApiError extends BaseError {}\n\n/**\n * Internal system errors.\n * E.g., unexpected/unrecoverable runtime error.\n */\nexport class SystemError extends BaseError {}\n\nexport class CancelledError extends SystemError {\n constructor(message?: string, context?: any) {\n super('CANCELLED', message, context);\n }\n}\n\nexport class InvalidConfigError extends ApiError {\n constructor(message: string, context?: any) {\n super('INVALID_CONFIG', message, context);\n }\n}\n\n/**\n * Explicit failure to connect with remote client services.\n */\nexport class RemoteServiceConnectionError extends ApiError {\n constructor(message?: string, context?: any) {\n super('REMOTE_SERVICE_CONNECTION_ERROR', message, context);\n }\n}\n\n/**\n * Failed to open a connection to remote client services.\n */\nexport class RemoteServiceConnectionTimeout extends ApiError {\n constructor(message?: string, context?: any) {\n super('REMOTE_SERVICE_CONNECTION_TIMEOUT', message, context);\n }\n}\n\nexport class DataCorruptionError extends SystemError {\n constructor(message?: string, context?: any) {\n super('DATA_CORRUPTION', message, context);\n }\n}\n\nexport class InvalidInvitationExtensionRoleError extends SystemError {\n constructor(message?: string, context?: any) {\n super('INVALID_INVITATION_EXTENSION_ROLE', message, context);\n }\n}\n\nexport class ConnectionResetError extends BaseError {\n constructor(message?: string, context?: any) {\n super('ConnectionResetError', message, context);\n }\n}\n\nexport class TimeoutError extends BaseError {\n constructor(message?: string, context?: any) {\n super('TimeoutError', message, context);\n }\n}\n\n// general protocol error\nexport class ProtocolError extends BaseError {\n constructor(message?: string, context?: any) {\n super('ProtocolError: general protocol error', message, context);\n }\n}\n\n// general connectivity errors\nexport class ConnectivityError extends BaseError {\n constructor(message?: string, context?: any) {\n super('ConnectivityError', message, context);\n }\n}\n\n// TODO(nf): rename? the protocol isn't what's unknown...\nexport class UnknownProtocolError extends BaseError {\n constructor(message?: string, innerError?: Error) {\n super('UnknownProtocolError', message, innerError);\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;ACQA,IAAMA,YAAN,cAAwBC,MAAAA;EACtBC,YAAqBC,MAAcC,SAA2BC,SAAe;AAC3E,UAAMD,UAAU,GAAGD,IAAAA,KAASC,OAAAA,KAAYD,KAAKG,SAAQ,CAAA;gBADlCH;mBAAyCE;AAG5DE,WAAOC,eAAe,MAAM,WAAWC,SAAS;EAClD;AACF;AAMO,IAAMC,WAAN,cAAuBV,UAAAA;AAAW;AAMlC,IAAMW,cAAN,cAA0BX,UAAAA;AAAW;AAErC,IAAMY,iBAAN,cAA6BD,YAAAA;EAClCT,YAAYE,SAAkBC,SAAe;AAC3C,UAAM,aAAaD,SAASC,OAAAA;EAC9B;AACF;AAEO,IAAMQ,qBAAN,cAAiCH,SAAAA;EACtCR,YAAYE,SAAiBC,SAAe;AAC1C,UAAM,kBAAkBD,SAASC,OAAAA;EACnC;AACF;AAKO,IAAMS,+BAAN,cAA2CJ,SAAAA;EAChDR,YAAYE,SAAkBC,SAAe;AAC3C,UAAM,mCAAmCD,SAASC,OAAAA;EACpD;AACF;AAKO,IAAMU,iCAAN,cAA6CL,SAAAA;EAClDR,YAAYE,SAAkBC,SAAe;AAC3C,UAAM,qCAAqCD,SAASC,OAAAA;EACtD;AACF;AAEO,IAAMW,sBAAN,cAAkCL,YAAAA;EACvCT,YAAYE,SAAkBC,SAAe;AAC3C,UAAM,mBAAmBD,SAASC,OAAAA;EACpC;AACF;AAEO,IAAMY,sCAAN,cAAkDN,YAAAA;EACvDT,YAAYE,SAAkBC,SAAe;AAC3C,UAAM,qCAAqCD,SAASC,OAAAA;EACtD;AACF;AAEO,IAAMa,uBAAN,cAAmClB,UAAAA;EACxCE,YAAYE,SAAkBC,SAAe;AAC3C,UAAM,wBAAwBD,SAASC,OAAAA;EACzC;AACF;AAEO,IAAMc,eAAN,cAA2BnB,UAAAA;EAChCE,YAAYE,SAAkBC,SAAe;AAC3C,UAAM,gBAAgBD,SAASC,OAAAA;EACjC;AACF;AAGO,IAAMe,gBAAN,cAA4BpB,UAAAA;EACjCE,YAAYE,SAAkBC,SAAe;AAC3C,UAAM,yCAAyCD,SAASC,OAAAA;EAC1D;AACF;AAGO,IAAMgB,oBAAN,cAAgCrB,UAAAA;EACrCE,YAAYE,SAAkBC,SAAe;AAC3C,UAAM,qBAAqBD,SAASC,OAAAA;EACtC;AACF;AAGO,IAAMiB,uBAAN,cAAmCtB,UAAAA;EACxCE,YAAYE,SAAkBmB,YAAoB;AAChD,UAAM,wBAAwBnB,SAASmB,UAAAA;EACzC;AACF;",
6
- "names": ["BaseError", "Error", "constructor", "code", "message", "context", "toString", "Object", "setPrototypeOf", "prototype", "ApiError", "SystemError", "CancelledError", "InvalidConfigError", "RemoteServiceConnectionError", "RemoteServiceConnectionTimeout", "DataCorruptionError", "InvalidInvitationExtensionRoleError", "ConnectionResetError", "TimeoutError", "ProtocolError", "ConnectivityError", "UnknownProtocolError", "innerError"]
3
+ "sources": ["../../../src/base.ts", "../../../src/errors.ts"],
4
+ "sourcesContent": ["export type BaseErrorOptions = {\n /**\n * The cause of the error.\n * An instance of Error.\n */\n cause?: unknown;\n\n /**\n * Structured details about the error.\n */\n context?: Record<string, unknown>;\n};\n\nexport class BaseError extends Error {\n static extend(code: string) {\n return class extends BaseError {\n static code = code;\n\n static is(error: unknown): error is BaseError {\n return typeof error === 'object' && error !== null && 'code' in error && error.code === code;\n }\n\n constructor(message: string, options?: BaseErrorOptions) {\n super(code, message, options);\n }\n };\n }\n\n #code: string;\n #context: Record<string, unknown>;\n\n constructor(code: string, message: string, options?: BaseErrorOptions) {\n super(message, options);\n\n this.#code = code;\n this.#context = options?.context ?? {};\n Object.setPrototypeOf(this, new.target.prototype);\n }\n\n override get name() {\n return this.#code;\n }\n\n get code() {\n return this.#code;\n }\n\n get context() {\n return this.#context;\n }\n}\n", "import { BaseError } from './base';\n\nexport class TimeoutError extends BaseError.extend('TIMEOUT') {}\n\nexport class AbortedError extends BaseError.extend('ABORTED') {}\n\nexport class UnimplementedError extends BaseError.extend('UNIMPLEMENTED') {}\n\nexport class ApiError extends BaseError.extend('API_ERROR') {}\n\nexport class SystemError extends BaseError.extend('SYSTEM_ERROR') {}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaO,IAAMA,YAAN,MAAMA,mBAAkBC,MAAAA;EAC7B,OAAOC,OAAOC,MAAc;AAC1B,WAAO,cAAcH,WAAAA;MACnB,OAAA;aAAOG,OAAOA;;MAEd,OAAOC,GAAGC,OAAoC;AAC5C,eAAO,OAAOA,UAAU,YAAYA,UAAU,QAAQ,UAAUA,SAASA,MAAMF,SAASA;MAC1F;MAEAG,YAAYC,SAAiBC,SAA4B;AACvD,cAAML,MAAMI,SAASC,OAAAA;MACvB;IACF;EACF;EAEA;EACA;EAEAF,YAAYH,MAAcI,SAAiBC,SAA4B;AACrE,UAAMD,SAASC,OAAAA;AAEf,SAAK,QAAQL;AACb,SAAK,WAAWK,SAASC,WAAW,CAAC;AACrCC,WAAOC,eAAe,MAAM,WAAWC,SAAS;EAClD;EAEA,IAAaC,OAAO;AAClB,WAAO,KAAK;EACd;EAEA,IAAIV,OAAO;AACT,WAAO,KAAK;EACd;EAEA,IAAIM,UAAU;AACZ,WAAO,KAAK;EACd;AACF;AChDO,IAAMK,eAAN,cAA2Bd,UAAUE,OAAO,SAAA,EAAA;AAAY;AAExD,IAAMa,eAAN,cAA2Bf,UAAUE,OAAO,SAAA,EAAA;AAAY;AAExD,IAAMc,qBAAN,cAAiChB,UAAUE,OAAO,eAAA,EAAA;AAAkB;AAEpE,IAAMe,WAAN,cAAuBjB,UAAUE,OAAO,WAAA,EAAA;AAAc;AAEtD,IAAMgB,cAAN,cAA0BlB,UAAUE,OAAO,cAAA,EAAA;AAAiB;",
6
+ "names": ["BaseError", "Error", "extend", "code", "is", "error", "constructor", "message", "options", "context", "Object", "setPrototypeOf", "prototype", "name", "TimeoutError", "AbortedError", "UnimplementedError", "ApiError", "SystemError"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"packages/sdk/errors/src/errors.ts":{"bytes":9519,"imports":[],"format":"esm"},"packages/sdk/errors/src/index.ts":{"bytes":457,"imports":[{"path":"packages/sdk/errors/src/errors.ts","kind":"import-statement","original":"./errors"}],"format":"esm"}},"outputs":{"packages/sdk/errors/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4947},"packages/sdk/errors/dist/lib/node/index.cjs":{"imports":[],"exports":[],"entryPoint":"packages/sdk/errors/src/index.ts","inputs":{"packages/sdk/errors/src/index.ts":{"bytesInOutput":739},"packages/sdk/errors/src/errors.ts":{"bytesInOutput":1996}},"bytes":4031}}}
1
+ {"inputs":{"packages/common/errors/src/base.ts":{"bytes":3711,"imports":[],"format":"esm"},"packages/common/errors/src/errors.ts":{"bytes":1666,"imports":[{"path":"packages/common/errors/src/base.ts","kind":"import-statement","original":"./base"}],"format":"esm"},"packages/common/errors/src/index.ts":{"bytes":439,"imports":[{"path":"packages/common/errors/src/base.ts","kind":"import-statement","original":"./base"},{"path":"packages/common/errors/src/errors.ts","kind":"import-statement","original":"./errors"}],"format":"esm"}},"outputs":{"packages/common/errors/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2700},"packages/common/errors/dist/lib/node/index.cjs":{"imports":[],"exports":["AbortedError","ApiError","BaseError","SystemError","TimeoutError","UnimplementedError"],"entryPoint":"packages/common/errors/src/index.ts","inputs":{"packages/common/errors/src/base.ts":{"bytesInOutput":742},"packages/common/errors/src/index.ts":{"bytesInOutput":0},"packages/common/errors/src/errors.ts":{"bytesInOutput":344}},"bytes":1305}}}
@@ -0,0 +1,56 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+
3
+ // packages/common/errors/src/base.ts
4
+ var BaseError = class _BaseError extends Error {
5
+ static extend(code) {
6
+ return class extends _BaseError {
7
+ static {
8
+ this.code = code;
9
+ }
10
+ static is(error) {
11
+ return typeof error === "object" && error !== null && "code" in error && error.code === code;
12
+ }
13
+ constructor(message, options) {
14
+ super(code, message, options);
15
+ }
16
+ };
17
+ }
18
+ #code;
19
+ #context;
20
+ constructor(code, message, options) {
21
+ super(message, options);
22
+ this.#code = code;
23
+ this.#context = options?.context ?? {};
24
+ Object.setPrototypeOf(this, new.target.prototype);
25
+ }
26
+ get name() {
27
+ return this.#code;
28
+ }
29
+ get code() {
30
+ return this.#code;
31
+ }
32
+ get context() {
33
+ return this.#context;
34
+ }
35
+ };
36
+
37
+ // packages/common/errors/src/errors.ts
38
+ var TimeoutError = class extends BaseError.extend("TIMEOUT") {
39
+ };
40
+ var AbortedError = class extends BaseError.extend("ABORTED") {
41
+ };
42
+ var UnimplementedError = class extends BaseError.extend("UNIMPLEMENTED") {
43
+ };
44
+ var ApiError = class extends BaseError.extend("API_ERROR") {
45
+ };
46
+ var SystemError = class extends BaseError.extend("SYSTEM_ERROR") {
47
+ };
48
+ export {
49
+ AbortedError,
50
+ ApiError,
51
+ BaseError,
52
+ SystemError,
53
+ TimeoutError,
54
+ UnimplementedError
55
+ };
56
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/base.ts", "../../../src/errors.ts"],
4
+ "sourcesContent": ["export type BaseErrorOptions = {\n /**\n * The cause of the error.\n * An instance of Error.\n */\n cause?: unknown;\n\n /**\n * Structured details about the error.\n */\n context?: Record<string, unknown>;\n};\n\nexport class BaseError extends Error {\n static extend(code: string) {\n return class extends BaseError {\n static code = code;\n\n static is(error: unknown): error is BaseError {\n return typeof error === 'object' && error !== null && 'code' in error && error.code === code;\n }\n\n constructor(message: string, options?: BaseErrorOptions) {\n super(code, message, options);\n }\n };\n }\n\n #code: string;\n #context: Record<string, unknown>;\n\n constructor(code: string, message: string, options?: BaseErrorOptions) {\n super(message, options);\n\n this.#code = code;\n this.#context = options?.context ?? {};\n Object.setPrototypeOf(this, new.target.prototype);\n }\n\n override get name() {\n return this.#code;\n }\n\n get code() {\n return this.#code;\n }\n\n get context() {\n return this.#context;\n }\n}\n", "import { BaseError } from './base';\n\nexport class TimeoutError extends BaseError.extend('TIMEOUT') {}\n\nexport class AbortedError extends BaseError.extend('ABORTED') {}\n\nexport class UnimplementedError extends BaseError.extend('UNIMPLEMENTED') {}\n\nexport class ApiError extends BaseError.extend('API_ERROR') {}\n\nexport class SystemError extends BaseError.extend('SYSTEM_ERROR') {}\n"],
5
+ "mappings": ";;;AAaO,IAAMA,YAAN,MAAMA,mBAAkBC,MAAAA;EAC7B,OAAOC,OAAOC,MAAc;AAC1B,WAAO,cAAcH,WAAAA;MACnB;aAAOG,OAAOA;;MAEd,OAAOC,GAAGC,OAAoC;AAC5C,eAAO,OAAOA,UAAU,YAAYA,UAAU,QAAQ,UAAUA,SAASA,MAAMF,SAASA;MAC1F;MAEAG,YAAYC,SAAiBC,SAA4B;AACvD,cAAML,MAAMI,SAASC,OAAAA;MACvB;IACF;EACF;EAEA;EACA;EAEAF,YAAYH,MAAcI,SAAiBC,SAA4B;AACrE,UAAMD,SAASC,OAAAA;AAEf,SAAK,QAAQL;AACb,SAAK,WAAWK,SAASC,WAAW,CAAC;AACrCC,WAAOC,eAAe,MAAM,WAAWC,SAAS;EAClD;EAEA,IAAaC,OAAO;AAClB,WAAO,KAAK;EACd;EAEA,IAAIV,OAAO;AACT,WAAO,KAAK;EACd;EAEA,IAAIM,UAAU;AACZ,WAAO,KAAK;EACd;AACF;;;AChDO,IAAMK,eAAN,cAA2BC,UAAUC,OAAO,SAAA,EAAA;AAAY;AAExD,IAAMC,eAAN,cAA2BF,UAAUC,OAAO,SAAA,EAAA;AAAY;AAExD,IAAME,qBAAN,cAAiCH,UAAUC,OAAO,eAAA,EAAA;AAAkB;AAEpE,IAAMG,WAAN,cAAuBJ,UAAUC,OAAO,WAAA,EAAA;AAAc;AAEtD,IAAMI,cAAN,cAA0BL,UAAUC,OAAO,cAAA,EAAA;AAAiB;",
6
+ "names": ["BaseError", "Error", "extend", "code", "is", "error", "constructor", "message", "options", "context", "Object", "setPrototypeOf", "prototype", "name", "TimeoutError", "BaseError", "extend", "AbortedError", "UnimplementedError", "ApiError", "SystemError"]
7
+ }
@@ -0,0 +1 @@
1
+ {"inputs":{"packages/common/errors/src/base.ts":{"bytes":3711,"imports":[],"format":"esm"},"packages/common/errors/src/errors.ts":{"bytes":1666,"imports":[{"path":"packages/common/errors/src/base.ts","kind":"import-statement","original":"./base"}],"format":"esm"},"packages/common/errors/src/index.ts":{"bytes":439,"imports":[{"path":"packages/common/errors/src/base.ts","kind":"import-statement","original":"./base"},{"path":"packages/common/errors/src/errors.ts","kind":"import-statement","original":"./errors"}],"format":"esm"}},"outputs":{"packages/common/errors/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2702},"packages/common/errors/dist/lib/node-esm/index.mjs":{"imports":[],"exports":["AbortedError","ApiError","BaseError","SystemError","TimeoutError","UnimplementedError"],"entryPoint":"packages/common/errors/src/index.ts","inputs":{"packages/common/errors/src/base.ts":{"bytesInOutput":742},"packages/common/errors/src/index.ts":{"bytesInOutput":0},"packages/common/errors/src/errors.ts":{"bytesInOutput":344}},"bytes":1398}}}
@@ -0,0 +1,37 @@
1
+ export type BaseErrorOptions = {
2
+ /**
3
+ * The cause of the error.
4
+ * An instance of Error.
5
+ */
6
+ cause?: unknown;
7
+ /**
8
+ * Structured details about the error.
9
+ */
10
+ context?: Record<string, unknown>;
11
+ };
12
+ export declare class BaseError extends Error {
13
+ #private;
14
+ static extend(code: string): {
15
+ new (message: string, options?: BaseErrorOptions): {
16
+ "__#1@#code": string;
17
+ "__#1@#context": Record<string, unknown>;
18
+ readonly name: string;
19
+ readonly code: string;
20
+ readonly context: Record<string, unknown>;
21
+ message: string;
22
+ stack?: string;
23
+ cause?: unknown;
24
+ };
25
+ code: string;
26
+ is(error: unknown): error is BaseError;
27
+ extend(code: string): /*elided*/ any;
28
+ captureStackTrace(targetObject: object, constructorOpt?: Function): void;
29
+ prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
30
+ stackTraceLimit: number;
31
+ };
32
+ constructor(code: string, message: string, options?: BaseErrorOptions);
33
+ get name(): string;
34
+ get code(): string;
35
+ get context(): Record<string, unknown>;
36
+ }
37
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/base.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,CAAC;AAEF,qBAAa,SAAU,SAAQ,KAAK;;IAClC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM;sBAQD,MAAM,YAAY,gBAAgB;0BAMpD,MAAM;6BACH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;kBAXZ,OAAO,GAAG,KAAK,IAAI,SAAS;qBAJ7B,MAAM;;uDAqCkpJ,OAAQ,QAAQ;;;gBApBhrJ,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAQrE,IAAa,IAAI,WAEhB;IAED,IAAI,IAAI,WAEP;IAED,IAAI,OAAO,4BAEV;CACF"}
@@ -1,62 +1,103 @@
1
- /**
2
- * NOTE: Messages should be sentences (Start with a capital letter and end with a period).
3
- * Errors can optionally include a JSON context object.
4
- */
5
- declare class BaseError extends Error {
6
- readonly code: string;
7
- readonly context?: any;
8
- constructor(code: string, message?: string, context?: any);
1
+ import { BaseError } from './base';
2
+ declare const TimeoutError_base: {
3
+ new (message: string, options?: import("./base").BaseErrorOptions): {
4
+ "__#1@#code": string;
5
+ "__#1@#context": Record<string, unknown>;
6
+ readonly name: string;
7
+ readonly code: string;
8
+ readonly context: Record<string, unknown>;
9
+ message: string;
10
+ stack?: string;
11
+ cause?: unknown;
12
+ };
13
+ code: string;
14
+ is(error: unknown): error is BaseError;
15
+ extend(code: string): /*elided*/ any;
16
+ captureStackTrace(targetObject: object, constructorOpt?: Function): void;
17
+ prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
18
+ stackTraceLimit: number;
19
+ };
20
+ export declare class TimeoutError extends TimeoutError_base {
9
21
  }
10
- /**
11
- * User facing API Errors.
12
- * E.g., something was misconfigured.
13
- */
14
- export declare class ApiError extends BaseError {
22
+ declare const AbortedError_base: {
23
+ new (message: string, options?: import("./base").BaseErrorOptions): {
24
+ "__#1@#code": string;
25
+ "__#1@#context": Record<string, unknown>;
26
+ readonly name: string;
27
+ readonly code: string;
28
+ readonly context: Record<string, unknown>;
29
+ message: string;
30
+ stack?: string;
31
+ cause?: unknown;
32
+ };
33
+ code: string;
34
+ is(error: unknown): error is BaseError;
35
+ extend(code: string): /*elided*/ any;
36
+ captureStackTrace(targetObject: object, constructorOpt?: Function): void;
37
+ prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
38
+ stackTraceLimit: number;
39
+ };
40
+ export declare class AbortedError extends AbortedError_base {
15
41
  }
16
- /**
17
- * Internal system errors.
18
- * E.g., unexpected/unrecoverable runtime error.
19
- */
20
- export declare class SystemError extends BaseError {
42
+ declare const UnimplementedError_base: {
43
+ new (message: string, options?: import("./base").BaseErrorOptions): {
44
+ "__#1@#code": string;
45
+ "__#1@#context": Record<string, unknown>;
46
+ readonly name: string;
47
+ readonly code: string;
48
+ readonly context: Record<string, unknown>;
49
+ message: string;
50
+ stack?: string;
51
+ cause?: unknown;
52
+ };
53
+ code: string;
54
+ is(error: unknown): error is BaseError;
55
+ extend(code: string): /*elided*/ any;
56
+ captureStackTrace(targetObject: object, constructorOpt?: Function): void;
57
+ prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
58
+ stackTraceLimit: number;
59
+ };
60
+ export declare class UnimplementedError extends UnimplementedError_base {
21
61
  }
22
- export declare class CancelledError extends SystemError {
23
- constructor(message?: string, context?: any);
62
+ declare const ApiError_base: {
63
+ new (message: string, options?: import("./base").BaseErrorOptions): {
64
+ "__#1@#code": string;
65
+ "__#1@#context": Record<string, unknown>;
66
+ readonly name: string;
67
+ readonly code: string;
68
+ readonly context: Record<string, unknown>;
69
+ message: string;
70
+ stack?: string;
71
+ cause?: unknown;
72
+ };
73
+ code: string;
74
+ is(error: unknown): error is BaseError;
75
+ extend(code: string): /*elided*/ any;
76
+ captureStackTrace(targetObject: object, constructorOpt?: Function): void;
77
+ prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
78
+ stackTraceLimit: number;
79
+ };
80
+ export declare class ApiError extends ApiError_base {
24
81
  }
25
- export declare class InvalidConfigError extends ApiError {
26
- constructor(message: string, context?: any);
27
- }
28
- /**
29
- * Explicit failure to connect with remote client services.
30
- */
31
- export declare class RemoteServiceConnectionError extends ApiError {
32
- constructor(message?: string, context?: any);
33
- }
34
- /**
35
- * Failed to open a connection to remote client services.
36
- */
37
- export declare class RemoteServiceConnectionTimeout extends ApiError {
38
- constructor(message?: string, context?: any);
39
- }
40
- export declare class DataCorruptionError extends SystemError {
41
- constructor(message?: string, context?: any);
42
- }
43
- export declare class InvalidInvitationExtensionRoleError extends SystemError {
44
- constructor(message?: string, context?: any);
45
- }
46
- export declare class ConnectionResetError extends BaseError {
47
- constructor(message?: string, context?: any);
48
- }
49
- export declare class TimeoutError extends BaseError {
50
- constructor(message?: string, context?: any);
51
- }
52
- export declare class ProtocolError extends BaseError {
53
- constructor(message?: string, context?: any);
54
- }
55
- export declare class ConnectivityError extends BaseError {
56
- constructor(message?: string, context?: any);
57
- }
58
- export declare class UnknownProtocolError extends BaseError {
59
- constructor(message?: string, innerError?: Error);
82
+ declare const SystemError_base: {
83
+ new (message: string, options?: import("./base").BaseErrorOptions): {
84
+ "__#1@#code": string;
85
+ "__#1@#context": Record<string, unknown>;
86
+ readonly name: string;
87
+ readonly code: string;
88
+ readonly context: Record<string, unknown>;
89
+ message: string;
90
+ stack?: string;
91
+ cause?: unknown;
92
+ };
93
+ code: string;
94
+ is(error: unknown): error is BaseError;
95
+ extend(code: string): /*elided*/ any;
96
+ captureStackTrace(targetObject: object, constructorOpt?: Function): void;
97
+ prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
98
+ stackTraceLimit: number;
99
+ };
100
+ export declare class SystemError extends SystemError_base {
60
101
  }
61
102
  export {};
62
103
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/errors.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,cAAM,SAAU,SAAQ,KAAK;IACf,QAAQ,CAAC,IAAI,EAAE,MAAM;IAAoB,QAAQ,CAAC,OAAO,CAAC;gBAAjD,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAW,OAAO,CAAC,KAAK;CAK5E;AAED;;;GAGG;AACH,qBAAa,QAAS,SAAQ,SAAS;CAAG;AAE1C;;;GAGG;AACH,qBAAa,WAAY,SAAQ,SAAS;CAAG;AAE7C,qBAAa,cAAe,SAAQ,WAAW;gBACjC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAG5C;AAED,qBAAa,kBAAmB,SAAQ,QAAQ;gBAClC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAG3C;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,QAAQ;gBAC5C,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAG5C;AAED;;GAEG;AACH,qBAAa,8BAA+B,SAAQ,QAAQ;gBAC9C,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAG5C;AAED,qBAAa,mBAAoB,SAAQ,WAAW;gBACtC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAG5C;AAED,qBAAa,mCAAoC,SAAQ,WAAW;gBACtD,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAG5C;AAED,qBAAa,oBAAqB,SAAQ,SAAS;gBACrC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAG5C;AAED,qBAAa,YAAa,SAAQ,SAAS;gBAC7B,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAG5C;AAGD,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAG5C;AAGD,qBAAa,iBAAkB,SAAQ,SAAS;gBAClC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAG5C;AAGD,qBAAa,oBAAqB,SAAQ,SAAS;gBACrC,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,KAAK;CAGjD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;;;;;;;;;;;;;;;;mDAW8zK,OAAQ,QAAQ;;;AATj3K,qBAAa,YAAa,SAAQ,iBAA2B;CAAG;;;;;;;;;;;;;;;;mDASiyK,OAAQ,QAAQ;;;AAPj3K,qBAAa,YAAa,SAAQ,iBAA2B;CAAG;;;;;;;;;;;;;;;;mDAOiyK,OAAQ,QAAQ;;;AALj3K,qBAAa,kBAAmB,SAAQ,uBAAiC;CAAG;;;;;;;;;;;;;;;;mDAKqxK,OAAQ,QAAQ;;;AAHj3K,qBAAa,QAAS,SAAQ,aAA6B;CAAG;;;;;;;;;;;;;;;;mDAGmyK,OAAQ,QAAQ;;;AADj3K,qBAAa,WAAY,SAAQ,gBAAgC;CAAG"}
@@ -1,2 +1,3 @@
1
+ export * from './base';
1
2
  export * from './errors';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":"5.7.3"}
package/package.json CHANGED
@@ -1,19 +1,32 @@
1
1
  {
2
2
  "name": "@dxos/errors",
3
- "version": "0.1.58-next.3349da8",
4
- "description": "Error definitions and utilities.",
3
+ "version": "0.7.5-labs.e27f9b9",
4
+ "description": "Error definitions",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
7
7
  "license": "MIT",
8
8
  "author": "DXOS.org",
9
- "main": "dist/lib/node/index.cjs",
10
- "browser": {
11
- "./dist/lib/node/index.cjs": "./dist/lib/browser/index.mjs"
9
+ "sideEffects": true,
10
+ "exports": {
11
+ ".": {
12
+ "browser": "./dist/lib/browser/index.mjs",
13
+ "node": {
14
+ "require": "./dist/lib/node/index.cjs",
15
+ "default": "./dist/lib/node-esm/index.mjs"
16
+ },
17
+ "types": "./dist/types/src/index.d.ts"
18
+ }
12
19
  },
13
20
  "types": "dist/types/src/index.d.ts",
21
+ "typesVersions": {
22
+ "*": {}
23
+ },
14
24
  "files": [
15
- "dist"
25
+ "dist",
26
+ "src"
16
27
  ],
28
+ "dependencies": {},
29
+ "devDependencies": {},
17
30
  "publishConfig": {
18
31
  "access": "public"
19
32
  }
package/src/base.ts ADDED
@@ -0,0 +1,51 @@
1
+ export type BaseErrorOptions = {
2
+ /**
3
+ * The cause of the error.
4
+ * An instance of Error.
5
+ */
6
+ cause?: unknown;
7
+
8
+ /**
9
+ * Structured details about the error.
10
+ */
11
+ context?: Record<string, unknown>;
12
+ };
13
+
14
+ export class BaseError extends Error {
15
+ static extend(code: string) {
16
+ return class extends BaseError {
17
+ static code = code;
18
+
19
+ static is(error: unknown): error is BaseError {
20
+ return typeof error === 'object' && error !== null && 'code' in error && error.code === code;
21
+ }
22
+
23
+ constructor(message: string, options?: BaseErrorOptions) {
24
+ super(code, message, options);
25
+ }
26
+ };
27
+ }
28
+
29
+ #code: string;
30
+ #context: Record<string, unknown>;
31
+
32
+ constructor(code: string, message: string, options?: BaseErrorOptions) {
33
+ super(message, options);
34
+
35
+ this.#code = code;
36
+ this.#context = options?.context ?? {};
37
+ Object.setPrototypeOf(this, new.target.prototype);
38
+ }
39
+
40
+ override get name() {
41
+ return this.#code;
42
+ }
43
+
44
+ get code() {
45
+ return this.#code;
46
+ }
47
+
48
+ get context() {
49
+ return this.#context;
50
+ }
51
+ }
@@ -0,0 +1,39 @@
1
+ import { describe, expect, test } from 'vitest';
2
+ import { SystemError } from './errors';
3
+
4
+ describe('errors', () => {
5
+ test('error code and message, cause', () => {
6
+ const error = new SystemError('Test message', { cause: new Error('Test cause'), context: { a: 1, b: 2 } });
7
+ expect(error).toBeInstanceOf(SystemError);
8
+ expect(error).toBeInstanceOf(SystemError);
9
+ expect(error.code).toBe(SystemError.code);
10
+ expect(error.message).toBe('Test message');
11
+ expect(error.cause).toBeInstanceOf(Error);
12
+ expect((error.cause as Error).message).toBe('Test cause');
13
+ expect(error.context).toEqual({ a: 1, b: 2 });
14
+ });
15
+
16
+ test('error formatting', () => {
17
+ try {
18
+ throwError();
19
+ expect.fail('Expected error to be thrown');
20
+ } catch (error: any) {
21
+ expect(error).toBeInstanceOf(SystemError);
22
+ expect(String(error)).toEqual(`SYSTEM_ERROR: Test message`);
23
+ const stackLines = error.stack!.split('\n');
24
+ expect(stackLines?.[0]).toEqual(`SYSTEM_ERROR: Test message`);
25
+ expect(stackLines?.[1]).toMatch(/^ at two \(.*$/);
26
+ expect(stackLines?.[2]).toMatch(/^ at one \(.*$/);
27
+ }
28
+ });
29
+ });
30
+
31
+ function throwError() {
32
+ function one() {
33
+ function two() {
34
+ throw new SystemError('Test message');
35
+ }
36
+ two();
37
+ }
38
+ one();
39
+ }
package/src/errors.ts ADDED
@@ -0,0 +1,11 @@
1
+ import { BaseError } from './base';
2
+
3
+ export class TimeoutError extends BaseError.extend('TIMEOUT') {}
4
+
5
+ export class AbortedError extends BaseError.extend('ABORTED') {}
6
+
7
+ export class UnimplementedError extends BaseError.extend('UNIMPLEMENTED') {}
8
+
9
+ export class ApiError extends BaseError.extend('API_ERROR') {}
10
+
11
+ export class SystemError extends BaseError.extend('SYSTEM_ERROR') {}
package/src/index.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from './base';
2
+ export * from './errors';