UNPKG

10.6 kBSource Map (JSON)View Raw
1{"version":3,"file":"rest.class.js","sourceRoot":"","sources":["../../tmp-src-bundle-browser/rest.class.ts"],"names":[],"mappings":"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","sourcesContent":["\n\n//#region import\nimport { Observable } from 'rxjs/Observable';\nimport { Subject } from 'rxjs/Subject';\nimport 'rxjs/add/operator/map';\nimport { Log, Level } from 'ng2-logger/browser';\nconst log = Log.create('rest.class', Level.__NOTHING)\n// local\nimport { Models } from './models';\nimport { getRestParams, getParamsUrl } from './params';\nimport { RestRequest } from './rest-request';\nimport { RestHeaders } from './rest-headers';\nimport { Mapping } from './mapping';\nimport { Circ } from 'json10/browser';\n//#endregion\n\nexport const DEFAULT_HEADERS = {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json'\n};\n\nexport class Rest<T, TA = T[]> implements Models.FnMethodsHttpWithMock<T, TA> {\n\n private mockHttp: Models.MockHttp;\n mock(mock: Models.MockHttp): Models.FnMethodsHttp<T, TA> {\n if ((typeof mock === 'function') || (typeof mock === 'object')) {\n this.mockHttp = mock;\n } else {\n throw `[ng2-rest]\n .model(...)\n .mock( < BAD MOCK DATA > )\n ...\n `\n }\n return this;\n }\n\n\n\n //#region private fields\n private __meta_endpoint: string;\n private _endpointRest: string;\n private get endpoint() {\n let e = this.__meta_endpoint;\n if (this.restQueryParams !== undefined && this._endpointRest !== undefined\n && typeof this._endpointRest === 'string' && this._endpointRest.trim() !== '') e = this._endpointRest;\n return e;\n }\n private restQueryParams: Object;\n public set __rest_endpoint(endpoint) {\n this._endpointRest = endpoint;\n if (endpoint === undefined) {\n this.restQueryParams = undefined;\n } else {\n this.restQueryParams = getRestParams(endpoint, this.__meta_endpoint);\n }\n\n }\n\n private creatUrl(params: any, doNotSerializeParams: boolean = false) {\n return `${this.endpoint}${getParamsUrl(params, doNotSerializeParams)}`;\n }\n\n //#endregion\n\n //#region constructor\n private _headers = RestHeaders.from(DEFAULT_HEADERS);\n get headers() {\n return this._headers;\n }\n constructor(\n endpoint: string,\n private request: RestRequest,\n private meta: { path: string, endpoint: string; entity: Mapping.Mapping, circular: Circ[] }\n ) {\n this.__meta_endpoint = endpoint;\n\n }\n //#endregion\n\n //#region req\n\n private req(method: Models.HttpMethod,\n item: T,\n params?: Models.UrlParams[],\n doNotSerializeParams: boolean = false,\n isArray: boolean = false\n ) {\n\n const modelUrl = this.creatUrl(params, doNotSerializeParams);\n const body = item ? JSON.stringify(item) : undefined;\n const result = this.request[method.toLowerCase()](modelUrl, body, this.headers, this.meta, isArray, this.mockHttp);\n this._headers = RestHeaders.from(DEFAULT_HEADERS);\n this.mockHttp = undefined;\n return result;\n }\n //#endregion\n\n //#region http methods\n\n //#region replay\n replay(method: Models.HttpMethod) {\n this.request.replay(method, this.meta);\n }\n //#endregion\n\n array = {\n get: (params: Models.UrlParams[] = undefined, doNotSerializeParams?: boolean): Models.PromiseObservableMix<Models.HttpResponse<TA>> => {\n return this.req('get', undefined, params, doNotSerializeParams, true) as any\n },\n head: (params: Models.UrlParams[] = undefined, doNotSerializeParams?: boolean): Models.PromiseObservableMix<Models.HttpResponse<TA>> => {\n return this.req('head', undefined, params, doNotSerializeParams, true) as any\n },\n post: (item: TA, params?: Models.UrlParams[], doNotSerializeParams?: boolean): Models.PromiseObservableMix<Models.HttpResponse<TA>> => {\n return this.req('post', item as any, params, doNotSerializeParams, true) as any;\n },\n put: (item: TA, params?: Models.UrlParams[], doNotSerializeParams?: boolean): Models.PromiseObservableMix<Models.HttpResponse<TA>> => {\n return this.req('put', item as any, params, doNotSerializeParams, true) as any;\n },\n patch: (item: TA, params?: Models.UrlParams[], doNotSerializeParams?: boolean): Models.PromiseObservableMix<Models.HttpResponse<TA>> => {\n return this.req('patch', item as any, params, doNotSerializeParams, true) as any;\n },\n delete: (params?: Models.UrlParams[], doNotSerializeParams?: boolean): Models.PromiseObservableMix<Models.HttpResponse<TA>> => {\n return this.req('delete', undefined, params, doNotSerializeParams, true) as any;\n },\n jsonp: (params?: Models.UrlParams[], doNotSerializeParams?: boolean): Models.PromiseObservableMix<Models.HttpResponse<TA>> => {\n return this.req('jsonp', undefined, params, doNotSerializeParams, true) as any;\n }\n }\n\n get(params?: Models.UrlParams[], doNotSerializeParams: boolean = false): Models.PromiseObservableMix<Models.HttpResponse<T>> {\n return this.req('get', undefined, params, doNotSerializeParams) as any;\n }\n\n head(params?: Models.UrlParams[], doNotSerializeParams: boolean = false): Models.PromiseObservableMix<Models.HttpResponse<T>> {\n return this.req('head', undefined, params, doNotSerializeParams) as any;\n }\n\n post(item: T, params?: Models.UrlParams[], doNotSerializeParams: boolean = false): Models.PromiseObservableMix<Models.HttpResponse<T>> {\n return this.req('post', item, params, doNotSerializeParams);\n }\n\n put(item: T, params?: Models.UrlParams[], doNotSerializeParams: boolean = false): Models.PromiseObservableMix<Models.HttpResponse<T>> {\n return this.req('put', item, params, doNotSerializeParams);\n }\n\n patch(item: T, params?: Models.UrlParams[], doNotSerializeParams: boolean = false): Models.PromiseObservableMix<Models.HttpResponse<T>> {\n return this.req('patch', item, params, doNotSerializeParams);\n }\n\n delete(params?: Models.UrlParams[], doNotSerializeParams: boolean = false): Models.PromiseObservableMix<Models.HttpResponse<T>> {\n return this.req('delete', undefined, params, doNotSerializeParams);\n }\n\n jsonp(params?: Models.UrlParams[], doNotSerializeParams: boolean = false): Models.PromiseObservableMix<Models.HttpResponse<T>> {\n return this.req('jsonp', undefined, params, doNotSerializeParams);\n }\n //#endregion\n\n}\n"]}
\No newline at end of file