{"version":3,"sources":["__prelude__","/Volumes/code/Projects/flipperplugins/flipper-plugin-react-native-mmkv-storage/node_modules/metro-runtime/src/polyfills/require.js","/Volumes/code/Projects/flipperplugins/flipper-plugin-react-native-mmkv-storage/src/index.tsx","/Volumes/code/Projects/flipperplugins/flipper-plugin-react-native-mmkv-storage/src/helpers.ts","/Volumes/code/Projects/flipperplugins/flipper-plugin-react-native-mmkv-storage/src/styles.ts"],"sourcesContent":["var __BUNDLE_START_TIME__=this.nativePerformanceNow?nativePerformanceNow():Date.now(),__DEV__=true,process=this.process||{},__METRO_GLOBAL_PREFIX__='';process.env=process.env||{};process.env.NODE_ENV=process.env.NODE_ENV||\"development\";","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @polyfill\n *\n * @format\n */\n\"use strict\";\n/* eslint-disable no-bitwise */\n\nglobal.__r = metroRequire;\nglobal[`${__METRO_GLOBAL_PREFIX__}__d`] = define;\nglobal.__c = clear;\nglobal.__registerSegment = registerSegment;\nvar modules = clear(); // Don't use a Symbol here, it would pull in an extra polyfill with all sorts of\n// additional stuff (e.g. Array.from).\n\nconst EMPTY = {};\nconst { hasOwnProperty } = {};\n\nif (__DEV__) {\n  global.$RefreshReg$ = () => {};\n\n  global.$RefreshSig$ = () => (type) => type;\n}\n\nfunction clear() {\n  modules = Object.create(null); // We return modules here so that we can assign an initial value to modules\n  // when defining it. Otherwise, we would have to do \"let modules = null\",\n  // which will force us to add \"nullthrows\" everywhere.\n\n  return modules;\n}\n\nif (__DEV__) {\n  var verboseNamesToModuleIds = Object.create(null);\n  var initializingModuleIds = [];\n}\n\nfunction define(factory, moduleId, dependencyMap) {\n  if (modules[moduleId] != null) {\n    if (__DEV__) {\n      // (We take `inverseDependencies` from `arguments` to avoid an unused\n      // named parameter in `define` in production.\n      const inverseDependencies = arguments[4]; // If the module has already been defined and the define method has been\n      // called with inverseDependencies, we can hot reload it.\n\n      if (inverseDependencies) {\n        global.__accept(moduleId, factory, dependencyMap, inverseDependencies);\n      }\n    } // prevent repeated calls to `global.nativeRequire` to overwrite modules\n    // that are already loaded\n\n    return;\n  }\n\n  const mod = {\n    dependencyMap,\n    factory,\n    hasError: false,\n    importedAll: EMPTY,\n    importedDefault: EMPTY,\n    isInitialized: false,\n    publicModule: {\n      exports: {},\n    },\n  };\n  modules[moduleId] = mod;\n\n  if (__DEV__) {\n    // HMR\n    mod.hot = createHotReloadingObject(); // DEBUGGABLE MODULES NAMES\n    // we take `verboseName` from `arguments` to avoid an unused named parameter\n    // in `define` in production.\n\n    const verboseName = arguments[3];\n\n    if (verboseName) {\n      mod.verboseName = verboseName;\n      verboseNamesToModuleIds[verboseName] = moduleId;\n    }\n  }\n}\n\nfunction metroRequire(moduleId) {\n  if (__DEV__ && typeof moduleId === \"string\") {\n    const verboseName = moduleId;\n    moduleId = verboseNamesToModuleIds[verboseName];\n\n    if (moduleId == null) {\n      throw new Error(`Unknown named module: \"${verboseName}\"`);\n    } else {\n      console.warn(\n        `Requiring module \"${verboseName}\" by name is only supported for ` +\n          \"debugging purposes and will BREAK IN PRODUCTION!\"\n      );\n    }\n  } //$FlowFixMe: at this point we know that moduleId is a number\n\n  const moduleIdReallyIsNumber = moduleId;\n\n  if (__DEV__) {\n    const initializingIndex = initializingModuleIds.indexOf(\n      moduleIdReallyIsNumber\n    );\n\n    if (initializingIndex !== -1) {\n      const cycle = initializingModuleIds\n        .slice(initializingIndex)\n        .map((id) => (modules[id] ? modules[id].verboseName : \"[unknown]\")); // We want to show A -> B -> A:\n\n      cycle.push(cycle[0]);\n      console.warn(\n        `Require cycle: ${cycle.join(\" -> \")}\\n\\n` +\n          \"Require cycles are allowed, but can result in uninitialized values. \" +\n          \"Consider refactoring to remove the need for a cycle.\"\n      );\n    }\n  }\n\n  const module = modules[moduleIdReallyIsNumber];\n  return module && module.isInitialized\n    ? module.publicModule.exports\n    : guardedLoadModule(moduleIdReallyIsNumber, module);\n}\n\nfunction metroImportDefault(moduleId) {\n  if (__DEV__ && typeof moduleId === \"string\") {\n    const verboseName = moduleId;\n    moduleId = verboseNamesToModuleIds[verboseName];\n  } //$FlowFixMe: at this point we know that moduleId is a number\n\n  const moduleIdReallyIsNumber = moduleId;\n\n  if (\n    modules[moduleIdReallyIsNumber] &&\n    modules[moduleIdReallyIsNumber].importedDefault !== EMPTY\n  ) {\n    return modules[moduleIdReallyIsNumber].importedDefault;\n  }\n\n  const exports = metroRequire(moduleIdReallyIsNumber);\n  const importedDefault =\n    exports && exports.__esModule ? exports.default : exports; // $FlowFixMe The metroRequire call above will throw if modules[id] is null\n\n  return (modules[moduleIdReallyIsNumber].importedDefault = importedDefault);\n}\n\nmetroRequire.importDefault = metroImportDefault;\n\nfunction metroImportAll(moduleId) {\n  if (__DEV__ && typeof moduleId === \"string\") {\n    const verboseName = moduleId;\n    moduleId = verboseNamesToModuleIds[verboseName];\n  } //$FlowFixMe: at this point we know that moduleId is a number\n\n  const moduleIdReallyIsNumber = moduleId;\n\n  if (\n    modules[moduleIdReallyIsNumber] &&\n    modules[moduleIdReallyIsNumber].importedAll !== EMPTY\n  ) {\n    return modules[moduleIdReallyIsNumber].importedAll;\n  }\n\n  const exports = metroRequire(moduleIdReallyIsNumber);\n  let importedAll;\n\n  if (exports && exports.__esModule) {\n    importedAll = exports;\n  } else {\n    importedAll = {}; // Refrain from using Object.assign, it has to work in ES3 environments.\n\n    if (exports) {\n      for (const key in exports) {\n        if (hasOwnProperty.call(exports, key)) {\n          importedAll[key] = exports[key];\n        }\n      }\n    }\n\n    importedAll.default = exports;\n  } // $FlowFixMe The metroRequire call above will throw if modules[id] is null\n\n  return (modules[moduleIdReallyIsNumber].importedAll = importedAll);\n}\n\nmetroRequire.importAll = metroImportAll;\nlet inGuard = false;\n\nfunction guardedLoadModule(moduleId, module) {\n  if (!inGuard && global.ErrorUtils) {\n    inGuard = true;\n    let returnValue;\n\n    try {\n      returnValue = loadModuleImplementation(moduleId, module);\n    } catch (e) {\n      // TODO: (moti) T48204692 Type this use of ErrorUtils.\n      global.ErrorUtils.reportFatalError(e);\n    }\n\n    inGuard = false;\n    return returnValue;\n  } else {\n    return loadModuleImplementation(moduleId, module);\n  }\n}\n\nconst ID_MASK_SHIFT = 16;\nconst LOCAL_ID_MASK = ~0 >>> ID_MASK_SHIFT;\n\nfunction unpackModuleId(moduleId) {\n  const segmentId = moduleId >>> ID_MASK_SHIFT;\n  const localId = moduleId & LOCAL_ID_MASK;\n  return {\n    segmentId,\n    localId,\n  };\n}\n\nmetroRequire.unpackModuleId = unpackModuleId;\n\nfunction packModuleId(value) {\n  return (value.segmentId << ID_MASK_SHIFT) + value.localId;\n}\n\nmetroRequire.packModuleId = packModuleId;\nconst moduleDefinersBySegmentID = [];\nconst definingSegmentByModuleID = new Map();\n\nfunction registerSegment(segmentId, moduleDefiner, moduleIds) {\n  moduleDefinersBySegmentID[segmentId] = moduleDefiner;\n\n  if (__DEV__) {\n    if (segmentId === 0 && moduleIds) {\n      throw new Error(\n        \"registerSegment: Expected moduleIds to be null for main segment\"\n      );\n    }\n\n    if (segmentId !== 0 && !moduleIds) {\n      throw new Error(\n        \"registerSegment: Expected moduleIds to be passed for segment #\" +\n          segmentId\n      );\n    }\n  }\n\n  if (moduleIds) {\n    moduleIds.forEach((moduleId) => {\n      if (!modules[moduleId] && !definingSegmentByModuleID.has(moduleId)) {\n        definingSegmentByModuleID.set(moduleId, segmentId);\n      }\n    });\n  }\n}\n\nfunction loadModuleImplementation(moduleId, module) {\n  if (!module && moduleDefinersBySegmentID.length > 0) {\n    var _definingSegmentByMod;\n\n    const segmentId =\n      (_definingSegmentByMod = definingSegmentByModuleID.get(moduleId)) !==\n        null && _definingSegmentByMod !== void 0\n        ? _definingSegmentByMod\n        : 0;\n    const definer = moduleDefinersBySegmentID[segmentId];\n\n    if (definer != null) {\n      definer(moduleId);\n      module = modules[moduleId];\n      definingSegmentByModuleID.delete(moduleId);\n    }\n  }\n\n  const nativeRequire = global.nativeRequire;\n\n  if (!module && nativeRequire) {\n    const { segmentId, localId } = unpackModuleId(moduleId);\n    nativeRequire(localId, segmentId);\n    module = modules[moduleId];\n  }\n\n  if (!module) {\n    throw unknownModuleError(moduleId);\n  }\n\n  if (module.hasError) {\n    throw moduleThrewError(moduleId, module.error);\n  }\n\n  if (__DEV__) {\n    var Systrace = requireSystrace();\n    var Refresh = requireRefresh();\n  } // We must optimistically mark module as initialized before running the\n  // factory to keep any require cycles inside the factory from causing an\n  // infinite require loop.\n\n  module.isInitialized = true;\n  const { factory, dependencyMap } = module;\n\n  if (__DEV__) {\n    initializingModuleIds.push(moduleId);\n  }\n\n  try {\n    if (__DEV__) {\n      // $FlowIgnore: we know that __DEV__ is const and `Systrace` exists\n      Systrace.beginEvent(\"JS_require_\" + (module.verboseName || moduleId));\n    }\n\n    const moduleObject = module.publicModule;\n\n    if (__DEV__) {\n      moduleObject.hot = module.hot;\n      var prevRefreshReg = global.$RefreshReg$;\n      var prevRefreshSig = global.$RefreshSig$;\n\n      if (Refresh != null) {\n        const RefreshRuntime = Refresh;\n\n        global.$RefreshReg$ = (type, id) => {\n          RefreshRuntime.register(type, moduleId + \" \" + id);\n        };\n\n        global.$RefreshSig$ =\n          RefreshRuntime.createSignatureFunctionForTransform;\n      }\n    }\n\n    moduleObject.id = moduleId; // keep args in sync with with defineModuleCode in\n    // metro/src/Resolver/index.js\n    // and metro/src/ModuleGraph/worker.js\n\n    factory(\n      global,\n      metroRequire,\n      metroImportDefault,\n      metroImportAll,\n      moduleObject,\n      moduleObject.exports,\n      dependencyMap\n    ); // avoid removing factory in DEV mode as it breaks HMR\n\n    if (!__DEV__) {\n      // $FlowFixMe: This is only sound because we never access `factory` again\n      module.factory = undefined;\n      module.dependencyMap = undefined;\n    }\n\n    if (__DEV__) {\n      // $FlowIgnore: we know that __DEV__ is const and `Systrace` exists\n      Systrace.endEvent();\n\n      if (Refresh != null) {\n        registerExportsForReactRefresh(Refresh, moduleObject.exports, moduleId);\n      }\n    }\n\n    return moduleObject.exports;\n  } catch (e) {\n    module.hasError = true;\n    module.error = e;\n    module.isInitialized = false;\n    module.publicModule.exports = undefined;\n    throw e;\n  } finally {\n    if (__DEV__) {\n      if (initializingModuleIds.pop() !== moduleId) {\n        throw new Error(\n          \"initializingModuleIds is corrupt; something is terribly wrong\"\n        );\n      }\n\n      global.$RefreshReg$ = prevRefreshReg;\n      global.$RefreshSig$ = prevRefreshSig;\n    }\n  }\n}\n\nfunction unknownModuleError(id) {\n  let message = 'Requiring unknown module \"' + id + '\".';\n\n  if (__DEV__) {\n    message +=\n      \" If you are sure the module exists, try restarting Metro. \" +\n      \"You may also want to run `yarn` or `npm install`.\";\n  }\n\n  return Error(message);\n}\n\nfunction moduleThrewError(id, error) {\n  const displayName = (__DEV__ && modules[id] && modules[id].verboseName) || id;\n  return Error(\n    'Requiring module \"' + displayName + '\", which threw an exception: ' + error\n  );\n}\n\nif (__DEV__) {\n  metroRequire.Systrace = {\n    beginEvent: () => {},\n    endEvent: () => {},\n  };\n\n  metroRequire.getModules = () => {\n    return modules;\n  }; // HOT MODULE RELOADING\n\n  var createHotReloadingObject = function () {\n    const hot = {\n      _acceptCallback: null,\n      _disposeCallback: null,\n      _didAccept: false,\n      accept: (callback) => {\n        hot._didAccept = true;\n        hot._acceptCallback = callback;\n      },\n      dispose: (callback) => {\n        hot._disposeCallback = callback;\n      },\n    };\n    return hot;\n  };\n\n  let reactRefreshTimeout = null;\n\n  const metroHotUpdateModule = function (\n    id,\n    factory,\n    dependencyMap,\n    inverseDependencies\n  ) {\n    const mod = modules[id];\n\n    if (!mod) {\n      if (factory) {\n        // New modules are going to be handled by the define() method.\n        return;\n      }\n\n      throw unknownModuleError(id);\n    }\n\n    if (!mod.hasError && !mod.isInitialized) {\n      // The module hasn't actually been executed yet,\n      // so we can always safely replace it.\n      mod.factory = factory;\n      mod.dependencyMap = dependencyMap;\n      return;\n    }\n\n    const Refresh = requireRefresh();\n    const refreshBoundaryIDs = new Set(); // In this loop, we will traverse the dependency tree upwards from the\n    // changed module. Updates \"bubble\" up to the closest accepted parent.\n    //\n    // If we reach the module root and nothing along the way accepted the update,\n    // we know hot reload is going to fail. In that case we return false.\n    //\n    // The main purpose of this loop is to figure out whether it's safe to apply\n    // a hot update. It is only safe when the update was accepted somewhere\n    // along the way upwards for each of its parent dependency module chains.\n    //\n    // We perform a topological sort because we may discover the same\n    // module more than once in the list of things to re-execute, and\n    // we want to execute modules before modules that depend on them.\n    //\n    // If we didn't have this check, we'd risk re-evaluating modules that\n    // have side effects and lead to confusing and meaningless crashes.\n\n    let didBailOut = false;\n    const updatedModuleIDs = topologicalSort(\n      [id], // Start with the changed module and go upwards\n      (pendingID) => {\n        const pendingModule = modules[pendingID];\n\n        if (pendingModule == null) {\n          // Nothing to do.\n          return [];\n        }\n\n        const pendingHot = pendingModule.hot;\n\n        if (pendingHot == null) {\n          throw new Error(\n            \"[Refresh] Expected module.hot to always exist in DEV.\"\n          );\n        } // A module can be accepted manually from within itself.\n\n        let canAccept = pendingHot._didAccept;\n\n        if (!canAccept && Refresh != null) {\n          // Or React Refresh may mark it accepted based on exports.\n          const isBoundary = isReactRefreshBoundary(\n            Refresh,\n            pendingModule.publicModule.exports\n          );\n\n          if (isBoundary) {\n            canAccept = true;\n            refreshBoundaryIDs.add(pendingID);\n          }\n        }\n\n        if (canAccept) {\n          // Don't look at parents.\n          return [];\n        } // If we bubble through the roof, there is no way to do a hot update.\n        // Bail out altogether. This is the failure case.\n\n        const parentIDs = inverseDependencies[pendingID];\n\n        if (parentIDs.length === 0) {\n          // Reload the app because the hot reload can't succeed.\n          // This should work both on web and React Native.\n          performFullRefresh(\"No root boundary\", {\n            source: mod,\n            failed: pendingModule,\n          });\n          didBailOut = true;\n          return [];\n        } // This module can't handle the update but maybe all its parents can?\n        // Put them all in the queue to run the same set of checks.\n\n        return parentIDs;\n      },\n      () => didBailOut // Should we stop?\n    ).reverse();\n\n    if (didBailOut) {\n      return;\n    } // If we reached here, it is likely that hot reload will be successful.\n    // Run the actual factories.\n\n    const seenModuleIDs = new Set();\n\n    for (let i = 0; i < updatedModuleIDs.length; i++) {\n      // Don't process twice if we have a cycle.\n      const updatedID = updatedModuleIDs[i];\n\n      if (seenModuleIDs.has(updatedID)) {\n        continue;\n      }\n\n      seenModuleIDs.add(updatedID);\n      const updatedMod = modules[updatedID];\n\n      if (updatedMod == null) {\n        throw new Error(\"[Refresh] Expected to find the updated module.\");\n      }\n\n      const prevExports = updatedMod.publicModule.exports;\n      const didError = runUpdatedModule(\n        updatedID,\n        updatedID === id ? factory : undefined,\n        updatedID === id ? dependencyMap : undefined\n      );\n      const nextExports = updatedMod.publicModule.exports;\n\n      if (didError) {\n        // The user was shown a redbox about module initialization.\n        // There's nothing for us to do here until it's fixed.\n        return;\n      }\n\n      if (refreshBoundaryIDs.has(updatedID)) {\n        // Since we just executed the code for it, it's possible\n        // that the new exports make it ineligible for being a boundary.\n        const isNoLongerABoundary = !isReactRefreshBoundary(\n          Refresh,\n          nextExports\n        ); // It can also become ineligible if its exports are incompatible\n        // with the previous exports.\n        // For example, if you add/remove/change exports, we'll want\n        // to re-execute the importing modules, and force those components\n        // to re-render. Similarly, if you convert a class component\n        // to a function, we want to invalidate the boundary.\n\n        const didInvalidate = shouldInvalidateReactRefreshBoundary(\n          Refresh,\n          prevExports,\n          nextExports\n        );\n\n        if (isNoLongerABoundary || didInvalidate) {\n          // We'll be conservative. The only case in which we won't do a full\n          // reload is if all parent modules are also refresh boundaries.\n          // In that case we'll add them to the current queue.\n          const parentIDs = inverseDependencies[updatedID];\n\n          if (parentIDs.length === 0) {\n            // Looks like we bubbled to the root. Can't recover from that.\n            performFullRefresh(\n              isNoLongerABoundary\n                ? \"No longer a boundary\"\n                : \"Invalidated boundary\",\n              {\n                source: mod,\n                failed: updatedMod,\n              }\n            );\n            return;\n          } // Schedule all parent refresh boundaries to re-run in this loop.\n\n          for (let j = 0; j < parentIDs.length; j++) {\n            const parentID = parentIDs[j];\n            const parentMod = modules[parentID];\n\n            if (parentMod == null) {\n              throw new Error(\"[Refresh] Expected to find parent module.\");\n            }\n\n            const canAcceptParent = isReactRefreshBoundary(\n              Refresh,\n              parentMod.publicModule.exports\n            );\n\n            if (canAcceptParent) {\n              // All parents will have to re-run too.\n              refreshBoundaryIDs.add(parentID);\n              updatedModuleIDs.push(parentID);\n            } else {\n              performFullRefresh(\"Invalidated boundary\", {\n                source: mod,\n                failed: parentMod,\n              });\n              return;\n            }\n          }\n        }\n      }\n    }\n\n    if (Refresh != null) {\n      // Debounce a little in case there are multiple updates queued up.\n      // This is also useful because __accept may be called multiple times.\n      if (reactRefreshTimeout == null) {\n        reactRefreshTimeout = setTimeout(() => {\n          reactRefreshTimeout = null; // Update React components.\n\n          Refresh.performReactRefresh();\n        }, 30);\n      }\n    }\n  };\n\n  const topologicalSort = function (roots, getEdges, earlyStop) {\n    const result = [];\n    const visited = new Set();\n\n    function traverseDependentNodes(node) {\n      visited.add(node);\n      const dependentNodes = getEdges(node);\n\n      if (earlyStop(node)) {\n        return;\n      }\n\n      dependentNodes.forEach((dependent) => {\n        if (visited.has(dependent)) {\n          return;\n        }\n\n        traverseDependentNodes(dependent);\n      });\n      result.push(node);\n    }\n\n    roots.forEach((root) => {\n      if (!visited.has(root)) {\n        traverseDependentNodes(root);\n      }\n    });\n    return result;\n  };\n\n  const runUpdatedModule = function (id, factory, dependencyMap) {\n    const mod = modules[id];\n\n    if (mod == null) {\n      throw new Error(\"[Refresh] Expected to find the module.\");\n    }\n\n    const { hot } = mod;\n\n    if (!hot) {\n      throw new Error(\"[Refresh] Expected module.hot to always exist in DEV.\");\n    }\n\n    if (hot._disposeCallback) {\n      try {\n        hot._disposeCallback();\n      } catch (error) {\n        console.error(\n          `Error while calling dispose handler for module ${id}: `,\n          error\n        );\n      }\n    }\n\n    if (factory) {\n      mod.factory = factory;\n    }\n\n    if (dependencyMap) {\n      mod.dependencyMap = dependencyMap;\n    }\n\n    mod.hasError = false;\n    mod.error = undefined;\n    mod.importedAll = EMPTY;\n    mod.importedDefault = EMPTY;\n    mod.isInitialized = false;\n    const prevExports = mod.publicModule.exports;\n    mod.publicModule.exports = {};\n    hot._didAccept = false;\n    hot._acceptCallback = null;\n    hot._disposeCallback = null;\n    metroRequire(id);\n\n    if (mod.hasError) {\n      // This error has already been reported via a redbox.\n      // We know it's likely a typo or some mistake that was just introduced.\n      // Our goal now is to keep the rest of the application working so that by\n      // the time user fixes the error, the app isn't completely destroyed\n      // underneath the redbox. So we'll revert the module object to the last\n      // successful export and stop propagating this update.\n      mod.hasError = false;\n      mod.isInitialized = true;\n      mod.error = null;\n      mod.publicModule.exports = prevExports; // We errored. Stop the update.\n\n      return true;\n    }\n\n    if (hot._acceptCallback) {\n      try {\n        hot._acceptCallback();\n      } catch (error) {\n        console.error(\n          `Error while calling accept handler for module ${id}: `,\n          error\n        );\n      }\n    } // No error.\n\n    return false;\n  };\n\n  const performFullRefresh = (reason, modules) => {\n    /* global window */\n    if (\n      typeof window !== \"undefined\" &&\n      window.location != null &&\n      typeof window.location.reload === \"function\"\n    ) {\n      window.location.reload();\n    } else {\n      const Refresh = requireRefresh();\n\n      if (Refresh != null) {\n        var _modules$source$verbo,\n          _modules$source,\n          _modules$failed$verbo,\n          _modules$failed;\n\n        const sourceName =\n          (_modules$source$verbo =\n            (_modules$source = modules.source) === null ||\n            _modules$source === void 0\n              ? void 0\n              : _modules$source.verboseName) !== null &&\n          _modules$source$verbo !== void 0\n            ? _modules$source$verbo\n            : \"unknown\";\n        const failedName =\n          (_modules$failed$verbo =\n            (_modules$failed = modules.failed) === null ||\n            _modules$failed === void 0\n              ? void 0\n              : _modules$failed.verboseName) !== null &&\n          _modules$failed$verbo !== void 0\n            ? _modules$failed$verbo\n            : \"unknown\";\n        Refresh.performFullRefresh(\n          `Fast Refresh - ${reason} <${sourceName}> <${failedName}>`\n        );\n      } else {\n        console.warn(\"Could not reload the application after an edit.\");\n      }\n    }\n  }; // Modules that only export components become React Refresh boundaries.\n\n  var isReactRefreshBoundary = function (Refresh, moduleExports) {\n    if (Refresh.isLikelyComponentType(moduleExports)) {\n      return true;\n    }\n\n    if (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 (const key in moduleExports) {\n      hasExports = true;\n\n      if (key === \"__esModule\") {\n        continue;\n      }\n\n      const desc = Object.getOwnPropertyDescriptor(moduleExports, key);\n\n      if (desc && desc.get) {\n        // Don't invoke getters as they may have side effects.\n        return false;\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  var shouldInvalidateReactRefreshBoundary = (\n    Refresh,\n    prevExports,\n    nextExports\n  ) => {\n    const prevSignature = getRefreshBoundarySignature(Refresh, prevExports);\n    const nextSignature = getRefreshBoundarySignature(Refresh, nextExports);\n\n    if (prevSignature.length !== nextSignature.length) {\n      return true;\n    }\n\n    for (let i = 0; i < nextSignature.length; i++) {\n      if (prevSignature[i] !== nextSignature[i]) {\n        return true;\n      }\n    }\n\n    return false;\n  }; // When this signature changes, it's unsafe to stop at this refresh boundary.\n\n  var getRefreshBoundarySignature = (Refresh, 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      // (This is important for legacy environments.)\n      return signature;\n    }\n\n    for (const key in moduleExports) {\n      if (key === \"__esModule\") {\n        continue;\n      }\n\n      const desc = Object.getOwnPropertyDescriptor(moduleExports, key);\n\n      if (desc && desc.get) {\n        continue;\n      }\n\n      const exportValue = moduleExports[key];\n      signature.push(key);\n      signature.push(Refresh.getFamilyByType(exportValue));\n    }\n\n    return signature;\n  };\n\n  var registerExportsForReactRefresh = (Refresh, moduleExports, moduleID) => {\n    Refresh.register(moduleExports, moduleID + \" %exports%\");\n\n    if (moduleExports == null || typeof moduleExports !== \"object\") {\n      // Exit if we can't iterate over exports.\n      // (This is important for legacy environments.)\n      return;\n    }\n\n    for (const key in moduleExports) {\n      const desc = Object.getOwnPropertyDescriptor(moduleExports, key);\n\n      if (desc && desc.get) {\n        // Don't invoke getters as they may have side effects.\n        continue;\n      }\n\n      const exportValue = moduleExports[key];\n      const typeID = moduleID + \" %exports% \" + key;\n      Refresh.register(exportValue, typeID);\n    }\n  };\n\n  global.__accept = metroHotUpdateModule;\n}\n\nif (__DEV__) {\n  // The metro require polyfill can not have module dependencies.\n  // The Systrace and ReactRefresh dependencies are, therefore, made publicly\n  // available. Ideally, the dependency would be inversed in a way that\n  // Systrace / ReactRefresh could integrate into Metro rather than\n  // having to make them publicly available.\n  var requireSystrace = function requireSystrace() {\n    return (\n      global[__METRO_GLOBAL_PREFIX__ + \"__SYSTRACE\"] || metroRequire.Systrace\n    );\n  };\n\n  var requireRefresh = function requireRefresh() {\n    return (\n      global[__METRO_GLOBAL_PREFIX__ + \"__ReactRefresh\"] || metroRequire.Refresh\n    );\n  };\n}\n","import {EditOutlined} from '@ant-design/icons';\nimport {Button, Input, Modal, Select, Typography} from 'antd';\nimport {\n  CodeBlock,\n  DataTable,\n  DetailSidebar,\n  Layout,\n  Panel,\n  createDataSource,\n  createState,\n  theme,\n  usePlugin,\n  useValue,\n} from 'flipper-plugin';\nimport React, {useEffect, useState} from 'react';\nimport {\n  BOOLEAN_OPTIONS,\n  MAIN_COLUMNS,\n  SIDEBAR_COLUMNS,\n  getRowStyle,\n  isNumeric,\n} from './helpers';\nimport styles from './styles';\nimport type {PluginClient} from 'flipper-plugin';\n\nexport function plugin(client: PluginClient<Events, Methods>) {\n  const data = createDataSource<Data, 'dkey'>([], {key: 'dkey'});\n  const supportStatus = createState<string | null>(null);\n  const selectedDataID = createState<string | null>(null);\n  const showEditDialog = createState(false);\n\n  client.onConnect(() => {\n    console.log('connected');\n  });\n\n  client.onMessage('newData', newData => {\n    data.append({\n      ...newData,\n      dkey: newData.instanceID + newData.key + newData.time,\n    });\n  });\n\n  client.onMessage('supportStatus', status => {\n    if (status.reason) {\n      supportStatus.set(status.reason);\n    } else {\n      supportStatus.set(null);\n    }\n  });\n\n  client.addMenuEntry({\n    action: 'clear',\n    handler: () => {\n      data.clear();\n    },\n  });\n\n  function clearLogs() {\n    data.clear();\n  }\n\n  function onSelect(d: string | null) {\n    selectedDataID.set(d);\n  }\n\n  function openEditDialog() {\n    showEditDialog.set(true);\n  }\n\n  function closeEditDialog() {\n    showEditDialog.set(false);\n  }\n\n  function onEditValue(newValue: unknown) {\n    const id = selectedDataID.get();\n    if (id) {\n      const d = data.getById(id);\n      if (d) {\n        void client.send('editValue', {data: d, newValue});\n        showEditDialog.set(false);\n        selectedDataID.set(null);\n      }\n    }\n  }\n\n  function onDelete() {\n    const id = selectedDataID.get();\n    if (id) {\n      const d = data.getById(id);\n      if (d) {\n        void client.send('deleteItem', {data: d});\n        showEditDialog.set(false);\n        selectedDataID.set(null);\n      }\n    }\n  }\n\n  return {\n    data,\n    supportStatus,\n    selectedDataID,\n    showEditDialog,\n    onEditValue,\n    onDelete,\n    onSelect,\n    openEditDialog,\n    closeEditDialog,\n    clearLogs,\n  };\n}\n\nexport function Component() {\n  const instance = usePlugin(plugin);\n  const supportStatus = useValue(instance.supportStatus);\n  const extraActions = (\n    <Layout.Horizontal gap>\n      <Button title=\"Clear logs\" onClick={instance.clearLogs}>\n        Clear logs\n      </Button>\n    </Layout.Horizontal>\n  );\n\n  return (\n    <Layout.Container grow>\n      {!!supportStatus && (\n        <Layout.Container pad style={styles.errorBG}>\n          <Typography.Text style={styles.whiteText}>\n            {supportStatus}\n          </Typography.Text>\n        </Layout.Container>\n      )}\n      <DataTable\n        enableAutoScroll\n        columns={MAIN_COLUMNS}\n        dataSource={instance.data}\n        enableHorizontalScroll={false}\n        extraActions={extraActions}\n        onRowStyle={getRowStyle}\n        onSelect={record => {\n          if (record) {\n            instance.onSelect(record.time);\n          } else {\n            instance.onSelect(null);\n          }\n        }}\n      />\n      <DetailSidebar>\n        <Sidebar />\n      </DetailSidebar>\n      <EditModal />\n    </Layout.Container>\n  );\n}\n\nfunction EditModal() {\n  const instance = usePlugin(plugin);\n  const showEditDialog = useValue(instance.showEditDialog);\n  const selectedDataID = useValue(instance.selectedDataID);\n  const [selectedData, setSelectedData] = useState<Data | null>(null);\n  const [newBoolValue, setNewBoolValue] = useState(true);\n  const [newStringValue, setNewStringValue] = useState('');\n  const [errorText, setErrorText] = useState('');\n\n  useEffect(() => {\n    if (selectedDataID) {\n      const d = instance.data.getById(selectedDataID);\n      if (d) {\n        setNewValue(d);\n        setSelectedData(d);\n      } else {\n        setSelectedData(null);\n      }\n    } else {\n      setSelectedData(null);\n    }\n  }, [selectedDataID]);\n\n  function setNewValue(d: Data) {\n    switch (typeof d.value) {\n      case 'boolean':\n        setNewBoolValue(d.value);\n        break;\n      case 'string':\n      case 'number':\n        setNewStringValue(`${d.value}`);\n        break;\n      case 'object':\n        setNewStringValue(JSON.stringify(d.value, null, 2));\n        break;\n      default:\n        break;\n    }\n  }\n\n  function onOK() {\n    if (selectedData) {\n      switch (selectedData.type) {\n        case 'boolean':\n          instance.onEditValue(newBoolValue);\n          break;\n        case 'string':\n          instance.onEditValue(newStringValue);\n          break;\n        case 'number':\n          if (isNumeric(newStringValue)) {\n            instance.onEditValue(parseFloat(newStringValue));\n          } else {\n            setErrorText('Your input is not number!');\n          }\n          break;\n        case 'array':\n          {\n            try {\n              const arr = JSON.parse(newStringValue);\n              if (Array.isArray(arr)) {\n                instance.onEditValue(arr);\n              } else {\n                setErrorText(\"Syntax error: this isn't an array!\");\n              }\n            } catch (error) {\n              if (error instanceof Error) {\n                setErrorText('Syntax error: ' + error.message);\n              } else {\n                setErrorText('Syntax error');\n              }\n            }\n          }\n          break;\n        case 'object':\n          {\n            try {\n              const obj = JSON.parse(newStringValue);\n              if (typeof obj === 'object' && !Array.isArray(obj)) {\n                instance.onEditValue(obj);\n              } else {\n                setErrorText(\"Syntax error: this isn't an object!\");\n              }\n            } catch (error) {\n              if (error instanceof Error) {\n                setErrorText('Syntax error: ' + error.message);\n              } else {\n                setErrorText('Syntax error');\n              }\n            }\n          }\n          break;\n        default:\n          break;\n      }\n    }\n  }\n\n  function onCancel() {\n    instance.closeEditDialog();\n    setErrorText('');\n    if (selectedData) {\n      setNewValue(selectedData);\n    }\n  }\n\n  const onChangeNumber = (e: React.ChangeEvent<HTMLInputElement>) => {\n    if (isNumeric(e.target.value)) {\n      setErrorText('');\n      setNewStringValue(e.target.value);\n    }\n  };\n\n  const onChangeString = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n    setErrorText('');\n    setNewStringValue(e.target.value);\n  };\n\n  return (\n    <Modal\n      title=\"Edit value\"\n      visible={showEditDialog}\n      onCancel={onCancel}\n      onOk={onOK}>\n      <Typography.Text>Instance ID: {selectedData?.instanceID}</Typography.Text>\n      <br />\n      <Typography.Text>Key: {selectedData?.key}</Typography.Text>\n      <br />\n      <Typography.Text>Type: {selectedData?.type}</Typography.Text>\n      <br />\n      <Typography.Text style={styles.yellowText}>\n        Make sure you enter correct type of value!\n      </Typography.Text>\n      <br />\n      <br />\n      {selectedData?.type === 'boolean' && (\n        <Select\n          options={BOOLEAN_OPTIONS}\n          value={newBoolValue}\n          onChange={v => {\n            setNewBoolValue(v);\n          }}\n        />\n      )}\n      {selectedData?.type === 'number' && (\n        <Input value={newStringValue} onChange={onChangeNumber} />\n      )}\n      {(selectedData?.type === 'string' ||\n        selectedData?.type === 'array' ||\n        selectedData?.type === 'object') && (\n        <Input.TextArea\n          autoSize={{minRows: 2, maxRows: 6}}\n          style={selectedData.type !== 'string' ? theme.monospace : undefined}\n          value={newStringValue}\n          onChange={onChangeString}\n        />\n      )}\n      {!!errorText && (\n        <Typography.Text style={styles.errorBold}>{errorText}</Typography.Text>\n      )}\n      <br />\n      <br />\n      <Button danger onClick={instance.onDelete}>\n        Delete item\n      </Button>\n    </Modal>\n  );\n}\n\nfunction Sidebar() {\n  const instance = usePlugin(plugin);\n  const selectedDataID = useValue(instance.selectedDataID);\n\n  if (!selectedDataID) {\n    return NoRecord;\n  }\n\n  const selectedData = instance.data.getById(selectedDataID);\n\n  if (!selectedData) {\n    return NoRecord;\n  }\n\n  const records =\n    selectedData.mode === 'DELETE'\n      ? [\n          {key: 'Instance ID', value: selectedData.instanceID},\n          {key: 'Mode', value: selectedData.mode},\n          {key: 'Key', value: selectedData.key},\n        ]\n      : [\n          {key: 'Instance ID', value: selectedData.instanceID},\n          {key: 'Mode', value: selectedData.mode},\n          {key: 'Key', value: selectedData.key},\n          {key: 'Type', value: selectedData.type},\n        ];\n\n  function parsedValue() {\n    const v = selectedData?.value;\n    const t = selectedData?.type;\n    if (v === null) {\n      return 'null';\n    }\n    if (v === undefined) {\n      return 'undefined';\n    }\n    switch (t) {\n      case 'array':\n      case 'object':\n        return JSON.stringify(v, null, 2);\n      case 'boolean':\n        if (v) {\n          return 'true';\n        }\n        return 'false';\n      case 'number':\n        return `${v as number}`;\n      case 'string':\n        return v as string;\n      default:\n        return '';\n    }\n  }\n\n  return (\n    <Layout.Container grow>\n      <DataTable\n        columns={SIDEBAR_COLUMNS}\n        enableHorizontalScroll={false}\n        enableSearchbar={false}\n        records={records}\n        scrollable={false}\n      />\n      {selectedData.mode !== 'DELETE' && (\n        <Panel\n          pad\n          collapsible={false}\n          extraActions={\n            <EditOutlined\n              title=\"Edit this value\"\n              onClick={instance.openEditDialog}\n            />\n          }\n          title=\"Value\">\n          <CodeBlock>{parsedValue()}</CodeBlock>\n        </Panel>\n      )}\n    </Layout.Container>\n  );\n}\n\nconst NoRecord = (\n  <Layout.Container center grow pad>\n    <Typography.Text type=\"secondary\">No record selected</Typography.Text>\n  </Layout.Container>\n);\n","import styles from './styles';\nimport type {DataTableColumn} from 'flipper-plugin';\n\nexport function isNumeric(str: string) {\n  if (typeof str !== 'string') return false; // we only process strings!\n  return (\n    //@ts-ignore\n    !isNaN(str) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...\n    !isNaN(parseFloat(str))\n  ); // ...and ensure strings of whitespace fail\n}\n\nexport function getRowStyle(row: Data) {\n  return row.mode === 'DELETE' ? styles.error : undefined;\n}\n\nexport const BOOLEAN_OPTIONS = [\n  {label: 'true', value: true},\n  {label: 'false', value: false},\n];\n\nexport const SIDEBAR_COLUMNS: DataTableColumn[] = [\n  {\n    key: 'key',\n    width: 100,\n    title: 'Title',\n  },\n  {\n    key: 'value',\n    title: 'Value',\n    wrap: true,\n  },\n];\n\nexport const MAIN_COLUMNS: DataTableColumn<Data>[] = [\n  {\n    key: 'time',\n    title: 'Time',\n    formatters: (value: string) => {\n      const d = new Date(value);\n      return d.toLocaleString();\n    },\n  },\n  {\n    key: 'instanceID',\n    title: 'Instance ID',\n    width: 120,\n  },\n  {\n    key: 'mode',\n    title: 'Mode',\n    width: 80,\n  },\n  {\n    key: 'key',\n    title: 'Key',\n    width: 120,\n  },\n  {\n    key: 'type',\n    title: 'Type',\n    width: 80,\n  },\n  {\n    key: 'value',\n    title: 'Value',\n  },\n];\n","import {theme} from 'flipper-plugin';\n\nconst styles = {\n  error: {\n    color: theme.errorColor,\n  },\n  errorBold: {\n    color: theme.errorColor,\n    fontWeight: 'bold',\n  },\n  errorBG: {\n    backgroundColor: theme.errorColor,\n  },\n  whiteText: {\n    color: 'white',\n  },\n  yellowText: {\n    color: 'yellow',\n  },\n};\n\nexport default styles;\n"],"names":["global","__r","metroRequire","__METRO_GLOBAL_PREFIX__","define","__c","clear","__registerSegment","registerSegment","modules","EMPTY","hasOwnProperty","__DEV__","$RefreshReg$","$RefreshSig$","type","Object","create","verboseNamesToModuleIds","initializingModuleIds","factory","moduleId","dependencyMap","inverseDependencies","arguments","__accept","mod","hasError","importedAll","importedDefault","isInitialized","publicModule","exports","hot","createHotReloadingObject","verboseName","Error","console","warn","moduleIdReallyIsNumber","initializingIndex","indexOf","cycle","slice","map","id","push","join","module","guardedLoadModule","metroImportDefault","__esModule","default","importDefault","metroImportAll","key","call","importAll","inGuard","ErrorUtils","returnValue","loadModuleImplementation","e","reportFatalError","ID_MASK_SHIFT","LOCAL_ID_MASK","unpackModuleId","segmentId","localId","packModuleId","value","moduleDefinersBySegmentID","definingSegmentByModuleID","Map","moduleDefiner","moduleIds","forEach","has","set","length","_definingSegmentByMod","get","definer","delete","nativeRequire","unknownModuleError","moduleThrewError","error","Systrace","requireSystrace","Refresh","requireRefresh","beginEvent","moduleObject","prevRefreshReg","prevRefreshSig","RefreshRuntime","register","createSignatureFunctionForTransform","undefined","endEvent","registerExportsForReactRefresh","pop","message","displayName","getModules","_acceptCallback","_disposeCallback","_didAccept","accept","callback","dispose","reactRefreshTimeout","metroHotUpdateModule","refreshBoundaryIDs","Set","didBailOut","updatedModuleIDs","topologicalSort","pendingID","pendingModule","pendingHot","canAccept","isBoundary","isReactRefreshBoundary","add","parentIDs","performFullRefresh","source","failed","reverse","seenModuleIDs","i","updatedID","updatedMod","prevExports","didError","runUpdatedModule","nextExports","isNoLongerABoundary","didInvalidate","shouldInvalidateReactRefreshBoundary","j","parentID","parentMod","canAcceptParent","setTimeout","performReactRefresh","roots","getEdges","earlyStop","result","visited","traverseDependentNodes","node","dependentNodes","dependent","root","reason","window","location","reload","_modules$source$verbo","_modules$source","_modules$failed$verbo","_modules$failed","sourceName","failedName","moduleExports","isLikelyComponentType","hasExports","areAllExportsComponents","desc","getOwnPropertyDescriptor","exportValue","prevSignature","getRefreshBoundarySignature","nextSignature","signature","getFamilyByType","moduleID","typeID","plugin","client","data","createDataSource","supportStatus","createState","selectedDataID","showEditDialog","onConnect","log","onMessage","newData","append","dkey","instanceID","time","status","addMenuEntry","action","handler","clearLogs","onSelect","d","openEditDialog","closeEditDialog","onEditValue","newValue","getById","send","onDelete","Component","instance","usePlugin","useValue","extraActions","styles","errorBG","whiteText","MAIN_COLUMNS","getRowStyle","record","EditModal","selectedData","setSelectedData","useState","newBoolValue","setNewBoolValue","newStringValue","setNewStringValue","errorText","setErrorText","useEffect","setNewValue","JSON","stringify","onOK","isNumeric","parseFloat","arr","parse","Array","isArray","obj","onCancel","onChangeNumber","target","onChangeString","yellowText","BOOLEAN_OPTIONS","v","minRows","maxRows","theme","monospace","errorBold","Sidebar","NoRecord","records","mode","parsedValue","t","SIDEBAR_COLUMNS","str","isNaN","row","label","width","title","wrap","formatters","Date","toLocaleString","color","errorColor","fontWeight","backgroundColor"],"mappings":"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"}