@neutronstar/webview-bridge

webview bridge, component of WebViewBridgeOS and WebViewBridgeAndroid

Usage no npm install needed!

<script type="module">
  import neutronstarWebviewBridge from 'https://cdn.skypack.dev/@neutronstar/webview-bridge';
</script>

README

WebViewBridgeJS

Component of WebViewBridgeOS and WebViewBridgeAndroid

How to use

  1. Get client by name.
const client = await WebViewBridgeClient("<your name>");
  1. handle a message.
    client.on("ping").onEvent((payload, ack) => {
        ack();
    });
  1. handle reply required message.
     client.on("ping").onEvent((payload, ack) => {
        ack(new Date().toLocaleString());
    });
  1. handle reply-required and cancelable message.
client.on("ping").onEvent((payload, ack) => {
    return setTimeout(() => {
        ack(new Date().toLocaleString());
    }, 1000);
}).onCancel((context) => {
    clearTimeout(context);
});
  1. emit message.
client.emit("ping", new Date().toLocaleString());
  1. deliver message.
const ackPayload = await client.deliver("ping", new Date().toLocaleString());
  1. deliver message with timout.
const ackPayload = await client.deliver("ping", new Date().toLocaleString()).setTimeout(3000);
  1. deliver cancelable message, and delay to cancel.
const cancelToken = new CancelToken();
client.deliver("ping", new Date().toLocaleString()).setCancelToken(cancelToken).then((payload)=>{

}).catch((error)=>{

});
setTimeout(()=>{
    cancelToken.cancel();
}, 3000);