hyperpop.js/common.ts
2021-11-15 18:57:50 -03:00

63 lines
1.3 KiB
TypeScript

export interface Paging {
/**
* Si hay más páginas disponibles
*/
MoreData: boolean;
/**
* El número de la página. Empieza desde 1.
*/
PageNumber: number;
/**
* El tamaño de la página. Tiene un límite de 5000.
*/
PageSize: number;
}
export interface Paginacion {
/**
* El número de la página. Empieza desde 1.
*/
number: number;
/**
* El tamaño de la página. Tiene un límite de 5000.
*/
size: number;
}
export function paginacionToSearchParams(
paginacion: Paginacion | undefined,
searchParams: URLSearchParams
) {
if (paginacion) {
searchParams.set("pageSize", paginacion.size.toString());
searchParams.set("pageNumber", paginacion.number.toString());
} else {
// El máximo, según lo que retorna en 'Paging'
searchParams.set("pageSize", "5000");
searchParams.set("pageNumber", "1");
}
}
export interface QueryCustomer {
type: TipoDeDocumento;
number: string;
}
export function queryCustomerToSearchParams(
cliente: QueryCustomer,
searchParams: URLSearchParams
) {
if (cliente) {
searchParams.set("documentType", cliente.type.toString());
searchParams.set("documentNumber", cliente.number);
}
}
export enum TipoDeDocumento {
CUIT = "80",
CUIL = "86",
CDI = "87",
LE = "89",
LC = "90",
DNI = "96",
}