{"version":3,"file":"request.mjs","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,eAAe,CAAC;AAChC,OAAO,IAAI,MAAM,cAAc,CAAC;AAEhC,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,GAAG,MAAM,yBAAyB,CAAC;AAE1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;AAEvD,MAAM,OAAO,GAUJ,iBAAiB,GAAW,EAAE,UAA0B,EAAE;IAClE,IAAI,CAAC;QACJ,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAW,KAAK,CAAC,CAAC;IACrC,CAAC;AACF,CAAC,CAAC;AAEF,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;IACvD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE;QACpD,KAAK,CAAC,GAAW,EAAE,UAA0B,EAAE;YAC9C,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACjC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;YACxB,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;KACD,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;IAClC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE;QACpD,KAAK,CAAC,GAAW,EAAE,UAA0B,EAAE;YAC9C,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACjC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;YACxB,MAAM,CAAiC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC;KACD,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,oBAAoB,EAAE;IACpD,KAAK,CAAC,QAAkB;QACvB,gBAAgB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;CACD,CAAC,CAAC;AAEH,gBAAgB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;AAEzC,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACtB,2BAA2B;IAC3B,MAAM,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAChD,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,eAAe,OAAO,CAAC;AAEvB,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,wBAAwB,CAAC","sourcesContent":["import has from '@dojo/has/has';\nimport Task from './async/Task';\nimport { RequestOptions, Response, Provider, UploadObservableTask } from './request/interfaces';\nimport ProviderRegistry from './request/ProviderRegistry';\nimport xhr from './request/providers/xhr';\n\nexport const providerRegistry = new ProviderRegistry();\n\nconst request: {\n\t(url: string, options?: RequestOptions): Task<Response>;\n\tdelete(url: string, options?: RequestOptions): Task<Response>;\n\tget(url: string, options?: RequestOptions): Task<Response>;\n\thead(url: string, options?: RequestOptions): Task<Response>;\n\toptions(url: string, options?: RequestOptions): Task<Response>;\n\tpost(url: string, options?: RequestOptions): UploadObservableTask<Response>;\n\tput(url: string, options?: RequestOptions): UploadObservableTask<Response>;\n\n\tsetDefaultProvider(provider: Provider): void;\n} = <any>function request(url: string, options: RequestOptions = {}): Task<Response> {\n\ttry {\n\t\treturn providerRegistry.match(url, options)(url, options);\n\t} catch (error) {\n\t\treturn Task.reject<Response>(error);\n\t}\n};\n\n['DELETE', 'GET', 'HEAD', 'OPTIONS'].forEach((method) => {\n\tObject.defineProperty(request, method.toLowerCase(), {\n\t\tvalue(url: string, options: RequestOptions = {}): Task<Response> {\n\t\t\toptions = Object.create(options);\n\t\t\toptions.method = method;\n\t\t\treturn request(url, options);\n\t\t}\n\t});\n});\n\n['POST', 'PUT'].forEach((method) => {\n\tObject.defineProperty(request, method.toLowerCase(), {\n\t\tvalue(url: string, options: RequestOptions = {}): UploadObservableTask<Response> {\n\t\t\toptions = Object.create(options);\n\t\t\toptions.method = method;\n\t\t\treturn <UploadObservableTask<Response>>request(url, options);\n\t\t}\n\t});\n});\n\nObject.defineProperty(request, 'setDefaultProvider', {\n\tvalue(provider: Provider) {\n\t\tproviderRegistry.setDefaultProvider(provider);\n\t}\n});\n\nproviderRegistry.setDefaultProvider(xhr);\n\nif (has('host-node')) {\n\t// tslint:disable-next-line\n\timport('./request/providers/node').then((node) => {\n\t\tproviderRegistry.setDefaultProvider(node.default);\n\t});\n}\n\nexport default request;\nexport * from './request/interfaces';\nexport { default as Headers } from './request/Headers';\nexport { default as TimeoutError } from './request/TimeoutError';\nexport { ResponseData } from './request/Response';\n"]}