@qlever-llc/result 0.8.3 → 0.9.0-rc.10

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/esm/error.d.ts CHANGED
@@ -64,6 +64,13 @@ export declare abstract class BaseError<TData extends BaseErrorSchema = BaseErro
64
64
  * @returns The trace ID string or undefined
65
65
  */
66
66
  protected getTraceId(): string | undefined;
67
+ /**
68
+ * Attach a trace ID if one was not captured when the error was created.
69
+ *
70
+ * @param traceId - Trace ID to attach to serialized error data.
71
+ * @returns This error instance for chaining.
72
+ */
73
+ withTraceId(traceId: string | undefined): this;
67
74
  /**
68
75
  * Helper method to get base serializable fields.
69
76
  * Subclasses should use this to build their complete serializable object.
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,IAAI,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;EAM1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC;AAE7D,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,EAAE,CAAC,EAAE,MAAM,CAAC;IAKZ,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,8BAAsB,SAAS,CAC7B,KAAK,SAAS,eAAe,GAAG,eAAe,CAC/C,SAAQ,KAAK;;IACb;;;;;OAKG;IACH,MAAM,CAAC,aAAa,EAAE,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IAE7D,gDAAgD;IAChD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,gDAAgD;IAChD,kBAA2B,IAAI,EAAE,MAAM,CAAC;gBAQ5B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAiBvD;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAOpD;;;OAGG;IACH,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIrC;;;;;OAKG;IACH,SAAS,CAAC,UAAU,IAAI,MAAM,GAAG,SAAS;IAI1C;;;;;OAKG;IACH,SAAS,CAAC,gBAAgB,IAAI,eAAe;IAW7C;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,IAAI,KAAK;IAEhC;;;;OAIG;IACH,MAAM,IAAI,MAAM;CAGjB;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;EAMpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE3E;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,SAAS,CAAC,mBAAmB,CAAC;IACjE,SAAkB,IAAI,EAAG,iBAAiB,CAAU;gBAExC,OAAO,CAAC,EAAE,gBAAgB;IAiBtC;;;;OAIG;IACM,cAAc,IAAI,mBAAmB;CAG/C"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,IAAI,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;EAM1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC;AAE7D,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,EAAE,CAAC,EAAE,MAAM,CAAC;IAKZ,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,8BAAsB,SAAS,CAC7B,KAAK,SAAS,eAAe,GAAG,eAAe,CAC/C,SAAQ,KAAK;;IACb;;;;;OAKG;IACH,MAAM,CAAC,aAAa,EAAE,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IAE7D,gDAAgD;IAChD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,gDAAgD;IAChD,kBAA2B,IAAI,EAAE,MAAM,CAAC;gBAQ5B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAiBvD;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAOpD;;;OAGG;IACH,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIrC;;;;;OAKG;IACH,SAAS,CAAC,UAAU,IAAI,MAAM,GAAG,SAAS;IAI1C;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAO9C;;;;;OAKG;IACH,SAAS,CAAC,gBAAgB,IAAI,eAAe;IAW7C;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,IAAI,KAAK;IAEhC;;;;OAIG;IACH,MAAM,IAAI,MAAM;CAGjB;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;EAMpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE3E;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,SAAS,CAAC,mBAAmB,CAAC;IACjE,SAAkB,IAAI,EAAG,iBAAiB,CAAU;gBAExC,OAAO,CAAC,EAAE,gBAAgB;IAiBtC;;;;OAIG;IACM,cAAc,IAAI,mBAAmB;CAG/C"}
package/esm/error.js CHANGED
@@ -92,6 +92,18 @@ export class BaseError extends Error {
92
92
  getTraceId() {
93
93
  return __classPrivateFieldGet(this, _BaseError_traceId, "f");
94
94
  }
95
+ /**
96
+ * Attach a trace ID if one was not captured when the error was created.
97
+ *
98
+ * @param traceId - Trace ID to attach to serialized error data.
99
+ * @returns This error instance for chaining.
100
+ */
101
+ withTraceId(traceId) {
102
+ if (__classPrivateFieldGet(this, _BaseError_traceId, "f") === undefined && traceId !== undefined) {
103
+ __classPrivateFieldSet(this, _BaseError_traceId, traceId, "f");
104
+ }
105
+ return this;
106
+ }
95
107
  /**
96
108
  * Helper method to get base serializable fields.
97
109
  * Subclasses should use this to build their complete serializable object.
@@ -1 +1 @@
1
- {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"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"}
package/esm/result.js CHANGED
@@ -215,7 +215,11 @@ export class Result {
215
215
  return result;
216
216
  }
217
217
  }
218
- return results[results.length - 1];
218
+ const last = results[results.length - 1];
219
+ if (!last) {
220
+ throw new Error("Result.any requires at least one result");
221
+ }
222
+ return last;
219
223
  }
220
224
  /**
221
225
  * Type guard to check if this Result is Ok.
@@ -819,7 +823,11 @@ export class AsyncResult {
819
823
  return result;
820
824
  }
821
825
  }
822
- return resolvedResults[resolvedResults.length - 1];
826
+ const last = resolvedResults[resolvedResults.length - 1];
827
+ if (!last) {
828
+ throw new Error("AsyncResult.any requires at least one result");
829
+ }
830
+ return last;
823
831
  })());
824
832
  }
825
833
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qlever-llc/result",
3
- "version": "0.8.3",
3
+ "version": "0.9.0-rc.10",
4
4
  "description": "Class-based Result and AsyncResult types for Trellis TypeScript applications.",
5
5
  "homepage": "https://github.com/Qlever-LLC/trellis#readme",
6
6
  "repository": {
package/script/error.d.ts CHANGED
@@ -64,6 +64,13 @@ export declare abstract class BaseError<TData extends BaseErrorSchema = BaseErro
64
64
  * @returns The trace ID string or undefined
65
65
  */
