1010 * @template T 成功時の値の型
1111 * @template E 失敗時のエラーの型
1212 */
13- abstract readonly class Result
13+ interface Result
1414{
1515 /**
1616 * 結果が成功(Ok)の場合に true を返します.
1919 *
2020 * @return bool
2121 */
22- abstract public function isOk (): bool ;
22+ public function isOk (): bool ;
2323
2424 /**
2525 * 結果が成功(Ok)でありコールバックが true を返す場合に true を返します.
@@ -28,7 +28,7 @@ abstract public function isOk(): bool;
2828 *
2929 * @return bool
3030 */
31- abstract public function isOkAnd (callable $ fn ): bool ;
31+ public function isOkAnd (callable $ fn ): bool ;
3232
3333 /**
3434 * 結果が失敗(Err)の場合に true を返します.
@@ -37,7 +37,7 @@ abstract public function isOkAnd(callable $fn): bool;
3737 *
3838 * @return bool
3939 */
40- abstract public function isErr (): bool ;
40+ public function isErr (): bool ;
4141
4242 /**
4343 * 結果が失敗(Err)でありコールバックが true を返す場合に true を返します.
@@ -46,21 +46,21 @@ abstract public function isErr(): bool;
4646 *
4747 * @return bool
4848 */
49- abstract public function isErrAnd (callable $ fn ): bool ;
49+ public function isErrAnd (callable $ fn ): bool ;
5050
5151 /**
5252 * 成功値を返します。失敗の場合は例外を投げます.
5353 *
5454 * @return T
5555 */
56- abstract public function unwrap (): mixed ;
56+ public function unwrap (): mixed ;
5757
5858 /**
5959 * エラー値を返します。成功の場合は例外を投げます.
6060 *
6161 * @return E
6262 */
63- abstract public function unwrapErr (): mixed ;
63+ public function unwrapErr (): mixed ;
6464
6565 /**
6666 * 成功値またはデフォルト値を返します.
@@ -69,7 +69,7 @@ abstract public function unwrapErr(): mixed;
6969 * @param U $default
7070 * @return T|U
7171 */
72- abstract public function unwrapOr (mixed $ default ): mixed ;
72+ public function unwrapOr (mixed $ default ): mixed ;
7373
7474 /**
7575 * 成功値またはクロージャーの結果を返します.
@@ -79,7 +79,7 @@ abstract public function unwrapOr(mixed $default): mixed;
7979 *
8080 * @return T|U
8181 */
82- abstract public function unwrapOrElse (callable $ fn ): mixed ;
82+ public function unwrapOrElse (callable $ fn ): mixed ;
8383
8484 /**
8585 * 成功値に関数を適用します.
@@ -90,7 +90,7 @@ abstract public function unwrapOrElse(callable $fn): mixed;
9090 *
9191 * @return Result<U, E>
9292 */
93- abstract public function map (callable $ fn ): self ;
93+ public function map (callable $ fn ): self ;
9494
9595 /**
9696 * エラー値に関数を適用します.
@@ -101,7 +101,7 @@ abstract public function map(callable $fn): self;
101101 *
102102 * @return Result<T, F>
103103 */
104- abstract public function mapErr (callable $ fn ): self ;
104+ public function mapErr (callable $ fn ): self ;
105105
106106 /**
107107 * 成功値に副作用を適用します.
@@ -110,7 +110,7 @@ abstract public function mapErr(callable $fn): self;
110110 *
111111 * @return Result<T, E>
112112 */
113- abstract public function inspect (callable $ fn ): self ;
113+ public function inspect (callable $ fn ): self ;
114114
115115 /**
116116 * エラー値に副作用を適用します.
@@ -119,7 +119,7 @@ abstract public function inspect(callable $fn): self;
119119 *
120120 * @return Result<T, E>
121121 */
122- abstract public function inspectErr (callable $ fn ): self ;
122+ public function inspectErr (callable $ fn ): self ;
123123
124124 /**
125125 * 成功値に関数を適用するか、デフォルト値を返します.
@@ -131,7 +131,7 @@ abstract public function inspectErr(callable $fn): self;
131131 *
132132 * @return T|U
133133 */
134- abstract public function mapOr (mixed $ default , callable $ fn ): mixed ;
134+ public function mapOr (mixed $ default , callable $ fn ): mixed ;
135135
136136 /**
137137 * 成功値に関数を適用するか、クロージャーの結果を返します.
@@ -143,7 +143,7 @@ abstract public function mapOr(mixed $default, callable $fn): mixed;
143143 *
144144 * @return U
145145 */
146- abstract public function mapOrElse (callable $ default_fn , callable $ fn ): mixed ;
146+ public function mapOrElse (callable $ default_fn , callable $ fn ): mixed ;
147147
148148 /**
149149 * 成功の場合は第2の結果を返し、失敗の場合は最初のエラーを返します.
@@ -154,7 +154,7 @@ abstract public function mapOrElse(callable $default_fn, callable $fn): mixed;
154154 *
155155 * @return Result<U, E>
156156 */
157- abstract public function and (self $ res ): self ;
157+ public function and (self $ res ): self ;
158158
159159 /**
160160 * 成功の場合は関数を適用し、失敗の場合は現在のエラーを返します.
@@ -165,7 +165,7 @@ abstract public function and(self $res): self;
165165 *
166166 * @return Result<U, E>
167167 */
168- abstract public function andThen (callable $ fn ): self ;
168+ public function andThen (callable $ fn ): self ;
169169
170170 /**
171171 * 失敗の場合は第2の結果を返し、成功の場合は最初の値を返します.
@@ -176,7 +176,7 @@ abstract public function andThen(callable $fn): self;
176176 *
177177 * @return Result<T, F>
178178 */
179- abstract public function or (self $ res ): self ;
179+ public function or (self $ res ): self ;
180180
181181 /**
182182 * 失敗の場合は関数を適用し、成功の場合は現在の値を返します.
@@ -187,7 +187,7 @@ abstract public function or(self $res): self;
187187 *
188188 * @return Result<T, F>
189189 */
190- abstract public function orElse (callable $ fn ): self ;
190+ public function orElse (callable $ fn ): self ;
191191
192192 /**
193193 * 成功の場合はok_fnを、失敗の場合はerr_fnを適用します.
@@ -201,5 +201,5 @@ abstract public function orElse(callable $fn): self;
201201 *
202202 * @return U|V 適用された関数の結果
203203 */
204- abstract public function match (callable $ ok_fn , callable $ err_fn ): mixed ;
204+ public function match (callable $ ok_fn , callable $ err_fn ): mixed ;
205205}
0 commit comments