UNPKG

next-csrf

Version:

CSRF mitigation library for Next.js

1 lines 4.46 kB
{"ast":null,"code":"\"use strict\";\n\nvar _regeneratorRuntime = require(\"@babel/runtime/regenerator\");\n\nvar _asyncToGenerator = require(\"@babel/runtime/helpers/asyncToGenerator\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _router = _interopRequireDefault(require(\"next/router\"));\n\nvar _onDemandEntriesUtils = require(\"./on-demand-entries-utils\");\n\nvar _default = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var assetPrefix;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n assetPrefix = _ref.assetPrefix;\n\n _router[\"default\"].ready(function () {\n _router[\"default\"].events.on('routeChangeComplete', _onDemandEntriesUtils.setupPing.bind(void 0, assetPrefix, function () {\n return _router[\"default\"].pathname;\n }));\n });\n\n (0, _onDemandEntriesUtils.setupPing)(assetPrefix, function () {\n return _router[\"default\"].pathname;\n }, _onDemandEntriesUtils.currentPage); // prevent HMR connection from being closed when running tests\n\n if (!process.env.__NEXT_TEST_MODE) {\n document.addEventListener('visibilitychange', function (_event) {\n var state = document.visibilityState;\n\n if (state === 'visible') {\n (0, _onDemandEntriesUtils.setupPing)(assetPrefix, function () {\n return _router[\"default\"].pathname;\n }, true);\n } else {\n (0, _onDemandEntriesUtils.closePing)();\n }\n });\n window.addEventListener('beforeunload', function () {\n (0, _onDemandEntriesUtils.closePing)();\n });\n }\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function _default(_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n\nexports[\"default\"] = _default;","map":{"version":3,"sources":["../../../client/dev/on-demand-entries-client.js"],"names":["Router","setupPing","currentPage","process","document","_event","state","window"],"mappings":";;;;;;;;;;;AAAA,IAAA,OAAA,GAAA,sBAAA,CAAA,OAAA,CAAA,aAAA,CAAA,CAAA;;AACA,IAAA,qBAAA,GAAA,OAAA,CAAA,2BAAA,CAAA;;;uEAEe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAA,WAAA,QAAA,WAAA;;AACbA,YAAAA,OAAAA,WAAAA,CAAAA,KAAAA,CAAa,YAAM;AACjBA,cAAAA,OAAAA,WAAAA,CAAAA,MAAAA,CAAAA,EAAAA,CAAAA,qBAAAA,EAEEC,qBAAAA,CAAAA,SAAAA,CAAAA,IAAAA,CAAAA,KAAAA,CAAAA,EAAAA,WAAAA,EAAkC;AAAA,uBAAMD,OAAAA,WAAAA,CAF1CA,QAEoC;AAAA,eAAlCC,CAFFD;AADFA,aAAAA;;AAOA,aAAA,GAAA,qBAAA,CAAA,SAAA,EAAA,WAAA,EAAuB;AAAA,qBAAMA,OAAAA,WAAAA,CAA7B,QAAuB;AAAA,aAAvB,EAA8CE,qBAAAA,CAA9C,WAAA,EARa,CAUb;;AACA,gBAAI,CAACC,OAAO,CAAPA,GAAAA,CAAL,gBAAA,EAAmC;AACjCC,cAAAA,QAAQ,CAARA,gBAAAA,CAAAA,kBAAAA,EAA+CC,UAAAA,MAAD,EAAY;AACxD,oBAAMC,KAAK,GAAGF,QAAQ,CAAtB,eAAA;;AACA,oBAAIE,KAAK,KAAT,SAAA,EAAyB;AACvB,mBAAA,GAAA,qBAAA,CAAA,SAAA,EAAA,WAAA,EAAuB;AAAA,2BAAMN,OAAAA,WAAAA,CAA7B,QAAuB;AAAA,mBAAvB,EAAA,IAAA;AADF,iBAAA,MAEO;AACL,mBAAA,GAAA,qBAAA,CAAA,SAAA;AAEH;AAPDI,eAAAA;AASAG,cAAAA,MAAM,CAANA,gBAAAA,CAAAA,cAAAA,EAAwC,YAAM;AAC5C,iBAAA,GAAA,qBAAA,CAAA,SAAA;AADFA,eAAAA;AAIH;;AAzBc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G","sourcesContent":["import Router from 'next/router'\nimport { setupPing, currentPage, closePing } from './on-demand-entries-utils'\n\nexport default async ({ assetPrefix }) => {\n Router.ready(() => {\n Router.events.on(\n 'routeChangeComplete',\n setupPing.bind(this, assetPrefix, () => Router.pathname)\n )\n })\n\n setupPing(assetPrefix, () => Router.pathname, currentPage)\n\n // prevent HMR connection from being closed when running tests\n if (!process.env.__NEXT_TEST_MODE) {\n document.addEventListener('visibilitychange', (_event) => {\n const state = document.visibilityState\n if (state === 'visible') {\n setupPing(assetPrefix, () => Router.pathname, true)\n } else {\n closePing()\n }\n })\n\n window.addEventListener('beforeunload', () => {\n closePing()\n })\n }\n}\n"]},"metadata":{},"sourceType":"script"}