node-result
Advanced tools
Comparing version 6.0.1 to 6.2.0
export { ResultError } from 'node-result-error'; | ||
declare type ErrorProcessing<E, D> = (error: E) => D; | ||
declare type ErrorProcessingAsync<E, D> = (error: E) => Promise<D>; | ||
export declare type ResultType<E, D> = ResultOK<E> | ResultFAIL<D>; | ||
export declare class Result<E, D> { | ||
@@ -8,2 +9,4 @@ protected readonly error: E | null; | ||
constructor(error: E | null | undefined, data: D); | ||
unwrap(): D; | ||
unwrapAsync(): Promise<D | E>; | ||
onError(func: ErrorProcessing<E, D>): D; | ||
@@ -10,0 +13,0 @@ onErrorAsync(func: ErrorProcessingAsync<E, D>): Promise<D>; |
"use strict"; | ||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||
return new (P || (P = Promise))(function (resolve, reject) { | ||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||
step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
}); | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -11,14 +20,28 @@ exports.tryCatchWrapperAsync = exports.tryCatchWrapper = exports.ResultFail = exports.ResultOk = exports.ResultFAIL = exports.ResultOK = exports.Result = exports.ResultError = void 0; | ||
} | ||
onError(func) { | ||
unwrap() { | ||
if (this.error !== null) { | ||
return func(this.error); | ||
throw this.error; | ||
} | ||
return this.data; | ||
} | ||
async onErrorAsync(func) { | ||
unwrapAsync() { | ||
if (this.error !== null) { | ||
return func(this.error); | ||
return Promise.reject(this.error); | ||
} | ||
return Promise.resolve(this.data); | ||
} | ||
onError(func) { | ||
if (this.error !== null) { | ||
return func(this.error); | ||
} | ||
return this.data; | ||
} | ||
onErrorAsync(func) { | ||
return __awaiter(this, void 0, void 0, function* () { | ||
if (this.error !== null) { | ||
return func(this.error); | ||
} | ||
return Promise.resolve(this.data); | ||
}); | ||
} | ||
isOk() { | ||
@@ -64,3 +87,3 @@ return this.error === null; | ||
try { | ||
return self?.call(this, ...args); | ||
return self === null || self === void 0 ? void 0 : self.call(this, ...args); | ||
} | ||
@@ -76,9 +99,11 @@ catch (error) { | ||
const self = descriptor.value; | ||
descriptor.value = async function (...args) { | ||
try { | ||
return await self?.call(this, ...args); | ||
} | ||
catch (error) { | ||
return exports.ResultFail(error); | ||
} | ||
descriptor.value = function (...args) { | ||
return __awaiter(this, void 0, void 0, function* () { | ||
try { | ||
return yield (self === null || self === void 0 ? void 0 : self.call(this, ...args)); | ||
} | ||
catch (error) { | ||
return exports.ResultFail(error); | ||
} | ||
}); | ||
}; | ||
@@ -85,0 +110,0 @@ return descriptor; |
{ | ||
"name": "node-result", | ||
"version": "6.0.1", | ||
"version": "6.2.0", | ||
"description": "result", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
8138
138