chore: Remove IRequestOptions / IResponseOptions
BREAKING CHANGE: Reasons: 1) Interfaces should not start with letter ‘I’ 2) Interfaces do not help with mistype properties, but literal types do. - https://github.com/Microsoft/TypeScript/pull/3823 - https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#strict-object-literal-assignment-checking
This commit is contained in:
parent
284dc67076
commit
512340e39b
|
@ -19,8 +19,8 @@ export {Request} from 'http/src/static_request';
|
||||||
export {Response} from 'http/src/static_response';
|
export {Response} from 'http/src/static_response';
|
||||||
|
|
||||||
export {
|
export {
|
||||||
IRequestOptions,
|
RequestOptionsArgs,
|
||||||
IResponseOptions,
|
ResponseOptionsArgs,
|
||||||
Connection,
|
Connection,
|
||||||
ConnectionBackend
|
ConnectionBackend
|
||||||
} from 'http/src/interfaces';
|
} from 'http/src/interfaces';
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import {CONST_EXPR, CONST, isPresent, isString} from 'angular2/src/facade/lang';
|
import {CONST_EXPR, CONST, isPresent, isString} from 'angular2/src/facade/lang';
|
||||||
import {Headers} from './headers';
|
import {Headers} from './headers';
|
||||||
import {RequestModesOpts, RequestMethods, RequestCacheOpts, RequestCredentialsOpts} from './enums';
|
import {RequestModesOpts, RequestMethods, RequestCacheOpts, RequestCredentialsOpts} from './enums';
|
||||||
import {IRequestOptions} from './interfaces';
|
import {RequestOptionsArgs} from './interfaces';
|
||||||
import {Injectable} from 'angular2/di';
|
import {Injectable} from 'angular2/di';
|
||||||
import {URLSearchParams} from './url_search_params';
|
import {URLSearchParams} from './url_search_params';
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ import {URLSearchParams} from './url_search_params';
|
||||||
*
|
*
|
||||||
* All values are null by default.
|
* All values are null by default.
|
||||||
*/
|
*/
|
||||||
export class RequestOptions implements IRequestOptions {
|
export class RequestOptions {
|
||||||
/**
|
/**
|
||||||
* Http method with which to execute the request.
|
* Http method with which to execute the request.
|
||||||
*
|
*
|
||||||
|
@ -36,7 +36,7 @@ export class RequestOptions implements IRequestOptions {
|
||||||
url: string;
|
url: string;
|
||||||
search: URLSearchParams;
|
search: URLSearchParams;
|
||||||
constructor({method, headers, body, mode, credentials, cache, url, search}:
|
constructor({method, headers, body, mode, credentials, cache, url, search}:
|
||||||
IRequestOptions = {}) {
|
RequestOptionsArgs = {}) {
|
||||||
this.method = isPresent(method) ? method : null;
|
this.method = isPresent(method) ? method : null;
|
||||||
this.headers = isPresent(headers) ? headers : null;
|
this.headers = isPresent(headers) ? headers : null;
|
||||||
this.body = isPresent(body) ? body : null;
|
this.body = isPresent(body) ? body : null;
|
||||||
|
@ -53,7 +53,7 @@ export class RequestOptions implements IRequestOptions {
|
||||||
* Creates a copy of the `RequestOptions` instance, using the optional input as values to override
|
* Creates a copy of the `RequestOptions` instance, using the optional input as values to override
|
||||||
* existing values.
|
* existing values.
|
||||||
*/
|
*/
|
||||||
merge(options?: IRequestOptions): RequestOptions {
|
merge(options?: RequestOptionsArgs): RequestOptions {
|
||||||
return new RequestOptions({
|
return new RequestOptions({
|
||||||
method: isPresent(options) && isPresent(options.method) ? options.method : this.method,
|
method: isPresent(options) && isPresent(options.method) ? options.method : this.method,
|
||||||
headers: isPresent(options) && isPresent(options.headers) ? options.headers : this.headers,
|
headers: isPresent(options) && isPresent(options.headers) ? options.headers : this.headers,
|
||||||
|
|
|
@ -2,7 +2,7 @@ import {Injectable} from 'angular2/di';
|
||||||
import {isPresent, isJsObject} from 'angular2/src/facade/lang';
|
import {isPresent, isJsObject} from 'angular2/src/facade/lang';
|
||||||
import {Headers} from './headers';
|
import {Headers} from './headers';
|
||||||
import {ResponseTypes} from './enums';
|
import {ResponseTypes} from './enums';
|
||||||
import {IResponseOptions} from './interfaces';
|
import {ResponseOptionsArgs} from './interfaces';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a response options object similar to the
|
* Creates a response options object similar to the
|
||||||
|
@ -13,7 +13,7 @@ import {IResponseOptions} from './interfaces';
|
||||||
*
|
*
|
||||||
* All values are null by default.
|
* All values are null by default.
|
||||||
*/
|
*/
|
||||||
export class ResponseOptions implements IResponseOptions {
|
export class ResponseOptions {
|
||||||
// TODO: ArrayBuffer | FormData | Blob
|
// TODO: ArrayBuffer | FormData | Blob
|
||||||
body: string | Object;
|
body: string | Object;
|
||||||
status: number;
|
status: number;
|
||||||
|
@ -21,7 +21,7 @@ export class ResponseOptions implements IResponseOptions {
|
||||||
statusText: string;
|
statusText: string;
|
||||||
type: ResponseTypes;
|
type: ResponseTypes;
|
||||||
url: string;
|
url: string;
|
||||||
constructor({body, status, headers, statusText, type, url}: IResponseOptions = {}) {
|
constructor({body, status, headers, statusText, type, url}: ResponseOptionsArgs = {}) {
|
||||||
this.body = isPresent(body) ? body : null;
|
this.body = isPresent(body) ? body : null;
|
||||||
this.status = isPresent(status) ? status : null;
|
this.status = isPresent(status) ? status : null;
|
||||||
this.headers = isPresent(headers) ? headers : null;
|
this.headers = isPresent(headers) ? headers : null;
|
||||||
|
@ -30,7 +30,7 @@ export class ResponseOptions implements IResponseOptions {
|
||||||
this.url = isPresent(url) ? url : null;
|
this.url = isPresent(url) ? url : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
merge(options?: IResponseOptions): ResponseOptions {
|
merge(options?: ResponseOptionsArgs): ResponseOptions {
|
||||||
return new ResponseOptions({
|
return new ResponseOptions({
|
||||||
body: isPresent(options) && isPresent(options.body) ? options.body : this.body,
|
body: isPresent(options) && isPresent(options.body) ? options.body : this.body,
|
||||||
status: isPresent(options) && isPresent(options.status) ? options.status : this.status,
|
status: isPresent(options) && isPresent(options.status) ? options.status : this.status,
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import {isString, isPresent, isBlank, makeTypeError} from 'angular2/src/facade/lang';
|
import {isString, isPresent, isBlank, makeTypeError} from 'angular2/src/facade/lang';
|
||||||
import {Injectable} from 'angular2/src/di/decorators';
|
import {Injectable} from 'angular2/src/di/decorators';
|
||||||
import {IRequestOptions, Connection, ConnectionBackend} from './interfaces';
|
import {RequestOptionsArgs, Connection, ConnectionBackend} from './interfaces';
|
||||||
import {Request} from './static_request';
|
import {Request} from './static_request';
|
||||||
import {BaseRequestOptions, RequestOptions} from './base_request_options';
|
import {BaseRequestOptions, RequestOptions} from './base_request_options';
|
||||||
import {RequestMethods} from './enums';
|
import {RequestMethods} from './enums';
|
||||||
|
@ -111,7 +111,7 @@ export class Http {
|
||||||
* object can be provided as the 2nd argument. The options object will be merged with the values
|
* object can be provided as the 2nd argument. The options object will be merged with the values
|
||||||
* of {@link BaseRequestOptions} before performing the request.
|
* of {@link BaseRequestOptions} before performing the request.
|
||||||
*/
|
*/
|
||||||
request(url: string | Request, options?: IRequestOptions): EventEmitter {
|
request(url: string | Request, options?: RequestOptionsArgs): EventEmitter {
|
||||||
var responseObservable: EventEmitter;
|
var responseObservable: EventEmitter;
|
||||||
if (isString(url)) {
|
if (isString(url)) {
|
||||||
responseObservable = httpRequest(
|
responseObservable = httpRequest(
|
||||||
|
@ -126,7 +126,7 @@ export class Http {
|
||||||
/**
|
/**
|
||||||
* Performs a request with `get` http method.
|
* Performs a request with `get` http method.
|
||||||
*/
|
*/
|
||||||
get(url: string, options?: IRequestOptions): EventEmitter {
|
get(url: string, options?: RequestOptionsArgs): EventEmitter {
|
||||||
return httpRequest(this._backend, new Request(mergeOptions(this._defaultOptions, options,
|
return httpRequest(this._backend, new Request(mergeOptions(this._defaultOptions, options,
|
||||||
RequestMethods.GET, url)));
|
RequestMethods.GET, url)));
|
||||||
}
|
}
|
||||||
|
@ -134,7 +134,7 @@ export class Http {
|
||||||
/**
|
/**
|
||||||
* Performs a request with `post` http method.
|
* Performs a request with `post` http method.
|
||||||
*/
|
*/
|
||||||
post(url: string, body: string, options?: IRequestOptions): EventEmitter {
|
post(url: string, body: string, options?: RequestOptionsArgs): EventEmitter {
|
||||||
return httpRequest(
|
return httpRequest(
|
||||||
this._backend,
|
this._backend,
|
||||||
new Request(mergeOptions(this._defaultOptions.merge(new RequestOptions({body: body})),
|
new Request(mergeOptions(this._defaultOptions.merge(new RequestOptions({body: body})),
|
||||||
|
@ -144,7 +144,7 @@ export class Http {
|
||||||
/**
|
/**
|
||||||
* Performs a request with `put` http method.
|
* Performs a request with `put` http method.
|
||||||
*/
|
*/
|
||||||
put(url: string, body: string, options?: IRequestOptions): EventEmitter {
|
put(url: string, body: string, options?: RequestOptionsArgs): EventEmitter {
|
||||||
return httpRequest(
|
return httpRequest(
|
||||||
this._backend,
|
this._backend,
|
||||||
new Request(mergeOptions(this._defaultOptions.merge(new RequestOptions({body: body})),
|
new Request(mergeOptions(this._defaultOptions.merge(new RequestOptions({body: body})),
|
||||||
|
@ -154,7 +154,7 @@ export class Http {
|
||||||
/**
|
/**
|
||||||
* Performs a request with `delete` http method.
|
* Performs a request with `delete` http method.
|
||||||
*/
|
*/
|
||||||
delete (url: string, options?: IRequestOptions): EventEmitter {
|
delete (url: string, options?: RequestOptionsArgs): EventEmitter {
|
||||||
return httpRequest(this._backend, new Request(mergeOptions(this._defaultOptions, options,
|
return httpRequest(this._backend, new Request(mergeOptions(this._defaultOptions, options,
|
||||||
RequestMethods.DELETE, url)));
|
RequestMethods.DELETE, url)));
|
||||||
}
|
}
|
||||||
|
@ -162,7 +162,7 @@ export class Http {
|
||||||
/**
|
/**
|
||||||
* Performs a request with `patch` http method.
|
* Performs a request with `patch` http method.
|
||||||
*/
|
*/
|
||||||
patch(url: string, body: string, options?: IRequestOptions): EventEmitter {
|
patch(url: string, body: string, options?: RequestOptionsArgs): EventEmitter {
|
||||||
return httpRequest(
|
return httpRequest(
|
||||||
this._backend,
|
this._backend,
|
||||||
new Request(mergeOptions(this._defaultOptions.merge(new RequestOptions({body: body})),
|
new Request(mergeOptions(this._defaultOptions.merge(new RequestOptions({body: body})),
|
||||||
|
@ -172,7 +172,7 @@ export class Http {
|
||||||
/**
|
/**
|
||||||
* Performs a request with `head` http method.
|
* Performs a request with `head` http method.
|
||||||
*/
|
*/
|
||||||
head(url: string, options?: IRequestOptions): EventEmitter {
|
head(url: string, options?: RequestOptionsArgs): EventEmitter {
|
||||||
return httpRequest(this._backend, new Request(mergeOptions(this._defaultOptions, options,
|
return httpRequest(this._backend, new Request(mergeOptions(this._defaultOptions, options,
|
||||||
RequestMethods.HEAD, url)));
|
RequestMethods.HEAD, url)));
|
||||||
}
|
}
|
||||||
|
@ -190,7 +190,7 @@ export class Jsonp extends Http {
|
||||||
* object can be provided as the 2nd argument. The options object will be merged with the values
|
* object can be provided as the 2nd argument. The options object will be merged with the values
|
||||||
* of {@link BaseRequestOptions} before performing the request.
|
* of {@link BaseRequestOptions} before performing the request.
|
||||||
*/
|
*/
|
||||||
request(url: string | Request, options?: IRequestOptions): EventEmitter {
|
request(url: string | Request, options?: RequestOptionsArgs): EventEmitter {
|
||||||
var responseObservable: EventEmitter;
|
var responseObservable: EventEmitter;
|
||||||
if (isString(url)) {
|
if (isString(url)) {
|
||||||
url = new Request(mergeOptions(this._defaultOptions, options, RequestMethods.GET, url));
|
url = new Request(mergeOptions(this._defaultOptions, options, RequestMethods.GET, url));
|
||||||
|
|
|
@ -42,7 +42,7 @@ export class Connection {
|
||||||
* Interface for options to construct a Request, based on
|
* Interface for options to construct a Request, based on
|
||||||
* [RequestInit](https://fetch.spec.whatwg.org/#requestinit) from the Fetch spec.
|
* [RequestInit](https://fetch.spec.whatwg.org/#requestinit) from the Fetch spec.
|
||||||
*/
|
*/
|
||||||
export interface IRequestOptions {
|
export type RequestOptionsArgs = {
|
||||||
url?: string;
|
url?: string;
|
||||||
method?: RequestMethods;
|
method?: RequestMethods;
|
||||||
search?: string | URLSearchParams;
|
search?: string | URLSearchParams;
|
||||||
|
@ -58,7 +58,7 @@ export interface IRequestOptions {
|
||||||
* Interface for options to construct a Response, based on
|
* Interface for options to construct a Response, based on
|
||||||
* [ResponseInit](https://fetch.spec.whatwg.org/#responseinit) from the Fetch spec.
|
* [ResponseInit](https://fetch.spec.whatwg.org/#responseinit) from the Fetch spec.
|
||||||
*/
|
*/
|
||||||
export interface IResponseOptions {
|
export type ResponseOptionsArgs = {
|
||||||
// TODO: Support Blob, ArrayBuffer, JSON
|
// TODO: Support Blob, ArrayBuffer, JSON
|
||||||
body?: string | Object | FormData;
|
body?: string | Object | FormData;
|
||||||
status?: number;
|
status?: number;
|
||||||
|
|
Loading…
Reference in New Issue