This commit is contained in:
+5
-2
@@ -18,15 +18,18 @@ export type ConvertErrorCode =
|
||||
| 'unsupported-node-shape'
|
||||
| 'unsupported-node-type'
|
||||
|
||||
export type ConvertErrorPath = readonly (number | string)[]
|
||||
|
||||
export type ConvertError = {
|
||||
code: ConvertErrorCode
|
||||
message: string
|
||||
path: ConvertErrorPath
|
||||
}
|
||||
|
||||
export type Result<T> = { error: ConvertError; ok: false } | { ok: true; value: T }
|
||||
|
||||
export function failure<T>(code: ConvertErrorCode, message: string): Result<T> {
|
||||
return { error: { code, message }, ok: false }
|
||||
export function failure<T>(code: ConvertErrorCode, message: string, path: ConvertErrorPath): Result<T> {
|
||||
return { error: { code, message, path }, ok: false }
|
||||
}
|
||||
|
||||
export function success<T>(value: T): Result<T> {
|
||||
|
||||
Reference in New Issue
Block a user