{"version":3,"file":"Headers.mjs","sourceRoot":"","sources":["../../../src/request/Headers.ts"],"names":[],"mappings":"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","sourcesContent":["import { Headers as HeadersInterface } from './interfaces';\nimport { IterableIterator, ShimIterator } from '@dojo/shim/iterator';\nimport Map from '@dojo/shim/Map';\n\nfunction isHeadersLike(object: any): object is HeadersInterface {\n\treturn (\n\t\ttypeof object.append === 'function' &&\n\t\ttypeof object.entries === 'function' &&\n\t\ttypeof object[Symbol.iterator] === 'function'\n\t);\n}\n\nexport default class Headers implements HeadersInterface {\n\tprotected map = new Map<string, string[]>();\n\n\tconstructor(headers?: { [key: string]: string } | HeadersInterface) {\n\t\tif (headers) {\n\t\t\tif (headers instanceof Headers) {\n\t\t\t\tthis.map = new Map(headers.map);\n\t\t\t} else if (isHeadersLike(headers)) {\n\t\t\t\tfor (const [key, value] of headers) {\n\t\t\t\t\tthis.append(key, value);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let key in headers) {\n\t\t\t\t\tthis.set(key, headers[key]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tappend(name: string, value: string) {\n\t\tconst values = this.map.get(name.toLowerCase());\n\n\t\tif (values) {\n\t\t\tvalues.push(value);\n\t\t} else {\n\t\t\tthis.set(name, value);\n\t\t}\n\t}\n\n\tdelete(name: string) {\n\t\tthis.map.delete(name.toLowerCase());\n\t}\n\n\tentries(): IterableIterator<[string, string]> {\n\t\tconst entries: [string, string][] = [];\n\t\tfor (const [key, values] of this.map.entries()) {\n\t\t\tvalues.forEach((value) => {\n\t\t\t\tentries.push([key, value]);\n\t\t\t});\n\t\t}\n\t\treturn new ShimIterator(entries);\n\t}\n\n\tget(name: string): string | null {\n\t\tconst values = this.map.get(name.toLowerCase());\n\n\t\tif (values) {\n\t\t\treturn values[0];\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tgetAll(name: string): string[] {\n\t\tconst values = this.map.get(name.toLowerCase());\n\n\t\tif (values) {\n\t\t\treturn values.slice(0);\n\t\t} else {\n\t\t\treturn [];\n\t\t}\n\t}\n\n\thas(name: string): boolean {\n\t\treturn this.map.has(name.toLowerCase());\n\t}\n\n\tkeys(): IterableIterator<string> {\n\t\treturn this.map.keys();\n\t}\n\n\tset(name: string, value: string) {\n\t\tthis.map.set(name.toLowerCase(), [value]);\n\t}\n\n\tvalues(): IterableIterator<string> {\n\t\tconst values: string[] = [];\n\t\tfor (const value of this.map.values()) {\n\t\t\tvalues.push(...value);\n\t\t}\n\t\treturn new ShimIterator(values);\n\t}\n\n\t[Symbol.iterator]() {\n\t\treturn this.entries();\n\t}\n}\n"]}