@servicetitan/web-components 28.4.0 → 29.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/contexts/mfe-data-context.d.ts +1 -5
- package/dist/contexts/mfe-data-context.d.ts.map +1 -1
- package/dist/contexts/mfe-data-context.js.map +1 -1
- package/dist/event-bus.d.ts +8 -5
- package/dist/event-bus.d.ts.map +1 -1
- package/dist/event-bus.js +2 -2
- package/dist/event-bus.js.map +1 -1
- package/dist/history-manager.d.ts.map +1 -1
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/get-version-mismatches.d.ts.map +1 -1
- package/dist/utils/is-versioned-url.d.ts.map +1 -1
- package/dist/utils/web-component.d.ts.map +1 -1
- package/package.json +13 -13
- package/src/contexts/mfe-data-context.ts +1 -5
- package/src/event-bus.ts +11 -9
- package/src/types.ts +4 -0
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Context used to pass data from the host to the MFEs
|
|
3
3
|
*/
|
|
4
|
-
|
|
5
|
-
type JSON = {
|
|
6
|
-
[key: string]: JSONPrimitive | JSON[] | JSON;
|
|
7
|
-
};
|
|
4
|
+
import { JSON, JSONPrimitive } from '../types';
|
|
8
5
|
export type MFEContextData<T> = {
|
|
9
6
|
[P in keyof T]: T[P] extends JSONPrimitive ? T[P] : T[P] extends (infer U)[] ? MFEContextData<U>[] : T[P] extends JSON ? MFEContextData<T[P]> : never;
|
|
10
7
|
};
|
|
11
8
|
export declare const MFEDataContext: import("react").Context<JSON>;
|
|
12
9
|
export declare function useMFEDataContext<T extends MFEContextData<T>>(): T;
|
|
13
|
-
export {};
|
|
14
10
|
//# sourceMappingURL=mfe-data-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mfe-data-context.d.ts","sourceRoot":"","sources":["../../src/contexts/mfe-data-context.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"mfe-data-context.d.ts","sourceRoot":"","sources":["../../src/contexts/mfe-data-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG/C,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;KAC3B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,GACpC,CAAC,CAAC,CAAC,CAAC,GACJ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GACtB,cAAc,CAAC,CAAC,CAAC,EAAE,GACnB,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GACf,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACpB,KAAK;CAClB,CAAC;AAEF,eAAO,MAAM,cAAc,+BAA0B,CAAC;AAEtD,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,cAAc,CAAC,CAAC,CAAC,OAI5D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mfe-data-context.js","sourceRoot":"","sources":["../../src/contexts/mfe-data-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"mfe-data-context.js","sourceRoot":"","sources":["../../src/contexts/mfe-data-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAclD,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAO,EAAE,CAAC,CAAC;AAEtD,MAAM,UAAU,iBAAiB;IAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAM,CAAC;IAEhD,OAAO,OAAO,CAAC;AACnB,CAAC"}
|
package/dist/event-bus.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { SymbolToken } from '@servicetitan/react-ioc';
|
|
2
|
+
import { JSON } from './types';
|
|
2
3
|
export type EventHandler<T = unknown> = (data: T) => void;
|
|
3
|
-
|
|
4
|
-
|
|
4
|
+
type JobPayload = JSON | void;
|
|
5
|
+
export type JobEventHandler<Result extends JobPayload = void> = (defer: {
|
|
6
|
+
resolve(result: Result): void;
|
|
5
7
|
reject(reason?: string | Error): void;
|
|
6
8
|
}) => void;
|
|
7
9
|
export type EventType = string | number | symbol;
|
|
@@ -9,9 +11,9 @@ export type SymbolTokenEventType<T, U extends EventType = EventType> = U extends
|
|
|
9
11
|
export declare const EVENT_BUS_TOKEN: SymbolToken<EventBus>;
|
|
10
12
|
export declare class EventBus {
|
|
11
13
|
job: {
|
|
12
|
-
on: (type: string, handler: JobEventHandler) => void;
|
|
13
|
-
off: (type: string, handler: JobEventHandler) => void;
|
|
14
|
-
emit: (type: string) => Promise<
|
|
14
|
+
on: <Result extends JobPayload = void>(type: string, handler: JobEventHandler<Result>) => void;
|
|
15
|
+
off: <Result extends JobPayload = void>(type: string, handler: JobEventHandler<Result>) => void;
|
|
16
|
+
emit: <Result extends JobPayload = void>(type: string) => Promise<Result>;
|
|
15
17
|
};
|
|
16
18
|
private emitter;
|
|
17
19
|
on: <T, U extends EventType = EventType>(type: SymbolTokenEventType<T, U>, handler: EventHandler<T>) => void;
|
|
@@ -19,4 +21,5 @@ export declare class EventBus {
|
|
|
19
21
|
emit: <T, U extends EventType = EventType>(type: SymbolTokenEventType<T, U>, data?: T) => void;
|
|
20
22
|
}
|
|
21
23
|
export declare function useEventBus(): EventBus;
|
|
24
|
+
export {};
|
|
22
25
|
//# sourceMappingURL=event-bus.d.ts.map
|
package/dist/event-bus.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../src/event-bus.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../src/event-bus.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAC1D,KAAK,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9B,MAAM,MAAM,eAAe,CAAC,MAAM,SAAS,UAAU,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE;IACpE,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;CACzC,KAAK,IAAI,CAAC;AACX,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACjD,MAAM,MAAM,oBAAoB,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,IAC/D,CAAC,SAAS,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAEpD,eAAO,MAAM,eAAe,uBAA2C,CAAC;AACxE,qBAAa,QAAQ;IACjB,GAAG;aACM,MAAM,SAAS,UAAU,eAAe,MAAM,WAAW,eAAe,CAAC,MAAM,CAAC;cAG/E,MAAM,SAAS,UAAU,eAAe,MAAM,WAAW,eAAe,CAAC,MAAM,CAAC;eAG/E,MAAM,SAAS,UAAU,eAAe,MAAM;MAcvD;IAEF,OAAO,CAAC,OAAO,CAAe;IAE9B,EAAE,GAAI,CAAC,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,EACpC,MAAM,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,SAAS,YAAY,CAAC,CAAC,CAAC,UAG1B;IAEF,GAAG,GAAI,CAAC,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,EACrC,MAAM,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,SAAS,YAAY,CAAC,CAAC,CAAC,UAG1B;IAEF,IAAI,GAAI,CAAC,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,MAAM,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,UAEpF;CACL;AAED,wBAAgB,WAAW,aAE1B"}
|
package/dist/event-bus.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import mitt from 'mitt';
|
|
2
|
-
import { useRef } from 'react';
|
|
3
2
|
import { symbolToken } from '@servicetitan/react-ioc';
|
|
3
|
+
import { useRef } from 'react';
|
|
4
4
|
export const EVENT_BUS_TOKEN = symbolToken('EVENT_BUS_TOKEN');
|
|
5
5
|
export class EventBus {
|
|
6
6
|
constructor() {
|
|
@@ -18,7 +18,7 @@ export class EventBus {
|
|
|
18
18
|
emit: (type) => {
|
|
19
19
|
return new Promise((resolve, reject) => {
|
|
20
20
|
this.emitter.emit(type, {
|
|
21
|
-
resolve
|
|
21
|
+
resolve,
|
|
22
22
|
reject: (reason) => {
|
|
23
23
|
if (typeof reason === 'string' || reason instanceof Error) {
|
|
24
24
|
reject(reason);
|
package/dist/event-bus.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../src/event-bus.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../src/event-bus.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,WAAW,EAAe,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAc/B,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAW,iBAAiB,CAAC,CAAC;AACxE,MAAM,OAAO,QAAQ;IAArB;QACI;;;;mBAAM;gBACF,EAAE,EAAE,CAAmC,IAAY,EAAE,OAAgC,EAAE,EAAE;oBACrF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACnC,CAAC;gBACD,GAAG,EAAE,CAAmC,IAAY,EAAE,OAAgC,EAAE,EAAE;oBACtF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACpC,CAAC;gBACD,IAAI,EAAE,CAAmC,IAAY,EAAE,EAAE;oBACrD,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;wBAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;4BACpB,OAAO;4BACP,MAAM,EAAE,CAAC,MAAuB,EAAE,EAAE;gCAChC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,YAAY,KAAK,EAAE,CAAC;oCACxD,MAAM,CAAC,MAAM,CAAC,CAAC;gCACnB,CAAC;qCAAM,CAAC;oCACJ,MAAM,EAAE,CAAC;gCACb,CAAC;4BACL,CAAC;yBACJ,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC;gBACP,CAAC;aACJ;WAAC;QAEM;;;;mBAAU,IAAI,EAAO;WAAC;QAE9B;;;;mBAAK,CACD,IAAgC,EAChC,OAAwB,EAC1B,EAAE;gBACA,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACnC,CAAC;WAAC;QAEF;;;;mBAAM,CACF,IAAgC,EAChC,OAAwB,EAC1B,EAAE;gBACA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACpC,CAAC;WAAC;QAEF;;;;mBAAO,CAAqC,IAAgC,EAAE,IAAQ,EAAE,EAAE;gBACtF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAClC,CAAC;WAAC;IACN,CAAC;CAAA;AAED,MAAM,UAAU,WAAW;IACvB,OAAO,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC;AAC1C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history-manager.d.ts","sourceRoot":"","sources":["../src/history-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAIhE,qBACa,cAAc;IAEvB,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE,CAAC;IAEpD,OAAO,4CAA0C;IAEjD,QAAQ,
|
|
1
|
+
{"version":3,"file":"history-manager.d.ts","sourceRoot":"","sources":["../src/history-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAIhE,qBACa,cAAc;IAEvB,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE,CAAC;IAEpD,OAAO,4CAA0C;IAEjD,QAAQ,GAAI,SAAS,OAAO,UAuD1B;IAEF,UAAU,GAAI,WAAW,OAAO,UAK9B;CACL"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAGzE,MAAM,MAAM,IAAI,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,EAAE,GAAG,IAAI,CAAA;CAAE,CAAC"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-version-mismatches.d.ts","sourceRoot":"","sources":["../../src/utils/get-version-mismatches.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGhD,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"get-version-mismatches.d.ts","sourceRoot":"","sources":["../../src/utils/get-version-mismatches.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGhD,eAAO,MAAM,oBAAoB,GAC7B,qBAAqB,mBAAmB,EACxC,cAAc,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,oBAAoB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;UAeT,MAAM;aAAW,MAAM;EAc3D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-versioned-url.d.ts","sourceRoot":"","sources":["../../src/utils/is-versioned-url.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"is-versioned-url.d.ts","sourceRoot":"","sources":["../../src/utils/is-versioned-url.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,OAQ5C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-component.d.ts","sourceRoot":"","sources":["../../src/utils/web-component.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAGpE,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAiB,MAAM,WAAW,CAAC;AAE5F,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,UAAU,iBAAiB;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;IAC1D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,GAAG,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"web-component.d.ts","sourceRoot":"","sources":["../../src/utils/web-component.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAGpE,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAiB,MAAM,WAAW,CAAC;AAE5F,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,UAAU,iBAAiB;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;IAC1D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,GAAG,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,IAUzC,+BAA+B,eAAe,6CAwDzD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@servicetitan/web-components",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "29.0.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -15,17 +15,17 @@
|
|
|
15
15
|
"src"
|
|
16
16
|
],
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@servicetitan/error-boundary": "
|
|
18
|
+
"@servicetitan/error-boundary": "29.0.0",
|
|
19
19
|
"lodash.get": "~4.4.2",
|
|
20
20
|
"mitt": "~3.0.1",
|
|
21
|
-
"semver": "~7.
|
|
21
|
+
"semver": "~7.7.1"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@servicetitan/anvil2": "^1.
|
|
24
|
+
"@servicetitan/anvil2": "^1.24.0",
|
|
25
25
|
"@servicetitan/design-system": "~14.5.1",
|
|
26
|
-
"@servicetitan/launchdarkly-service": "
|
|
27
|
-
"@servicetitan/log-service": "
|
|
28
|
-
"@servicetitan/react-ioc": "
|
|
26
|
+
"@servicetitan/launchdarkly-service": "29.0.0",
|
|
27
|
+
"@servicetitan/log-service": "29.0.0",
|
|
28
|
+
"@servicetitan/react-ioc": "29.0.0",
|
|
29
29
|
"@testing-library/dom": "^10.4.0",
|
|
30
30
|
"@testing-library/jest-dom": "^6.6.3",
|
|
31
31
|
"@testing-library/react": "^16.2.0",
|
|
@@ -35,16 +35,16 @@
|
|
|
35
35
|
"@types/react-dom": "~18.3.0",
|
|
36
36
|
"@types/semver": "~7.5.8",
|
|
37
37
|
"history": "~4.10.1",
|
|
38
|
-
"launchdarkly-react-client-sdk": "^3.6.
|
|
38
|
+
"launchdarkly-react-client-sdk": "^3.6.1",
|
|
39
39
|
"react": "~18.3.1",
|
|
40
40
|
"react-dom": "~18.3.1",
|
|
41
|
-
"shadow-dom-testing-library": "^1.
|
|
41
|
+
"shadow-dom-testing-library": "^1.12.0"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
|
-
"@servicetitan/anvil2": ">=1.
|
|
44
|
+
"@servicetitan/anvil2": ">=1.24.0",
|
|
45
45
|
"@servicetitan/design-system": ">=14.5.1",
|
|
46
|
-
"@servicetitan/log-service": "
|
|
47
|
-
"@servicetitan/react-ioc": "
|
|
46
|
+
"@servicetitan/log-service": "29.0.0",
|
|
47
|
+
"@servicetitan/react-ioc": "29.0.0",
|
|
48
48
|
"history": "~4.10.1",
|
|
49
49
|
"react": ">=17.0.2",
|
|
50
50
|
"react-dom": ">=17.0.2"
|
|
@@ -66,5 +66,5 @@
|
|
|
66
66
|
"cli": {
|
|
67
67
|
"webpack": false
|
|
68
68
|
},
|
|
69
|
-
"gitHead": "
|
|
69
|
+
"gitHead": "67b2763ad7c21532ea47c920974f87e8de433d32"
|
|
70
70
|
}
|
|
@@ -3,11 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
import { createContext, useContext } from 'react';
|
|
6
|
-
|
|
7
|
-
type JSONPrimitive = string | number | boolean | null | undefined;
|
|
8
|
-
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions
|
|
10
|
-
type JSON = { [key: string]: JSONPrimitive | JSON[] | JSON };
|
|
6
|
+
import { JSON, JSONPrimitive } from '../types';
|
|
11
7
|
|
|
12
8
|
// Type complexity below is required to support Interfaces being used
|
|
13
9
|
export type MFEContextData<T> = {
|
package/src/event-bus.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import mitt from 'mitt';
|
|
2
2
|
|
|
3
|
-
import { useRef } from 'react';
|
|
4
3
|
import { symbolToken, SymbolToken } from '@servicetitan/react-ioc';
|
|
4
|
+
import { useRef } from 'react';
|
|
5
|
+
import { JSON } from './types';
|
|
5
6
|
|
|
6
7
|
export type EventHandler<T = unknown> = (data: T) => void;
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
type JobPayload = JSON | void;
|
|
9
|
+
|
|
10
|
+
export type JobEventHandler<Result extends JobPayload = void> = (defer: {
|
|
11
|
+
resolve(result: Result): void;
|
|
9
12
|
reject(reason?: string | Error): void;
|
|
10
13
|
}) => void;
|
|
11
14
|
export type EventType = string | number | symbol;
|
|
@@ -13,19 +16,18 @@ export type SymbolTokenEventType<T, U extends EventType = EventType> =
|
|
|
13
16
|
U extends SymbolToken<any> ? SymbolToken<T> : U;
|
|
14
17
|
|
|
15
18
|
export const EVENT_BUS_TOKEN = symbolToken<EventBus>('EVENT_BUS_TOKEN');
|
|
16
|
-
|
|
17
19
|
export class EventBus {
|
|
18
20
|
job = {
|
|
19
|
-
on: (type: string, handler: JobEventHandler) => {
|
|
21
|
+
on: <Result extends JobPayload = void>(type: string, handler: JobEventHandler<Result>) => {
|
|
20
22
|
this.emitter.on(type, handler);
|
|
21
23
|
},
|
|
22
|
-
off: (type: string, handler: JobEventHandler) => {
|
|
24
|
+
off: <Result extends JobPayload = void>(type: string, handler: JobEventHandler<Result>) => {
|
|
23
25
|
this.emitter.off(type, handler);
|
|
24
26
|
},
|
|
25
|
-
emit: (type: string) => {
|
|
26
|
-
return new Promise<
|
|
27
|
+
emit: <Result extends JobPayload = void>(type: string) => {
|
|
28
|
+
return new Promise<Result>((resolve, reject) => {
|
|
27
29
|
this.emitter.emit(type, {
|
|
28
|
-
resolve
|
|
30
|
+
resolve,
|
|
29
31
|
reject: (reason?: string | Error) => {
|
|
30
32
|
if (typeof reason === 'string' || reason instanceof Error) {
|
|
31
33
|
reject(reason);
|
package/src/types.ts
ADDED