Commit 4b238e4c authored by nanahira's avatar nanahira

fix typings

parent 4cd9f878
......@@ -6,6 +6,7 @@ import {
ClassOrArray,
getClassFromClassOrArray,
InsertField,
ParseType,
} from '../utility/insert-field';
export interface BlankReturnMessage {
......@@ -73,7 +74,13 @@ export class GenericReturnMessageDto<T>
}
}
export function ReturnMessageDto<T extends ClassOrArray>(type: T) {
export function ReturnMessageDto<T extends ClassOrArray>(
type: T,
): new (
statusCode: number,
message: string,
data: ParseType<T>,
) => GenericReturnMessageDto<ParseType<T>> {
return InsertField(
GenericReturnMessageDto,
{
......@@ -106,7 +113,15 @@ export class GenericPaginatedReturnMessageDto<T>
}
}
export function PaginatedReturnMessageDto<T extends AnyClass>(type: T) {
export function PaginatedReturnMessageDto<T extends AnyClass>(
type: T,
): new (
statusCode: number,
message: string,
data: InstanceType<T>[],
total: number,
pageSettings: PageSettingsWise,
) => GenericPaginatedReturnMessageDto<InstanceType<T>[]> {
return InsertField(
GenericPaginatedReturnMessageDto,
{
......@@ -124,5 +139,5 @@ export function PaginatedReturnMessageDto<T extends AnyClass>(type: T) {
export class StringReturnMessageDto extends GenericReturnMessageDto<string> {
@ApiProperty({ description: 'Return data.', type: String, required: false })
data?: string;
data: string;
}
......@@ -25,7 +25,9 @@ export interface InsertOptions<C extends ClassOrArray = ClassOrArray> {
type TypeFromInsertOptions<O extends InsertOptions> = O extends InsertOptions<
infer C
>
? ParseType<C>
?
| ParseType<C>
| (O extends { options: { required: true } } ? never : undefined)
: never;
export function InsertField<
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment