@villagehq/extension-sdk
Version:
Village Chrome Extension SDK for Partner Integrations
39 lines (38 loc) • 1.22 kB
JavaScript
import { a as getVillageService, d as relayBridgeMessage } from "./tracking-events-eea50f86.js";
import { T } from "./tracking-events-eea50f86.js";
async function sendMessage(msg) {
const service = getVillageService();
const wide = msg;
switch (wide.command) {
case "getSettings":
return await service.getSettings();
case "getUserIntegration":
return await service.getUserIntegration();
case "saveUISettings":
return await service.saveUISettings(wide.data);
case "checkPaths":
return await service.checkPaths(wide.url);
case "tracking":
return await service.tracking(
wide.eventName,
wide.properties
);
case "village:bind:extension": {
const input = typeof wide.data === "object" && wide.data !== null && "enabled" in wide.data ? { enabled: Boolean(wide.data.enabled) } : wide.data;
return await service.bindExtension(input);
}
case "bridge:relay":
return await relayBridgeMessage(wide.payload);
default: {
throw new Error(
`sendMessage shim: unknown command ${wide.command}`
);
}
}
}
export {
T as TRACKING_EVENTS,
getVillageService,
relayBridgeMessage,
sendMessage
};