UNPKG

angular-t9n

Version:

A translation tool for Angular i18n

31 lines (28 loc) 916 B
import { HttpParams } from '@angular/common/http'; import { SortDirection } from '@angular/material/sort'; export function createPageParams(query: { page?: number; entriesPerPage?: number; sort?: { active: string; direction: SortDirection }; filter?: { [property: string]: string }; }) { let params = new HttpParams(); if (query.page) { params = params.set('page', query.page.toString()); } if (query.entriesPerPage) { params = params.set('entriesPerPage', query.entriesPerPage.toString()); } if (query.sort && query.sort.active && query.sort.direction) { params = params.set( 'sort', `${query.sort.direction === 'desc' ? '!' : ''}${query.sort.active}`, ); } if (query.filter) { params = Object.keys(query.filter) .filter((k) => query.filter![k]) .reduce((current, next) => current.set(next, query.filter![next]), params); } return params; }