Skip to content

Commit 721d7c1

Browse files
committed
Refactor FirebaseFunction to introduce executeWithResult method for enhanced result handling
1 parent 25b7787 commit 721d7c1

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/client/functions/FirebaseFunction.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ export class FirebaseFunction<Parameters, ReturnType> {
3939
private readonly returnTypeBuilder: ITypeBuilder<Flattable.Flatten<ReturnType>, ReturnType>
4040
) {}
4141

42-
public async execute(parameters: Parameters): Promise<ReturnType> {
42+
public async executeWithResult(parameters: Parameters): Promise<Result<ReturnType, FunctionsError>> {
4343
const _function: FunctionCallable<Parameters, ReturnType> = httpsCallable(this.functions, this.name);
4444
const flattenParameters = Flattable.flatten(parameters);
4545
const macTag = createMacTag(flattenParameters, this.macKey);
@@ -48,7 +48,11 @@ export class FirebaseFunction<Parameters, ReturnType> {
4848
parameters: flattenParameters
4949
});
5050
const resultBuilder = Result.builder(this.returnTypeBuilder, FunctionsError.builder);
51-
const result = resultBuilder.build(flattenResult.data);
51+
return resultBuilder.build(flattenResult.data);
52+
}
53+
54+
public async execute(parameters: Parameters): Promise<ReturnType> {
55+
const result = await this.executeWithResult(parameters);
5256
return result.get();
5357
}
5458
}

0 commit comments

Comments
 (0)