3b72cc096c07d5434da2215f7be290de.json 8.77 KB
{"ast":null,"code":"import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport * as React from 'react';\nimport useRCNotification from \"rc-notification/es/useNotification\";\nimport { ConfigConsumer } from '../../config-provider';\nimport { attachTypeApi, getKeyThenIncreaseKey } from '..';\nexport default function createUseMessage(getRcNotificationInstance, getRCNoticeProps) {\n  var useMessage = function useMessage() {\n    // We can only get content by render\n    var getPrefixCls; // We create a proxy to handle delay created instance\n\n    var innerInstance = null;\n    var proxy = {\n      add: function add(noticeProps, holderCallback) {\n        innerInstance === null || innerInstance === void 0 ? void 0 : innerInstance.component.add(noticeProps, holderCallback);\n      }\n    };\n\n    var _useRCNotification = useRCNotification(proxy),\n        _useRCNotification2 = _slicedToArray(_useRCNotification, 2),\n        hookNotify = _useRCNotification2[0],\n        holder = _useRCNotification2[1];\n\n    function notify(args) {\n      var customizePrefixCls = args.prefixCls;\n      var mergedPrefixCls = getPrefixCls('message', customizePrefixCls);\n      var target = args.key || getKeyThenIncreaseKey();\n      var closePromise = new Promise(function (resolve) {\n        var callback = function callback() {\n          if (typeof args.onClose === 'function') {\n            args.onClose();\n          }\n\n          return resolve(true);\n        };\n\n        getRcNotificationInstance(_extends(_extends({}, args), {\n          prefixCls: mergedPrefixCls\n        }), function (_ref) {\n          var prefixCls = _ref.prefixCls,\n              instance = _ref.instance;\n          innerInstance = instance;\n          hookNotify(getRCNoticeProps(_extends(_extends({}, args), {\n            key: target,\n            onClose: callback\n          }), prefixCls));\n        });\n      });\n\n      var result = function result() {\n        if (innerInstance) {\n          innerInstance.removeNotice(target);\n        }\n      };\n\n      result.then = function (filled, rejected) {\n        return closePromise.then(filled, rejected);\n      };\n\n      result.promise = closePromise;\n      return result;\n    } // Fill functions\n\n\n    var hookApiRef = React.useRef({});\n    hookApiRef.current.open = notify;\n    ['success', 'info', 'warning', 'error', 'loading'].forEach(function (type) {\n      return attachTypeApi(hookApiRef.current, type);\n    });\n    return [hookApiRef.current, /*#__PURE__*/React.createElement(ConfigConsumer, {\n      key: \"holder\"\n    }, function (context) {\n      getPrefixCls = context.getPrefixCls;\n      return holder;\n    })];\n  };\n\n  return useMessage;\n}","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/node_modules/antd/es/message/hooks/useMessage.js"],"names":["_extends","_slicedToArray","React","useRCNotification","ConfigConsumer","attachTypeApi","getKeyThenIncreaseKey","createUseMessage","getRcNotificationInstance","getRCNoticeProps","useMessage","getPrefixCls","innerInstance","proxy","add","noticeProps","holderCallback","component","_useRCNotification","_useRCNotification2","hookNotify","holder","notify","args","customizePrefixCls","prefixCls","mergedPrefixCls","target","key","closePromise","Promise","resolve","callback","onClose","_ref","instance","result","removeNotice","then","filled","rejected","promise","hookApiRef","useRef","current","open","forEach","type","createElement","context"],"mappings":"AAAA,OAAOA,QAAP,MAAqB,gCAArB;AACA,OAAOC,cAAP,MAA2B,sCAA3B;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AACA,OAAOC,iBAAP,MAA8B,oCAA9B;AACA,SAASC,cAAT,QAA+B,uBAA/B;AACA,SAASC,aAAT,EAAwBC,qBAAxB,QAAqD,IAArD;AACA,eAAe,SAASC,gBAAT,CAA0BC,yBAA1B,EAAqDC,gBAArD,EAAuE;AACpF,MAAIC,UAAU,GAAG,SAASA,UAAT,GAAsB;AACrC;AACA,QAAIC,YAAJ,CAFqC,CAEnB;;AAElB,QAAIC,aAAa,GAAG,IAApB;AACA,QAAIC,KAAK,GAAG;AACVC,MAAAA,GAAG,EAAE,SAASA,GAAT,CAAaC,WAAb,EAA0BC,cAA1B,EAA0C;AAC7CJ,QAAAA,aAAa,KAAK,IAAlB,IAA0BA,aAAa,KAAK,KAAK,CAAjD,GAAqD,KAAK,CAA1D,GAA8DA,aAAa,CAACK,SAAd,CAAwBH,GAAxB,CAA4BC,WAA5B,EAAyCC,cAAzC,CAA9D;AACD;AAHS,KAAZ;;AAMA,QAAIE,kBAAkB,GAAGf,iBAAiB,CAACU,KAAD,CAA1C;AAAA,QACIM,mBAAmB,GAAGlB,cAAc,CAACiB,kBAAD,EAAqB,CAArB,CADxC;AAAA,QAEIE,UAAU,GAAGD,mBAAmB,CAAC,CAAD,CAFpC;AAAA,QAGIE,MAAM,GAAGF,mBAAmB,CAAC,CAAD,CAHhC;;AAKA,aAASG,MAAT,CAAgBC,IAAhB,EAAsB;AACpB,UAAIC,kBAAkB,GAAGD,IAAI,CAACE,SAA9B;AACA,UAAIC,eAAe,GAAGf,YAAY,CAAC,SAAD,EAAYa,kBAAZ,CAAlC;AACA,UAAIG,MAAM,GAAGJ,IAAI,CAACK,GAAL,IAAYtB,qBAAqB,EAA9C;AACA,UAAIuB,YAAY,GAAG,IAAIC,OAAJ,CAAY,UAAUC,OAAV,EAAmB;AAChD,YAAIC,QAAQ,GAAG,SAASA,QAAT,GAAoB;AACjC,cAAI,OAAOT,IAAI,CAACU,OAAZ,KAAwB,UAA5B,EAAwC;AACtCV,YAAAA,IAAI,CAACU,OAAL;AACD;;AAED,iBAAOF,OAAO,CAAC,IAAD,CAAd;AACD,SAND;;AAQAvB,QAAAA,yBAAyB,CAACR,QAAQ,CAACA,QAAQ,CAAC,EAAD,EAAKuB,IAAL,CAAT,EAAqB;AACrDE,UAAAA,SAAS,EAAEC;AAD0C,SAArB,CAAT,EAErB,UAAUQ,IAAV,EAAgB;AAClB,cAAIT,SAAS,GAAGS,IAAI,CAACT,SAArB;AAAA,cACIU,QAAQ,GAAGD,IAAI,CAACC,QADpB;AAEAvB,UAAAA,aAAa,GAAGuB,QAAhB;AACAf,UAAAA,UAAU,CAACX,gBAAgB,CAACT,QAAQ,CAACA,QAAQ,CAAC,EAAD,EAAKuB,IAAL,CAAT,EAAqB;AACvDK,YAAAA,GAAG,EAAED,MADkD;AAEvDM,YAAAA,OAAO,EAAED;AAF8C,WAArB,CAAT,EAGvBP,SAHuB,CAAjB,CAAV;AAID,SAVwB,CAAzB;AAWD,OApBkB,CAAnB;;AAsBA,UAAIW,MAAM,GAAG,SAASA,MAAT,GAAkB;AAC7B,YAAIxB,aAAJ,EAAmB;AACjBA,UAAAA,aAAa,CAACyB,YAAd,CAA2BV,MAA3B;AACD;AACF,OAJD;;AAMAS,MAAAA,MAAM,CAACE,IAAP,GAAc,UAAUC,MAAV,EAAkBC,QAAlB,EAA4B;AACxC,eAAOX,YAAY,CAACS,IAAb,CAAkBC,MAAlB,EAA0BC,QAA1B,CAAP;AACD,OAFD;;AAIAJ,MAAAA,MAAM,CAACK,OAAP,GAAiBZ,YAAjB;AACA,aAAOO,MAAP;AACD,KAtDoC,CAsDnC;;;AAGF,QAAIM,UAAU,GAAGxC,KAAK,CAACyC,MAAN,CAAa,EAAb,CAAjB;AACAD,IAAAA,UAAU,CAACE,OAAX,CAAmBC,IAAnB,GAA0BvB,MAA1B;AACA,KAAC,SAAD,EAAY,MAAZ,EAAoB,SAApB,EAA+B,OAA/B,EAAwC,SAAxC,EAAmDwB,OAAnD,CAA2D,UAAUC,IAAV,EAAgB;AACzE,aAAO1C,aAAa,CAACqC,UAAU,CAACE,OAAZ,EAAqBG,IAArB,CAApB;AACD,KAFD;AAGA,WAAO,CAACL,UAAU,CAACE,OAAZ,EAAqB,aAAa1C,KAAK,CAAC8C,aAAN,CAAoB5C,cAApB,EAAoC;AAC3EwB,MAAAA,GAAG,EAAE;AADsE,KAApC,EAEtC,UAAUqB,OAAV,EAAmB;AACpBtC,MAAAA,YAAY,GAAGsC,OAAO,CAACtC,YAAvB;AACA,aAAOU,MAAP;AACD,KALwC,CAAlC,CAAP;AAMD,GApED;;AAsEA,SAAOX,UAAP;AACD","sourcesContent":["import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport * as React from 'react';\nimport useRCNotification from \"rc-notification/es/useNotification\";\nimport { ConfigConsumer } from '../../config-provider';\nimport { attachTypeApi, getKeyThenIncreaseKey } from '..';\nexport default function createUseMessage(getRcNotificationInstance, getRCNoticeProps) {\n  var useMessage = function useMessage() {\n    // We can only get content by render\n    var getPrefixCls; // We create a proxy to handle delay created instance\n\n    var innerInstance = null;\n    var proxy = {\n      add: function add(noticeProps, holderCallback) {\n        innerInstance === null || innerInstance === void 0 ? void 0 : innerInstance.component.add(noticeProps, holderCallback);\n      }\n    };\n\n    var _useRCNotification = useRCNotification(proxy),\n        _useRCNotification2 = _slicedToArray(_useRCNotification, 2),\n        hookNotify = _useRCNotification2[0],\n        holder = _useRCNotification2[1];\n\n    function notify(args) {\n      var customizePrefixCls = args.prefixCls;\n      var mergedPrefixCls = getPrefixCls('message', customizePrefixCls);\n      var target = args.key || getKeyThenIncreaseKey();\n      var closePromise = new Promise(function (resolve) {\n        var callback = function callback() {\n          if (typeof args.onClose === 'function') {\n            args.onClose();\n          }\n\n          return resolve(true);\n        };\n\n        getRcNotificationInstance(_extends(_extends({}, args), {\n          prefixCls: mergedPrefixCls\n        }), function (_ref) {\n          var prefixCls = _ref.prefixCls,\n              instance = _ref.instance;\n          innerInstance = instance;\n          hookNotify(getRCNoticeProps(_extends(_extends({}, args), {\n            key: target,\n            onClose: callback\n          }), prefixCls));\n        });\n      });\n\n      var result = function result() {\n        if (innerInstance) {\n          innerInstance.removeNotice(target);\n        }\n      };\n\n      result.then = function (filled, rejected) {\n        return closePromise.then(filled, rejected);\n      };\n\n      result.promise = closePromise;\n      return result;\n    } // Fill functions\n\n\n    var hookApiRef = React.useRef({});\n    hookApiRef.current.open = notify;\n    ['success', 'info', 'warning', 'error', 'loading'].forEach(function (type) {\n      return attachTypeApi(hookApiRef.current, type);\n    });\n    return [hookApiRef.current, /*#__PURE__*/React.createElement(ConfigConsumer, {\n      key: \"holder\"\n    }, function (context) {\n      getPrefixCls = context.getPrefixCls;\n      return holder;\n    })];\n  };\n\n  return useMessage;\n}"]},"metadata":{},"sourceType":"module"}