Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | import type { FirebaseFunction, IFirebaseFunction } from './FirebaseFunction';
import type { FirebaseRequest, IFirebaseRequest } from './FirebaseRequest';
export type FirebaseFunctions =
| IFirebaseFunction.ConstructorWrapper<unknown, unknown>
| IFirebaseRequest.ConstructorWrapper<unknown, unknown>
| { [key: string]: FirebaseFunctions };
export type RunnableFirebaseFunctions<Functions extends FirebaseFunctions> =
FirebaseFunctions.IsFunction<Functions> extends true ? FirebaseFunction<FirebaseFunctions.FunctionParameters<Functions>, FirebaseFunctions.FunctionReturnType<Functions>> :
FirebaseFunctions.IsRequest<Functions> extends true ? FirebaseRequest<FirebaseFunctions.RequestParameters<Functions>, FirebaseFunctions.RequestReturnType<Functions>> :
Functions extends { [key: string]: FirebaseFunctions } ? { [Key in keyof Functions]: RunnableFirebaseFunctions<Functions[Key]> } : never;
export namespace FirebaseFunctions {
export type IsFunction<Functions extends FirebaseFunctions> =
Functions extends IFirebaseFunction.ConstructorWrapper<unknown, unknown> ? true :
Functions extends IFirebaseRequest.ConstructorWrapper<unknown, unknown> ? false :
false;
export type IsRequest<Functions extends FirebaseFunctions> =
Functions extends IFirebaseFunction.ConstructorWrapper<unknown, unknown> ? false :
Functions extends IFirebaseRequest.ConstructorWrapper<unknown, unknown> ? true :
false;
export type IsRecord<Functions extends FirebaseFunctions> =
Functions extends IFirebaseFunction.ConstructorWrapper<unknown, unknown> ? false :
Functions extends IFirebaseRequest.ConstructorWrapper<unknown, unknown> ? false :
true;
export type FunctionParameters<Functions extends FirebaseFunctions> =
Functions extends IFirebaseFunction.ConstructorWrapper<infer Parameters, unknown> ? Parameters :
Functions extends IFirebaseRequest.ConstructorWrapper<unknown, unknown> ? never :
never;
export type FunctionReturnType<Functions extends FirebaseFunctions> =
Functions extends IFirebaseFunction.ConstructorWrapper<unknown, infer ReturnType> ? ReturnType :
Functions extends IFirebaseRequest.ConstructorWrapper<unknown, unknown> ? never :
never;
export type RequestParameters<Functions extends FirebaseFunctions> =
Functions extends IFirebaseFunction.ConstructorWrapper<unknown, unknown> ? never :
Functions extends IFirebaseRequest.ConstructorWrapper<infer Parameters, unknown> ? Parameters :
never;
export type RequestReturnType<Functions extends FirebaseFunctions> =
Functions extends IFirebaseFunction.ConstructorWrapper<unknown, unknown> ? never :
Functions extends IFirebaseRequest.ConstructorWrapper<unknown, infer ReturnType> ? ReturnType :
never;
}
|