@@ -24,10 +24,6 @@ export abstract class FirebaseFunction<Parameters, ReturnType> {
2424
2525export namespace FirebaseFunction {
2626
27- export type Parameters < Function extends FirebaseFunction < any , any > > = Function extends FirebaseFunction < infer Parameters , any > ? Parameters : never ;
28-
29- export type ReturnType < Function extends FirebaseFunction < any , any > > = Function extends FirebaseFunction < any , infer ReturnType > ? ReturnType : never ;
30-
3127 export type Constructor < Parameters , ReturnType > = new ( ) => FirebaseFunction < Parameters , ReturnType > ;
3228
3329 export class ConstructorWrapper < Parameters , ReturnType > {
@@ -38,6 +34,16 @@ export namespace FirebaseFunction {
3834 ) { }
3935 }
4036
37+ export type Parameters < Function extends FirebaseFunction < any , any > | Constructor < any , any > | ConstructorWrapper < any , any > > =
38+ Function extends FirebaseFunction < infer Parameters , any > ? Parameters :
39+ Function extends Constructor < infer Parameters , any > ? Parameters :
40+ Function extends ConstructorWrapper < infer Parameters , any > ? Parameters : never ;
41+
42+ export type ReturnType < Function extends FirebaseFunction < any , any > | Constructor < any , any > | ConstructorWrapper < any , any > > =
43+ Function extends FirebaseFunction < any , infer ReturnType > ? ReturnType :
44+ Function extends Constructor < any , infer ReturnType > ? ReturnType :
45+ Function extends ConstructorWrapper < any , infer ReturnType > ? ReturnType : never ;
46+
4147 export function create < Parameters , ReturnType > (
4248 // eslint-disable-next-line @typescript-eslint/naming-convention
4349 FirebaseFunction : FirebaseFunction . Constructor < Parameters , ReturnType > ,
0 commit comments