File

src/common/dtos/page-meta.dto.ts

Index

Properties

Constructor

constructor(undefined: IPageMetaDtoParameters)
Parameters :
Name Type Optional
IPageMetaDtoParameters No

Properties

Readonly itemCount
Type : number
Decorators :
@ApiProperty()
Readonly page
Type : number
Decorators :
@ApiProperty()
Readonly pageCount
Type : number
Decorators :
@ApiProperty()
Readonly take
Type : number
Decorators :
@ApiProperty()
import { ApiProperty } from '@nestjs/swagger';
import { PageOptionsDto } from 'common/dtos';

interface IPageMetaDtoParameters {
  pageOptionsDto: PageOptionsDto;
  itemCount: number;
}

export class PageMetaDto {
  @ApiProperty()
  readonly page: number;

  @ApiProperty()
  readonly take: number;

  @ApiProperty()
  readonly itemCount: number;

  @ApiProperty()
  readonly pageCount: number;

  constructor({ pageOptionsDto, itemCount }: IPageMetaDtoParameters) {
    this.page = pageOptionsDto.page;
    this.take = pageOptionsDto.take;
    this.itemCount = itemCount;
    this.pageCount = Math.ceil(itemCount / this.take);
  }
}

result-matching ""

    No results matching ""