UNPKG

next-csrf

Version:

CSRF mitigation library for Next.js

1 lines 13 kB
{"ast":null,"code":"\"use strict\";\n\nvar _regeneratorRuntime = require(\"@babel/runtime/regenerator\");\n\nvar _classCallCheck = require(\"@babel/runtime/helpers/classCallCheck\");\n\nvar _createClass = require(\"@babel/runtime/helpers/createClass\");\n\nvar _inherits = require(\"@babel/runtime/helpers/inherits\");\n\nvar _possibleConstructorReturn = require(\"@babel/runtime/helpers/possibleConstructorReturn\");\n\nvar _getPrototypeOf = require(\"@babel/runtime/helpers/getPrototypeOf\");\n\nvar _asyncToGenerator = require(\"@babel/runtime/helpers/asyncToGenerator\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.Container = Container;\nexports.createUrl = createUrl;\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _utils = require(\"../next-server/lib/utils\");\n\nexports.AppInitialProps = _utils.AppInitialProps;\nexports.NextWebVitalsMetric = _utils.NextWebVitalsMetric;\n/**\n* `App` component is used for initialize of pages. It allows for overwriting and full control of the `page` initialization.\n* This allows for keeping state between navigation, custom error handling, injecting additional data.\n*/\n\nfunction appGetInitialProps(_x) {\n return _appGetInitialProps.apply(this, arguments);\n}\n\nfunction _appGetInitialProps() {\n _appGetInitialProps = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var Component, ctx, pageProps;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n Component = _ref.Component, ctx = _ref.ctx;\n _context.next = 3;\n return (0, _utils.loadGetInitialProps)(Component, ctx);\n\n case 3:\n pageProps = _context.sent;\n return _context.abrupt(\"return\", {\n pageProps: pageProps\n });\n\n case 5:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _appGetInitialProps.apply(this, arguments);\n}\n\nvar App = /*#__PURE__*/function (_react$default$Compon) {\n _inherits(App, _react$default$Compon);\n\n var _super = _createSuper(App);\n\n function App() {\n _classCallCheck(this, App);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(App, [{\n key: \"componentDidCatch\",\n value: // Kept here for backwards compatibility.\n // When someone ended App they could call `super.componentDidCatch`.\n // @deprecated This method is no longer needed. Errors are caught at the top level\n function componentDidCatch(error, _errorInfo) {\n throw error;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n router = _this$props.router,\n Component = _this$props.Component,\n pageProps = _this$props.pageProps,\n __N_SSG = _this$props.__N_SSG,\n __N_SSP = _this$props.__N_SSP;\n return /*#__PURE__*/_react[\"default\"].createElement(Component, Object.assign({}, pageProps, // we don't add the legacy URL prop if it's using non-legacy\n // methods like getStaticProps and getServerSideProps\n !(__N_SSG || __N_SSP) ? {\n url: createUrl(router)\n } : {}));\n }\n }]);\n\n return App;\n}(_react[\"default\"].Component);\n\nexports[\"default\"] = App;\nApp.origGetInitialProps = appGetInitialProps;\nApp.getInitialProps = appGetInitialProps;\nvar warnContainer;\nvar warnUrl;\n\nif (true) {\n warnContainer = (0, _utils.execOnce)(function () {\n console.warn(\"Warning: the `Container` in `_app` has been deprecated and should be removed. https://err.sh/vercel/next.js/app-container-deprecated\");\n });\n warnUrl = (0, _utils.execOnce)(function () {\n console.error(\"Warning: the 'url' property is deprecated. https://err.sh/vercel/next.js/url-deprecated\");\n });\n} // @deprecated noop for now until removal\n\n\nfunction Container(p) {\n if (true) warnContainer();\n return p.children;\n}\n\n_c = Container;\n\nfunction createUrl(router) {\n // This is to make sure we don't references the router object at call time\n var pathname = router.pathname,\n asPath = router.asPath,\n query = router.query;\n return {\n get query() {\n if (true) warnUrl();\n return query;\n },\n\n get pathname() {\n if (true) warnUrl();\n return pathname;\n },\n\n get asPath() {\n if (true) warnUrl();\n return asPath;\n },\n\n back: function back() {\n if (true) warnUrl();\n router.back();\n },\n push: function push(url, as) {\n if (true) warnUrl();\n return router.push(url, as);\n },\n pushTo: function pushTo(href, as) {\n if (true) warnUrl();\n var pushRoute = as ? href : '';\n var pushUrl = as || href;\n return router.push(pushRoute, pushUrl);\n },\n replace: function replace(url, as) {\n if (true) warnUrl();\n return router.replace(url, as);\n },\n replaceTo: function replaceTo(href, as) {\n if (true) warnUrl();\n var replaceRoute = as ? href : '';\n var replaceUrl = as || href;\n return router.replace(replaceRoute, replaceUrl);\n }\n };\n}\n\nvar _c;\n\n$RefreshReg$(_c, \"Container\");","map":{"version":3,"sources":["../../pages/_app.tsx"],"names":["pageProps","App","React","Component","origGetInitialProps","appGetInitialProps","getInitialProps","componentDidCatch","render","__N_SSG","url","createUrl","warnContainer","console","warnUrl","p","back","router","push","pushTo","pushRoute","as","pushUrl","replace","replaceTo","replaceRoute","replaceUrl"],"mappings":"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","sourcesContent":["import React, { ErrorInfo } from 'react'\nimport {\n execOnce,\n loadGetInitialProps,\n AppContextType,\n AppInitialProps,\n AppPropsType,\n NextWebVitalsMetric,\n} from '../next-server/lib/utils'\nimport { Router } from '../client/router'\n\nexport { AppInitialProps }\n\nexport { NextWebVitalsMetric }\n\nexport type AppContext = AppContextType<Router>\n\nexport type AppProps<P = {}> = AppPropsType<Router, P>\n\n/**\n * `App` component is used for initialize of pages. It allows for overwriting and full control of the `page` initialization.\n * This allows for keeping state between navigation, custom error handling, injecting additional data.\n */\nasync function appGetInitialProps({\n Component,\n ctx,\n}: AppContext): Promise<AppInitialProps> {\n const pageProps = await loadGetInitialProps(Component, ctx)\n return { pageProps }\n}\n\nexport default class App<P = {}, CP = {}, S = {}> extends React.Component<\n P & AppProps<CP>,\n S\n> {\n static origGetInitialProps = appGetInitialProps\n static getInitialProps = appGetInitialProps\n\n // Kept here for backwards compatibility.\n // When someone ended App they could call `super.componentDidCatch`.\n // @deprecated This method is no longer needed. Errors are caught at the top level\n componentDidCatch(error: Error, _errorInfo: ErrorInfo): void {\n throw error\n }\n\n render() {\n const { router, Component, pageProps, __N_SSG, __N_SSP } = this\n .props as AppProps<CP>\n\n return (\n <Component\n {...pageProps}\n {\n // we don't add the legacy URL prop if it's using non-legacy\n // methods like getStaticProps and getServerSideProps\n ...(!(__N_SSG || __N_SSP) ? { url: createUrl(router) } : {})\n }\n />\n )\n }\n}\n\nlet warnContainer: () => void\nlet warnUrl: () => void\n\nif (process.env.NODE_ENV !== 'production') {\n warnContainer = execOnce(() => {\n console.warn(\n `Warning: the \\`Container\\` in \\`_app\\` has been deprecated and should be removed. https://err.sh/vercel/next.js/app-container-deprecated`\n )\n })\n\n warnUrl = execOnce(() => {\n console.error(\n `Warning: the 'url' property is deprecated. https://err.sh/vercel/next.js/url-deprecated`\n )\n })\n}\n\n// @deprecated noop for now until removal\nexport function Container(p: any) {\n if (process.env.NODE_ENV !== 'production') warnContainer()\n return p.children\n}\n\nexport function createUrl(router: Router) {\n // This is to make sure we don't references the router object at call time\n const { pathname, asPath, query } = router\n return {\n get query() {\n if (process.env.NODE_ENV !== 'production') warnUrl()\n return query\n },\n get pathname() {\n if (process.env.NODE_ENV !== 'production') warnUrl()\n return pathname\n },\n get asPath() {\n if (process.env.NODE_ENV !== 'production') warnUrl()\n return asPath\n },\n back: () => {\n if (process.env.NODE_ENV !== 'production') warnUrl()\n router.back()\n },\n push: (url: string, as?: string) => {\n if (process.env.NODE_ENV !== 'production') warnUrl()\n return router.push(url, as)\n },\n pushTo: (href: string, as?: string) => {\n if (process.env.NODE_ENV !== 'production') warnUrl()\n const pushRoute = as ? href : ''\n const pushUrl = as || href\n\n return router.push(pushRoute, pushUrl)\n },\n replace: (url: string, as?: string) => {\n if (process.env.NODE_ENV !== 'production') warnUrl()\n return router.replace(url, as)\n },\n replaceTo: (href: string, as?: string) => {\n if (process.env.NODE_ENV !== 'production') warnUrl()\n const replaceRoute = as ? href : ''\n const replaceUrl = as || href\n\n return router.replace(replaceRoute, replaceUrl)\n },\n }\n}\n"]},"metadata":{},"sourceType":"script"}