921d0f5a19fc6f3f6beaf32dd8f87ddd.json 15.4 KB
{"ast":null,"code":"/* global __webpack_require__ */\nconst Refresh = require('react-refresh/runtime');\n/**\n * Extracts exports from a webpack module object.\n * @param {string} moduleId A Webpack module ID.\n * @returns {*} An exports object from the module.\n */\n\n\nfunction getModuleExports(moduleId) {\n  return __webpack_require__.c[moduleId].exports;\n}\n/**\n * Calculates the signature of a React refresh boundary.\n * If this signature changes, it's unsafe to accept the boundary.\n *\n * This implementation is based on the one in [Metro](https://github.com/facebook/metro/blob/907d6af22ac6ebe58572be418e9253a90665ecbd/packages/metro/src/lib/polyfills/require.js#L795-L816).\n * @param {*} moduleExports A Webpack module exports object.\n * @returns {string[]} A React refresh boundary signature array.\n */\n\n\nfunction getReactRefreshBoundarySignature(moduleExports) {\n  const signature = [];\n  signature.push(Refresh.getFamilyByType(moduleExports));\n\n  if (moduleExports == null || typeof moduleExports !== 'object') {\n    // Exit if we can't iterate over exports.\n    return signature;\n  }\n\n  for (let key in moduleExports) {\n    if (key === '__esModule') {\n      continue;\n    }\n\n    signature.push(key);\n    signature.push(Refresh.getFamilyByType(moduleExports[key]));\n  }\n\n  return signature;\n}\n/**\n * Creates a helper that performs a delayed React refresh.\n * @returns {enqueueUpdate} A debounced React refresh function.\n */\n\n\nfunction createDebounceUpdate() {\n  /**\n   * A cached setTimeout handler.\n   * @type {number | undefined}\n   */\n  let refreshTimeout;\n  /**\n   * Performs react refresh on a delay and clears the error overlay.\n   * @param {function(): void} callback\n   * @returns {void}\n   */\n\n  function enqueueUpdate(callback) {\n    if (typeof refreshTimeout === 'undefined') {\n      refreshTimeout = setTimeout(function () {\n        refreshTimeout = undefined;\n        Refresh.performReactRefresh();\n        callback();\n      }, 30);\n    }\n  }\n\n  return enqueueUpdate;\n}\n/**\n * Checks if all exports are likely a React component.\n *\n * This implementation is based on the one in [Metro](https://github.com/facebook/metro/blob/febdba2383113c88296c61e28e4ef6a7f4939fda/packages/metro/src/lib/polyfills/require.js#L748-L774).\n * @param {*} moduleExports A Webpack module exports object.\n * @returns {boolean} Whether the exports are React component like.\n */\n\n\nfunction isReactRefreshBoundary(moduleExports) {\n  if (Refresh.isLikelyComponentType(moduleExports)) {\n    return true;\n  }\n\n  if (moduleExports === undefined || moduleExports === null || typeof moduleExports !== 'object') {\n    // Exit if we can't iterate over exports.\n    return false;\n  }\n\n  let hasExports = false;\n  let areAllExportsComponents = true;\n\n  for (let key in moduleExports) {\n    hasExports = true; // This is the ES Module indicator flag\n\n    if (key === '__esModule') {\n      continue;\n    } // We can (and have to) safely execute getters here,\n    // as Webpack manually assigns harmony exports to getters,\n    // without any side-effects attached.\n    // Ref: https://github.com/webpack/webpack/blob/b93048643fe74de2a6931755911da1212df55897/lib/MainTemplate.js#L281\n\n\n    const exportValue = moduleExports[key];\n\n    if (!Refresh.isLikelyComponentType(exportValue)) {\n      areAllExportsComponents = false;\n    }\n  }\n\n  return hasExports && areAllExportsComponents;\n}\n/**\n * Checks if exports are likely a React component and registers them.\n *\n * This implementation is based on the one in [Metro](https://github.com/facebook/metro/blob/febdba2383113c88296c61e28e4ef6a7f4939fda/packages/metro/src/lib/polyfills/require.js#L818-L835).\n * @param {*} moduleExports A Webpack module exports object.\n * @param {string} moduleId A Webpack module ID.\n * @returns {void}\n */\n\n\nfunction registerExportsForReactRefresh(moduleExports, moduleId) {\n  if (Refresh.isLikelyComponentType(moduleExports)) {\n    // Register module.exports if it is likely a component\n    Refresh.register(moduleExports, moduleId + ' %exports%');\n  }\n\n  if (moduleExports === undefined || moduleExports === null || typeof moduleExports !== 'object') {\n    // Exit if we can't iterate over the exports.\n    return;\n  }\n\n  for (let key in moduleExports) {\n    // Skip registering the ES Module indicator\n    if (key === '__esModule') {\n      continue;\n    }\n\n    const exportValue = moduleExports[key];\n\n    if (Refresh.isLikelyComponentType(exportValue)) {\n      const typeID = moduleId + ' %exports% ' + key;\n      Refresh.register(exportValue, typeID);\n    }\n  }\n}\n/**\n * Compares previous and next module objects to check for mutated boundaries.\n *\n * This implementation is based on the one in [Metro](https://github.com/facebook/metro/blob/907d6af22ac6ebe58572be418e9253a90665ecbd/packages/metro/src/lib/polyfills/require.js#L776-L792).\n * @param {*} prevExports The current Webpack module exports object.\n * @param {*} nextExports The next Webpack module exports object.\n * @returns {boolean} Whether the React refresh boundary should be invalidated.\n */\n\n\nfunction shouldInvalidateReactRefreshBoundary(prevExports, nextExports) {\n  const prevSignature = getReactRefreshBoundarySignature(prevExports);\n  const nextSignature = getReactRefreshBoundarySignature(nextExports);\n\n  if (prevSignature.length !== nextSignature.length) {\n    return true;\n  }\n\n  for (let i = 0; i < nextSignature.length; i += 1) {\n    if (prevSignature[i] !== nextSignature[i]) {\n      return true;\n    }\n  }\n\n  return false;\n}\n\nmodule.exports = Object.freeze({\n  enqueueUpdate: createDebounceUpdate(),\n  getModuleExports: getModuleExports,\n  isReactRefreshBoundary: isReactRefreshBoundary,\n  shouldInvalidateReactRefreshBoundary: shouldInvalidateReactRefreshBoundary,\n  registerExportsForReactRefresh: registerExportsForReactRefresh\n});","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/node_modules/@pmmmwh/react-refresh-webpack-plugin/lib/runtime/RefreshUtils.js"],"names":["Refresh","require","getModuleExports","moduleId","__webpack_require__","c","exports","getReactRefreshBoundarySignature","moduleExports","signature","push","getFamilyByType","key","createDebounceUpdate","refreshTimeout","enqueueUpdate","callback","setTimeout","undefined","performReactRefresh","isReactRefreshBoundary","isLikelyComponentType","hasExports","areAllExportsComponents","exportValue","registerExportsForReactRefresh","register","typeID","shouldInvalidateReactRefreshBoundary","prevExports","nextExports","prevSignature","nextSignature","length","i","module","Object","freeze"],"mappings":"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","sourcesContent":["/* global __webpack_require__ */\nconst Refresh = require('react-refresh/runtime');\n\n/**\n * Extracts exports from a webpack module object.\n * @param {string} moduleId A Webpack module ID.\n * @returns {*} An exports object from the module.\n */\nfunction getModuleExports(moduleId) {\n  return __webpack_require__.c[moduleId].exports;\n}\n\n/**\n * Calculates the signature of a React refresh boundary.\n * If this signature changes, it's unsafe to accept the boundary.\n *\n * This implementation is based on the one in [Metro](https://github.com/facebook/metro/blob/907d6af22ac6ebe58572be418e9253a90665ecbd/packages/metro/src/lib/polyfills/require.js#L795-L816).\n * @param {*} moduleExports A Webpack module exports object.\n * @returns {string[]} A React refresh boundary signature array.\n */\nfunction getReactRefreshBoundarySignature(moduleExports) {\n  const signature = [];\n  signature.push(Refresh.getFamilyByType(moduleExports));\n\n  if (moduleExports == null || typeof moduleExports !== 'object') {\n    // Exit if we can't iterate over exports.\n    return signature;\n  }\n\n  for (let key in moduleExports) {\n    if (key === '__esModule') {\n      continue;\n    }\n\n    signature.push(key);\n    signature.push(Refresh.getFamilyByType(moduleExports[key]));\n  }\n\n  return signature;\n}\n\n/**\n * Creates a helper that performs a delayed React refresh.\n * @returns {enqueueUpdate} A debounced React refresh function.\n */\nfunction createDebounceUpdate() {\n  /**\n   * A cached setTimeout handler.\n   * @type {number | undefined}\n   */\n  let refreshTimeout;\n\n  /**\n   * Performs react refresh on a delay and clears the error overlay.\n   * @param {function(): void} callback\n   * @returns {void}\n   */\n  function enqueueUpdate(callback) {\n    if (typeof refreshTimeout === 'undefined') {\n      refreshTimeout = setTimeout(function () {\n        refreshTimeout = undefined;\n        Refresh.performReactRefresh();\n        callback();\n      }, 30);\n    }\n  }\n\n  return enqueueUpdate;\n}\n\n/**\n * Checks if all exports are likely a React component.\n *\n * This implementation is based on the one in [Metro](https://github.com/facebook/metro/blob/febdba2383113c88296c61e28e4ef6a7f4939fda/packages/metro/src/lib/polyfills/require.js#L748-L774).\n * @param {*} moduleExports A Webpack module exports object.\n * @returns {boolean} Whether the exports are React component like.\n */\nfunction isReactRefreshBoundary(moduleExports) {\n  if (Refresh.isLikelyComponentType(moduleExports)) {\n    return true;\n  }\n  if (moduleExports === undefined || moduleExports === null || typeof moduleExports !== 'object') {\n    // Exit if we can't iterate over exports.\n    return false;\n  }\n\n  let hasExports = false;\n  let areAllExportsComponents = true;\n  for (let key in moduleExports) {\n    hasExports = true;\n\n    // This is the ES Module indicator flag\n    if (key === '__esModule') {\n      continue;\n    }\n\n    // We can (and have to) safely execute getters here,\n    // as Webpack manually assigns harmony exports to getters,\n    // without any side-effects attached.\n    // Ref: https://github.com/webpack/webpack/blob/b93048643fe74de2a6931755911da1212df55897/lib/MainTemplate.js#L281\n    const exportValue = moduleExports[key];\n    if (!Refresh.isLikelyComponentType(exportValue)) {\n      areAllExportsComponents = false;\n    }\n  }\n\n  return hasExports && areAllExportsComponents;\n}\n\n/**\n * Checks if exports are likely a React component and registers them.\n *\n * This implementation is based on the one in [Metro](https://github.com/facebook/metro/blob/febdba2383113c88296c61e28e4ef6a7f4939fda/packages/metro/src/lib/polyfills/require.js#L818-L835).\n * @param {*} moduleExports A Webpack module exports object.\n * @param {string} moduleId A Webpack module ID.\n * @returns {void}\n */\nfunction registerExportsForReactRefresh(moduleExports, moduleId) {\n  if (Refresh.isLikelyComponentType(moduleExports)) {\n    // Register module.exports if it is likely a component\n    Refresh.register(moduleExports, moduleId + ' %exports%');\n  }\n\n  if (moduleExports === undefined || moduleExports === null || typeof moduleExports !== 'object') {\n    // Exit if we can't iterate over the exports.\n    return;\n  }\n\n  for (let key in moduleExports) {\n    // Skip registering the ES Module indicator\n    if (key === '__esModule') {\n      continue;\n    }\n\n    const exportValue = moduleExports[key];\n    if (Refresh.isLikelyComponentType(exportValue)) {\n      const typeID = moduleId + ' %exports% ' + key;\n      Refresh.register(exportValue, typeID);\n    }\n  }\n}\n\n/**\n * Compares previous and next module objects to check for mutated boundaries.\n *\n * This implementation is based on the one in [Metro](https://github.com/facebook/metro/blob/907d6af22ac6ebe58572be418e9253a90665ecbd/packages/metro/src/lib/polyfills/require.js#L776-L792).\n * @param {*} prevExports The current Webpack module exports object.\n * @param {*} nextExports The next Webpack module exports object.\n * @returns {boolean} Whether the React refresh boundary should be invalidated.\n */\nfunction shouldInvalidateReactRefreshBoundary(prevExports, nextExports) {\n  const prevSignature = getReactRefreshBoundarySignature(prevExports);\n  const nextSignature = getReactRefreshBoundarySignature(nextExports);\n\n  if (prevSignature.length !== nextSignature.length) {\n    return true;\n  }\n\n  for (let i = 0; i < nextSignature.length; i += 1) {\n    if (prevSignature[i] !== nextSignature[i]) {\n      return true;\n    }\n  }\n\n  return false;\n}\n\nmodule.exports = Object.freeze({\n  enqueueUpdate: createDebounceUpdate(),\n  getModuleExports: getModuleExports,\n  isReactRefreshBoundary: isReactRefreshBoundary,\n  shouldInvalidateReactRefreshBoundary: shouldInvalidateReactRefreshBoundary,\n  registerExportsForReactRefresh: registerExportsForReactRefresh,\n});\n"]},"metadata":{},"sourceType":"script"}