UNPKG

@adocasts.com/dto

Version:

Easily make and generate DTOs from Lucid Models

17 lines (16 loc) 1.08 kB
import { LucidRow, ModelPaginatorContract } from '@adonisjs/lucid/types/model'; import { SimplePaginatorDtoContract, SimplePaginatorDtoMetaContract, SimplePaginatorDtoMetaRange, StaticDto } from '../types.js'; import BaseDto from '../base/base_dto.js'; import { SimplePaginatorContract } from '@adonisjs/lucid/types/querybuilder'; export default class SimplePaginatorDto<Model, Dto extends BaseDto> implements SimplePaginatorDtoContract<Dto> { data: Dto[]; meta: SimplePaginatorDtoMetaContract; /** * Constructs a new instance of the SimplePaginatorDto class. * * @param {SimplePaginatorContract<Model>|ModelPaginatorContract<Model>} paginator - The paginator object containing the data. * @param {StaticDto<Model, Dto>} dto - The static DTO class used to map the data. * @param {SimplePaginatorDtoMetaRange} [range] - Optional range for the paginator. */ constructor(paginator: Model extends LucidRow ? ModelPaginatorContract<Model> : SimplePaginatorContract<Model>, dto: StaticDto<Model, Dto>, range?: SimplePaginatorDtoMetaRange); }