{"version":3,"sources":["jsdelivr-header.js","/npm/react-promise-switch@2.0.0-beta.1/dist-node/index.js"],"names":[],"mappings":"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","file":"/npm/react-promise-switch@2.0.0-beta.1/dist-node/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/react-promise-switch@2.0.0-beta.1/dist-node/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar React = require('react');\n\nvar makeCancelable = (function (_getPromise) {\n  var canceled = false;\n  return {\n    getPromise: function getPromise() {\n      return new Promise(function (resolve, reject) {\n        _getPromise().then(function (data) {\n          return canceled ? undefined : resolve(data);\n        })[\"catch\"](function (error) {\n          return canceled ? undefined : reject(error);\n        });\n      });\n    },\n    cancel: function cancel() {\n      canceled = true;\n    }\n  };\n});\n\nfunction _slicedToArray(arr, i) {\n  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _nonIterableRest() {\n  throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n  var _arr = [];\n  var _n = true;\n  var _d = false;\n  var _e = undefined;\n\n  try {\n    for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n      _arr.push(_s.value);\n\n      if (i && _arr.length === i) break;\n    }\n  } catch (err) {\n    _d = true;\n    _e = err;\n  } finally {\n    try {\n      if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n    } finally {\n      if (_d) throw _e;\n    }\n  }\n\n  return _arr;\n}\n\nfunction _arrayWithHoles(arr) {\n  if (Array.isArray(arr)) return arr;\n}\n\nfunction _toConsumableArray(arr) {\n  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _nonIterableSpread() {\n  throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _iterableToArray(iter) {\n  if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _arrayWithoutHoles(arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n      arr2[i] = arr[i];\n    }\n\n    return arr2;\n  }\n}\n\nfunction _objectSpread(target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i] != null ? arguments[i] : {};\n    var ownKeys = Object.keys(source);\n\n    if (typeof Object.getOwnPropertySymbols === 'function') {\n      ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n        return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n      }));\n    }\n\n    ownKeys.forEach(function (key) {\n      _defineProperty(target, key, source[key]);\n    });\n  }\n\n  return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n}\nvar INITIAL_STATE = {\n  completed: null,\n  queued: []\n};\n\nvar usePromiseReducer = function usePromiseReducer() {\n  var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n  var action = arguments.length > 1 ? arguments[1] : undefined;\n\n  switch (action.type) {\n    case \"ADD\":\n      return _objectSpread({}, state, {\n        queued: [].concat(_toConsumableArray(state.queued), [action.promise])\n      });\n\n    case \"CLEANUP\":\n      {\n        var promise = action.promise;\n\n        if (state.queued.indexOf(promise) === -1) {\n          return state;\n        }\n\n        promise.cancel();\n        return _objectSpread({}, state, {\n          queued: state.queued.filter(function (queuedPromise) {\n            return queuedPromise !== promise;\n          })\n        });\n      }\n\n    case \"COMPLETE\":\n      {\n        var queueIndex = state.queued.indexOf(action.promise); // If a newer promise finishes before older promises, cancel the older promises\n\n        state.queued.slice(0, queueIndex).forEach(function (previousPromise) {\n          previousPromise.cancel();\n        });\n        return _objectSpread({}, state, {\n          queued: state.queued.slice(queueIndex + 1),\n          completed: action.result\n        });\n      }\n\n    case \"RESET\":\n      return INITIAL_STATE;\n\n    default:\n      return state;\n  }\n};\n\nfunction usePromiseState() {\n  var _React$useReducer = React.useReducer(usePromiseReducer, INITIAL_STATE),\n      _React$useReducer2 = _slicedToArray(_React$useReducer, 2),\n      _React$useReducer2$ = _React$useReducer2[0],\n      completed = _React$useReducer2$.completed,\n      queued = _React$useReducer2$.queued,\n      dispatch = _React$useReducer2[1];\n\n  var status = function () {\n    if (queued.length) {\n      return \"PENDING\";\n    } else if (!completed) {\n      return \"INITIAL\";\n    }\n\n    return completed.status;\n  }();\n\n  var state = [completed && completed.status === \"ERROR\" ? completed.value : null, completed && completed.status === \"SUCCESS\" ? completed.value : null, status];\n  return [state, dispatch];\n}\n\nfunction _typeof(obj) {\n  if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n    _typeof = function _typeof(obj) {\n      return typeof obj;\n    };\n  } else {\n    _typeof = function _typeof(obj) {\n      return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n    };\n  }\n\n  return _typeof(obj);\n}\n\nfunction _slicedToArray$1(arr, i) {\n  return _arrayWithHoles$1(arr) || _iterableToArrayLimit$1(arr, i) || _nonIterableRest$1();\n}\n\nfunction _nonIterableRest$1() {\n  throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nfunction _iterableToArrayLimit$1(arr, i) {\n  var _arr = [];\n  var _n = true;\n  var _d = false;\n  var _e = undefined;\n\n  try {\n    for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n      _arr.push(_s.value);\n\n      if (i && _arr.length === i) break;\n    }\n  } catch (err) {\n    _d = true;\n    _e = err;\n  } finally {\n    try {\n      if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n    } finally {\n      if (_d) throw _e;\n    }\n  }\n\n  return _arr;\n}\n\nfunction _arrayWithHoles$1(arr) {\n  if (Array.isArray(arr)) return arr;\n}\nvar defaultOptions = {\n  mode: \"latest\"\n};\n\nfunction usePromiseOptions(userOptions) {\n  var options = React.useRef(Object.assign(defaultOptions, userOptions));\n  options.current = Object.assign(defaultOptions, userOptions);\n  return options;\n}\n\nfunction usePromise(getPromise, userOptions) {\n  var _usePromiseState = usePromiseState(),\n      _usePromiseState2 = _slicedToArray$1(_usePromiseState, 2),\n      state = _usePromiseState2[0],\n      dispatch = _usePromiseState2[1];\n\n  var options = usePromiseOptions(userOptions);\n  React.useEffect(function () {\n    var _options$current = options.current,\n        mode = _options$current.mode,\n        userCancel = _options$current.cancel; // If getPromise is void, we should remain in \"INITIAL\" state\n\n    if (typeof getPromise === \"undefined\" || getPromise === null) {\n      return dispatch({\n        type: \"RESET\"\n      });\n    } // If it isn't void, ensure it's a function before continuing\n\n\n    if (typeof getPromise !== \"function\") {\n      throw new Error(\"usePromise must receive a function, but received \".concat(_typeof(getPromise)));\n    } // Build an object containing a function to initiate the promise\n    // as well as a function to cancel it. Use the customCancel arg\n    // if it's provided.\n\n\n    var promise = userCancel ? {\n      getPromise: getPromise,\n      cancel: function cancel() {\n        return undefined;\n      }\n    } : makeCancelable(getPromise);\n    dispatch({\n      type: \"ADD\",\n      promise: promise\n    });\n    var instance = promise.getPromise();\n    instance.then(function (result) {\n      dispatch({\n        type: \"COMPLETE\",\n        promise: promise,\n        result: {\n          status: \"SUCCESS\",\n          value: result\n        }\n      });\n    });\n\n    if (typeof userCancel === \"function\") {\n      promise.cancel = function () {\n        return userCancel(instance);\n      };\n    }\n\n    return function () {\n      if (mode === \"latest\") {\n        dispatch({\n          type: \"CLEANUP\",\n          promise: promise\n        });\n      }\n    };\n  }, [getPromise, dispatch, options]);\n  return state;\n}\n\nfunction _slicedToArray$2(arr, i) {\n  return _arrayWithHoles$2(arr) || _iterableToArrayLimit$2(arr, i) || _nonIterableRest$2();\n}\n\nfunction _nonIterableRest$2() {\n  throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nfunction _iterableToArrayLimit$2(arr, i) {\n  var _arr = [];\n  var _n = true;\n  var _d = false;\n  var _e = undefined;\n\n  try {\n    for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n      _arr.push(_s.value);\n\n      if (i && _arr.length === i) break;\n    }\n  } catch (err) {\n    _d = true;\n    _e = err;\n  } finally {\n    try {\n      if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n    } finally {\n      if (_d) throw _e;\n    }\n  }\n\n  return _arr;\n}\n\nfunction _arrayWithHoles$2(arr) {\n  if (Array.isArray(arr)) return arr;\n}\nfunction PromiseSwitch(_ref) {\n  var promise = _ref.promise,\n      options = _ref.options,\n      renderInitial = _ref.renderInitial,\n      renderError = _ref.renderError,\n      renderPending = _ref.renderPending,\n      renderSuccess = _ref.renderSuccess;\n\n  var _usePromise = usePromise(promise, options),\n      _usePromise2 = _slicedToArray$2(_usePromise, 3),\n      error = _usePromise2[0],\n      data = _usePromise2[1],\n      state = _usePromise2[2];\n\n  switch (state) {\n    case \"INITIAL\":\n      if (typeof renderInitial !== \"function\") {\n        return null;\n      }\n\n      return renderInitial();\n\n    case \"PENDING\":\n      if (typeof renderPending !== \"function\") {\n        return null;\n      }\n\n      return renderPending();\n\n    case \"SUCCESS\":\n      if (typeof renderSuccess !== \"function\") {\n        return null;\n      }\n\n      if (!data) return null;\n      return renderSuccess(data);\n\n    case \"ERROR\":\n    default:\n      if (typeof renderError !== \"function\") {\n        return null;\n      }\n\n      return renderError(error);\n  }\n}\n\nexports.PromiseSwitch = PromiseSwitch;\nexports.usePromise = usePromise;\n"]}