From 7d844372e9f9bea349b77e8285ad750c4aa1d54a Mon Sep 17 00:00:00 2001 From: devrnt Date: Tue, 19 May 2020 20:22:55 +0200 Subject: [PATCH] chore: improve error logging in intercom provider --- src/provider.tsx | 11 +++++++++++ src/utils.tsx | 2 ++ 2 files changed, 13 insertions(+) create mode 100644 src/utils.tsx diff --git a/src/provider.tsx b/src/provider.tsx index a148ef2b..b5885630 100644 --- a/src/provider.tsx +++ b/src/provider.tsx @@ -7,6 +7,7 @@ import { IntercomContextValues, IntercomProviderProps } from './contextTypes'; import { IntercomAPI } from './intercom'; import { IntercomProps, RawIntercomBootProps } from './types'; import { mapIntercomPropsToRawIntercomProps } from './mappers'; +import { isEmptyObject } from './utils'; export const IntercomProvider = ({ appId, @@ -15,7 +16,17 @@ export const IntercomProvider = ({ onHide, onShow, onUnreadCountChange, + ...rest }: IntercomProviderProps) => { + if (!isEmptyObject(rest)) + logger.log( + 'error', + [ + 'some invalid props were passed to IntercomProvider. ', + `Please check following props: ${Object.keys(rest).join(', ')}.`, + ].join(''), + ); + const [isBooted, setIsBooted] = useState(autoBoot); if (!window.Intercom) { diff --git a/src/utils.tsx b/src/utils.tsx new file mode 100644 index 00000000..911212b1 --- /dev/null +++ b/src/utils.tsx @@ -0,0 +1,2 @@ +export const isEmptyObject = (obj: object) => + Object.keys(obj).length === 0 && obj.constructor === Object;