import { values, toArray, hasChild, XKeyValue, XOneOrManyType, isNullOrEmptyString, } from 'x-framework-core'; import { XAccountEndPointParam } from '../typings/x-endpoint.typings'; export function isContainsParams( route: string, params?: XOneOrManyType> ) { // // Validate Args ... if (isNullOrEmptyString(route)) { return false; } // const paramValues = values(XAccountEndPointParam) as Array; if (!hasChild(paramValues)) { return false; } // let result = paramValues.some((param) => route.includes(param)); if (!result) { // const paramsArr = toArray(params).map((p) => p.key) as Array; if (!hasChild(paramsArr)) { return false; } // result = paramsArr.some((param) => route.includes(param)); } // return result; } export function setParams( route: string, params?: XOneOrManyType> ) { // // Validate Args ... if ( !hasChild(params) || !isContainsParams(route, params) || isNullOrEmptyString(route) ) { return route; } // // Do Actions ... toArray(params).forEach((paramKeyValue) => { // route = route.replace( String(paramKeyValue.key), encodeURIComponent(String(paramKeyValue.value)) ); }); // return route; }