From f35882dfbf142b13a6ade1398db0408c01e0ccf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BD=87=E8=A7=81?= Date: Thu, 24 Feb 2022 11:12:09 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20useDebounce=20=E5=9C=A8=E5=B0=8F?= =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E9=87=8C=E4=BD=BF=E7=94=A8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/hooks/src/useDebounceFn/index.ts | 2 +- packages/hooks/src/utils/lodash-polyfill.ts | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 packages/hooks/src/utils/lodash-polyfill.ts diff --git a/packages/hooks/src/useDebounceFn/index.ts b/packages/hooks/src/useDebounceFn/index.ts index 06c04152ec..a258c1bb98 100644 --- a/packages/hooks/src/useDebounceFn/index.ts +++ b/packages/hooks/src/useDebounceFn/index.ts @@ -1,4 +1,4 @@ -import debounce from 'lodash/debounce'; +import { debounce } from '../utils/lodash-polyfill'; import { useMemo } from 'react'; import type { DebounceOptions } from '../useDebounce/debounceOptions'; import useLatest from '../useLatest'; diff --git a/packages/hooks/src/utils/lodash-polyfill.ts b/packages/hooks/src/utils/lodash-polyfill.ts new file mode 100644 index 0000000000..0971296369 --- /dev/null +++ b/packages/hooks/src/utils/lodash-polyfill.ts @@ -0,0 +1,17 @@ +import debounce from 'lodash/debounce'; + +function isNodeOrWeb() { + var freeGlobal = + (typeof global === 'undefined' ? 'undefined' : typeof global) == 'object' && + global && + global.Object === Object && + global; + var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + return freeGlobal || freeSelf; +} + +if (!isNodeOrWeb()) { + global.Date = Date; +} + +export { debounce }; From d5e73b323c070d16638c77ec0f298bebd8ed4fd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BD=87=E8=A7=81?= Date: Tue, 27 Jun 2023 20:20:26 +0800 Subject: [PATCH 2/2] =?UTF-8?q?chore:=20=E4=BC=98=E5=8C=96=E5=A3=B0?= =?UTF-8?q?=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/hooks/src/utils/lodash-polyfill.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/hooks/src/utils/lodash-polyfill.ts b/packages/hooks/src/utils/lodash-polyfill.ts index 0971296369..677c34cac9 100644 --- a/packages/hooks/src/utils/lodash-polyfill.ts +++ b/packages/hooks/src/utils/lodash-polyfill.ts @@ -1,12 +1,12 @@ -import debounce from 'lodash/debounce'; +import { debounce } from 'lodash-es'; function isNodeOrWeb() { - var freeGlobal = + const freeGlobal = (typeof global === 'undefined' ? 'undefined' : typeof global) == 'object' && global && global.Object === Object && global; - var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + const freeSelf = typeof self == 'object' && self && self.Object === Object && self; return freeGlobal || freeSelf; }