useHandleCustomEvent.js 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. import { useEvent } from 'functional-mini/component';
  2. export var useHandleCustomEvent = function (eventName, handler) {
  3. useEvent(eventName,
  4. // eslint-disable-next-line @typescript-eslint/no-explicit-any
  5. function (eventOrValue, alipayEvent) {
  6. return handler(eventOrValue.detail, eventOrValue);
  7. });
  8. };
  9. export var useMultipleValueHandleCustomEvent = function (eventName, handler) {
  10. useEvent(eventName,
  11. // eslint-disable-next-line @typescript-eslint/no-explicit-any
  12. function () {
  13. var args = [];
  14. for (var _i = 0; _i < arguments.length; _i++) {
  15. args[_i] = arguments[_i];
  16. }
  17. var firstArgs = args[0];
  18. if (Array.isArray(firstArgs.detail)) {
  19. var wechatArgs = firstArgs.detail.concat(firstArgs);
  20. return handler.apply(void 0, wechatArgs);
  21. }
  22. else {
  23. return handler([firstArgs.detail, firstArgs]);
  24. }
  25. });
  26. };
  27. export var useHandleCustomEventOnly = function (eventName, handler) {
  28. useEvent(eventName,
  29. // eslint-disable-next-line @typescript-eslint/no-explicit-any
  30. function (event) {
  31. return handler(event);
  32. });
  33. };