@verse8/platform 1.0.4 → 1.0.5
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/hooks/useVXShop.d.ts +2 -1
- package/dist/hooks/useVXShop.js +4 -0
- package/dist/hooks/useVXShop.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/package.json +1 -1
- package/dist/store/vxShopStore.d.ts +6 -1
- package/dist/store/vxShopStore.js +28 -0
- package/dist/store/vxShopStore.js.map +1 -1
- package/dist/types/vxShop.d.ts +5 -0
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { VXShopItem } from "../types/vxShop";
|
|
1
|
+
import { VXShopItem, VXShopDialogClosedPayload } from "../types/vxShop";
|
|
2
2
|
export interface UseVXShopOptions {
|
|
3
3
|
verseId?: string;
|
|
4
4
|
}
|
|
@@ -9,5 +9,6 @@ export interface UseVXShopResult {
|
|
|
9
9
|
getItem: (productId: string) => VXShopItem | undefined;
|
|
10
10
|
buyItem: (productId: string) => void;
|
|
11
11
|
refresh: () => Promise<void>;
|
|
12
|
+
onClose: (callback: (payload: VXShopDialogClosedPayload) => void) => () => void;
|
|
12
13
|
}
|
|
13
14
|
export declare function useVXShop(options?: UseVXShopOptions): UseVXShopResult;
|
package/dist/hooks/useVXShop.js
CHANGED
|
@@ -28,6 +28,9 @@ export function useVXShop(options) {
|
|
|
28
28
|
const refresh = useCallback(async () => {
|
|
29
29
|
await vxShopStore.refresh();
|
|
30
30
|
}, []);
|
|
31
|
+
const onClose = useCallback((callback) => {
|
|
32
|
+
return vxShopStore.onClose(callback);
|
|
33
|
+
}, []);
|
|
31
34
|
return {
|
|
32
35
|
items: state.items,
|
|
33
36
|
isLoading: state.isLoading,
|
|
@@ -35,6 +38,7 @@ export function useVXShop(options) {
|
|
|
35
38
|
getItem,
|
|
36
39
|
buyItem,
|
|
37
40
|
refresh,
|
|
41
|
+
onClose,
|
|
38
42
|
};
|
|
39
43
|
}
|
|
40
44
|
//# sourceMappingURL=useVXShop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVXShop.js","sourceRoot":"","sources":["../../src/hooks/useVXShop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"useVXShop.js","sourceRoot":"","sources":["../../src/hooks/useVXShop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAmBvD,MAAM,UAAU,SAAS,CAAC,OAA0B;IAClD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjE,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAErC,SAAS,CAAC,GAAG,EAAE;QAEb,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAG9B,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE;YAC7C,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAGH,IACE,CAAC,cAAc,CAAC,OAAO;YACvB,MAAM;YACN,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YACxB,CAAC,KAAK,CAAC,SAAS,EAChB,CAAC;YACD,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;YAC9B,WAAW,CAAC,OAAO,EAAE,CAAC;QACxB,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,SAAiB,EAAE,EAAE;QAChD,OAAO,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,SAAiB,EAAE,EAAE;QAChD,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACrC,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,OAAO,GAAG,WAAW,CACzB,CAAC,QAAsD,EAAE,EAAE;QACzD,OAAO,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EACD,EAAE,CACH,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO;QACP,OAAO;QACP,OAAO;QACP,OAAO;KACR,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { useVXShop } from "./hooks/useVXShop";
|
|
2
|
-
export type { UseVXShopResult } from "./hooks/useVXShop";
|
|
3
|
-
export type { VXShopItem, VXShopApiResponse, VXShopParams, PurchaseConstraints, } from "./types/vxShop";
|
|
2
|
+
export type { UseVXShopResult, UseVXShopOptions } from "./hooks/useVXShop";
|
|
3
|
+
export type { VXShopItem, VXShopApiResponse, VXShopParams, VXShopDialogClosedPayload, PurchaseConstraints, } from "./types/vxShop";
|
package/dist/package.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { VXShopItem, VXShopParams } from "../types/vxShop";
|
|
1
|
+
import { VXShopItem, VXShopParams, VXShopDialogClosedPayload } from "../types/vxShop";
|
|
2
2
|
interface VXShopStoreState {
|
|
3
3
|
items: VXShopItem[];
|
|
4
4
|
isLoading: boolean;
|
|
@@ -6,9 +6,12 @@ interface VXShopStoreState {
|
|
|
6
6
|
listeners: Set<() => void>;
|
|
7
7
|
params: VXShopParams | null;
|
|
8
8
|
}
|
|
9
|
+
type OnCloseCallback = (payload: VXShopDialogClosedPayload) => void;
|
|
9
10
|
declare class VXShopStore {
|
|
10
11
|
private state;
|
|
11
12
|
private throttledFetch;
|
|
13
|
+
private onCloseCallbacks;
|
|
14
|
+
private messageListenerInitialized;
|
|
12
15
|
setParams(params: VXShopParams | null): void;
|
|
13
16
|
getState(): VXShopStoreState;
|
|
14
17
|
subscribe(listener: () => void): () => void;
|
|
@@ -19,6 +22,8 @@ declare class VXShopStore {
|
|
|
19
22
|
refresh(): Promise<void>;
|
|
20
23
|
getItem(productId: string): VXShopItem | undefined;
|
|
21
24
|
buyItem(productId: string): void;
|
|
25
|
+
private initMessageListener;
|
|
26
|
+
onClose(callback: OnCloseCallback): () => void;
|
|
22
27
|
}
|
|
23
28
|
export declare const vxShopStore: VXShopStore;
|
|
24
29
|
export {};
|
|
@@ -26,6 +26,8 @@ class VXShopStore {
|
|
|
26
26
|
params: null,
|
|
27
27
|
};
|
|
28
28
|
this.throttledFetch = createThrottle(THROTTLE_DELAY);
|
|
29
|
+
this.onCloseCallbacks = new Set();
|
|
30
|
+
this.messageListenerInitialized = false;
|
|
29
31
|
}
|
|
30
32
|
setParams(params) {
|
|
31
33
|
this.state.params = params;
|
|
@@ -104,6 +106,32 @@ class VXShopStore {
|
|
|
104
106
|
payload: { productId },
|
|
105
107
|
}, "*");
|
|
106
108
|
}
|
|
109
|
+
initMessageListener() {
|
|
110
|
+
if (this.messageListenerInitialized || typeof window === "undefined") {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
this.messageListenerInitialized = true;
|
|
114
|
+
window.addEventListener("message", (event) => {
|
|
115
|
+
if (event.data?.type === "VX_SHOP_DIALOG_CLOSED") {
|
|
116
|
+
const payload = event.data.payload;
|
|
117
|
+
this.onCloseCallbacks.forEach((callback) => {
|
|
118
|
+
try {
|
|
119
|
+
callback(payload);
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
console.error("Error in VXShop onClose callback:", error);
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
onClose(callback) {
|
|
129
|
+
this.initMessageListener();
|
|
130
|
+
this.onCloseCallbacks.add(callback);
|
|
131
|
+
return () => {
|
|
132
|
+
this.onCloseCallbacks.delete(callback);
|
|
133
|
+
};
|
|
134
|
+
}
|
|
107
135
|
}
|
|
108
136
|
export const vxShopStore = new VXShopStore();
|
|
109
137
|
//# sourceMappingURL=vxShopStore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vxShopStore.js","sourceRoot":"","sources":["../../src/store/vxShopStore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vxShopStore.js","sourceRoot":"","sources":["../../src/store/vxShopStore.ts"],"names":[],"mappings":"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"}
|
package/dist/types/vxShop.d.ts
CHANGED