@yuyu0202/rustlikeresult 1.0.3 → 1.0.5
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/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -15
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Awaitable, ResultAsync } from "./types.ts";
|
|
2
2
|
export type { ResultAsync, ResultPayload, Awaitable, AwaitableResult } from "./types.js";
|
|
3
3
|
export declare function Ok<T>(): Result<void, never>;
|
|
4
4
|
export declare function Ok<T>(value: T): Result<T, never>;
|
|
5
5
|
export declare function Err<E = string>(error: E): Result<never, E>;
|
|
6
6
|
export declare class Result<T, E = string> {
|
|
7
|
-
static Ok<T>(): Result<void, never>;
|
|
8
|
-
static Ok<T>(value: T): Result<T, never>;
|
|
9
|
-
static Err<E = Error>(error: E): Result<never, E>;
|
|
10
|
-
static fromAsync<T>(fn: () => Awaitable<T>): ResultAsync<T>;
|
|
11
|
-
static from<T>(fn: () => T): Result<T>;
|
|
12
7
|
readonly success: boolean;
|
|
13
8
|
readonly value?: T;
|
|
14
9
|
readonly error?: E;
|
|
15
10
|
private constructor();
|
|
11
|
+
static Ok<T>(): Result<void, never>;
|
|
12
|
+
static Ok<T>(value: T): Result<T, never>;
|
|
13
|
+
static Err<E = Error>(error: E): Result<never, E>;
|
|
14
|
+
static fromAsync<T, E = string>(fn: (...args: any[]) => Awaitable<T>, ...args: Parameters<typeof fn>): ResultAsync<Awaited<T>, E>;
|
|
15
|
+
static from<T, E = string>(fn: (...args: any[]) => T, ...args: Parameters<typeof fn>): Result<T, E>;
|
|
16
16
|
unwrap(): T;
|
|
17
17
|
unwrapOr(defaultValue: T): T;
|
|
18
18
|
unwrapOrElse(defaultFn: () => T): T;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -10,6 +10,15 @@ export function Err(error) {
|
|
|
10
10
|
return Result.Err(error);
|
|
11
11
|
}
|
|
12
12
|
export class Result {
|
|
13
|
+
constructor(payload) {
|
|
14
|
+
this.success = payload.ok;
|
|
15
|
+
if (payload.ok) {
|
|
16
|
+
this.value = payload.value;
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
this.error = payload.error;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
13
22
|
static Ok(value) {
|
|
14
23
|
if (arguments.length === 0) {
|
|
15
24
|
return new Result({ ok: true, value: undefined });
|
|
@@ -21,29 +30,20 @@ export class Result {
|
|
|
21
30
|
static Err(error) {
|
|
22
31
|
return new Result({ ok: false, error });
|
|
23
32
|
}
|
|
24
|
-
static async fromAsync(fn) {
|
|
33
|
+
static async fromAsync(fn, ...args) {
|
|
25
34
|
try {
|
|
26
|
-
return Result.Ok(await fn());
|
|
35
|
+
return Result.Ok(await fn(...args));
|
|
27
36
|
}
|
|
28
37
|
catch (e) {
|
|
29
|
-
return Result.Err(e instanceof Error ? e.message : String(e));
|
|
38
|
+
return Result.Err((e instanceof Error ? e.message : String(e)));
|
|
30
39
|
}
|
|
31
40
|
}
|
|
32
|
-
static from(fn) {
|
|
41
|
+
static from(fn, ...args) {
|
|
33
42
|
try {
|
|
34
|
-
return Result.Ok(fn());
|
|
43
|
+
return Result.Ok(fn(...args));
|
|
35
44
|
}
|
|
36
45
|
catch (e) {
|
|
37
|
-
return Result.Err(e instanceof Error ? e.message : String(e));
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
constructor(payload) {
|
|
41
|
-
this.success = payload.ok;
|
|
42
|
-
if (payload.ok) {
|
|
43
|
-
this.value = payload.value;
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
this.error = payload.error;
|
|
46
|
+
return Result.Err((e instanceof Error ? e.message : String(e)));
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
unwrap() {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,EAAE,CAAK,KAAS;IAC9B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE1C,MAAM,MAAM,aAAa,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE1C,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,IAC1B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GACtB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAE5B,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAE/D,MAAM,MAAM,eAAe,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC"}
|