The wrap function doesn't accept type BlockingFunction #218
Open
Description
opened on Jan 3, 2024
Version info
firebase-functions-test:
firebase-functions:
firebase-admin:
Test case
I am testing firebase blocking functions by firebase-functions-test
, But the there is no overload on wrap
function.
Steps to reproduce
Production code:
export const beforeSignIn = auth.user().beforeSignIn(async (user, context) => {
if (user.phoneNumber == undefined) {
throw new HttpsError(
"permission-denied", "Invalid phone number");
}
return;
});
Test code(This throws error):
const wrapped = wrap(beforeSignIn);
Expected behavior
wrap
function should accept type BlockingFunction
Actual behavior
No overload matches this call.
Overload 1 of 3, '(cloudFunction: HttpsFunction & Runnable<unknown>): WrappedFunction<unknown, HttpsFunction & Runnable<unknown>>', gave the following error.
Argument of type 'BlockingFunction' is not assignable to parameter of type 'HttpsFunction & Runnable<unknown>'.
Property 'run' is missing in type 'BlockingFunction' but required in type 'Runnable<unknown>'.
Overload 2 of 3, '(cloudFunction: CloudFunction<unknown>): WrappedScheduledFunction | WrappedFunction<unknown>', gave the following error.
Argument of type 'BlockingFunction' is not assignable to parameter of type 'CloudFunction<unknown>'.
Property 'run' is missing in type 'BlockingFunction' but required in type 'CloudFunction<unknown>'.
Overload 3 of 3, '(cloudFunction: CloudFunction<CloudEvent<unknown>>): WrappedV2Function<CloudEvent<unknown>>', gave the following error.
Argument of type 'BlockingFunction' is not assignable to parameter of type 'CloudFunction<CloudEvent<unknown>>'.
Property 'run' is missing in type 'BlockingFunction' but required in type 'CloudFunction<CloudEvent<unknown>>'.t
Activity