From 658600f034c5c9f5d8aeab21ae57e681c5b76a2d Mon Sep 17 00:00:00 2001 From: Jonas Embach Date: Thu, 11 Nov 2021 09:27:40 +0100 Subject: [PATCH 1/6] feat: add useBottomSheetInternal_unsafe & useBottomSheetModalInternal_unsafe to access context --- src/hooks/useBottomSheetInternal_unsafe.ts | 6 ++++++ src/hooks/useBottomSheetModalInternal_unsafe.ts | 6 ++++++ 2 files changed, 12 insertions(+) create mode 100644 src/hooks/useBottomSheetInternal_unsafe.ts create mode 100644 src/hooks/useBottomSheetModalInternal_unsafe.ts diff --git a/src/hooks/useBottomSheetInternal_unsafe.ts b/src/hooks/useBottomSheetInternal_unsafe.ts new file mode 100644 index 000000000..a0a6064d7 --- /dev/null +++ b/src/hooks/useBottomSheetInternal_unsafe.ts @@ -0,0 +1,6 @@ +import { useContext } from 'react'; +import { BottomSheetInternalContext } from '../contexts/internal'; + +export const useBottomSheetInternal_unsafe = () => { + return useContext(BottomSheetInternalContext); +}; diff --git a/src/hooks/useBottomSheetModalInternal_unsafe.ts b/src/hooks/useBottomSheetModalInternal_unsafe.ts new file mode 100644 index 000000000..21d11b7cf --- /dev/null +++ b/src/hooks/useBottomSheetModalInternal_unsafe.ts @@ -0,0 +1,6 @@ +import { useContext } from 'react'; +import { BottomSheetModalInternalContext } from '../contexts'; + +export const useBottomSheetModalInternal_unsafe = () => { + return useContext(BottomSheetModalInternalContext); +}; From e1a9d74b6f08ee1f81274ca884dacfc65606bfff Mon Sep 17 00:00:00 2001 From: Jonas Embach Date: Thu, 11 Nov 2021 09:45:35 +0100 Subject: [PATCH 2/6] chore: export hooks useBottomSheetInternal_unsafe and useBottomSheetModalInternal_unsafe --- src/hooks/index.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/hooks/index.ts b/src/hooks/index.ts index 52e9ec7fd..510085d7b 100644 --- a/src/hooks/index.ts +++ b/src/hooks/index.ts @@ -1,9 +1,11 @@ export { useBottomSheet } from './useBottomSheet'; export { useBottomSheetInternal } from './useBottomSheetInternal'; +export { useBottomSheetInternal_unsafe } from './useBottomSheetInternal_unsafe'; // modal export { useBottomSheetModal } from './useBottomSheetModal'; export { useBottomSheetModalInternal } from './useBottomSheetModalInternal'; +export { useBottomSheetModalInternal_unsafe } from './useBottomSheetModalInternal_unsafe'; // scrollable export { useScrollable } from './useScrollable'; From 5ffce4f2e500fc5b6786353e1ca38a81d1d9bb91 Mon Sep 17 00:00:00 2001 From: Jonas Embach Date: Fri, 12 Nov 2021 11:10:51 +0100 Subject: [PATCH 3/6] refactor: combined unsafe hooks with default hooks using an argument --- src/hooks/index.ts | 2 -- src/hooks/useBottomSheetInternal.ts | 18 ++++++++++++++---- src/hooks/useBottomSheetInternal_unsafe.ts | 6 ------ src/hooks/useBottomSheetModalInternal.ts | 18 ++++++++++++++---- .../useBottomSheetModalInternal_unsafe.ts | 6 ------ 5 files changed, 28 insertions(+), 22 deletions(-) delete mode 100644 src/hooks/useBottomSheetInternal_unsafe.ts delete mode 100644 src/hooks/useBottomSheetModalInternal_unsafe.ts diff --git a/src/hooks/index.ts b/src/hooks/index.ts index 510085d7b..52e9ec7fd 100644 --- a/src/hooks/index.ts +++ b/src/hooks/index.ts @@ -1,11 +1,9 @@ export { useBottomSheet } from './useBottomSheet'; export { useBottomSheetInternal } from './useBottomSheetInternal'; -export { useBottomSheetInternal_unsafe } from './useBottomSheetInternal_unsafe'; // modal export { useBottomSheetModal } from './useBottomSheetModal'; export { useBottomSheetModalInternal } from './useBottomSheetModalInternal'; -export { useBottomSheetModalInternal_unsafe } from './useBottomSheetModalInternal_unsafe'; // scrollable export { useScrollable } from './useScrollable'; diff --git a/src/hooks/useBottomSheetInternal.ts b/src/hooks/useBottomSheetInternal.ts index f0980087d..456af54b1 100644 --- a/src/hooks/useBottomSheetInternal.ts +++ b/src/hooks/useBottomSheetInternal.ts @@ -1,12 +1,22 @@ import { useContext } from 'react'; -import { BottomSheetInternalContext } from '../contexts/internal'; +import { + BottomSheetInternalContext, + BottomSheetInternalContextType, +} from '../contexts/internal'; -export const useBottomSheetInternal = () => { +interface IUseBottomSheetInternal { + (unsafe?: false): BottomSheetInternalContextType; + (unsafe: true): BottomSheetInternalContextType | null; +} + +export const useBottomSheetInternal: IUseBottomSheetInternal = (( + unsafe = false +) => { const context = useContext(BottomSheetInternalContext); - if (context === null) { + if (unsafe !== true && context === null) { throw "'useBottomSheetInternal' cannot be used out of the BottomSheet!"; } return context; -}; +}) as IUseBottomSheetInternal; diff --git a/src/hooks/useBottomSheetInternal_unsafe.ts b/src/hooks/useBottomSheetInternal_unsafe.ts deleted file mode 100644 index a0a6064d7..000000000 --- a/src/hooks/useBottomSheetInternal_unsafe.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { useContext } from 'react'; -import { BottomSheetInternalContext } from '../contexts/internal'; - -export const useBottomSheetInternal_unsafe = () => { - return useContext(BottomSheetInternalContext); -}; diff --git a/src/hooks/useBottomSheetModalInternal.ts b/src/hooks/useBottomSheetModalInternal.ts index 03d88832b..dca58d56f 100644 --- a/src/hooks/useBottomSheetModalInternal.ts +++ b/src/hooks/useBottomSheetModalInternal.ts @@ -1,12 +1,22 @@ import { useContext } from 'react'; -import { BottomSheetModalInternalContext } from '../contexts'; +import { + BottomSheetModalInternalContext, + BottomSheetModalInternalContextType, +} from '../contexts'; -export const useBottomSheetModalInternal = () => { +interface IUseBottomSheetModalInternal { + (unsafe?: false): BottomSheetModalInternalContextType; + (unsafe: true): BottomSheetModalInternalContextType | null; +} + +export const useBottomSheetModalInternal: IUseBottomSheetModalInternal = (( + unsafe = false +) => { const context = useContext(BottomSheetModalInternalContext); - if (context === null) { + if (unsafe !== true && context === null) { throw "'BottomSheetModalInternalContext' cannot be null!"; } return context; -}; +}) as IUseBottomSheetModalInternal; diff --git a/src/hooks/useBottomSheetModalInternal_unsafe.ts b/src/hooks/useBottomSheetModalInternal_unsafe.ts deleted file mode 100644 index 21d11b7cf..000000000 --- a/src/hooks/useBottomSheetModalInternal_unsafe.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { useContext } from 'react'; -import { BottomSheetModalInternalContext } from '../contexts'; - -export const useBottomSheetModalInternal_unsafe = () => { - return useContext(BottomSheetModalInternalContext); -}; From e9d2463f3cdef8e823ea11d73456f146a0568a11 Mon Sep 17 00:00:00 2001 From: Jonas Embach Date: Sat, 13 Nov 2021 12:26:42 +0100 Subject: [PATCH 4/6] chore(useBottomSheetInternal): use function overloading instead of interface --- src/hooks/useBottomSheetInternal.ts | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/hooks/useBottomSheetInternal.ts b/src/hooks/useBottomSheetInternal.ts index 456af54b1..6243cd0d1 100644 --- a/src/hooks/useBottomSheetInternal.ts +++ b/src/hooks/useBottomSheetInternal.ts @@ -4,14 +4,16 @@ import { BottomSheetInternalContextType, } from '../contexts/internal'; -interface IUseBottomSheetInternal { - (unsafe?: false): BottomSheetInternalContextType; - (unsafe: true): BottomSheetInternalContextType | null; -} +export function useBottomSheetInternal( + unsafe?: false +): BottomSheetInternalContextType; +export function useBottomSheetInternal( + unsafe: true +): BottomSheetInternalContextType | null; -export const useBottomSheetInternal: IUseBottomSheetInternal = (( - unsafe = false -) => { +export function useBottomSheetInternal( + unsafe?: boolean +): BottomSheetInternalContextType | null { const context = useContext(BottomSheetInternalContext); if (unsafe !== true && context === null) { @@ -19,4 +21,4 @@ export const useBottomSheetInternal: IUseBottomSheetInternal = (( } return context; -}) as IUseBottomSheetInternal; +} From 85bf8e6714dd6cb84f0f15271fbc1ac2cdf54f89 Mon Sep 17 00:00:00 2001 From: Jonas Embach Date: Sat, 13 Nov 2021 12:27:01 +0100 Subject: [PATCH 5/6] chore(useBottomSheetModalInternal): use function overloading instead of interface --- src/hooks/useBottomSheetModalInternal.ts | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/hooks/useBottomSheetModalInternal.ts b/src/hooks/useBottomSheetModalInternal.ts index dca58d56f..0e1e822f0 100644 --- a/src/hooks/useBottomSheetModalInternal.ts +++ b/src/hooks/useBottomSheetModalInternal.ts @@ -4,14 +4,16 @@ import { BottomSheetModalInternalContextType, } from '../contexts'; -interface IUseBottomSheetModalInternal { - (unsafe?: false): BottomSheetModalInternalContextType; - (unsafe: true): BottomSheetModalInternalContextType | null; -} +export function useBottomSheetModalInternal( + unsafe?: false +): BottomSheetModalInternalContextType; +export function useBottomSheetModalInternal( + unsafe: true +): BottomSheetModalInternalContextType | null; -export const useBottomSheetModalInternal: IUseBottomSheetModalInternal = (( - unsafe = false -) => { +export function useBottomSheetModalInternal( + unsafe?: boolean +): BottomSheetModalInternalContextType | null { const context = useContext(BottomSheetModalInternalContext); if (unsafe !== true && context === null) { @@ -19,4 +21,4 @@ export const useBottomSheetModalInternal: IUseBottomSheetModalInternal = (( } return context; -}) as IUseBottomSheetModalInternal; +} From 10cb57f3926c1b36e78d19f725f7c04fd13da59f Mon Sep 17 00:00:00 2001 From: gorhom Date: Sun, 24 Apr 2022 18:16:24 +0100 Subject: [PATCH 6/6] chore: fixed spacing --- src/hooks/useBottomSheetInternal.ts | 1 + src/hooks/useBottomSheetModalInternal.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/src/hooks/useBottomSheetInternal.ts b/src/hooks/useBottomSheetInternal.ts index 6243cd0d1..94c75fd74 100644 --- a/src/hooks/useBottomSheetInternal.ts +++ b/src/hooks/useBottomSheetInternal.ts @@ -7,6 +7,7 @@ import { export function useBottomSheetInternal( unsafe?: false ): BottomSheetInternalContextType; + export function useBottomSheetInternal( unsafe: true ): BottomSheetInternalContextType | null; diff --git a/src/hooks/useBottomSheetModalInternal.ts b/src/hooks/useBottomSheetModalInternal.ts index 0e1e822f0..03fd5651d 100644 --- a/src/hooks/useBottomSheetModalInternal.ts +++ b/src/hooks/useBottomSheetModalInternal.ts @@ -7,6 +7,7 @@ import { export function useBottomSheetModalInternal( unsafe?: false ): BottomSheetModalInternalContextType; + export function useBottomSheetModalInternal( unsafe: true ): BottomSheetModalInternalContextType | null;