7c52aad28ad1afc5a6876ea4e3122746.json 6.88 KB
{"ast":null,"code":"import _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useState, useEffect, useRef } from 'react';\nimport raf from \"rc-util/es/raf\";\nvar StatusQueue = ['measure', 'align', null, 'motion'];\nexport default (function (visible, doMeasure) {\n  var _useState = useState(null),\n      _useState2 = _slicedToArray(_useState, 2),\n      status = _useState2[0],\n      setStatus = _useState2[1];\n\n  var rafRef = useRef();\n\n  function cancelRaf() {\n    raf.cancel(rafRef.current);\n  }\n\n  function goNextStatus(callback) {\n    cancelRaf();\n    rafRef.current = raf(function () {\n      // Only align should be manually trigger\n      setStatus(function (prev) {\n        switch (status) {\n          case 'align':\n            return 'motion';\n\n          case 'motion':\n            return 'stable';\n        }\n\n        return prev;\n      });\n      callback === null || callback === void 0 ? void 0 : callback();\n    });\n  } // Init status\n\n\n  useEffect(function () {\n    setStatus('measure');\n  }, [visible]); // Go next status\n\n  useEffect(function () {\n    switch (status) {\n      case 'measure':\n        doMeasure();\n        break;\n    }\n\n    if (status) {\n      rafRef.current = raf( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n        var index, nextStatus;\n        return _regeneratorRuntime.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                index = StatusQueue.indexOf(status);\n                nextStatus = StatusQueue[index + 1];\n\n                if (nextStatus && index !== -1) {\n                  setStatus(nextStatus);\n                }\n\n              case 3:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      })));\n    }\n  }, [status]);\n  useEffect(function () {\n    return function () {\n      cancelRaf();\n    };\n  }, []);\n  return [status, goNextStatus];\n});","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/node_modules/rc-trigger/es/Popup/useVisibleStatus.js"],"names":["_regeneratorRuntime","_asyncToGenerator","_slicedToArray","useState","useEffect","useRef","raf","StatusQueue","visible","doMeasure","_useState","_useState2","status","setStatus","rafRef","cancelRaf","cancel","current","goNextStatus","callback","prev","mark","_callee","index","nextStatus","wrap","_callee$","_context","next","indexOf","stop"],"mappings":"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","sourcesContent":["import _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useState, useEffect, useRef } from 'react';\nimport raf from \"rc-util/es/raf\";\nvar StatusQueue = ['measure', 'align', null, 'motion'];\nexport default (function (visible, doMeasure) {\n  var _useState = useState(null),\n      _useState2 = _slicedToArray(_useState, 2),\n      status = _useState2[0],\n      setStatus = _useState2[1];\n\n  var rafRef = useRef();\n\n  function cancelRaf() {\n    raf.cancel(rafRef.current);\n  }\n\n  function goNextStatus(callback) {\n    cancelRaf();\n    rafRef.current = raf(function () {\n      // Only align should be manually trigger\n      setStatus(function (prev) {\n        switch (status) {\n          case 'align':\n            return 'motion';\n\n          case 'motion':\n            return 'stable';\n        }\n\n        return prev;\n      });\n      callback === null || callback === void 0 ? void 0 : callback();\n    });\n  } // Init status\n\n\n  useEffect(function () {\n    setStatus('measure');\n  }, [visible]); // Go next status\n\n  useEffect(function () {\n    switch (status) {\n      case 'measure':\n        doMeasure();\n        break;\n    }\n\n    if (status) {\n      rafRef.current = raf( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n        var index, nextStatus;\n        return _regeneratorRuntime.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                index = StatusQueue.indexOf(status);\n                nextStatus = StatusQueue[index + 1];\n\n                if (nextStatus && index !== -1) {\n                  setStatus(nextStatus);\n                }\n\n              case 3:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      })));\n    }\n  }, [status]);\n  useEffect(function () {\n    return function () {\n      cancelRaf();\n    };\n  }, []);\n  return [status, goNextStatus];\n});"]},"metadata":{},"sourceType":"module"}