{"ast":null,"code":"function Caseless(dict) {\n this.dict = dict || {};\n}\n\nCaseless.prototype.set = function (name, value, clobber) {\n if (typeof name === 'object') {\n for (var i in name) {\n this.set(i, name[i], value);\n }\n } else {\n if (typeof clobber === 'undefined') clobber = true;\n var has = this.has(name);\n if (!clobber && has) this.dict[has] = this.dict[has] + ',' + value;else this.dict[has || name] = value;\n return has;\n }\n};\n\nCaseless.prototype.has = function (name) {\n var keys = Object.keys(this.dict),\n name = name.toLowerCase();\n\n for (var i = 0; i < keys.length; i++) {\n if (keys[i].toLowerCase() === name) return keys[i];\n }\n\n return false;\n};\n\nCaseless.prototype.get = function (name) {\n name = name.toLowerCase();\n\n var result, _key;\n\n var headers = this.dict;\n Object.keys(headers).forEach(function (key) {\n _key = key.toLowerCase();\n if (name === _key) result = headers[key];\n });\n return result;\n};\n\nCaseless.prototype.swap = function (name) {\n var has = this.has(name);\n if (has === name) return;\n if (!has) throw new Error('There is no header than matches \"' + name + '\"');\n this.dict[name] = this.dict[has];\n delete this.dict[has];\n};\n\nCaseless.prototype.del = function (name) {\n var has = this.has(name);\n return delete this.dict[has || name];\n};\n\nmodule.exports = function (dict) {\n return new Caseless(dict);\n};\n\nmodule.exports.httpify = function (resp, headers) {\n var c = new Caseless(headers);\n\n resp.setHeader = function (key, value, clobber) {\n if (typeof value === 'undefined') return;\n return c.set(key, value, clobber);\n };\n\n resp.hasHeader = function (key) {\n return c.has(key);\n };\n\n resp.getHeader = function (key) {\n return c.get(key);\n };\n\n resp.removeHeader = function (key) {\n return c.del(key);\n };\n\n resp.headers = c.dict;\n return c;\n};","map":{"version":3,"sources":["/Users/tylerkoenig/Code/personal/react-scss2/node_modules/caseless/index.js"],"names":["Caseless","dict","prototype","set","name","value","clobber","i","has","keys","Object","toLowerCase","length","get","result","_key","headers","forEach","key","swap","Error","del","module","exports","httpify","resp","c","setHeader","hasHeader","getHeader","removeHeader"],"mappings":"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","sourcesContent":["function Caseless (dict) {\n this.dict = dict || {}\n}\nCaseless.prototype.set = function (name, value, clobber) {\n if (typeof name === 'object') {\n for (var i in name) {\n this.set(i, name[i], value)\n }\n } else {\n if (typeof clobber === 'undefined') clobber = true\n var has = this.has(name)\n\n if (!clobber && has) this.dict[has] = this.dict[has] + ',' + value\n else this.dict[has || name] = value\n return has\n }\n}\nCaseless.prototype.has = function (name) {\n var keys = Object.keys(this.dict)\n , name = name.toLowerCase()\n ;\n for (var i=0;i