66
66
  protected getTraceId(): string | undefined;
67
+ /**
68
+ * Attach a trace ID if one was not captured when the error was created.
69
+ *
70
+ * @param traceId - Trace ID to attach to serialized error data.
71
+ * @returns This error instance for chaining.
72
+ */
73
+ withTraceId(traceId: string | undefined): this;
67
74
  /**
68
75
  * Helper method to get base serializable fields.
69
76
  * Subclasses should use this to build their complete serializable object.
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,IAAI,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;EAM1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC;AAE7D,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,EAAE,CAAC,EAAE,MAAM,CAAC;IAKZ,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,8BAAsB,SAAS,CAC7B,KAAK,SAAS,eAAe,GAAG,eAAe,CAC/C,SAAQ,KAAK;;IACb;;;;;OAKG;IACH,MAAM,CAAC,aAAa,EAAE,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IAE7D,gDAAgD;IAChD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,gDAAgD;IAChD,kBAA2B,IAAI,EAAE,MAAM,CAAC;gBAQ5B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAiBvD;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAOpD;;;OAGG;IACH,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIrC;;;;;OAKG;IACH,SAAS,CAAC,UAAU,IAAI,MAAM,GAAG,SAAS;IAI1C;;;;;OAKG;IACH,SAAS,CAAC,gBAAgB,IAAI,eAAe;IAW7C;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,IAAI,KAAK;IAEhC;;;;OAIG;IACH,MAAM,IAAI,MAAM;CAGjB;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;EAMpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE3E;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,SAAS,CAAC,mBAAmB,CAAC;IACjE,SAAkB,IAAI,EAAG,iBAAiB,CAAU;gBAExC,OAAO,CAAC,EAAE,gBAAgB;IAiBtC;;;;OAIG;IACM,cAAc,IAAI,mBAAmB;CAG/C"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,IAAI,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;EAM1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC;AAE7D,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,EAAE,CAAC,EAAE,MAAM,CAAC;IAKZ,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,8BAAsB,SAAS,CAC7B,KAAK,SAAS,eAAe,GAAG,eAAe,CAC/C,SAAQ,KAAK;;IACb;;;;;OAKG;IACH,MAAM,CAAC,aAAa,EAAE,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IAE7D,gDAAgD;IAChD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,gDAAgD;IAChD,kBAA2B,IAAI,EAAE,MAAM,CAAC;gBAQ5B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAiBvD;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAOpD;;;OAGG;IACH,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIrC;;;;;OAKG;IACH,SAAS,CAAC,UAAU,IAAI,MAAM,GAAG,SAAS;IAI1C;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAO9C;;;;;OAKG;IACH,SAAS,CAAC,gBAAgB,IAAI,eAAe;IAW7C;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,IAAI,KAAK;IAEhC;;;;OAIG;IACH,MAAM,IAAI,MAAM;CAGjB;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;EAMpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE3E;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,SAAS,CAAC,mBAAmB,CAAC;IACjE,SAAkB,IAAI,EAAG,iBAAiB,CAAU;gBAExC,OAAO,CAAC,EAAE,gBAAgB;IAiBtC;;;;OAIG;IACM,cAAc,IAAI,mBAAmB;CAG/C"}
package/script/error.js CHANGED
@@ -98,6 +98,18 @@ class BaseError extends Error {
98
98
  getTraceId() {
99
99
  return __classPrivateFieldGet(this, _BaseError_traceId, "f");
100
100
  }
101
+ /**
102
+ * Attach a trace ID if one was not captured when the error was created.
103
+ *
104
+ * @param traceId - Trace ID to attach to serialized error data.
105
+ * @returns This error instance for chaining.
106
+ */
107
+ withTraceId(traceId) {
108
+ if (__classPrivateFieldGet(this, _BaseError_traceId, "f") === undefined && traceId !== undefined) {
109
+ __classPrivateFieldSet(this, _BaseError_traceId, traceId, "f");
110
+ }
111
+ return this;
112
+ }
101
113
  /**
102
114
  * Helper method to get base serializable fields.
103
115
  * Subclasses should use this to build their complete serializable object.
@@ -1 +1 @@
1
- {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"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"}
package/script/result.js CHANGED
@@ -218,7 +218,11 @@ class Result {
218
218
  return result;
219
219
  }
220
220
  }
221
- return results[results.length - 1];
221
+ const last = results[results.length - 1];
222
+ if (!last) {
223
+ throw new Error("Result.any requires at least one result");
224
+ }
225
+ return last;
222
226
  }
223
227
  /**
224
228
  * Type guard to check if this Result is Ok.
@@ -823,7 +827,11 @@ class AsyncResult {
823
827
  return result;
824
828
  }
825
829
  }
826
- return resolvedResults[resolvedResults.length - 1];
830
+ const last = resolvedResults[resolvedResults.length - 1];
831
+ if (!last) {
832
+ throw new Error("AsyncResult.any requires at least one result");
833
+ }
834
+ return last;
827
835
  })());
828
836
  }
829
837
  /**
package/src/error.ts ADDED
@@ -0,0 +1,206 @@
1
+ /**
2
+ * Base error types for use with Result<T, E>
3
+ * @module error
4
+ */
5
+
6
+ import { ulid } from "ulid";
7
+ import Type, { type Static } from "typebox";
8
+
9
+ /**
10
+ * Base error serialization schema.
11
+ * All errors serialize to this structure with optional additional fields.
12
+ */
13
+ export const BaseErrorSchema = Type.Object({
14
+ id: Type.String(),
15
+ type: Type.String(),
16
+ message: Type.String(),
17
+ context: Type.Optional(Type.Record(Type.String(), Type.Unknown())),
18
+ traceId: Type.Optional(Type.String()),
19
+ });
20
+ export type BaseErrorSchema = Static<typeof BaseErrorSchema>;
21
+
22
+ export type BaseErrorOptions = ErrorOptions & {
23
+ context?: Record<string, unknown>;
24
+ id?: string;
25
+ /*
26
+ * Can be set by external modules (like Trellis) to provide trace IDs from their tracing context.
27
+ * Returns undefined by default.
28
+ */
29
+ traceId?: string;
30
+ };
31
+
32
+ /**
33
+ * Base class for all errors used in Result<T, E>.
34
+ * @template TData - The serialized data type for this error
35
+ */
36
+ export abstract class BaseError<
37
+ TData extends BaseErrorSchema = BaseErrorSchema,
38
+ > extends Error {
39
+ /**
40
+ * Optional callback to provide a trace ID from ambient context (e.g. OpenTelemetry).
41
+ *
42
+ * Trellis (or other consumers) can set this once at startup so all BaseError
43
+ * instances capture a traceId automatically unless explicitly provided.
44
+ */
45
+ static traceIdGetter: (() => string | undefined) | undefined;
46
+
47
+ /** Unique identifier for this error instance */
48
+ readonly id: string;
49
+
50
+ /** Error type name (used for discrimination) */
51
+ abstract override readonly name: string;
52
+
53
+ /** Runtime contextual information */
54
+ readonly #context: Record<string, unknown>;
55
+
56
+ /** Trace ID captured at error creation time */
57
+ #traceId: string | undefined;
58
+
59
+ constructor(message: string, options?: BaseErrorOptions) {
60
+ const { context, id, traceId, ...errorOptions } = options ?? {};
61
+ super(message, errorOptions);
62
+
63
+ this.id = id ?? ulid();
64
+ this.#context = context ?? {};
65
+ this.#traceId = traceId ?? BaseError.traceIdGetter?.();
66
+
67
+ const constructor = this.constructor;
68
+ if ("prototype" in constructor) {
69
+ Object.setPrototypeOf(this, constructor.prototype);
70
+ }
71
+ if (Error.captureStackTrace) {
72
+ Error.captureStackTrace(this, this.constructor);
73
+ }
74
+ }
75
+
76
+ /**
77
+ * Add contextual information to this error.
78
+ * Useful for adding runtime context like request IDs, user IDs, etc.
79
+ *
80
+ * @param context - Key-value pairs to add to the error context
81
+ * @returns This error instance for chaining
82
+ *
83
+ * @example
84
+ * ```typescript
85
+ * const error = new UnauthorizedError({ reason: "Invalid token" })
86
+ * .withContext({ userId: "123", requestId: "req-456" });
87
+ * ```
88
+ */
89
+ withContext(context?: Record<string, unknown>): this {
90
+ if (context) {
91
+ Object.assign(this.#context, context);
92
+ }
93
+ return this;
94
+ }
95
+
96
+ /**
97
+ * Get the current context object.
98
+ * @returns The context object
99
+ */
100
+ getContext(): Record<string, unknown> {
101
+ return this.#context;
102
+ }
103
+
104
+ /**
105
+ * Get the trace ID for this error.
106
+ * Returns the trace ID captured at error creation time.
107
+ *
108
+ * @returns The trace ID string or undefined
109
+ */
110
+ protected getTraceId(): string | undefined {
111
+ return this.#traceId;
112
+ }
113
+
114
+ /**
115
+ * Attach a trace ID if one was not captured when the error was created.
116
+ *
117
+ * @param traceId - Trace ID to attach to serialized error data.
118
+ * @returns This error instance for chaining.
119
+ */
120
+ withTraceId(traceId: string | undefined): this {
121
+ if (this.#traceId === undefined && traceId !== undefined) {
122
+ this.#traceId = traceId;
123
+ }
124
+ return this;
125
+ }
126
+
127
+ /**
128
+ * Helper method to get base serializable fields.
129
+ * Subclasses should use this to build their complete serializable object.
130
+ *
131
+ * @returns Base error fields (id, type, message, context, traceId)
132
+ */
133
+ protected baseSerializable(): BaseErrorSchema {
134
+ const traceId = this.getTraceId();
135
+ return {
136
+ id: this.id,
137
+ type: this.name,
138
+ message: this.message,
139
+ context: this.#context,
140
+ ...(traceId !== undefined && { traceId }),
141
+ };
142
+ }
143
+
144
+ /**
145
+ * Serializes error to a plain object.
146
+ * Subclasses must implement this to return their specific data type.
147
+ *
148
+ * @returns Plain object representation of the error
149
+ */
150
+ abstract toSerializable(): TData;
151
+
152
+ /**
153
+ * Serializes error to JSON string.
154
+ *
155
+ * @returns JSON string representation of the error
156
+ */
157
+ toJSON(): string {
158
+ return JSON.stringify(this.toSerializable());
159
+ }
160
+ }
161
+
162
+ /**
163
+ * Schema for UnexpectedError serialization.
164
+ */
165
+ export const UnexpectedErrorDataSchema = Type.Object({
166
+ id: Type.String(),
167
+ type: Type.Literal("UnexpectedError"),
168
+ message: Type.String(),
169
+ context: Type.Optional(Type.Record(Type.String(), Type.Unknown())),
170
+ traceId: Type.Optional(Type.String()),
171
+ });
172
+ export type UnexpectedErrorData = Static<typeof UnexpectedErrorDataSchema>;
173
+
174
+ /**
175
+ * Represents an unexpected error.
176
+ * Use this for wrapping unknown errors or for truly unexpected conditions.
177
+ */
178
+ export class UnexpectedError extends BaseError<UnexpectedErrorData> {
179
+ override readonly name = "UnexpectedError" as const;
180
+
181
+ constructor(options?: BaseErrorOptions) {
182
+ super("An unexpected error has occurred", options);
183
+ if (options?.cause) {
184
+ let root: unknown = options.cause;
185
+ while (root instanceof Error && root.cause) {
186
+ root = root.cause;
187
+ }
188
+ const causeMessage = root instanceof Error
189
+ ? root.message
190
+ : typeof root === "object"
191
+ ? JSON.stringify(root)
192
+ : String(root);
193
+ const causeStack = root instanceof Error ? root.stack : undefined;
194
+ this.withContext({ causeMessage, causeStack });
195
+ }
196
+ }
197
+
198
+ /**
199
+ * Serializes error to a plain object.
200
+ *
201
+ * @returns Plain object representation of the error
202
+ */
203
+ override toSerializable(): UnexpectedErrorData {
204
+ return this.baseSerializable() as UnexpectedErrorData;
205
+ }
206
+ }
package/src/mod.ts ADDED
@@ -0,0 +1,80 @@
1
+ /**
2
+ * @qlever-llc/result - Class-based Result type for TypeScript/Deno
3
+ *
4
+ * A class-based Result<T, E> system inspired by Rust's Result type,
5
+ * providing elegant error handling with method chaining and the `take()`
6
+ * pattern for early returns.
7
+ *
8
+ * This library provides two main classes:
9
+ * - `Result<T, E>`: Synchronous result type with method chaining
10
+ * - `AsyncResult<T, E>`: Asynchronous result type that implements PromiseLike
11
+ *
12
+ * @example Basic usage with static methods
13
+ * ```typescript
14
+ * import { Result } from "@qlever-llc/result";
15
+ *
16
+ * function divide(a: number, b: number): Result<number, ValidationError> {
17
+ * if (b === 0) {
18
+ * return Result.err(new ValidationError("Division by zero"));
19
+ * }
20
+ * return Result.ok(a / b);
21
+ * }
22
+ *
23
+ * const result = divide(10, 2)
24
+ * .map(x => x * 2)
25
+ * .map(x => x + 1);
26
+ *
27
+ * const value = result.take();
28
+ * if (Result.isErr(value)) return value;
29
+ * console.log(value); // 11
30
+ * ```
31
+ *
32
+ * @example Async operations
33
+ * ```typescript
34
+ * import { AsyncResult, Result } from "@qlever-llc/result";
35
+ *
36
+ * const user = AsyncResult.try(async () => {
37
+ * const response = await fetch(`/api/users/123`);
38
+ * return await response.json();
39
+ * });
40
+ *
41
+ * const result = user
42
+ * .map(user => user.name)
43
+ * .map(name => name.toUpperCase());
44
+ *
45
+ * const value = await result.take();
46
+ * if (Result.isErr(value)) return value;
47
+ * console.log(value); // "ALICE"
48
+ * ```
49
+ *
50
+ * @module
51
+ */
52
+ import "./_dnt.polyfills.js";
53
+
54
+
55
+ import { Result as ResultClass } from "./result.js";
56
+
57
+ export { AsyncResult, Result } from "./result.js";
58
+ export type {
59
+ ErrValue,
60
+ Infer,
61
+ InferErr,
62
+ MaybeAsync,
63
+ OkValue,
64
+ } from "./result.js";
65
+
66
+ export const ok = ResultClass.ok;
67
+ export const err = ResultClass.err;
68
+ export const isOk = ResultClass.isOk;
69
+ export const isErr = ResultClass.isErr;
70
+
71
+ export {
72
+ BaseError,
73
+ UnexpectedError,
74
+ UnexpectedErrorDataSchema,
75
+ } from "./error.js";
76
+ export type {
77
+ BaseErrorOptions,
78
+ BaseErrorSchema,
79
+ UnexpectedErrorData,
80
+ } from "./error.js";