UNPKG

figwire

Version:

Bidirectional IPC communication between UI and core in Figma plugins. Lightweight and typed.

25 lines (21 loc) 707 B
'use strict'; var createClient = require('./create-client-DCev-ISb.cjs'); const uiPostFn = (message) => window.parent.postMessage({ pluginMessage: message }, "*"); const uiReceiveFn = (callback) => { window.addEventListener("message", (message) => { callback(message.data.pluginMessage); }); }; const uiApiInstance = new createClient.API("ui", uiPostFn, uiReceiveFn); function defineApi(methods) { for (const [name, method] of Object.entries(methods)) { uiApiInstance.registerMethod(name, method); } return methods; } function client() { return createClient.createClient(uiApiInstance); } exports.client = client; exports.defineApi = defineApi; exports.uiApiInstance = uiApiInstance;