@servicetitan/web-components 30.3.1 → 31.0.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/dist/__mocks__/test-component.d.ts.map +1 -1
- package/dist/common.js +17 -13
- package/dist/common.js.map +1 -1
- package/dist/contexts/index.js +1 -0
- package/dist/contexts/index.js.map +1 -1
- package/dist/contexts/mfe-data-context.js +2 -2
- package/dist/contexts/mfe-data-context.js.map +1 -1
- package/dist/contexts/mfe-metadata-context.js +1 -0
- package/dist/contexts/mfe-metadata-context.js.map +1 -1
- package/dist/delayed.js +8 -5
- package/dist/delayed.js.map +1 -1
- package/dist/event-bus.js +79 -97
- package/dist/event-bus.js.map +1 -1
- package/dist/get-value-for-environment.js +9 -4
- package/dist/get-value-for-environment.js.map +1 -1
- package/dist/globals.js +7 -7
- package/dist/globals.js.map +1 -1
- package/dist/history-manager.js +59 -69
- package/dist/history-manager.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/loader.js +92 -49
- package/dist/loader.js.map +1 -1
- package/dist/register.js +182 -218
- package/dist/register.js.map +1 -1
- package/dist/render.js +11 -12
- package/dist/render.js.map +1 -1
- package/dist/types.js +2 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/get-bundle-info.js +18 -16
- package/dist/utils/get-bundle-info.js.map +1 -1
- package/dist/utils/get-element-name.js +1 -0
- package/dist/utils/get-element-name.js.map +1 -1
- package/dist/utils/get-entry-points.js +11 -4
- package/dist/utils/get-entry-points.js.map +1 -1
- package/dist/utils/get-ld-service-token.js +3 -3
- package/dist/utils/get-ld-service-token.js.map +1 -1
- package/dist/utils/get-mfe-has-compatible-launchdarkly-version.js +4 -4
- package/dist/utils/get-mfe-has-compatible-launchdarkly-version.js.map +1 -1
- package/dist/utils/get-mfe-has-unique-chunk-namespace.js +1 -0
- package/dist/utils/get-mfe-has-unique-chunk-namespace.js.map +1 -1
- package/dist/utils/get-mfe-supports-rerendering.js +4 -4
- package/dist/utils/get-mfe-supports-rerendering.js.map +1 -1
- package/dist/utils/get-version-mismatches.js +18 -11
- package/dist/utils/get-version-mismatches.js.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/is-compatible.js +1 -0
- package/dist/utils/is-compatible.js.map +1 -1
- package/dist/utils/is-versioned-url.js +2 -1
- package/dist/utils/is-versioned-url.js.map +1 -1
- package/dist/utils/load-scripts.js +7 -6
- package/dist/utils/load-scripts.js.map +1 -1
- package/dist/utils/ttl-cache.js +26 -27
- package/dist/utils/ttl-cache.js.map +1 -1
- package/dist/utils/validate-bundle-info.js +13 -10
- package/dist/utils/validate-bundle-info.js.map +1 -1
- package/dist/utils/web-component.js +46 -22
- package/dist/utils/web-component.js.map +1 -1
- package/package.json +11 -11
- package/src/__mocks__/test-component.tsx +2 -0
- package/src/__tests__/loader.test.tsx +3 -3
- package/dist/__mocks__/expect-styles-in-dom.js +0 -9
- package/dist/__mocks__/expect-styles-in-dom.js.map +0 -1
- package/dist/__mocks__/index.js +0 -4
- package/dist/__mocks__/index.js.map +0 -1
- package/dist/__mocks__/register-component.js +0 -14
- package/dist/__mocks__/register-component.js.map +0 -1
- package/dist/__mocks__/test-component.js +0 -15
- package/dist/__mocks__/test-component.js.map +0 -1
- package/dist/contexts/tests/mfe-data-context.test.js +0 -24
- package/dist/contexts/tests/mfe-data-context.test.js.map +0 -1
- package/dist/contexts/tests/mfe-metadata-context.test.js +0 -26
- package/dist/contexts/tests/mfe-metadata-context.test.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-component.d.ts","sourceRoot":"","sources":["../../src/__mocks__/test-component.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAc,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"test-component.d.ts","sourceRoot":"","sources":["../../src/__mocks__/test-component.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAc,MAAM,OAAO,CAAC;AAMvC,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAqBjD,CAAC"}
|
package/dist/common.js
CHANGED
|
@@ -11,24 +11,23 @@ function createNetworkError(message) {
|
|
|
11
11
|
return error;
|
|
12
12
|
}
|
|
13
13
|
export async function getJson(url, { retries = 5, retryDelay = 1000, onRequestError, ...config } = {}) {
|
|
14
|
-
var _a, _b;
|
|
15
14
|
let response;
|
|
16
15
|
try {
|
|
17
16
|
response = await fetch(url, config);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
if (retries > 0 && !((
|
|
21
|
-
return new Promise((resolve, reject)
|
|
17
|
+
} catch (e) {
|
|
18
|
+
var _config_signal;
|
|
19
|
+
if (retries > 0 && !((_config_signal = config.signal) === null || _config_signal === void 0 ? void 0 : _config_signal.aborted)) {
|
|
20
|
+
return new Promise((resolve, reject)=>{
|
|
22
21
|
const { signal } = config;
|
|
23
|
-
const timeoutId = window.setTimeout(()
|
|
22
|
+
const timeoutId = window.setTimeout(()=>{
|
|
24
23
|
getJson(url, {
|
|
25
24
|
...config,
|
|
26
25
|
onRequestError,
|
|
27
26
|
retries: retries - 1,
|
|
28
|
-
retryDelay: retryDelay * 4
|
|
27
|
+
retryDelay: retryDelay * 4
|
|
29
28
|
}).then(resolve, reject);
|
|
30
29
|
}, retryDelay);
|
|
31
|
-
const abortHandler = ()
|
|
30
|
+
const abortHandler = ()=>{
|
|
32
31
|
window.clearTimeout(timeoutId);
|
|
33
32
|
signal === null || signal === void 0 ? void 0 : signal.removeEventListener('abort', abortHandler);
|
|
34
33
|
reject(signal === null || signal === void 0 ? void 0 : signal.reason);
|
|
@@ -38,23 +37,28 @@ export async function getJson(url, { retries = 5, retryDelay = 1000, onRequestEr
|
|
|
38
37
|
}
|
|
39
38
|
throw createNetworkError(`Failed to fetch: "${url}".`);
|
|
40
39
|
}
|
|
41
|
-
const responseJSON = await response.json().catch(()
|
|
40
|
+
const responseJSON = await response.json().catch(()=>({}));
|
|
42
41
|
if (!response.ok) {
|
|
43
42
|
let message = `Requesting "${url}" failed with status code ${response.status}.`;
|
|
44
43
|
try {
|
|
45
44
|
message += ` Details: ${await response.text()}.`;
|
|
46
|
-
}
|
|
47
|
-
catch (_d) { } // eslint-disable-line no-empty
|
|
45
|
+
} catch (e) {} // eslint-disable-line no-empty
|
|
48
46
|
onRequestError === null || onRequestError === void 0 ? void 0 : onRequestError({
|
|
49
47
|
status: response.status,
|
|
50
48
|
json: responseJSON,
|
|
51
|
-
body: await response.text().catch(()
|
|
49
|
+
body: await response.text().catch(()=>'')
|
|
52
50
|
});
|
|
53
51
|
throw createNetworkError(message);
|
|
54
52
|
}
|
|
55
|
-
|
|
53
|
+
var _response_url;
|
|
54
|
+
return {
|
|
55
|
+
data: responseJSON,
|
|
56
|
+
headers: response.headers,
|
|
57
|
+
url: (_response_url = response.url) !== null && _response_url !== void 0 ? _response_url : url
|
|
58
|
+
};
|
|
56
59
|
}
|
|
57
60
|
export function useCancelation() {
|
|
58
61
|
return useRef(new AbortController()).current;
|
|
59
62
|
}
|
|
63
|
+
|
|
60
64
|
//# sourceMappingURL=common.js.map
|
package/dist/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/common.ts"],"sourcesContent":["import { useRef } from 'react';\n\nimport { symbolToken } from '@servicetitan/react-ioc';\nimport { type LDService } from '@servicetitan/launchdarkly-service';\nimport { Log } from '@servicetitan/log-service';\n\nimport { EventBus } from './event-bus';\nimport { HistoryManager } from './history-manager';\n\nexport type ExposedDependencies = Record<\n string,\n {\n version: string;\n variable: string;\n }\n>;\n\nexport interface ExposedInstanceDependencies {\n launchDarkly?: { version: string; ldService?: LDService };\n}\n\nexport const BASENAME_TOKEN = symbolToken<string>('BASENAME_TOKEN');\nexport const EXPOSED_DEPENDENCIES_TOKEN = symbolToken<ExposedDependencies>(\n 'EXPOSED_DEPENDENCIES_TOKEN'\n);\nexport const EXPOSED_INSTANCE_DEPENDENCIES_TOKEN = symbolToken<ExposedInstanceDependencies>(\n 'EXPOSED_INSTANCE_DEPENDENCIES_TOKEN'\n);\nexport const IS_WEB_COMPONENT_TOKEN = symbolToken<boolean>('IS_WEB_COMPONENT_TOKEN');\nexport const RENDER_ROOT_TOKEN = symbolToken<ShadowRoot>('RENDER_ROOT_TOKEN');\n\nexport interface Entries {\n ldService?: LDService;\n logService?: Log;\n historyManager?: HistoryManager;\n exposedDependencies?: ExposedDependencies;\n exposedInstanceDependencies?: ExposedInstanceDependencies;\n eventBus?: EventBus;\n basename?: string;\n onReady: () => void;\n onDispose: () => void;\n}\n\nexport interface IWebComponent {\n provide(entries: Entries): void;\n}\n\nexport interface GetJsonError {\n status: number;\n body: string;\n json: object;\n}\n\ninterface GetJsonOptions extends RequestInit {\n retries?: number;\n retryDelay?: number;\n onRequestError?(error: GetJsonError): void;\n}\n\nfunction createNetworkError(message: string) {\n const error = new Error(message);\n\n error.name = 'NetworkError';\n\n return error;\n}\n\nexport async function getJson<T = any>(\n url: string,\n { retries = 5, retryDelay = 1000, onRequestError, ...config }: GetJsonOptions = {}\n): Promise<{ data: T; headers: Headers; url: string }> {\n let response: Response;\n try {\n response = await fetch(url, config);\n } catch {\n if (retries > 0 && !config.signal?.aborted) {\n return new Promise((resolve, reject) => {\n const { signal } = config;\n\n const timeoutId = window.setTimeout(() => {\n getJson(url, {\n ...config,\n onRequestError,\n retries: retries - 1,\n retryDelay: retryDelay * 4,\n }).then(resolve, reject);\n }, retryDelay);\n\n const abortHandler = () => {\n window.clearTimeout(timeoutId);\n signal?.removeEventListener('abort', abortHandler);\n reject(signal?.reason);\n };\n\n signal?.addEventListener('abort', abortHandler);\n });\n }\n\n throw createNetworkError(`Failed to fetch: \"${url}\".`);\n }\n\n const responseJSON = await response.json().catch(() => ({}));\n\n if (!response.ok) {\n let message = `Requesting \"${url}\" failed with status code ${response.status}.`;\n\n try {\n message += ` Details: ${await response.text()}.`;\n } catch {} // eslint-disable-line no-empty\n\n onRequestError?.({\n status: response.status,\n json: responseJSON,\n body: await response.text().catch(() => ''),\n });\n throw createNetworkError(message);\n }\n\n return { data: responseJSON, headers: response.headers, url: response.url ?? url };\n}\n\nexport function useCancelation() {\n return useRef(new AbortController()).current;\n}\n"],"names":["useRef","symbolToken","BASENAME_TOKEN","EXPOSED_DEPENDENCIES_TOKEN","EXPOSED_INSTANCE_DEPENDENCIES_TOKEN","IS_WEB_COMPONENT_TOKEN","RENDER_ROOT_TOKEN","createNetworkError","message","error","Error","name","getJson","url","retries","retryDelay","onRequestError","config","response","fetch","signal","aborted","Promise","resolve","reject","timeoutId","window","setTimeout","then","abortHandler","clearTimeout","removeEventListener","reason","addEventListener","responseJSON","json","catch","ok","status","text","body","data","headers","useCancelation","AbortController","current"],"mappings":"AAAA,SAASA,MAAM,QAAQ,QAAQ;AAE/B,SAASC,WAAW,QAAQ,0BAA0B;AAmBtD,OAAO,MAAMC,iBAAiBD,YAAoB,kBAAkB;AACpE,OAAO,MAAME,6BAA6BF,YACtC,8BACF;AACF,OAAO,MAAMG,sCAAsCH,YAC/C,uCACF;AACF,OAAO,MAAMI,yBAAyBJ,YAAqB,0BAA0B;AACrF,OAAO,MAAMK,oBAAoBL,YAAwB,qBAAqB;AA8B9E,SAASM,mBAAmBC,OAAe;IACvC,MAAMC,QAAQ,IAAIC,MAAMF;IAExBC,MAAME,IAAI,GAAG;IAEb,OAAOF;AACX;AAEA,OAAO,eAAeG,QAClBC,GAAW,EACX,EAAEC,UAAU,CAAC,EAAEC,aAAa,IAAI,EAAEC,cAAc,EAAE,GAAGC,QAAwB,GAAG,CAAC,CAAC;IAElF,IAAIC;IACJ,IAAI;QACAA,WAAW,MAAMC,MAAMN,KAAKI;IAChC,EAAE,UAAM;YACgBA;QAApB,IAAIH,UAAU,KAAK,GAACG,iBAAAA,OAAOG,MAAM,cAAbH,qCAAAA,eAAeI,OAAO,GAAE;YACxC,OAAO,IAAIC,QAAQ,CAACC,SAASC;gBACzB,MAAM,EAAEJ,MAAM,EAAE,GAAGH;gBAEnB,MAAMQ,YAAYC,OAAOC,UAAU,CAAC;oBAChCf,QAAQC,KAAK;wBACT,GAAGI,MAAM;wBACTD;wBACAF,SAASA,UAAU;wBACnBC,YAAYA,aAAa;oBAC7B,GAAGa,IAAI,CAACL,SAASC;gBACrB,GAAGT;gBAEH,MAAMc,eAAe;oBACjBH,OAAOI,YAAY,CAACL;oBACpBL,mBAAAA,6BAAAA,OAAQW,mBAAmB,CAAC,SAASF;oBACrCL,OAAOJ,mBAAAA,6BAAAA,OAAQY,MAAM;gBACzB;gBAEAZ,mBAAAA,6BAAAA,OAAQa,gBAAgB,CAAC,SAASJ;YACtC;QACJ;QAEA,MAAMtB,mBAAmB,CAAC,kBAAkB,EAAEM,IAAI,EAAE,CAAC;IACzD;IAEA,MAAMqB,eAAe,MAAMhB,SAASiB,IAAI,GAAGC,KAAK,CAAC,IAAO,CAAA,CAAC,CAAA;IAEzD,IAAI,CAAClB,SAASmB,EAAE,EAAE;QACd,IAAI7B,UAAU,CAAC,YAAY,EAAEK,IAAI,0BAA0B,EAAEK,SAASoB,MAAM,CAAC,CAAC,CAAC;QAE/E,IAAI;YACA9B,WAAW,CAAC,UAAU,EAAE,MAAMU,SAASqB,IAAI,GAAG,CAAC,CAAC;QACpD,EAAE,UAAM,CAAC,EAAE,+BAA+B;QAE1CvB,2BAAAA,qCAAAA,eAAiB;YACbsB,QAAQpB,SAASoB,MAAM;YACvBH,MAAMD;YACNM,MAAM,MAAMtB,SAASqB,IAAI,GAAGH,KAAK,CAAC,IAAM;QAC5C;QACA,MAAM7B,mBAAmBC;IAC7B;QAE6DU;IAA7D,OAAO;QAAEuB,MAAMP;QAAcQ,SAASxB,SAASwB,OAAO;QAAE7B,KAAKK,CAAAA,gBAAAA,SAASL,GAAG,cAAZK,2BAAAA,gBAAgBL;IAAI;AACrF;AAEA,OAAO,SAAS8B;IACZ,OAAO3C,OAAO,IAAI4C,mBAAmBC,OAAO;AAChD"}
|
package/dist/contexts/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/contexts/index.ts"],"sourcesContent":["// Specific exports below in order to exclude `MFEContextData` from being included in the bundle\nexport { useMFEDataContext } from './mfe-data-context';\nexport * from './mfe-metadata-context';\n"],"names":["useMFEDataContext"],"mappings":"AAAA,gGAAgG;AAChG,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,cAAc,yBAAyB"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { createContext, useContext } from 'react';
|
|
2
2
|
/**
|
|
3
3
|
* Context used to pass data from the host to the MFEs
|
|
4
|
-
*/
|
|
5
|
-
export const MFEDataContext = createContext({});
|
|
4
|
+
*/ export const MFEDataContext = createContext({});
|
|
6
5
|
export function useMFEDataContext() {
|
|
7
6
|
const context = useContext(MFEDataContext);
|
|
8
7
|
return context;
|
|
9
8
|
}
|
|
9
|
+
|
|
10
10
|
//# sourceMappingURL=mfe-data-context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/contexts/mfe-data-context.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\n\ntype JSONPrimitive = string | number | boolean | null | undefined;\n\n// eslint-disable-next-line @typescript-eslint/consistent-type-definitions\ntype JSON = { [key: string]: JSONPrimitive | JSON[] | JSON };\n\n// Type complexity below is required to support Interfaces being used\nexport type MFEContextData<T> = {\n [P in keyof T]: T[P] extends JSONPrimitive\n ? T[P]\n : T[P] extends (infer U)[]\n ? MFEContextData<U>[]\n : T[P] extends JSON\n ? MFEContextData<T[P]>\n : never;\n};\n\n/**\n * Context used to pass data from the host to the MFEs\n */\nexport const MFEDataContext = createContext<JSON>({});\n\nexport function useMFEDataContext<T extends MFEContextData<T>>() {\n const context = useContext(MFEDataContext) as T;\n\n return context;\n}\n"],"names":["createContext","useContext","MFEDataContext","useMFEDataContext","context"],"mappings":"AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,QAAQ;AAkBlD;;CAEC,GACD,OAAO,MAAMC,iBAAiBF,cAAoB,CAAC,GAAG;AAEtD,OAAO,SAASG;IACZ,MAAMC,UAAUH,WAAWC;IAE3B,OAAOE;AACX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/contexts/mfe-metadata-context.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nexport interface MFEMetadata {\n shadowRoot: ShadowRoot;\n portalShadowRoot: ShadowRoot;\n}\n\nexport const MFEMetadataContext = createContext<MFEMetadata>({} as MFEMetadata);\n\nexport function useMFEMetadataContext() {\n const context = useContext(MFEMetadataContext);\n\n return context;\n}\n"],"names":["createContext","useContext","MFEMetadataContext","useMFEMetadataContext","context"],"mappings":"AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,QAAQ;AAOlD,OAAO,MAAMC,qBAAqBF,cAA2B,CAAC,GAAkB;AAEhF,OAAO,SAASG;IACZ,MAAMC,UAAUH,WAAWC;IAE3B,OAAOE;AACX"}
|
package/dist/delayed.js
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { useEffect, useState } from 'react';
|
|
2
|
-
export const Delayed = ({ delayMs = 200, children })
|
|
2
|
+
export const Delayed = ({ delayMs = 200, children })=>{
|
|
3
3
|
const [timedOut, setTimedOut] = useState(delayMs <= 0);
|
|
4
|
-
useEffect(()
|
|
4
|
+
useEffect(()=>{
|
|
5
5
|
if (delayMs > 0) {
|
|
6
|
-
const timer = setTimeout(()
|
|
7
|
-
return ()
|
|
6
|
+
const timer = setTimeout(()=>setTimedOut(true), delayMs);
|
|
7
|
+
return ()=>clearTimeout(timer);
|
|
8
8
|
}
|
|
9
|
-
}, [
|
|
9
|
+
}, [
|
|
10
|
+
delayMs
|
|
11
|
+
]);
|
|
10
12
|
return timedOut ? children : null;
|
|
11
13
|
};
|
|
14
|
+
|
|
12
15
|
//# sourceMappingURL=delayed.js.map
|
package/dist/delayed.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/delayed.tsx"],"sourcesContent":["import { FC, PropsWithChildren, useEffect, useState } from 'react';\n\nexport type DelayedProps = PropsWithChildren<{\n delayMs?: number;\n}>;\n\nexport const Delayed: FC<DelayedProps> = ({ delayMs = 200, children }: DelayedProps) => {\n const [timedOut, setTimedOut] = useState(delayMs <= 0);\n\n useEffect(() => {\n if (delayMs > 0) {\n const timer = setTimeout(() => setTimedOut(true), delayMs);\n return () => clearTimeout(timer);\n }\n }, [delayMs]);\n\n return timedOut ? children : null;\n};\n"],"names":["useEffect","useState","Delayed","delayMs","children","timedOut","setTimedOut","timer","setTimeout","clearTimeout"],"mappings":"AAAA,SAAgCA,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAMnE,OAAO,MAAMC,UAA4B,CAAC,EAAEC,UAAU,GAAG,EAAEC,QAAQ,EAAgB;IAC/E,MAAM,CAACC,UAAUC,YAAY,GAAGL,SAASE,WAAW;IAEpDH,UAAU;QACN,IAAIG,UAAU,GAAG;YACb,MAAMI,QAAQC,WAAW,IAAMF,YAAY,OAAOH;YAClD,OAAO,IAAMM,aAAaF;QAC9B;IACJ,GAAG;QAACJ;KAAQ;IAEZ,OAAOE,WAAWD,WAAW;AACjC,EAAE"}
|
package/dist/event-bus.js
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
function _define_property(obj, key, value) {
|
|
2
|
+
if (key in obj) {
|
|
3
|
+
Object.defineProperty(obj, key, {
|
|
4
|
+
value: value,
|
|
5
|
+
enumerable: true,
|
|
6
|
+
configurable: true,
|
|
7
|
+
writable: true
|
|
8
|
+
});
|
|
9
|
+
} else {
|
|
10
|
+
obj[key] = value;
|
|
11
|
+
}
|
|
12
|
+
return obj;
|
|
13
|
+
}
|
|
1
14
|
import { symbolToken } from '@servicetitan/react-ioc';
|
|
2
15
|
import mitt from 'mitt';
|
|
3
16
|
export const EVENT_BUS_TOKEN = symbolToken('EVENT_BUS_TOKEN');
|
|
@@ -5,100 +18,6 @@ export function typedEventBusToken() {
|
|
|
5
18
|
return symbolToken('EVENT_BUS_TOKEN');
|
|
6
19
|
}
|
|
7
20
|
export class EventBus {
|
|
8
|
-
constructor() {
|
|
9
|
-
Object.defineProperty(this, "job", {
|
|
10
|
-
enumerable: true,
|
|
11
|
-
configurable: true,
|
|
12
|
-
writable: true,
|
|
13
|
-
value: {
|
|
14
|
-
/**
|
|
15
|
-
* Register a job event handler. Jobs event handlers return a result or an error.
|
|
16
|
-
* @param event The job event to handle.
|
|
17
|
-
* @param handler The handler to call when the event occurs. This handler is passed a `resolve` callback to return a successful result, and a `reject` callback to return an error.
|
|
18
|
-
*/
|
|
19
|
-
on: (event, handler) => {
|
|
20
|
-
this.validateEvent(event);
|
|
21
|
-
this.emitter.on(event, handler);
|
|
22
|
-
},
|
|
23
|
-
/**
|
|
24
|
-
* Deregister a job event handler.
|
|
25
|
-
* @param event The previously registered event.
|
|
26
|
-
* @param handler The previously registered handler.
|
|
27
|
-
*/
|
|
28
|
-
off: (event, handler) => {
|
|
29
|
-
this.emitter.off(event, handler);
|
|
30
|
-
},
|
|
31
|
-
/**
|
|
32
|
-
* Send a job event.
|
|
33
|
-
* @param event The event to send.
|
|
34
|
-
* @returns a Promise that resolves or rejects depending on whether the job completes successfully.
|
|
35
|
-
*/
|
|
36
|
-
emit: (event) => {
|
|
37
|
-
this.validateEvent(event);
|
|
38
|
-
return new Promise((resolve, reject) => {
|
|
39
|
-
this.emitter.emit(event, {
|
|
40
|
-
resolve,
|
|
41
|
-
reject: (reason) => {
|
|
42
|
-
if (typeof reason === 'string' || reason instanceof Error) {
|
|
43
|
-
reject(reason);
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
reject();
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
},
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
Object.defineProperty(this, "emitter", {
|
|
55
|
-
enumerable: true,
|
|
56
|
-
configurable: true,
|
|
57
|
-
writable: true,
|
|
58
|
-
value: mitt()
|
|
59
|
-
});
|
|
60
|
-
/**
|
|
61
|
-
* Register an event handler.
|
|
62
|
-
* @param event The event to handle.
|
|
63
|
-
* @param handler The handler to call when the event occurs.
|
|
64
|
-
*/
|
|
65
|
-
Object.defineProperty(this, "on", {
|
|
66
|
-
enumerable: true,
|
|
67
|
-
configurable: true,
|
|
68
|
-
writable: true,
|
|
69
|
-
value: (event, handler) => {
|
|
70
|
-
this.validateEvent(event);
|
|
71
|
-
this.emitter.on(event, handler);
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
/**
|
|
75
|
-
* Deregister an event handler.
|
|
76
|
-
* @param event The previously registered event.
|
|
77
|
-
* @param handler The previously registered handler.
|
|
78
|
-
*/
|
|
79
|
-
Object.defineProperty(this, "off", {
|
|
80
|
-
enumerable: true,
|
|
81
|
-
configurable: true,
|
|
82
|
-
writable: true,
|
|
83
|
-
value: (event, handler) => {
|
|
84
|
-
this.emitter.off(event, handler);
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
/**
|
|
88
|
-
* Send an event.
|
|
89
|
-
* @param event The event to send.
|
|
90
|
-
* @param data The data to pass to the event's handler.
|
|
91
|
-
*/
|
|
92
|
-
Object.defineProperty(this, "emit", {
|
|
93
|
-
enumerable: true,
|
|
94
|
-
configurable: true,
|
|
95
|
-
writable: true,
|
|
96
|
-
value: (event, ...data) => {
|
|
97
|
-
this.validateEvent(event);
|
|
98
|
-
this.emitter.emit(event, data[0]);
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
21
|
validateEvent(event) {
|
|
103
22
|
if (process.env.NODE_ENV === 'production') {
|
|
104
23
|
return;
|
|
@@ -110,15 +29,77 @@ export class EventBus {
|
|
|
110
29
|
throw new Error('event must have format {module}:{name}');
|
|
111
30
|
}
|
|
112
31
|
getName(event) {
|
|
113
|
-
var _a;
|
|
114
32
|
if (typeof event === 'string') {
|
|
115
33
|
return event;
|
|
116
34
|
}
|
|
117
35
|
if (typeof event === 'symbol') {
|
|
118
|
-
|
|
36
|
+
var _Symbol_keyFor;
|
|
37
|
+
return (_Symbol_keyFor = Symbol.keyFor(event)) !== null && _Symbol_keyFor !== void 0 ? _Symbol_keyFor : '';
|
|
119
38
|
}
|
|
120
39
|
return undefined;
|
|
121
40
|
}
|
|
41
|
+
constructor(){
|
|
42
|
+
_define_property(this, "job", {
|
|
43
|
+
/**
|
|
44
|
+
* Register a job event handler. Jobs event handlers return a result or an error.
|
|
45
|
+
* @param event The job event to handle.
|
|
46
|
+
* @param handler The handler to call when the event occurs. This handler is passed a `resolve` callback to return a successful result, and a `reject` callback to return an error.
|
|
47
|
+
*/ on: (event, handler)=>{
|
|
48
|
+
this.validateEvent(event);
|
|
49
|
+
this.emitter.on(event, handler);
|
|
50
|
+
},
|
|
51
|
+
/**
|
|
52
|
+
* Deregister a job event handler.
|
|
53
|
+
* @param event The previously registered event.
|
|
54
|
+
* @param handler The previously registered handler.
|
|
55
|
+
*/ off: (event, handler)=>{
|
|
56
|
+
this.emitter.off(event, handler);
|
|
57
|
+
},
|
|
58
|
+
/**
|
|
59
|
+
* Send a job event.
|
|
60
|
+
* @param event The event to send.
|
|
61
|
+
* @returns a Promise that resolves or rejects depending on whether the job completes successfully.
|
|
62
|
+
*/ emit: (event)=>{
|
|
63
|
+
this.validateEvent(event);
|
|
64
|
+
return new Promise((resolve, reject)=>{
|
|
65
|
+
this.emitter.emit(event, {
|
|
66
|
+
resolve,
|
|
67
|
+
reject: (reason)=>{
|
|
68
|
+
if (typeof reason === 'string' || reason instanceof Error) {
|
|
69
|
+
reject(reason);
|
|
70
|
+
} else {
|
|
71
|
+
reject();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
_define_property(this, "emitter", mitt());
|
|
79
|
+
/**
|
|
80
|
+
* Register an event handler.
|
|
81
|
+
* @param event The event to handle.
|
|
82
|
+
* @param handler The handler to call when the event occurs.
|
|
83
|
+
*/ _define_property(this, "on", (event, handler)=>{
|
|
84
|
+
this.validateEvent(event);
|
|
85
|
+
this.emitter.on(event, handler);
|
|
86
|
+
});
|
|
87
|
+
/**
|
|
88
|
+
* Deregister an event handler.
|
|
89
|
+
* @param event The previously registered event.
|
|
90
|
+
* @param handler The previously registered handler.
|
|
91
|
+
*/ _define_property(this, "off", (event, handler)=>{
|
|
92
|
+
this.emitter.off(event, handler);
|
|
93
|
+
});
|
|
94
|
+
/**
|
|
95
|
+
* Send an event.
|
|
96
|
+
* @param event The event to send.
|
|
97
|
+
* @param data The data to pass to the event's handler.
|
|
98
|
+
*/ _define_property(this, "emit", (event, ...data)=>{
|
|
99
|
+
this.validateEvent(event);
|
|
100
|
+
this.emitter.emit(event, data[0]);
|
|
101
|
+
});
|
|
102
|
+
}
|
|
122
103
|
}
|
|
123
104
|
const allowListedEvents = new Set([
|
|
124
105
|
'[EH] Module Link Clicked',
|
|
@@ -165,6 +146,7 @@ const allowListedEvents = new Set([
|
|
|
165
146
|
'TOGGLE_DC_SIDE_PANEL_COMPONENT',
|
|
166
147
|
'updateUserEmail',
|
|
167
148
|
'visibility',
|
|
168
|
-
':widgets:message'
|
|
149
|
+
':widgets:message'
|
|
169
150
|
]);
|
|
151
|
+
|
|
170
152
|
//# sourceMappingURL=event-bus.js.map
|
package/dist/event-bus.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/event-bus.ts"],"sourcesContent":["import { symbolToken, SymbolToken } from '@servicetitan/react-ioc';\nimport mitt from 'mitt';\n\nimport { JSON, Serializable } from './types';\n\nexport const EVENT_BUS_TOKEN = symbolToken<EventBus>('EVENT_BUS_TOKEN');\n\nexport function typedEventBusToken<EventTypes extends Serializable<EventTypes>>() {\n return symbolToken<EventBus<EventTypes>>('EVENT_BUS_TOKEN');\n}\n\nexport type EventHandler<EventTypes, Event, T = never> = (\n data: [T] extends [never]\n ? Event extends SymbolToken<infer DataType>\n ? Serializable<DataType>\n : Event extends keyof EventTypes\n ? EventTypes[Event]\n : T\n : Serializable<T>\n) => void;\n\ntype JobPayload = JSON | void;\n\nexport type EventType = string | number | symbol;\nexport type SymbolTokenEventType<T, U extends EventType = EventType> =\n U extends SymbolToken<any> ? SymbolToken<T> : U;\n\nexport type JobEventHandler<Event> = (defer: {\n /**\n * Successfully complete a job.\n * @param result The value to return from the successfully completed job.\n */\n resolve(\n ...result: Event extends SymbolToken<infer ResultType>\n ? undefined extends ResultType\n ? [Serializable<ResultType>?]\n : [Serializable<ResultType>]\n : [JobPayload]\n ): void;\n /**\n * Fail a job.\n * @param reason The error to return from the failed job.\n */\n reject(reason?: string | Error): void;\n}) => void;\n\nexport class EventBus<EventTypes extends Serializable<EventTypes> = never> {\n job = {\n /**\n * Register a job event handler. Jobs event handlers return a result or an error.\n * @param event The job event to handle.\n * @param handler The handler to call when the event occurs. This handler is passed a `resolve` callback to return a successful result, and a `reject` callback to return an error.\n */\n on: <Event extends SymbolToken<any> | keyof EventTypes>(\n event: Event,\n handler: JobEventHandler<Event>\n ) => {\n this.validateEvent(event);\n this.emitter.on(event, handler);\n },\n\n /**\n * Deregister a job event handler.\n * @param event The previously registered event.\n * @param handler The previously registered handler.\n */\n off: <Event extends SymbolToken<any> | keyof EventTypes>(\n event: Event,\n handler: JobEventHandler<Event>\n ) => {\n this.emitter.off(event, handler);\n },\n\n /**\n * Send a job event.\n * @param event The event to send.\n * @returns a Promise that resolves or rejects depending on whether the job completes successfully.\n */\n emit: <Event extends SymbolToken<any> | keyof EventTypes>(event: Event) => {\n this.validateEvent(event);\n return new Promise<\n Event extends SymbolToken<infer ResultType> ? Serializable<ResultType> : JobPayload\n >((resolve, reject) => {\n this.emitter.emit(event, {\n resolve,\n reject: (reason?: string | Error) => {\n if (typeof reason === 'string' || reason instanceof Error) {\n reject(reason);\n } else {\n reject();\n }\n },\n });\n });\n },\n };\n\n private emitter = mitt<any>();\n\n /**\n * Register an event handler.\n * @param event The event to handle.\n * @param handler The handler to call when the event occurs.\n */\n on = <T extends Serializable<T> = never, Event extends SymbolToken<T> | keyof EventTypes = any>(\n event: SymbolTokenEventType<T, Event>,\n handler: EventHandler<EventTypes, Event, T>\n ) => {\n this.validateEvent(event);\n this.emitter.on(event, handler);\n };\n\n /**\n * Deregister an event handler.\n * @param event The previously registered event.\n * @param handler The previously registered handler.\n */\n off = <\n T extends Serializable<T> = never,\n Event extends SymbolToken<T> | keyof EventTypes = any,\n >(\n event: SymbolTokenEventType<T, Event>,\n handler: EventHandler<EventTypes, Event, T>\n ) => {\n this.emitter.off(event, handler);\n };\n\n /**\n * Send an event.\n * @param event The event to send.\n * @param data The data to pass to the event's handler.\n */\n emit = <T extends Serializable<T>, Event extends SymbolToken<T> | keyof EventTypes = any>(\n event: SymbolTokenEventType<T, Event>,\n ...data: Event extends SymbolToken<any>\n ? undefined extends T\n ? [T?]\n : [T]\n : [EventTypes] extends [never]\n ? [T?]\n : Event extends keyof EventTypes\n ? undefined extends EventTypes[Event]\n ? [EventTypes[Event]?]\n : [EventTypes[Event]] extends [never]\n ? []\n : [EventTypes[Event]]\n : never\n ) => {\n this.validateEvent(event);\n this.emitter.emit(event, data[0]);\n };\n\n private validateEvent(event: any) {\n if (process.env.NODE_ENV === 'production') {\n return;\n }\n\n const name = this.getName(event);\n if (name === undefined || /^[^:]+:.+/.test(name) || allowListedEvents.has(name)) {\n return;\n }\n\n throw new Error('event must have format {module}:{name}');\n }\n\n private getName(event: any) {\n if (typeof event === 'string') {\n return event;\n }\n if (typeof event === 'symbol') {\n return Symbol.keyFor(event) ?? '';\n }\n return undefined;\n }\n}\n\nconst allowListedEvents = new Set([\n '[EH] Module Link Clicked',\n '[EH] Module Loaded',\n '[internal] reset',\n 'blink',\n 'CLOSE_COMPONENT',\n 'CLOSE_JOB_EDIT_FLYOUT',\n 'company-profile-request-save',\n 'company-profile-saved-error',\n 'company-profile-saved',\n 'dismiss-discrepancy-event',\n 'dismiss-discrepancy-map-event',\n 'dispatch-JobEditFlyout-fetchData',\n 'dispatchpro-fetchStatus',\n 'dispatchpro-open-issuereporter',\n 'DRAWER_CREATED_CUSTOMER',\n 'employees-emails-processed',\n 'employees-request-save',\n 'employees-saved-error',\n 'employees-saved',\n 'ium-ep-cancel-changes',\n 'ium-ep-form-can-be-submitted-change',\n 'ium-ep-save-changes',\n 'loaded',\n 'my-custom-event',\n 'NEW_EVENT',\n 'ON_WIDGET_INIT',\n 'OPEN_ASSIST_SCREEN',\n 'OPEN_CREATE_CUSTOMER_DRAWER',\n 'OPEN_DC_SIDE_PANEL_COMPONENT',\n 'open-troubleshooter',\n 'resolve-discrepancy-map-event',\n 'restore-discrepancy-event',\n 'setLabel',\n 'SHOW_POP_UP_MESSAGE',\n 'TEAMS_SELECTED',\n 'tech-is-dispatch-pro-change',\n 'technicians-emails-processed',\n 'technicians-request-save',\n 'technicians-saved-error',\n 'technicians-saved',\n 'timesheet-activity-saved',\n 'TOGGLE_DC_SIDE_PANEL_COMPONENT',\n 'updateUserEmail',\n 'visibility',\n ':widgets:message',\n]);\n"],"names":["symbolToken","mitt","EVENT_BUS_TOKEN","typedEventBusToken","EventBus","validateEvent","event","process","env","NODE_ENV","name","getName","undefined","test","allowListedEvents","has","Error","Symbol","keyFor","job","on","handler","emitter","off","emit","Promise","resolve","reject","reason","data","Set"],"mappings":";;;;;;;;;;;;;AAAA,SAASA,WAAW,QAAqB,0BAA0B;AACnE,OAAOC,UAAU,OAAO;AAIxB,OAAO,MAAMC,kBAAkBF,YAAsB,mBAAmB;AAExE,OAAO,SAASG;IACZ,OAAOH,YAAkC;AAC7C;AAqCA,OAAO,MAAMI;IA0GDC,cAAcC,KAAU,EAAE;QAC9B,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;YACvC;QACJ;QAEA,MAAMC,OAAO,IAAI,CAACC,OAAO,CAACL;QAC1B,IAAII,SAASE,aAAa,YAAYC,IAAI,CAACH,SAASI,kBAAkBC,GAAG,CAACL,OAAO;YAC7E;QACJ;QAEA,MAAM,IAAIM,MAAM;IACpB;IAEQL,QAAQL,KAAU,EAAE;QACxB,IAAI,OAAOA,UAAU,UAAU;YAC3B,OAAOA;QACX;QACA,IAAI,OAAOA,UAAU,UAAU;gBACpBW;YAAP,OAAOA,CAAAA,iBAAAA,OAAOC,MAAM,CAACZ,oBAAdW,4BAAAA,iBAAwB;QACnC;QACA,OAAOL;IACX;;QA9HAO,uBAAAA,OAAM;YACF;;;;SAIC,GACDC,IAAI,CACAd,OACAe;gBAEA,IAAI,CAAChB,aAAa,CAACC;gBACnB,IAAI,CAACgB,OAAO,CAACF,EAAE,CAACd,OAAOe;YAC3B;YAEA;;;;SAIC,GACDE,KAAK,CACDjB,OACAe;gBAEA,IAAI,CAACC,OAAO,CAACC,GAAG,CAACjB,OAAOe;YAC5B;YAEA;;;;SAIC,GACDG,MAAM,CAAoDlB;gBACtD,IAAI,CAACD,aAAa,CAACC;gBACnB,OAAO,IAAImB,QAET,CAACC,SAASC;oBACR,IAAI,CAACL,OAAO,CAACE,IAAI,CAAClB,OAAO;wBACrBoB;wBACAC,QAAQ,CAACC;4BACL,IAAI,OAAOA,WAAW,YAAYA,kBAAkBZ,OAAO;gCACvDW,OAAOC;4BACX,OAAO;gCACHD;4BACJ;wBACJ;oBACJ;gBACJ;YACJ;QACJ;QAEA,uBAAQL,WAAUrB;QAElB;;;;KAIC,GACDmB,uBAAAA,MAAK,CACDd,OACAe;YAEA,IAAI,CAAChB,aAAa,CAACC;YACnB,IAAI,CAACgB,OAAO,CAACF,EAAE,CAACd,OAAOe;QAC3B;QAEA;;;;KAIC,GACDE,uBAAAA,OAAM,CAIFjB,OACAe;YAEA,IAAI,CAACC,OAAO,CAACC,GAAG,CAACjB,OAAOe;QAC5B;QAEA;;;;KAIC,GACDG,uBAAAA,QAAO,CACHlB,OACA,GAAGuB;YAcH,IAAI,CAACxB,aAAa,CAACC;YACnB,IAAI,CAACgB,OAAO,CAACE,IAAI,CAAClB,OAAOuB,IAAI,CAAC,EAAE;QACpC;;AAwBJ;AAEA,MAAMf,oBAAoB,IAAIgB,IAAI;IAC9B;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACH"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// See https://github.com/microsoft/TypeScript/issues/29729 for why LiteralUnion
|
|
2
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
1
3
|
export function getValueForEnvironment(values, defaultEnvironment = 'qa', hostname = window.location.hostname) {
|
|
2
4
|
const keys = Object.keys(values);
|
|
3
5
|
const key = detectEnvironment(keys, defaultEnvironment, hostname);
|
|
@@ -10,18 +12,21 @@ function detectEnvironment(keys, defaultEnvironment, hostname) {
|
|
|
10
12
|
if (isLocalHost(hostname)) {
|
|
11
13
|
return 'dev';
|
|
12
14
|
}
|
|
13
|
-
for (const key of keys)
|
|
14
|
-
if (hostname.indexOf(`${key}.servicetitan.com`) >= 0 ||
|
|
15
|
-
(key.endsWith('.st.dev') && hostname.indexOf(key) >= 0)) {
|
|
15
|
+
for (const key of keys){
|
|
16
|
+
if (hostname.indexOf(`${key}.servicetitan.com`) >= 0 || key.endsWith('.st.dev') && hostname.indexOf(key) >= 0) {
|
|
16
17
|
return key;
|
|
17
18
|
}
|
|
18
19
|
}
|
|
19
20
|
return defaultEnvironment;
|
|
20
21
|
}
|
|
21
22
|
function isLocalHost(hostname) {
|
|
22
|
-
return [
|
|
23
|
+
return [
|
|
24
|
+
'localhost',
|
|
25
|
+
'127.0.0.1'
|
|
26
|
+
].some((host)=>hostname.indexOf(host) >= 0);
|
|
23
27
|
}
|
|
24
28
|
function isTestEnvironment() {
|
|
25
29
|
return process.env.NODE_ENV === 'test';
|
|
26
30
|
}
|
|
31
|
+
|
|
27
32
|
//# sourceMappingURL=get-value-for-environment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/get-value-for-environment.ts"],"sourcesContent":["// See https://github.com/microsoft/TypeScript/issues/29729 for why LiteralUnion\n// eslint-disable-next-line @typescript-eslint/naming-convention\ntype LiteralUnion<T extends U, U = string> = T | (U & { _?: never });\n\nexport type Environment = LiteralUnion<'dev' | 'go' | 'next' | 'qa' | 'stage' | 'test'>;\nexport type EnvironmentValues = Partial<Record<Environment, string>>;\n\nexport function getValueForEnvironment(\n values: EnvironmentValues,\n defaultEnvironment: Environment = 'qa',\n hostname: string = window.location.hostname\n) {\n const keys = Object.keys(values) as (keyof typeof values)[];\n const key = detectEnvironment(keys, defaultEnvironment, hostname);\n return values[key];\n}\n\nfunction detectEnvironment(\n keys: Environment[],\n defaultEnvironment: Environment,\n hostname: string\n): Environment {\n if (isTestEnvironment()) {\n return 'test';\n }\n\n if (isLocalHost(hostname)) {\n return 'dev';\n }\n\n for (const key of keys) {\n if (\n hostname.indexOf(`${key}.servicetitan.com`) >= 0 ||\n (key.endsWith('.st.dev') && hostname.indexOf(key) >= 0)\n ) {\n return key;\n }\n }\n\n return defaultEnvironment;\n}\n\nfunction isLocalHost(hostname: string) {\n return ['localhost', '127.0.0.1'].some(host => hostname.indexOf(host) >= 0);\n}\n\nfunction isTestEnvironment() {\n return process.env.NODE_ENV === 'test';\n}\n"],"names":["getValueForEnvironment","values","defaultEnvironment","hostname","window","location","keys","Object","key","detectEnvironment","isTestEnvironment","isLocalHost","indexOf","endsWith","some","host","process","env","NODE_ENV"],"mappings":"AAAA,gFAAgF;AAChF,gEAAgE;AAMhE,OAAO,SAASA,uBACZC,MAAyB,EACzBC,qBAAkC,IAAI,EACtCC,WAAmBC,OAAOC,QAAQ,CAACF,QAAQ;IAE3C,MAAMG,OAAOC,OAAOD,IAAI,CAACL;IACzB,MAAMO,MAAMC,kBAAkBH,MAAMJ,oBAAoBC;IACxD,OAAOF,MAAM,CAACO,IAAI;AACtB;AAEA,SAASC,kBACLH,IAAmB,EACnBJ,kBAA+B,EAC/BC,QAAgB;IAEhB,IAAIO,qBAAqB;QACrB,OAAO;IACX;IAEA,IAAIC,YAAYR,WAAW;QACvB,OAAO;IACX;IAEA,KAAK,MAAMK,OAAOF,KAAM;QACpB,IACIH,SAASS,OAAO,CAAC,GAAGJ,IAAI,iBAAiB,CAAC,KAAK,KAC9CA,IAAIK,QAAQ,CAAC,cAAcV,SAASS,OAAO,CAACJ,QAAQ,GACvD;YACE,OAAOA;QACX;IACJ;IAEA,OAAON;AACX;AAEA,SAASS,YAAYR,QAAgB;IACjC,OAAO;QAAC;QAAa;KAAY,CAACW,IAAI,CAACC,CAAAA,OAAQZ,SAASS,OAAO,CAACG,SAAS;AAC7E;AAEA,SAASL;IACL,OAAOM,QAAQC,GAAG,CAACC,QAAQ,KAAK;AACpC"}
|
package/dist/globals.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
function get(fetch) {
|
|
1
|
+
/* eslint-disable @typescript-eslint/naming-convention */ function get(fetch) {
|
|
2
2
|
try {
|
|
3
3
|
return fetch();
|
|
4
|
-
}
|
|
5
|
-
catch (_a) {
|
|
4
|
+
} catch (e) {
|
|
6
5
|
return undefined;
|
|
7
6
|
}
|
|
8
7
|
}
|
|
9
|
-
const _EXPOSED_DEPENDENCIES = get(()
|
|
8
|
+
const _EXPOSED_DEPENDENCIES = get(()=>{
|
|
10
9
|
return EXPOSED_DEPENDENCIES;
|
|
11
10
|
});
|
|
12
|
-
const _WEB_COMPONENT_NAME = get(()
|
|
11
|
+
const _WEB_COMPONENT_NAME = get(()=>{
|
|
13
12
|
return WEB_COMPONENT_NAME;
|
|
14
13
|
});
|
|
15
|
-
const _EXPOSED_INSTANCE_DEPENDENCIES = get(()
|
|
14
|
+
const _EXPOSED_INSTANCE_DEPENDENCIES = get(()=>{
|
|
16
15
|
return EXPOSED_INSTANCE_DEPENDENCIES;
|
|
17
16
|
});
|
|
18
|
-
export { _EXPOSED_DEPENDENCIES as EXPOSED_DEPENDENCIES, _EXPOSED_INSTANCE_DEPENDENCIES as EXPOSED_INSTANCE_DEPENDENCIES, _WEB_COMPONENT_NAME as WEB_COMPONENT_NAME
|
|
17
|
+
export { _EXPOSED_DEPENDENCIES as EXPOSED_DEPENDENCIES, _EXPOSED_INSTANCE_DEPENDENCIES as EXPOSED_INSTANCE_DEPENDENCIES, _WEB_COMPONENT_NAME as WEB_COMPONENT_NAME };
|
|
18
|
+
|
|
19
19
|
//# sourceMappingURL=globals.js.map
|
package/dist/globals.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/globals.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { ExposedDependencies, ExposedInstanceDependencies } from './common';\n\ndeclare global {\n export const EXPOSED_DEPENDENCIES: ExposedDependencies | undefined;\n export const EXPOSED_INSTANCE_DEPENDENCIES: ExposedInstanceDependencies | undefined;\n export const WEB_COMPONENT_NAME: string | undefined;\n}\n\nfunction get<T>(fetch: () => T) {\n try {\n return fetch();\n } catch {\n return undefined;\n }\n}\n\nconst _EXPOSED_DEPENDENCIES = get(() => {\n return EXPOSED_DEPENDENCIES;\n});\n\nconst _WEB_COMPONENT_NAME = get(() => {\n return WEB_COMPONENT_NAME;\n});\n\nconst _EXPOSED_INSTANCE_DEPENDENCIES = get(() => {\n return EXPOSED_INSTANCE_DEPENDENCIES;\n});\n\nexport {\n _EXPOSED_DEPENDENCIES as EXPOSED_DEPENDENCIES,\n _EXPOSED_INSTANCE_DEPENDENCIES as EXPOSED_INSTANCE_DEPENDENCIES,\n _WEB_COMPONENT_NAME as WEB_COMPONENT_NAME,\n};\n"],"names":["get","fetch","undefined","_EXPOSED_DEPENDENCIES","EXPOSED_DEPENDENCIES","_WEB_COMPONENT_NAME","WEB_COMPONENT_NAME","_EXPOSED_INSTANCE_DEPENDENCIES","EXPOSED_INSTANCE_DEPENDENCIES"],"mappings":"AAAA,uDAAuD,GASvD,SAASA,IAAOC,KAAc;IAC1B,IAAI;QACA,OAAOA;IACX,EAAE,UAAM;QACJ,OAAOC;IACX;AACJ;AAEA,MAAMC,wBAAwBH,IAAI;IAC9B,OAAOI;AACX;AAEA,MAAMC,sBAAsBL,IAAI;IAC5B,OAAOM;AACX;AAEA,MAAMC,iCAAiCP,IAAI;IACvC,OAAOQ;AACX;AAEA,SACIL,yBAAyBC,oBAAoB,EAC7CG,kCAAkCC,6BAA6B,EAC/DH,uBAAuBC,kBAAkB,GAC3C"}
|