@anglr/rest
Version:
Angular module representing rest services
62 lines • 3.19 kB
TypeScript
import { HttpParams } from '@angular/common/http';
import { StringDictionary } from '@jscrpt/common';
import { QueryStringSerializer } from './classes/queryStringSerializer';
import { BuildMiddlewaresFn, ParamsDataIteratorItem, RestMiddleware } from '../interfaces';
import { RestMiddlewareType } from './types';
/**
* Builds and returns array of middleware run functions
* @param middlewares - Array of set middleware types
* @param middlewaresOrder - Array of middleware types in order that should be executed
*/
export declare const buildMiddlewares: BuildMiddlewaresFn;
/**
* Creates NotType from Type, this type will be removed from middlewares
* @param type - Type that will be set as NotType
*/
export declare function not(type: RestMiddlewareType<RestMiddleware<any, any, any, any, any>>): RestMiddlewareType<RestMiddleware>;
/**
* Gets underlying type for Type and NotType
* @param type - Type that is going to be used for extraction
*/
export declare function getType<TType extends RestMiddleware>(type: RestMiddlewareType<TType>): RestMiddlewareType<TType>;
/**
* Tests whether is provided type NotType
* @param type - Type to be tested for NotType
*/
export declare function isNotType<TType extends RestMiddleware>(type: RestMiddlewareType<TType>): boolean;
/**
* Handles query param and fills params dictionary
* @param data - Data for creating query param
* @param params - Params where should be new value placed
* @param args - Array of all arguments passed to handled function
*/
export declare function handleQueryParam(data: ParamsDataIteratorItem, params: StringDictionary, args: unknown[]): Promise<void>;
/**
* Handles header param and fills headers dictionary
* @param data - Data for creating header param
* @param headers - Params where should be new value placed
* @param args - Array of all arguments passed to handled function
*/
export declare function handleHeaderParam(data: ParamsDataIteratorItem, headers: StringDictionary, args: unknown[]): Promise<void>;
/**
* Handles path param and return updated url
* @param data - Data for creating path param
* @param url - Current url to be updated
* @param args - Array of all arguments passed to handled function
*/
export declare function handlePathParam(data: ParamsDataIteratorItem, url: string, args: unknown[]): Promise<string>;
/**
* Handles query object param and fills serialized query string array
* @param data - Data for creating query object param
* @param queryStrings - Array of query serialized query strings
* @param querySerializer - Serializer for query object
* @param args - Array of all arguments passed to handled function
*/
export declare function handleQueryObjectParam(data: ParamsDataIteratorItem, queryStrings: string[], querySerializer: QueryStringSerializer, args: unknown[]): Promise<void>;
/**
* Merges serialized query objects data with existing http params
* @param queryStrings - Serialized query objects data
* @param requestParams - Existing http params to be merged with
*/
export declare function mergeQueryObjectParamsWithHttpParams(queryStrings: string[], requestParams: HttpParams): HttpParams;
//# sourceMappingURL=utils.d.ts.map