UNPKG

next-csrf

Version:

CSRF mitigation library for Next.js

1 lines 4.42 kB
{"ast":null,"code":"\"use strict\";\n\nvar _slicedToArray = require(\"@babel/runtime/helpers/slicedToArray\");\n\nexports.__esModule = true;\nexports.searchParamsToUrlQuery = searchParamsToUrlQuery;\nexports.urlQueryToSearchParams = urlQueryToSearchParams;\nexports.assign = assign;\n\nfunction searchParamsToUrlQuery(searchParams) {\n var query = {};\n searchParams.forEach(function (value, key) {\n if (typeof query[key] === 'undefined') {\n query[key] = value;\n } else if (Array.isArray(query[key])) {\n ;\n query[key].push(value);\n } else {\n query[key] = [query[key], value];\n }\n });\n return query;\n}\n\nfunction urlQueryToSearchParams(urlQuery) {\n var result = new URLSearchParams();\n Object.entries(urlQuery).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n\n if (Array.isArray(value)) {\n value.forEach(function (item) {\n return result.append(key, item);\n });\n } else {\n result.set(key, value);\n }\n });\n return result;\n}\n\nfunction assign(target) {\n for (var _len = arguments.length, searchParamsList = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n searchParamsList[_key - 1] = arguments[_key];\n }\n\n searchParamsList.forEach(function (searchParams) {\n Array.from(searchParams.keys()).forEach(function (key) {\n return target[\"delete\"](key);\n });\n searchParams.forEach(function (value, key) {\n return target.append(key, value);\n });\n });\n return target;\n}","map":{"version":3,"sources":["../../../../../next-server/lib/router/utils/querystring.ts"],"names":["query","searchParams","Array","result","Object","value","item","searchParamsList","key","target"],"mappings":";;;;;;;;;AAEO,SAAA,sBAAA,CAAA,YAAA,EAEW;AAChB,MAAMA,KAAqB,GAA3B,EAAA;AACAC,EAAAA,YAAY,CAAZA,OAAAA,CAAqB,UAAA,KAAA,EAAA,GAAA,EAAgB;AACnC,QAAI,OAAOD,KAAK,CAAZ,GAAY,CAAZ,KAAJ,WAAA,EAAuC;AACrCA,MAAAA,KAAK,CAALA,GAAK,CAALA,GAAAA,KAAAA;AADF,KAAA,MAEO,IAAIE,KAAK,CAALA,OAAAA,CAAcF,KAAK,CAAvB,GAAuB,CAAnBE,CAAJ,EAA+B;AACpC;AAAEF,MAAAA,KAAK,CAAN,GAAM,CAALA,CAAD,IAACA,CAAD,KAACA;AADG,KAAA,MAEA;AACLA,MAAAA,KAAK,CAALA,GAAK,CAALA,GAAa,CAACA,KAAK,CAAN,GAAM,CAAN,EAAbA,KAAa,CAAbA;AAEH;AARDC,GAAAA;AASA,SAAA,KAAA;AAGK;;AAAA,SAAA,sBAAA,CAAA,QAAA,EAEY;AACjB,MAAME,MAAM,GAAG,IAAf,eAAe,EAAf;AACAC,EAAAA,MAAM,CAANA,OAAAA,CAAAA,QAAAA,EAAAA,OAAAA,CAAiC,gBAAkB;AAAA;AAAA,QAAjB,GAAiB;AAAA,QAAlB,KAAkB;;AACjD,QAAIF,KAAK,CAALA,OAAAA,CAAJ,KAAIA,CAAJ,EAA0B;AACxBG,MAAAA,KAAK,CAALA,OAAAA,CAAeC,UAAAA,IAAD;AAAA,eAAUH,MAAM,CAANA,MAAAA,CAAAA,GAAAA,EAAxBE,IAAwBF,CAAV;AAAA,OAAdE;AADF,KAAA,MAEO;AACLF,MAAAA,MAAM,CAANA,GAAAA,CAAAA,GAAAA,EAAAA,KAAAA;AAEH;AANDC,GAAAA;AAOA,SAAA,MAAA;AAGK;;AAAA,SAAA,MAAA,CAAA,MAAA,EAGY;AAAA,oCAHZ,gBAGY;AAHZ,IAAA,gBAGY;AAAA;;AACjBG,EAAAA,gBAAgB,CAAhBA,OAAAA,CAA0BN,UAAAA,YAAD,EAAkB;AACzCC,IAAAA,KAAK,CAALA,IAAAA,CAAWD,YAAY,CAAvBC,IAAWD,EAAXC,EAAAA,OAAAA,CAAyCM,UAAAA,GAAD;AAAA,aAASC,MAAAA,UAAAA,CAAjDP,GAAiDO,CAAT;AAAA,KAAxCP;AACAD,IAAAA,YAAY,CAAZA,OAAAA,CAAqB,UAAA,KAAA,EAAA,GAAA;AAAA,aAAgBQ,MAAM,CAANA,MAAAA,CAAAA,GAAAA,EAArCR,KAAqCQ,CAAhB;AAAA,KAArBR;AAFFM,GAAAA;AAIA,SAAA,MAAA;AACD","sourcesContent":["import { ParsedUrlQuery } from 'querystring'\n\nexport function searchParamsToUrlQuery(\n searchParams: URLSearchParams\n): ParsedUrlQuery {\n const query: ParsedUrlQuery = {}\n searchParams.forEach((value, key) => {\n if (typeof query[key] === 'undefined') {\n query[key] = value\n } else if (Array.isArray(query[key])) {\n ;(query[key] as string[]).push(value)\n } else {\n query[key] = [query[key] as string, value]\n }\n })\n return query\n}\n\nexport function urlQueryToSearchParams(\n urlQuery: ParsedUrlQuery\n): URLSearchParams {\n const result = new URLSearchParams()\n Object.entries(urlQuery).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach((item) => result.append(key, item))\n } else {\n result.set(key, value)\n }\n })\n return result\n}\n\nexport function assign(\n target: URLSearchParams,\n ...searchParamsList: URLSearchParams[]\n): URLSearchParams {\n searchParamsList.forEach((searchParams) => {\n Array.from(searchParams.keys()).forEach((key) => target.delete(key))\n searchParams.forEach((value, key) => target.append(key, value))\n })\n return target\n}\n"]},"metadata":{},"sourceType":"script"}