@volverjs/data
Version:
Repository pattern implementation with a tiny HttpClient based on Fetch API.
34 lines (33 loc) • 1.37 kB
TypeScript
import type { IStringifyOptions } from 'qs';
import type { ParamMap } from './types';
export type UrlBuilderOptions = IStringifyOptions;
export interface UrlBuilderInstance {
build: (template: string, params: ParamMap, options?: UrlBuilderOptions) => string;
query: (params: ParamMap, options?: UrlBuilderOptions) => string;
extend: (options: UrlBuilderOptions) => void;
clone: (options?: UrlBuilderOptions) => UrlBuilderInstance;
}
export declare class UrlBuilder implements UrlBuilderInstance {
private _options?;
constructor(options?: UrlBuilderOptions);
extend(options: UrlBuilderOptions): void;
clone(options?: UrlBuilderOptions): UrlBuilder;
build(template: string, params: ParamMap, options?: UrlBuilderOptions): string;
query(params: ParamMap, options?: UrlBuilderOptions): string;
static build(template: string, params?: ParamMap, options?: UrlBuilderOptions): string;
static query(params: ParamMap, options?: UrlBuilderOptions): string;
static validatePathParam(params: ParamMap, key: string): {
valid: boolean;
message: string;
} | {
valid: boolean;
message?: undefined;
};
static path(template: string, params?: ParamMap): {
renderedPath: string;
remainingParams: {
[x: string]: any;
};
};
private static _join;
}