hooks-server-context.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.StaticGenerationContext = exports.CookiesContext = exports.PreviewDataContext = exports.HeadersContext = exports.CONTEXT_NAMES = void 0;
  6. var _react = require("react");
  7. class DynamicServerError extends Error {
  8. constructor(type){
  9. super(`Dynamic server usage: ${type}`);
  10. }
  11. }
  12. exports.DynamicServerError = DynamicServerError;
  13. // Ensure serverContext is not created more than once as React will throw when creating it more than once
  14. // https://github.com/facebook/react/blob/dd2d6522754f52c70d02c51db25eb7cbd5d1c8eb/packages/react/src/ReactServerContext.js#L101
  15. const createContext = (name, defaultValue = null)=>{
  16. // @ts-expect-error __NEXT_DEV_SERVER_CONTEXT__ is a global
  17. if (!global.__NEXT_DEV_SERVER_CONTEXT__) {
  18. // @ts-expect-error __NEXT_DEV_SERVER_CONTEXT__ is a global
  19. global.__NEXT_DEV_SERVER_CONTEXT__ = {};
  20. }
  21. // @ts-expect-error __NEXT_DEV_SERVER_CONTEXT__ is a global
  22. if (!global.__NEXT_DEV_SERVER_CONTEXT__[name]) {
  23. // @ts-expect-error __NEXT_DEV_SERVER_CONTEXT__ is a global
  24. global.__NEXT_DEV_SERVER_CONTEXT__[name] = (0, _react).createServerContext(name, defaultValue);
  25. }
  26. // @ts-expect-error __NEXT_DEV_SERVER_CONTEXT__ is a global
  27. return global.__NEXT_DEV_SERVER_CONTEXT__[name];
  28. };
  29. const CONTEXT_NAMES = {
  30. HeadersContext: 'HeadersContext',
  31. PreviewDataContext: 'PreviewDataContext',
  32. CookiesContext: 'CookiesContext',
  33. StaticGenerationContext: 'StaticGenerationContext',
  34. FetchRevalidateContext: 'FetchRevalidateContext'
  35. };
  36. exports.CONTEXT_NAMES = CONTEXT_NAMES;
  37. const HeadersContext = createContext(CONTEXT_NAMES.HeadersContext);
  38. exports.HeadersContext = HeadersContext;
  39. const PreviewDataContext = createContext(CONTEXT_NAMES.PreviewDataContext);
  40. exports.PreviewDataContext = PreviewDataContext;
  41. const CookiesContext = createContext(CONTEXT_NAMES.CookiesContext);
  42. exports.CookiesContext = CookiesContext;
  43. const StaticGenerationContext = createContext(CONTEXT_NAMES.StaticGenerationContext, {
  44. isStaticGeneration: false
  45. });
  46. exports.StaticGenerationContext = StaticGenerationContext;
  47. if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
  48. Object.defineProperty(exports.default, '__esModule', { value: true });
  49. Object.assign(exports.default, exports);
  50. module.exports = exports.default;
  51. }
  52. //# sourceMappingURL=hooks-server-context.js.map