Skip to content

The wrap function doesn't accept type BlockingFunction #218

Open
@ASE55471

Description

@ASE55471

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions