16 lines
1.6 KiB
Plaintext
16 lines
1.6 KiB
Plaintext
import { ClassElementMetadata } from '../models/ClassElementMetadata';
|
|
import { ManagedClassElementMetadata } from '../models/ManagedClassElementMetadata';
|
|
import { MaybeClassElementMetadata } from '../models/MaybeClassElementMetadata';
|
|
import { MaybeManagedClassElementMetadata } from '../models/MaybeManagedClassElementMetadata';
|
|
type Or<T extends unknown[]> = T extends [infer First, ...infer Rest] ? First | Or<Rest> : never;
|
|
type BuildDefaultMetadataFunction<TParams extends unknown[][], TResult> = TParams extends [
|
|
infer First extends unknown[],
|
|
...infer Rest extends unknown[][]
|
|
] ? ((...params: First) => TResult) & BuildDefaultMetadataFunction<Rest, TResult> : (...params: any[]) => TResult;
|
|
type BuildMetadataFromMaybeManagedMetadataFunction<TParams extends unknown[][], TResult> = TParams extends [
|
|
infer First extends unknown[],
|
|
...infer Rest extends unknown[][]
|
|
] ? ((metadata: MaybeManagedClassElementMetadata | ManagedClassElementMetadata, ...params: First) => TResult) & BuildMetadataFromMaybeManagedMetadataFunction<Rest, TResult> : (metadata: MaybeManagedClassElementMetadata | ManagedClassElementMetadata, ...params: any[]) => TResult;
|
|
export declare function buildClassElementMetadataFromMaybeClassElementMetadata<TParams extends unknown[][]>(buildDefaultMetadata: BuildDefaultMetadataFunction<TParams, ClassElementMetadata>, buildMetadataFromMaybeManagedMetadata: BuildMetadataFromMaybeManagedMetadataFunction<TParams, ClassElementMetadata>): (...params: Or<TParams>) => (metadata: MaybeClassElementMetadata | undefined) => ClassElementMetadata;
|
|
export {};
|
|
//# sourceMappingURL=buildClassElementMetadataFromMaybeClassElementMetadata.d.ts.map |