@buddy-technology/offer-component 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/README.md +1 -1
- package/dist/index.js +32 -20
- package/dist/index.js.map +1 -1
- package/dist/index.modern.mjs +26 -14
- package/dist/index.modern.mjs.map +1 -1
- package/lib/components/BuddyOfferElement.d.ts.map +1 -1
- package/lib/interface/index.d.ts +1 -0
- package/lib/interface/index.d.ts.map +1 -1
- package/lib/util/index.d.ts +1 -0
- package/lib/util/index.d.ts.map +1 -1
- package/package.json +1 -2
- package/setupTests.ts +0 -8
- package/tsconfig.eslint.json +0 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
# [@buddy-technology/offer-component-v1.2.0](https://github.com/Buddy-Technology/ion-to-react/compare/@buddy-technology/offer-component-v1.1.1...@buddy-technology/offer-component-v1.2.0) (2024-04-26)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* add debug to offer component interface ([1971335](https://github.com/Buddy-Technology/ion-to-react/commit/1971335bdb9ed3dd6c1c65e63d63c5af062969e7))
|
|
7
|
+
|
|
8
|
+
# [@buddy-technology/offer-component-v1.1.1](https://github.com/Buddy-Technology/ion-to-react/compare/@buddy-technology/offer-component-v1.1.0...@buddy-technology/offer-component-v1.1.1) (2024-02-29)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* createOffer not being called if script and Buddy obj already exist ([598eaec](https://github.com/Buddy-Technology/ion-to-react/commit/598eaec1a07bec631892a6e5f40a9631b1bce72c))
|
|
14
|
+
* useUpdateEffect ([86be701](https://github.com/Buddy-Technology/ion-to-react/commit/86be7010f16f68b8eafdc8d4dd4c7b8d39711ee1))
|
|
15
|
+
|
|
1
16
|
# [@buddy-technology/offer-component-v1.1.0](https://github.com/Buddy-Technology/ion-to-react/compare/@buddy-technology/offer-component-v1.0.0...@buddy-technology/offer-component-v1.1.0) (2023-12-05)
|
|
2
17
|
|
|
3
18
|
|
package/README.md
CHANGED
package/dist/index.js
CHANGED
|
@@ -149,8 +149,11 @@ var loadScript = function loadScript(options) {
|
|
|
149
149
|
}
|
|
150
150
|
|
|
151
151
|
if ((_window$Buddy = window.Buddy) != null && _window$Buddy.createOffer) {
|
|
152
|
+
var _window$Buddy2;
|
|
153
|
+
|
|
152
154
|
// eslint-disable-next-line no-console
|
|
153
155
|
console.warn(EXISTING_SCRIPT_MESSAGE);
|
|
156
|
+
(_window$Buddy2 = window.Buddy) == null ? void 0 : _window$Buddy2.createOffer(options);
|
|
154
157
|
resolve(window.Buddy);
|
|
155
158
|
return;
|
|
156
159
|
}
|
|
@@ -179,12 +182,12 @@ var loadScript = function loadScript(options) {
|
|
|
179
182
|
var script = findOfferScript(options == null ? void 0 : options.stage);
|
|
180
183
|
|
|
181
184
|
if (script) {
|
|
182
|
-
var _window$
|
|
185
|
+
var _window$Buddy3;
|
|
183
186
|
|
|
184
187
|
// eslint-disable-next-line no-console
|
|
185
188
|
console.warn(EXISTING_SCRIPT_MESSAGE);
|
|
186
189
|
|
|
187
|
-
if ((_window$
|
|
190
|
+
if ((_window$Buddy3 = window.Buddy) != null && _window$Buddy3.createOffer) {
|
|
188
191
|
resolve(window.Buddy);
|
|
189
192
|
} else {
|
|
190
193
|
reject(new Error('Buddy Offer Element not available'));
|
|
@@ -194,9 +197,9 @@ var loadScript = function loadScript(options) {
|
|
|
194
197
|
}
|
|
195
198
|
|
|
196
199
|
script.addEventListener('load', function () {
|
|
197
|
-
var _window$
|
|
200
|
+
var _window$Buddy4;
|
|
198
201
|
|
|
199
|
-
if ((_window$
|
|
202
|
+
if ((_window$Buddy4 = window.Buddy) != null && _window$Buddy4.createOffer) {
|
|
200
203
|
resolve(window.Buddy);
|
|
201
204
|
} else {
|
|
202
205
|
reject(new Error('Buddy Offer Element not available'));
|
|
@@ -210,6 +213,10 @@ var loadScript = function loadScript(options) {
|
|
|
210
213
|
}
|
|
211
214
|
});
|
|
212
215
|
return scriptPromise;
|
|
216
|
+
}; // This is used to clear our reference to the script promise when the component is unmounted.
|
|
217
|
+
|
|
218
|
+
var clearScriptPromise = function clearScriptPromise() {
|
|
219
|
+
scriptPromise = null;
|
|
213
220
|
};
|
|
214
221
|
|
|
215
222
|
function useConfig(src) {
|
|
@@ -265,7 +272,7 @@ var useUpdateEffect = function useUpdateEffect(effect, deps) {
|
|
|
265
272
|
// eslint-disable-next-line consistent-return
|
|
266
273
|
|
|
267
274
|
React.useEffect(function () {
|
|
268
|
-
if (isFirstMount) {
|
|
275
|
+
if (isFirstMount.current) {
|
|
269
276
|
isFirstMount.current = false;
|
|
270
277
|
} else {
|
|
271
278
|
return effect();
|
|
@@ -288,22 +295,27 @@ function _catch(body, recover) {
|
|
|
288
295
|
}
|
|
289
296
|
|
|
290
297
|
function BuddyOfferElement(options) {
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
298
|
+
React.useEffect(function () {
|
|
299
|
+
var getScript = function getScript() {
|
|
300
|
+
try {
|
|
301
|
+
var _temp2 = _catch(function () {
|
|
302
|
+
return Promise.resolve(loadScript(options)).then(function () {});
|
|
303
|
+
}, function (error) {
|
|
304
|
+
// eslint-disable-next-line no-console
|
|
305
|
+
console.error(error);
|
|
306
|
+
});
|
|
307
|
+
|
|
308
|
+
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
|
|
309
|
+
} catch (e) {
|
|
310
|
+
return Promise.reject(e);
|
|
311
|
+
}
|
|
312
|
+
};
|
|
305
313
|
|
|
306
|
-
|
|
314
|
+
getScript();
|
|
315
|
+
return function () {
|
|
316
|
+
clearScriptPromise();
|
|
317
|
+
};
|
|
318
|
+
}, []);
|
|
307
319
|
useUpdateEffect(function () {
|
|
308
320
|
updateOffer(options);
|
|
309
321
|
}, [options]);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/util/dictionary.ts","../src/util/index.ts","../src/hooks/useConfig.tsx","../src/hooks/useUpdateEffect.tsx","../src/components/BuddyOfferElement.tsx"],"sourcesContent":["const EXISTING_SCRIPT_MESSAGE = 'Buddy Offer Script is already loaded.';\n\nconst SCRIPTS = {\n\tLOCAL: {\n\t\tURL: 'http://localhost:8008/index.js',\n\t},\n\t// TODO: Delete this in favor of \"testing\", once we're sure nothing is using it.\n\tDEVELOPMENT: {\n\t\tURL: 'https://js.buddy.insure/v2/dev/index.js',\n\t},\n\tTESTING: {\n\t\tURL: 'https://js.buddy.insure/v2/testing/index.js',\n\t},\n\tSTAGING: {\n\t\tURL: 'https://js.buddy.insure/v2/staging/index.js',\n\t},\n\tPRODUCTION: {\n\t\tURL: 'https://js.buddy.insure/v2/index.js',\n\t},\n} as const;\n\nconst STAGES = Object.keys(SCRIPTS);\n\nexport {\n\tEXISTING_SCRIPT_MESSAGE,\n\tSCRIPTS,\n\tSTAGES,\n};\n","import { EXISTING_SCRIPT_MESSAGE, SCRIPTS, STAGES } from './dictionary';\nimport type { BuddyObject, IWindow } from '../interface';\n\ntype IStages = keyof typeof SCRIPTS;\n\nconst defaultOptions = {\n\tstage: 'STAGING',\n} as const;\n\nconst isEmptyOrNil = (value: any) => {\n\tconst isNil = (val: any) => [undefined, null].includes(val);\n\tconst isEmptyStr = (str: any) => typeof str === 'string' && str.trim().length === 0;\n\tconst isEmptyObjOrArr = (obj: any) => (typeof obj === 'object' && obj.length === undefined &&\n\t\tObject.keys(obj).length === 0) || (Array.isArray(obj) && obj.length === 0);\n\treturn (isNil(value) || isEmptyStr(value) || isEmptyObjOrArr(value));\n};\n\nconst validatePropertiesOfObject = (propsToCheck: string[], obj: Record<string, any>) => {\n\tconst emptyProps = propsToCheck.filter((prop) => isEmptyOrNil(obj[prop]));\n\tif (emptyProps.length) {\n\t\tconst displayMissingProps = emptyProps.reduce((prev, current, i) => {\n\t\t\tconst isLastEl = i === emptyProps.length - 1;\n\t\t\treturn isLastEl ? `${prev}${current}.` : `${prev}${current}, `;\n\t\t}, '');\n\t\treturn `The following props are required: ${displayMissingProps}`;\n\t}\n\treturn null;\n};\n\nexport const findScript = (url: string) => {\n\tconst scripts = Array.from(document.querySelectorAll('script'));\n\treturn scripts.find(({ src }) => src.startsWith(url));\n};\n\nexport const findOfferScript = (stage: IStages = defaultOptions.stage) => {\n\tconst { URL } = SCRIPTS[stage];\n\tconst matchedScript = findScript(URL);\n\treturn matchedScript;\n};\n\nexport const updateOffer = (options: Record<string, any>) => {\n\tif ((window as IWindow).Buddy) {\n\t\ttry {\n\t\t\t(window as IWindow).Buddy!.updateOffer(options);\n\t\t} catch (error) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(error);\n\t\t}\n\t}\n};\n\nconst createOffer = (options: Record<string, any>) => {\n\tif ((window as IWindow).Buddy) {\n\t\ttry {\n\t\t\t(window as IWindow).Buddy!.createOffer(options);\n\t\t} catch (error) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(error);\n\t\t}\n\t}\n};\n\nconst injectScript = (options: Record<string, any>) => {\n\tconst finalOptions = { ...defaultOptions, ...options };\n\tconst script = document.createElement('script');\n\tscript.src = `${SCRIPTS[finalOptions.stage].URL}`;\n\tscript.onload = () => createOffer(finalOptions);\n\tdocument.body.appendChild(script);\n\treturn script;\n};\n\nlet scriptPromise: Promise<BuddyObject | null> | null = null;\n\nexport const loadScript = (options: Record<string, any>) => {\n\t// Ensure that we only attempt to script once\n\tif (scriptPromise !== null) {\n\t\treturn scriptPromise;\n\t}\n\n\tscriptPromise = new Promise((resolve, reject) => {\n\t\tif (typeof window === 'undefined') {\n\t\t\t// Resolve to null when imported server side. This makes the module\n\t\t\t// safe to import in an isomorphic code base.\n\t\t\tresolve(null);\n\t\t\treturn;\n\t\t}\n\n\t\tif ((window as IWindow).Buddy?.createOffer) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(EXISTING_SCRIPT_MESSAGE);\n\t\t\tresolve((window as IWindow).Buddy!);\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst requiredProps = ['ion', 'partnerID'];\n\t\t\tconst missingRequiredProps = validatePropertiesOfObject(requiredProps, options);\n\n\t\t\tif (missingRequiredProps) {\n\t\t\t\treject(new Error(missingRequiredProps));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!options?.stage) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn(`No stage passed to BuddyOfferElement. Using default stage: ${defaultOptions.stage}`);\n\t\t\t}\n\n\t\t\t// If stage is passed, ensure it is one of the prescribed options.\n\t\t\tif (options?.stage && !STAGES.includes(options.stage)) {\n\t\t\t\tconst msg = `The stage prop must be one of: [${STAGES.join(' , ')}], but received \"${options.stage}.\"`;\n\t\t\t\treject(new Error(msg));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet script = findOfferScript(options?.stage);\n\n\t\t\tif (script) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn(EXISTING_SCRIPT_MESSAGE);\n\t\t\t\tif ((window as IWindow).Buddy?.createOffer) {\n\t\t\t\t\tresolve((window as IWindow).Buddy!);\n\t\t\t\t} else {\n\t\t\t\t\treject(new Error('Buddy Offer Element not available'));\n\t\t\t\t}\n\t\t\t} else if (!script) {\n\t\t\t\tscript = injectScript(options);\n\t\t\t}\n\n\t\t\tscript.addEventListener('load', () => {\n\t\t\t\tif ((window as IWindow).Buddy?.createOffer) {\n\t\t\t\t\tresolve((window as IWindow).Buddy!);\n\t\t\t\t} else {\n\t\t\t\t\treject(new Error('Buddy Offer Element not available'));\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tscript.addEventListener('error', () => {\n\t\t\t\treject(new Error('Failed to load Buddy Offer Element'));\n\t\t\t});\n\t\t} catch (error) {\n\t\t\treject(error);\n\t\t}\n\t});\n\n\treturn scriptPromise;\n};\n","import { useEffect, useState } from 'react';\nimport { findScript } from '../util';\nimport type { IWindow, ConfigObject } from '../interface';\n\nfunction useConfig(src: string) {\n\tconst [config, setConfig] = useState<ConfigObject | null>(null);\n\tconst [isLoading, setIsLoading] = useState(true);\n\n\tconst hasConfig = typeof window !== 'undefined';\n\n\tuseEffect(() => {\n\t\tlet script = findScript(src);\n\n\t\tif (!script) {\n\t\t\tscript = document.createElement('script');\n\t\t\tscript.src = src;\n\n\t\t\tscript.onload = () => {\n\t\t\t\t// Assuming the script sets a global variable named 'config'\n\t\t\t\tif (hasConfig) {\n\t\t\t\t\tsetConfig((window as IWindow).Buddy!.config!);\n\t\t\t\t\tsetIsLoading(false);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tdocument.body.appendChild(script);\n\t\t} else {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn('Config script is already loaded.');\n\t\t\tif (hasConfig) {\n\t\t\t\tsetConfig((window as IWindow).Buddy!.config!);\n\t\t\t\tsetIsLoading(false);\n\t\t\t}\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (script) {\n\t\t\t\tdocument.body.removeChild(script);\n\t\t\t}\n\t\t};\n\t}, [src]);\n\n\treturn { config, isLoading };\n}\n\nexport default useConfig;\n","import { useEffect, useRef } from 'react';\n\nconst useUpdateEffect: typeof useEffect = (effect, deps) => {\n\tconst isFirstMount = useRef<boolean>(true);\n\t// need to return only in the else condition in case a cleanup func is passed in effect.\n\t// eslint-disable-next-line consistent-return\n\tuseEffect(() => {\n\t\tif (isFirstMount) {\n\t\t\tisFirstMount.current = false;\n\t\t} else {\n\t\t\treturn effect();\n\t\t}\n\t}, deps);\n};\n\nexport default useUpdateEffect;\n","import React from 'react';\nimport { useUpdateEffect } from '../hooks';\nimport { loadScript, updateOffer } from '../util';\nimport type { BuddyOfferElementProps } from '../interface';\n\nfunction BuddyOfferElement(options: BuddyOfferElementProps) {\n\tconst getScript = async () => {\n\t\ttry {\n\t\t\tawait loadScript(options);\n\t\t} catch (error) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(error);\n\t\t}\n\t};\n\tgetScript();\n\n\tuseUpdateEffect(() => {\n\t\tupdateOffer(options);\n\t}, [options]);\n\n\treturn (\n\t\t<div id=\"buddy_offer\" />\n\t);\n}\n\nexport default BuddyOfferElement;\n"],"names":["EXISTING_SCRIPT_MESSAGE","SCRIPTS","LOCAL","URL","DEVELOPMENT","TESTING","STAGING","PRODUCTION","STAGES","Object","keys","defaultOptions","stage","isEmptyOrNil","value","isNil","val","undefined","includes","isEmptyStr","str","trim","length","isEmptyObjOrArr","obj","Array","isArray","validatePropertiesOfObject","propsToCheck","emptyProps","filter","prop","displayMissingProps","reduce","prev","current","i","isLastEl","findScript","url","scripts","from","document","querySelectorAll","find","src","startsWith","findOfferScript","matchedScript","updateOffer","options","window","Buddy","error","console","createOffer","injectScript","finalOptions","script","createElement","onload","body","appendChild","scriptPromise","loadScript","Promise","resolve","reject","warn","requiredProps","missingRequiredProps","Error","msg","join","addEventListener","useConfig","useState","config","setConfig","isLoading","setIsLoading","hasConfig","useEffect","removeChild","useUpdateEffect","effect","deps","isFirstMount","useRef","BuddyOfferElement","getScript","React","id"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/util/dictionary.ts","../src/util/index.ts","../src/hooks/useConfig.tsx","../src/hooks/useUpdateEffect.tsx","../src/components/BuddyOfferElement.tsx"],"sourcesContent":["const EXISTING_SCRIPT_MESSAGE = 'Buddy Offer Script is already loaded.';\n\nconst SCRIPTS = {\n\tLOCAL: {\n\t\tURL: 'http://localhost:8008/index.js',\n\t},\n\t// TODO: Delete this in favor of \"testing\", once we're sure nothing is using it.\n\tDEVELOPMENT: {\n\t\tURL: 'https://js.buddy.insure/v2/dev/index.js',\n\t},\n\tTESTING: {\n\t\tURL: 'https://js.buddy.insure/v2/testing/index.js',\n\t},\n\tSTAGING: {\n\t\tURL: 'https://js.buddy.insure/v2/staging/index.js',\n\t},\n\tPRODUCTION: {\n\t\tURL: 'https://js.buddy.insure/v2/index.js',\n\t},\n} as const;\n\nconst STAGES = Object.keys(SCRIPTS);\n\nexport {\n\tEXISTING_SCRIPT_MESSAGE,\n\tSCRIPTS,\n\tSTAGES,\n};\n","import { EXISTING_SCRIPT_MESSAGE, SCRIPTS, STAGES } from './dictionary';\nimport type { BuddyObject, IWindow } from '../interface';\n\ntype IStages = keyof typeof SCRIPTS;\n\nconst defaultOptions = {\n\tstage: 'STAGING',\n} as const;\n\nconst isEmptyOrNil = (value: any) => {\n\tconst isNil = (val: any) => [undefined, null].includes(val);\n\tconst isEmptyStr = (str: any) => typeof str === 'string' && str.trim().length === 0;\n\tconst isEmptyObjOrArr = (obj: any) => (typeof obj === 'object' && obj.length === undefined &&\n\t\tObject.keys(obj).length === 0) || (Array.isArray(obj) && obj.length === 0);\n\treturn (isNil(value) || isEmptyStr(value) || isEmptyObjOrArr(value));\n};\n\nconst validatePropertiesOfObject = (propsToCheck: string[], obj: Record<string, any>) => {\n\tconst emptyProps = propsToCheck.filter((prop) => isEmptyOrNil(obj[prop]));\n\tif (emptyProps.length) {\n\t\tconst displayMissingProps = emptyProps.reduce((prev, current, i) => {\n\t\t\tconst isLastEl = i === emptyProps.length - 1;\n\t\t\treturn isLastEl ? `${prev}${current}.` : `${prev}${current}, `;\n\t\t}, '');\n\t\treturn `The following props are required: ${displayMissingProps}`;\n\t}\n\treturn null;\n};\n\nexport const findScript = (url: string) => {\n\tconst scripts = Array.from(document.querySelectorAll('script'));\n\treturn scripts.find(({ src }) => src.startsWith(url));\n};\n\nexport const findOfferScript = (stage: IStages = defaultOptions.stage) => {\n\tconst { URL } = SCRIPTS[stage];\n\tconst matchedScript = findScript(URL);\n\treturn matchedScript;\n};\n\nexport const updateOffer = (options: Record<string, any>) => {\n\tif ((window as IWindow).Buddy) {\n\t\ttry {\n\t\t\t(window as IWindow).Buddy!.updateOffer(options);\n\t\t} catch (error) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(error);\n\t\t}\n\t}\n};\n\nconst createOffer = (options: Record<string, any>) => {\n\tif ((window as IWindow).Buddy) {\n\t\ttry {\n\t\t\t(window as IWindow).Buddy!.createOffer(options);\n\t\t} catch (error) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(error);\n\t\t}\n\t}\n};\n\nconst injectScript = (options: Record<string, any>) => {\n\tconst finalOptions = { ...defaultOptions, ...options };\n\tconst script = document.createElement('script');\n\tscript.src = `${SCRIPTS[finalOptions.stage].URL}`;\n\tscript.onload = () => createOffer(finalOptions);\n\tdocument.body.appendChild(script);\n\treturn script;\n};\n\nlet scriptPromise: Promise<BuddyObject | null> | null = null;\n\nexport const loadScript = (options: Record<string, any>) => {\n\t// Ensure that we only attempt to script once\n\tif (scriptPromise !== null) {\n\t\treturn scriptPromise;\n\t}\n\n\tscriptPromise = new Promise((resolve, reject) => {\n\t\tif (typeof window === 'undefined') {\n\t\t\t// Resolve to null when imported server side. This makes the module\n\t\t\t// safe to import in an isomorphic code base.\n\t\t\tresolve(null);\n\t\t\treturn;\n\t\t}\n\n\t\tif ((window as IWindow).Buddy?.createOffer) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(EXISTING_SCRIPT_MESSAGE);\n\t\t\t(window as IWindow).Buddy?.createOffer(options);\n\t\t\tresolve((window as IWindow).Buddy!);\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst requiredProps = ['ion', 'partnerID'];\n\t\t\tconst missingRequiredProps = validatePropertiesOfObject(requiredProps, options);\n\n\t\t\tif (missingRequiredProps) {\n\t\t\t\treject(new Error(missingRequiredProps));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!options?.stage) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn(`No stage passed to BuddyOfferElement. Using default stage: ${defaultOptions.stage}`);\n\t\t\t}\n\n\t\t\t// If stage is passed, ensure it is one of the prescribed options.\n\t\t\tif (options?.stage && !STAGES.includes(options.stage)) {\n\t\t\t\tconst msg = `The stage prop must be one of: [${STAGES.join(' , ')}], but received \"${options.stage}.\"`;\n\t\t\t\treject(new Error(msg));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet script = findOfferScript(options?.stage);\n\n\t\t\tif (script) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn(EXISTING_SCRIPT_MESSAGE);\n\t\t\t\tif ((window as IWindow).Buddy?.createOffer) {\n\t\t\t\t\tresolve((window as IWindow).Buddy!);\n\t\t\t\t} else {\n\t\t\t\t\treject(new Error('Buddy Offer Element not available'));\n\t\t\t\t}\n\t\t\t} else if (!script) {\n\t\t\t\tscript = injectScript(options);\n\t\t\t}\n\n\t\t\tscript.addEventListener('load', () => {\n\t\t\t\tif ((window as IWindow).Buddy?.createOffer) {\n\t\t\t\t\tresolve((window as IWindow).Buddy!);\n\t\t\t\t} else {\n\t\t\t\t\treject(new Error('Buddy Offer Element not available'));\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tscript.addEventListener('error', () => {\n\t\t\t\treject(new Error('Failed to load Buddy Offer Element'));\n\t\t\t});\n\t\t} catch (error) {\n\t\t\treject(error);\n\t\t}\n\t});\n\n\treturn scriptPromise;\n};\n\n// This is used to clear our reference to the script promise when the component is unmounted.\nexport const clearScriptPromise = () => {\n\tscriptPromise = null;\n};\n","import { useEffect, useState } from 'react';\nimport { findScript } from '../util';\nimport type { IWindow, ConfigObject } from '../interface';\n\nfunction useConfig(src: string) {\n\tconst [config, setConfig] = useState<ConfigObject | null>(null);\n\tconst [isLoading, setIsLoading] = useState(true);\n\n\tconst hasConfig = typeof window !== 'undefined';\n\n\tuseEffect(() => {\n\t\tlet script = findScript(src);\n\n\t\tif (!script) {\n\t\t\tscript = document.createElement('script');\n\t\t\tscript.src = src;\n\n\t\t\tscript.onload = () => {\n\t\t\t\t// Assuming the script sets a global variable named 'config'\n\t\t\t\tif (hasConfig) {\n\t\t\t\t\tsetConfig((window as IWindow).Buddy!.config!);\n\t\t\t\t\tsetIsLoading(false);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tdocument.body.appendChild(script);\n\t\t} else {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn('Config script is already loaded.');\n\t\t\tif (hasConfig) {\n\t\t\t\tsetConfig((window as IWindow).Buddy!.config!);\n\t\t\t\tsetIsLoading(false);\n\t\t\t}\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (script) {\n\t\t\t\tdocument.body.removeChild(script);\n\t\t\t}\n\t\t};\n\t}, [src]);\n\n\treturn { config, isLoading };\n}\n\nexport default useConfig;\n","import { useEffect, useRef } from 'react';\n\nconst useUpdateEffect: typeof useEffect = (effect, deps) => {\n\tconst isFirstMount = useRef<boolean>(true);\n\t// need to return only in the else condition in case a cleanup func is passed in effect.\n\t// eslint-disable-next-line consistent-return\n\tuseEffect(() => {\n\t\tif (isFirstMount.current) {\n\t\t\tisFirstMount.current = false;\n\t\t} else {\n\t\t\treturn effect();\n\t\t}\n\t}, deps);\n};\n\nexport default useUpdateEffect;\n","import React, { useEffect } from 'react';\nimport { useUpdateEffect } from '../hooks';\nimport { loadScript, clearScriptPromise, updateOffer } from '../util';\nimport type { BuddyOfferElementProps } from '../interface';\n\nfunction BuddyOfferElement(options: BuddyOfferElementProps) {\n\tuseEffect(() => {\n\t\tconst getScript = async () => {\n\t\t\ttry {\n\t\t\t\tawait loadScript(options);\n\t\t\t} catch (error) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.error(error);\n\t\t\t}\n\t\t};\n\t\tgetScript();\n\t\treturn () => {\n\t\t\tclearScriptPromise();\n\t\t};\n\t}, []);\n\n\tuseUpdateEffect(() => {\n\t\tupdateOffer(options);\n\t}, [options]);\n\n\treturn (\n\t\t<div id=\"buddy_offer\" />\n\t);\n}\n\nexport default BuddyOfferElement;\n"],"names":["EXISTING_SCRIPT_MESSAGE","SCRIPTS","LOCAL","URL","DEVELOPMENT","TESTING","STAGING","PRODUCTION","STAGES","Object","keys","defaultOptions","stage","isEmptyOrNil","value","isNil","val","undefined","includes","isEmptyStr","str","trim","length","isEmptyObjOrArr","obj","Array","isArray","validatePropertiesOfObject","propsToCheck","emptyProps","filter","prop","displayMissingProps","reduce","prev","current","i","isLastEl","findScript","url","scripts","from","document","querySelectorAll","find","src","startsWith","findOfferScript","matchedScript","updateOffer","options","window","Buddy","error","console","createOffer","injectScript","finalOptions","script","createElement","onload","body","appendChild","scriptPromise","loadScript","Promise","resolve","reject","warn","requiredProps","missingRequiredProps","Error","msg","join","addEventListener","clearScriptPromise","useConfig","useState","config","setConfig","isLoading","setIsLoading","hasConfig","useEffect","removeChild","useUpdateEffect","effect","deps","isFirstMount","useRef","BuddyOfferElement","getScript","React","id"],"mappings":"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"}
|
package/dist/index.modern.mjs
CHANGED
|
@@ -132,8 +132,11 @@ const loadScript = options => {
|
|
|
132
132
|
}
|
|
133
133
|
|
|
134
134
|
if ((_window$Buddy = window.Buddy) != null && _window$Buddy.createOffer) {
|
|
135
|
+
var _window$Buddy2;
|
|
136
|
+
|
|
135
137
|
// eslint-disable-next-line no-console
|
|
136
138
|
console.warn(EXISTING_SCRIPT_MESSAGE);
|
|
139
|
+
(_window$Buddy2 = window.Buddy) == null ? void 0 : _window$Buddy2.createOffer(options);
|
|
137
140
|
resolve(window.Buddy);
|
|
138
141
|
return;
|
|
139
142
|
}
|
|
@@ -162,12 +165,12 @@ const loadScript = options => {
|
|
|
162
165
|
let script = findOfferScript(options == null ? void 0 : options.stage);
|
|
163
166
|
|
|
164
167
|
if (script) {
|
|
165
|
-
var _window$
|
|
168
|
+
var _window$Buddy3;
|
|
166
169
|
|
|
167
170
|
// eslint-disable-next-line no-console
|
|
168
171
|
console.warn(EXISTING_SCRIPT_MESSAGE);
|
|
169
172
|
|
|
170
|
-
if ((_window$
|
|
173
|
+
if ((_window$Buddy3 = window.Buddy) != null && _window$Buddy3.createOffer) {
|
|
171
174
|
resolve(window.Buddy);
|
|
172
175
|
} else {
|
|
173
176
|
reject(new Error('Buddy Offer Element not available'));
|
|
@@ -177,9 +180,9 @@ const loadScript = options => {
|
|
|
177
180
|
}
|
|
178
181
|
|
|
179
182
|
script.addEventListener('load', () => {
|
|
180
|
-
var _window$
|
|
183
|
+
var _window$Buddy4;
|
|
181
184
|
|
|
182
|
-
if ((_window$
|
|
185
|
+
if ((_window$Buddy4 = window.Buddy) != null && _window$Buddy4.createOffer) {
|
|
183
186
|
resolve(window.Buddy);
|
|
184
187
|
} else {
|
|
185
188
|
reject(new Error('Buddy Offer Element not available'));
|
|
@@ -193,6 +196,10 @@ const loadScript = options => {
|
|
|
193
196
|
}
|
|
194
197
|
});
|
|
195
198
|
return scriptPromise;
|
|
199
|
+
}; // This is used to clear our reference to the script promise when the component is unmounted.
|
|
200
|
+
|
|
201
|
+
const clearScriptPromise = () => {
|
|
202
|
+
scriptPromise = null;
|
|
196
203
|
};
|
|
197
204
|
|
|
198
205
|
function useConfig(src) {
|
|
@@ -242,7 +249,7 @@ const useUpdateEffect = (effect, deps) => {
|
|
|
242
249
|
// eslint-disable-next-line consistent-return
|
|
243
250
|
|
|
244
251
|
useEffect(() => {
|
|
245
|
-
if (isFirstMount) {
|
|
252
|
+
if (isFirstMount.current) {
|
|
246
253
|
isFirstMount.current = false;
|
|
247
254
|
} else {
|
|
248
255
|
return effect();
|
|
@@ -251,16 +258,21 @@ const useUpdateEffect = (effect, deps) => {
|
|
|
251
258
|
};
|
|
252
259
|
|
|
253
260
|
function BuddyOfferElement(options) {
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
261
|
+
useEffect(() => {
|
|
262
|
+
const getScript = async () => {
|
|
263
|
+
try {
|
|
264
|
+
await loadScript(options);
|
|
265
|
+
} catch (error) {
|
|
266
|
+
// eslint-disable-next-line no-console
|
|
267
|
+
console.error(error);
|
|
268
|
+
}
|
|
269
|
+
};
|
|
262
270
|
|
|
263
|
-
|
|
271
|
+
getScript();
|
|
272
|
+
return () => {
|
|
273
|
+
clearScriptPromise();
|
|
274
|
+
};
|
|
275
|
+
}, []);
|
|
264
276
|
useUpdateEffect(() => {
|
|
265
277
|
updateOffer(options);
|
|
266
278
|
}, [options]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.modern.mjs","sources":["../src/util/dictionary.ts","../src/util/index.ts","../src/hooks/useConfig.tsx","../src/hooks/useUpdateEffect.tsx","../src/components/BuddyOfferElement.tsx"],"sourcesContent":["const EXISTING_SCRIPT_MESSAGE = 'Buddy Offer Script is already loaded.';\n\nconst SCRIPTS = {\n\tLOCAL: {\n\t\tURL: 'http://localhost:8008/index.js',\n\t},\n\t// TODO: Delete this in favor of \"testing\", once we're sure nothing is using it.\n\tDEVELOPMENT: {\n\t\tURL: 'https://js.buddy.insure/v2/dev/index.js',\n\t},\n\tTESTING: {\n\t\tURL: 'https://js.buddy.insure/v2/testing/index.js',\n\t},\n\tSTAGING: {\n\t\tURL: 'https://js.buddy.insure/v2/staging/index.js',\n\t},\n\tPRODUCTION: {\n\t\tURL: 'https://js.buddy.insure/v2/index.js',\n\t},\n} as const;\n\nconst STAGES = Object.keys(SCRIPTS);\n\nexport {\n\tEXISTING_SCRIPT_MESSAGE,\n\tSCRIPTS,\n\tSTAGES,\n};\n","import { EXISTING_SCRIPT_MESSAGE, SCRIPTS, STAGES } from './dictionary';\nimport type { BuddyObject, IWindow } from '../interface';\n\ntype IStages = keyof typeof SCRIPTS;\n\nconst defaultOptions = {\n\tstage: 'STAGING',\n} as const;\n\nconst isEmptyOrNil = (value: any) => {\n\tconst isNil = (val: any) => [undefined, null].includes(val);\n\tconst isEmptyStr = (str: any) => typeof str === 'string' && str.trim().length === 0;\n\tconst isEmptyObjOrArr = (obj: any) => (typeof obj === 'object' && obj.length === undefined &&\n\t\tObject.keys(obj).length === 0) || (Array.isArray(obj) && obj.length === 0);\n\treturn (isNil(value) || isEmptyStr(value) || isEmptyObjOrArr(value));\n};\n\nconst validatePropertiesOfObject = (propsToCheck: string[], obj: Record<string, any>) => {\n\tconst emptyProps = propsToCheck.filter((prop) => isEmptyOrNil(obj[prop]));\n\tif (emptyProps.length) {\n\t\tconst displayMissingProps = emptyProps.reduce((prev, current, i) => {\n\t\t\tconst isLastEl = i === emptyProps.length - 1;\n\t\t\treturn isLastEl ? `${prev}${current}.` : `${prev}${current}, `;\n\t\t}, '');\n\t\treturn `The following props are required: ${displayMissingProps}`;\n\t}\n\treturn null;\n};\n\nexport const findScript = (url: string) => {\n\tconst scripts = Array.from(document.querySelectorAll('script'));\n\treturn scripts.find(({ src }) => src.startsWith(url));\n};\n\nexport const findOfferScript = (stage: IStages = defaultOptions.stage) => {\n\tconst { URL } = SCRIPTS[stage];\n\tconst matchedScript = findScript(URL);\n\treturn matchedScript;\n};\n\nexport const updateOffer = (options: Record<string, any>) => {\n\tif ((window as IWindow).Buddy) {\n\t\ttry {\n\t\t\t(window as IWindow).Buddy!.updateOffer(options);\n\t\t} catch (error) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(error);\n\t\t}\n\t}\n};\n\nconst createOffer = (options: Record<string, any>) => {\n\tif ((window as IWindow).Buddy) {\n\t\ttry {\n\t\t\t(window as IWindow).Buddy!.createOffer(options);\n\t\t} catch (error) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(error);\n\t\t}\n\t}\n};\n\nconst injectScript = (options: Record<string, any>) => {\n\tconst finalOptions = { ...defaultOptions, ...options };\n\tconst script = document.createElement('script');\n\tscript.src = `${SCRIPTS[finalOptions.stage].URL}`;\n\tscript.onload = () => createOffer(finalOptions);\n\tdocument.body.appendChild(script);\n\treturn script;\n};\n\nlet scriptPromise: Promise<BuddyObject | null> | null = null;\n\nexport const loadScript = (options: Record<string, any>) => {\n\t// Ensure that we only attempt to script once\n\tif (scriptPromise !== null) {\n\t\treturn scriptPromise;\n\t}\n\n\tscriptPromise = new Promise((resolve, reject) => {\n\t\tif (typeof window === 'undefined') {\n\t\t\t// Resolve to null when imported server side. This makes the module\n\t\t\t// safe to import in an isomorphic code base.\n\t\t\tresolve(null);\n\t\t\treturn;\n\t\t}\n\n\t\tif ((window as IWindow).Buddy?.createOffer) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(EXISTING_SCRIPT_MESSAGE);\n\t\t\tresolve((window as IWindow).Buddy!);\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst requiredProps = ['ion', 'partnerID'];\n\t\t\tconst missingRequiredProps = validatePropertiesOfObject(requiredProps, options);\n\n\t\t\tif (missingRequiredProps) {\n\t\t\t\treject(new Error(missingRequiredProps));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!options?.stage) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn(`No stage passed to BuddyOfferElement. Using default stage: ${defaultOptions.stage}`);\n\t\t\t}\n\n\t\t\t// If stage is passed, ensure it is one of the prescribed options.\n\t\t\tif (options?.stage && !STAGES.includes(options.stage)) {\n\t\t\t\tconst msg = `The stage prop must be one of: [${STAGES.join(' , ')}], but received \"${options.stage}.\"`;\n\t\t\t\treject(new Error(msg));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet script = findOfferScript(options?.stage);\n\n\t\t\tif (script) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn(EXISTING_SCRIPT_MESSAGE);\n\t\t\t\tif ((window as IWindow).Buddy?.createOffer) {\n\t\t\t\t\tresolve((window as IWindow).Buddy!);\n\t\t\t\t} else {\n\t\t\t\t\treject(new Error('Buddy Offer Element not available'));\n\t\t\t\t}\n\t\t\t} else if (!script) {\n\t\t\t\tscript = injectScript(options);\n\t\t\t}\n\n\t\t\tscript.addEventListener('load', () => {\n\t\t\t\tif ((window as IWindow).Buddy?.createOffer) {\n\t\t\t\t\tresolve((window as IWindow).Buddy!);\n\t\t\t\t} else {\n\t\t\t\t\treject(new Error('Buddy Offer Element not available'));\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tscript.addEventListener('error', () => {\n\t\t\t\treject(new Error('Failed to load Buddy Offer Element'));\n\t\t\t});\n\t\t} catch (error) {\n\t\t\treject(error);\n\t\t}\n\t});\n\n\treturn scriptPromise;\n};\n","import { useEffect, useState } from 'react';\nimport { findScript } from '../util';\nimport type { IWindow, ConfigObject } from '../interface';\n\nfunction useConfig(src: string) {\n\tconst [config, setConfig] = useState<ConfigObject | null>(null);\n\tconst [isLoading, setIsLoading] = useState(true);\n\n\tconst hasConfig = typeof window !== 'undefined';\n\n\tuseEffect(() => {\n\t\tlet script = findScript(src);\n\n\t\tif (!script) {\n\t\t\tscript = document.createElement('script');\n\t\t\tscript.src = src;\n\n\t\t\tscript.onload = () => {\n\t\t\t\t// Assuming the script sets a global variable named 'config'\n\t\t\t\tif (hasConfig) {\n\t\t\t\t\tsetConfig((window as IWindow).Buddy!.config!);\n\t\t\t\t\tsetIsLoading(false);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tdocument.body.appendChild(script);\n\t\t} else {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn('Config script is already loaded.');\n\t\t\tif (hasConfig) {\n\t\t\t\tsetConfig((window as IWindow).Buddy!.config!);\n\t\t\t\tsetIsLoading(false);\n\t\t\t}\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (script) {\n\t\t\t\tdocument.body.removeChild(script);\n\t\t\t}\n\t\t};\n\t}, [src]);\n\n\treturn { config, isLoading };\n}\n\nexport default useConfig;\n","import { useEffect, useRef } from 'react';\n\nconst useUpdateEffect: typeof useEffect = (effect, deps) => {\n\tconst isFirstMount = useRef<boolean>(true);\n\t// need to return only in the else condition in case a cleanup func is passed in effect.\n\t// eslint-disable-next-line consistent-return\n\tuseEffect(() => {\n\t\tif (isFirstMount) {\n\t\t\tisFirstMount.current = false;\n\t\t} else {\n\t\t\treturn effect();\n\t\t}\n\t}, deps);\n};\n\nexport default useUpdateEffect;\n","import React from 'react';\nimport { useUpdateEffect } from '../hooks';\nimport { loadScript, updateOffer } from '../util';\nimport type { BuddyOfferElementProps } from '../interface';\n\nfunction BuddyOfferElement(options: BuddyOfferElementProps) {\n\tconst getScript = async () => {\n\t\ttry {\n\t\t\tawait loadScript(options);\n\t\t} catch (error) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(error);\n\t\t}\n\t};\n\tgetScript();\n\n\tuseUpdateEffect(() => {\n\t\tupdateOffer(options);\n\t}, [options]);\n\n\treturn (\n\t\t<div id=\"buddy_offer\" />\n\t);\n}\n\nexport default BuddyOfferElement;\n"],"names":["EXISTING_SCRIPT_MESSAGE","SCRIPTS","LOCAL","URL","DEVELOPMENT","TESTING","STAGING","PRODUCTION","STAGES","Object","keys","defaultOptions","stage","isEmptyOrNil","value","isNil","val","undefined","includes","isEmptyStr","str","trim","length","isEmptyObjOrArr","obj","Array","isArray","validatePropertiesOfObject","propsToCheck","emptyProps","filter","prop","displayMissingProps","reduce","prev","current","i","isLastEl","findScript","url","scripts","from","document","querySelectorAll","find","src","startsWith","findOfferScript","matchedScript","updateOffer","options","window","Buddy","error","console","createOffer","injectScript","finalOptions","script","createElement","onload","body","appendChild","scriptPromise","loadScript","Promise","resolve","reject","warn","requiredProps","missingRequiredProps","Error","msg","join","addEventListener","useConfig","config","setConfig","useState","isLoading","setIsLoading","hasConfig","useEffect","removeChild","useUpdateEffect","effect","deps","isFirstMount","useRef","BuddyOfferElement","getScript","React","id"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.modern.mjs","sources":["../src/util/dictionary.ts","../src/util/index.ts","../src/hooks/useConfig.tsx","../src/hooks/useUpdateEffect.tsx","../src/components/BuddyOfferElement.tsx"],"sourcesContent":["const EXISTING_SCRIPT_MESSAGE = 'Buddy Offer Script is already loaded.';\n\nconst SCRIPTS = {\n\tLOCAL: {\n\t\tURL: 'http://localhost:8008/index.js',\n\t},\n\t// TODO: Delete this in favor of \"testing\", once we're sure nothing is using it.\n\tDEVELOPMENT: {\n\t\tURL: 'https://js.buddy.insure/v2/dev/index.js',\n\t},\n\tTESTING: {\n\t\tURL: 'https://js.buddy.insure/v2/testing/index.js',\n\t},\n\tSTAGING: {\n\t\tURL: 'https://js.buddy.insure/v2/staging/index.js',\n\t},\n\tPRODUCTION: {\n\t\tURL: 'https://js.buddy.insure/v2/index.js',\n\t},\n} as const;\n\nconst STAGES = Object.keys(SCRIPTS);\n\nexport {\n\tEXISTING_SCRIPT_MESSAGE,\n\tSCRIPTS,\n\tSTAGES,\n};\n","import { EXISTING_SCRIPT_MESSAGE, SCRIPTS, STAGES } from './dictionary';\nimport type { BuddyObject, IWindow } from '../interface';\n\ntype IStages = keyof typeof SCRIPTS;\n\nconst defaultOptions = {\n\tstage: 'STAGING',\n} as const;\n\nconst isEmptyOrNil = (value: any) => {\n\tconst isNil = (val: any) => [undefined, null].includes(val);\n\tconst isEmptyStr = (str: any) => typeof str === 'string' && str.trim().length === 0;\n\tconst isEmptyObjOrArr = (obj: any) => (typeof obj === 'object' && obj.length === undefined &&\n\t\tObject.keys(obj).length === 0) || (Array.isArray(obj) && obj.length === 0);\n\treturn (isNil(value) || isEmptyStr(value) || isEmptyObjOrArr(value));\n};\n\nconst validatePropertiesOfObject = (propsToCheck: string[], obj: Record<string, any>) => {\n\tconst emptyProps = propsToCheck.filter((prop) => isEmptyOrNil(obj[prop]));\n\tif (emptyProps.length) {\n\t\tconst displayMissingProps = emptyProps.reduce((prev, current, i) => {\n\t\t\tconst isLastEl = i === emptyProps.length - 1;\n\t\t\treturn isLastEl ? `${prev}${current}.` : `${prev}${current}, `;\n\t\t}, '');\n\t\treturn `The following props are required: ${displayMissingProps}`;\n\t}\n\treturn null;\n};\n\nexport const findScript = (url: string) => {\n\tconst scripts = Array.from(document.querySelectorAll('script'));\n\treturn scripts.find(({ src }) => src.startsWith(url));\n};\n\nexport const findOfferScript = (stage: IStages = defaultOptions.stage) => {\n\tconst { URL } = SCRIPTS[stage];\n\tconst matchedScript = findScript(URL);\n\treturn matchedScript;\n};\n\nexport const updateOffer = (options: Record<string, any>) => {\n\tif ((window as IWindow).Buddy) {\n\t\ttry {\n\t\t\t(window as IWindow).Buddy!.updateOffer(options);\n\t\t} catch (error) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(error);\n\t\t}\n\t}\n};\n\nconst createOffer = (options: Record<string, any>) => {\n\tif ((window as IWindow).Buddy) {\n\t\ttry {\n\t\t\t(window as IWindow).Buddy!.createOffer(options);\n\t\t} catch (error) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(error);\n\t\t}\n\t}\n};\n\nconst injectScript = (options: Record<string, any>) => {\n\tconst finalOptions = { ...defaultOptions, ...options };\n\tconst script = document.createElement('script');\n\tscript.src = `${SCRIPTS[finalOptions.stage].URL}`;\n\tscript.onload = () => createOffer(finalOptions);\n\tdocument.body.appendChild(script);\n\treturn script;\n};\n\nlet scriptPromise: Promise<BuddyObject | null> | null = null;\n\nexport const loadScript = (options: Record<string, any>) => {\n\t// Ensure that we only attempt to script once\n\tif (scriptPromise !== null) {\n\t\treturn scriptPromise;\n\t}\n\n\tscriptPromise = new Promise((resolve, reject) => {\n\t\tif (typeof window === 'undefined') {\n\t\t\t// Resolve to null when imported server side. This makes the module\n\t\t\t// safe to import in an isomorphic code base.\n\t\t\tresolve(null);\n\t\t\treturn;\n\t\t}\n\n\t\tif ((window as IWindow).Buddy?.createOffer) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(EXISTING_SCRIPT_MESSAGE);\n\t\t\t(window as IWindow).Buddy?.createOffer(options);\n\t\t\tresolve((window as IWindow).Buddy!);\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst requiredProps = ['ion', 'partnerID'];\n\t\t\tconst missingRequiredProps = validatePropertiesOfObject(requiredProps, options);\n\n\t\t\tif (missingRequiredProps) {\n\t\t\t\treject(new Error(missingRequiredProps));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!options?.stage) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn(`No stage passed to BuddyOfferElement. Using default stage: ${defaultOptions.stage}`);\n\t\t\t}\n\n\t\t\t// If stage is passed, ensure it is one of the prescribed options.\n\t\t\tif (options?.stage && !STAGES.includes(options.stage)) {\n\t\t\t\tconst msg = `The stage prop must be one of: [${STAGES.join(' , ')}], but received \"${options.stage}.\"`;\n\t\t\t\treject(new Error(msg));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet script = findOfferScript(options?.stage);\n\n\t\t\tif (script) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn(EXISTING_SCRIPT_MESSAGE);\n\t\t\t\tif ((window as IWindow).Buddy?.createOffer) {\n\t\t\t\t\tresolve((window as IWindow).Buddy!);\n\t\t\t\t} else {\n\t\t\t\t\treject(new Error('Buddy Offer Element not available'));\n\t\t\t\t}\n\t\t\t} else if (!script) {\n\t\t\t\tscript = injectScript(options);\n\t\t\t}\n\n\t\t\tscript.addEventListener('load', () => {\n\t\t\t\tif ((window as IWindow).Buddy?.createOffer) {\n\t\t\t\t\tresolve((window as IWindow).Buddy!);\n\t\t\t\t} else {\n\t\t\t\t\treject(new Error('Buddy Offer Element not available'));\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tscript.addEventListener('error', () => {\n\t\t\t\treject(new Error('Failed to load Buddy Offer Element'));\n\t\t\t});\n\t\t} catch (error) {\n\t\t\treject(error);\n\t\t}\n\t});\n\n\treturn scriptPromise;\n};\n\n// This is used to clear our reference to the script promise when the component is unmounted.\nexport const clearScriptPromise = () => {\n\tscriptPromise = null;\n};\n","import { useEffect, useState } from 'react';\nimport { findScript } from '../util';\nimport type { IWindow, ConfigObject } from '../interface';\n\nfunction useConfig(src: string) {\n\tconst [config, setConfig] = useState<ConfigObject | null>(null);\n\tconst [isLoading, setIsLoading] = useState(true);\n\n\tconst hasConfig = typeof window !== 'undefined';\n\n\tuseEffect(() => {\n\t\tlet script = findScript(src);\n\n\t\tif (!script) {\n\t\t\tscript = document.createElement('script');\n\t\t\tscript.src = src;\n\n\t\t\tscript.onload = () => {\n\t\t\t\t// Assuming the script sets a global variable named 'config'\n\t\t\t\tif (hasConfig) {\n\t\t\t\t\tsetConfig((window as IWindow).Buddy!.config!);\n\t\t\t\t\tsetIsLoading(false);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tdocument.body.appendChild(script);\n\t\t} else {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn('Config script is already loaded.');\n\t\t\tif (hasConfig) {\n\t\t\t\tsetConfig((window as IWindow).Buddy!.config!);\n\t\t\t\tsetIsLoading(false);\n\t\t\t}\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (script) {\n\t\t\t\tdocument.body.removeChild(script);\n\t\t\t}\n\t\t};\n\t}, [src]);\n\n\treturn { config, isLoading };\n}\n\nexport default useConfig;\n","import { useEffect, useRef } from 'react';\n\nconst useUpdateEffect: typeof useEffect = (effect, deps) => {\n\tconst isFirstMount = useRef<boolean>(true);\n\t// need to return only in the else condition in case a cleanup func is passed in effect.\n\t// eslint-disable-next-line consistent-return\n\tuseEffect(() => {\n\t\tif (isFirstMount.current) {\n\t\t\tisFirstMount.current = false;\n\t\t} else {\n\t\t\treturn effect();\n\t\t}\n\t}, deps);\n};\n\nexport default useUpdateEffect;\n","import React, { useEffect } from 'react';\nimport { useUpdateEffect } from '../hooks';\nimport { loadScript, clearScriptPromise, updateOffer } from '../util';\nimport type { BuddyOfferElementProps } from '../interface';\n\nfunction BuddyOfferElement(options: BuddyOfferElementProps) {\n\tuseEffect(() => {\n\t\tconst getScript = async () => {\n\t\t\ttry {\n\t\t\t\tawait loadScript(options);\n\t\t\t} catch (error) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.error(error);\n\t\t\t}\n\t\t};\n\t\tgetScript();\n\t\treturn () => {\n\t\t\tclearScriptPromise();\n\t\t};\n\t}, []);\n\n\tuseUpdateEffect(() => {\n\t\tupdateOffer(options);\n\t}, [options]);\n\n\treturn (\n\t\t<div id=\"buddy_offer\" />\n\t);\n}\n\nexport default BuddyOfferElement;\n"],"names":["EXISTING_SCRIPT_MESSAGE","SCRIPTS","LOCAL","URL","DEVELOPMENT","TESTING","STAGING","PRODUCTION","STAGES","Object","keys","defaultOptions","stage","isEmptyOrNil","value","isNil","val","undefined","includes","isEmptyStr","str","trim","length","isEmptyObjOrArr","obj","Array","isArray","validatePropertiesOfObject","propsToCheck","emptyProps","filter","prop","displayMissingProps","reduce","prev","current","i","isLastEl","findScript","url","scripts","from","document","querySelectorAll","find","src","startsWith","findOfferScript","matchedScript","updateOffer","options","window","Buddy","error","console","createOffer","injectScript","finalOptions","script","createElement","onload","body","appendChild","scriptPromise","loadScript","Promise","resolve","reject","warn","requiredProps","missingRequiredProps","Error","msg","join","addEventListener","clearScriptPromise","useConfig","config","setConfig","useState","isLoading","setIsLoading","hasConfig","useEffect","removeChild","useUpdateEffect","effect","deps","isFirstMount","useRef","BuddyOfferElement","getScript","React","id"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuddyOfferElement.d.ts","sourceRoot":"","sources":["../../src/components/BuddyOfferElement.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"BuddyOfferElement.d.ts","sourceRoot":"","sources":["../../src/components/BuddyOfferElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAGzC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE3D,iBAAS,iBAAiB,CAAC,OAAO,EAAE,sBAAsB,qBAuBzD;AAED,eAAe,iBAAiB,CAAC"}
|
package/lib/interface/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interface/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interface/index.ts"],"names":[],"mappings":"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"}
|
package/lib/util/index.d.ts
CHANGED
|
@@ -5,5 +5,6 @@ export declare const findScript: (url: string) => HTMLScriptElement | undefined;
|
|
|
5
5
|
export declare const findOfferScript: (stage?: IStages) => HTMLScriptElement | undefined;
|
|
6
6
|
export declare const updateOffer: (options: Record<string, any>) => void;
|
|
7
7
|
export declare const loadScript: (options: Record<string, any>) => Promise<BuddyObject | null>;
|
|
8
|
+
export declare const clearScriptPromise: () => void;
|
|
8
9
|
export {};
|
|
9
10
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/util/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,OAAO,EAAU,MAAM,cAAc,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAW,MAAM,cAAc,CAAC;AAEzD,KAAK,OAAO,GAAG,MAAM,OAAO,OAAO,CAAC;AA0BpC,eAAO,MAAM,UAAU,QAAS,MAAM,kCAGrC,CAAC;AAEF,eAAO,MAAM,eAAe,WAAW,OAAO,kCAI7C,CAAC;AAEF,eAAO,MAAM,WAAW,YAAa,OAAO,MAAM,EAAE,GAAG,CAAC,SASvD,CAAC;AAwBF,eAAO,MAAM,UAAU,YAAa,OAAO,MAAM,EAAE,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,OAAO,EAAU,MAAM,cAAc,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAW,MAAM,cAAc,CAAC;AAEzD,KAAK,OAAO,GAAG,MAAM,OAAO,OAAO,CAAC;AA0BpC,eAAO,MAAM,UAAU,QAAS,MAAM,kCAGrC,CAAC;AAEF,eAAO,MAAM,eAAe,WAAW,OAAO,kCAI7C,CAAC;AAEF,eAAO,MAAM,WAAW,YAAa,OAAO,MAAM,EAAE,GAAG,CAAC,SASvD,CAAC;AAwBF,eAAO,MAAM,UAAU,YAAa,OAAO,MAAM,EAAE,GAAG,CAAC,gCA0EtD,CAAC;AAGF,eAAO,MAAM,kBAAkB,YAE9B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@buddy-technology/offer-component",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"author": "Buddy Technology",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.modern.mjs",
|
|
@@ -19,7 +19,6 @@
|
|
|
19
19
|
"scripts": {
|
|
20
20
|
"build": "NODE_ENV=production microbundle --jsx React.createElement --jsxImportSource react --no-compress --format modern,cjs",
|
|
21
21
|
"dev": "microbundle watch --jsx React.createElement --jsxImportSource react --no-compress --format modern,cjs",
|
|
22
|
-
"deploy": "yarn version",
|
|
23
22
|
"release": "npx --no-install semantic-release",
|
|
24
23
|
"test": "jest"
|
|
25
24
|
},
|
package/setupTests.ts
DELETED