docs(common): add `HttpParamsOptions` to the public API (#20332)

Fixes #20276

PR Close #20332
This commit is contained in:
George Kalpakas 2017-11-10 13:52:21 +02:00 committed by Matias Niemelä
parent 4bd3a65764
commit 7b7757dd3d
3 changed files with 23 additions and 20 deletions

View File

@ -12,7 +12,7 @@ import {concatMap, filter, map} from 'rxjs/operators';
import {HttpHandler} from './backend';
import {HttpHeaders} from './headers';
import {HttpParams, HttpParamsOptions} from './params';
import {HttpParams} from './params';
import {HttpRequest} from './request';
import {HttpEvent, HttpResponse} from './response';
@ -361,7 +361,7 @@ export class HttpClient {
if (options.params instanceof HttpParams) {
params = options.params;
} else {
params = new HttpParams({ fromObject: options.params } as HttpParamsOptions);
params = new HttpParams({fromObject: options.params});
}
}

View File

@ -73,21 +73,6 @@ interface Update {
op: 'a'|'d'|'s';
}
/** Options used to construct an `HttpParams` instance. */
export interface HttpParamsOptions {
/**
* String representation of the HTTP params in URL-query-string format. Mutually exclusive with
* `fromObject`.
*/
fromString?: string;
/** Object map of the HTTP params. Mutally exclusive with `fromString`. */
fromObject?: {[param: string]: string | string[]};
/** Encoding codec used to parse and serialize the params. */
encoder?: HttpParameterCodec;
}
/**
* An HTTP request/response body that represents serialized parameters,
* per the MIME type `application/x-www-form-urlencoded`.
@ -102,7 +87,19 @@ export class HttpParams {
private updates: Update[]|null = null;
private cloneFrom: HttpParams|null = null;
constructor(options: HttpParamsOptions = {} as HttpParamsOptions) {
constructor(options = {} as {
/**
* String representation of the HTTP params in URL-query-string format. Mutually exclusive with
* `fromObject`.
*/
fromString?: string;
/** Object map of the HTTP params. Mutally exclusive with `fromString`. */
fromObject?: {[param: string]: string | string[]};
/** Encoding codec used to parse and serialize the params. */
encoder?: HttpParameterCodec;
}) {
this.encoder = options.encoder || new HttpUrlEncodingCodec();
if (!!options.fromString) {
if (!!options.fromObject) {
@ -186,7 +183,7 @@ export class HttpParams {
}
private clone(update: Update): HttpParams {
const clone = new HttpParams({ encoder: this.encoder } as HttpParamsOptions);
const clone = new HttpParams({encoder: this.encoder});
clone.cloneFrom = this.cloneFrom || this;
clone.updates = (this.updates || []).concat([update]);
return clone;

View File

@ -1580,7 +1580,13 @@ export interface HttpParameterCodec {
/** @stable */
export declare class HttpParams {
constructor(options?: HttpParamsOptions);
constructor(options?: {
fromString?: string | undefined;
fromObject?: {
[param: string]: string | string[];
} | undefined;
encoder?: HttpParameterCodec | undefined;
});
append(param: string, value: string): HttpParams;
delete(param: string, value?: string): HttpParams;
get(param: string): string | null;