Skip to content

Commit 4307eb5

Browse files
committed
Use inline callback types
1 parent d9cd992 commit 4307eb5

File tree

2 files changed

+10
-18
lines changed

2 files changed

+10
-18
lines changed

resolver/src/result.ts

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,7 @@
11
interface IResult<T> {
2-
andThen(fn: IChainer<T>): IResult<T>;
3-
orElse(fn: IChainer<T>): IResult<T>;
4-
unwrapOrElse(fn: IMapper<T>): T;
5-
}
6-
7-
interface IMapper<T> {
8-
(value: T): T;
9-
}
10-
11-
interface IChainer<T> {
12-
(value: T): Result<T>;
2+
andThen(fn: (value: T) => IResult<T>): IResult<T>;
3+
orElse(fn: (value: T) => IResult<T>): IResult<T>;
4+
unwrapOrElse(fn: (value: T) => T): T;
135
}
146

157
export type Result<T> = Success<T> | Failure<T>;
@@ -19,13 +11,13 @@ export class Success<T> implements IResult<T> {
1911
constructor(value: T) {
2012
this.value = value;
2113
}
22-
andThen(fn: IChainer<T>) {
14+
andThen(fn: (value: T) => Result<T>): Result<T> {
2315
return fn(this.value);
2416
}
25-
orElse(fn: IChainer<T>) {
17+
orElse(fn: (value: T) => Result<T>): Result<T> {
2618
return this;
2719
}
28-
unwrapOrElse(fn: IMapper<T>) {
20+
unwrapOrElse(fn: (value: T) => T) {
2921
return this.value;
3022
}
3123
}
@@ -35,13 +27,13 @@ export class Failure<T> implements IResult<T> {
3527
constructor(value: T) {
3628
this.value = value;
3729
}
38-
andThen(fn: IChainer<T>) {
30+
andThen(fn: (value: T) => Result<T>): Result<T> {
3931
return this;
4032
}
41-
orElse(fn: IChainer<T>) {
33+
orElse(fn: (value: T) => Result<T>): Result<T> {
4234
return fn(this.value);
4335
}
44-
unwrapOrElse(fn: IMapper<T>) {
36+
unwrapOrElse(fn: (value: T) => T) {
4537
return fn(this.value);
4638
}
4739
}

resolver/src/scope.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ export class Scope {
6666
}
6767
return this.resolveDefaultVariant(node);
6868
})
69-
.orElse(_ => this.resolveDefaultVariant(node));
69+
.orElse(() => this.resolveDefaultVariant(node));
7070
}
7171

7272
resolvePatternElement(node: ast.PatternElement): Result<Value> {

0 commit comments

Comments
 (0)