0.9.7 • Published 1 year ago

@polywrap/ws-plugin-js v0.9.7

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

@polywrap/ws-plugin-js

WebSocket plugin allows Polywrap Client to interact with WebSocket servers.

interface

See schema.graphql.

callback

Every incoming WebSocket message can be passed to a callback function in another wrapper. Use addCallback to start passing messages and removeCallback to stop. The callback function is expected to have a parameter data, i.e. foo(data: string).

//assemblyscript

export function callback(args: Args_callback): boolean {
  Logger_Module.log({message: args.data})
  return true;
}

export function subscribe(args: Args_subscribe): boolean {
  const id = WS_Module.open({
    url: args.url
  }).unwrap();

  WS_Module.addCallback({
    id,
    callback: {
      uri: "wrap://ens/this.polywrap.eth",
      method: "callback"
    }
  })

  return true;
}

export function unsubscribe(args: Args_subscribe): boolean {
  const id = WS_Module.open({
    url: args.url
  }).unwrap();

  WS_Module.removeCallback({
    id,
    callback: {
      uri: "wrap://ens/this.polywrap.eth",
      method: "callback"
    }
  })

  return true;
}

cache

Incoming WebSocket messages can be stored in the plugin and retrieved as an array later. Use addCache to start caching messages and removeCache to stop. Use receive to get an array of cached messages and empty the cache. Optionally, wait for a timeout, or a minimum number of cached messages before retrieving the array.

//assemblyscript
export function get(args: Args_get): string[] {
  const id = WS_Module.open({
    url: args.url
  }).unwrap();

  WS_Module.addCache({
    id
  }).unwrap().unwrap()
 
  WS_Module.send({
    id,
    message: args.message
  }).unwrap().unwrap();
 
  const messages = WS_Module.receive{ 
    id, 
    timeout: { value: 200 },
    quote: { value: 3 }
  }).unwrap();
 
  const data: string[] = messages.map<string>((msg) => msg.data);
 
  return data;
}
0.9.7

1 year ago

0.9.6

1 year ago

0.9.5

1 year ago

0.10.0-pre.8

1 year ago

0.10.0-pre.7

1 year ago

0.10.0-pre.6

1 year ago

0.10.0-pre.3

1 year ago

0.10.0-pre.4

1 year ago

0.10.0-pre.1

1 year ago

0.10.0-pre.5

1 year ago

0.9.4

2 years ago

0.9.3

2 years ago

0.9.0

2 years ago

0.9.2

2 years ago

0.9.1

2 years ago

0.10.0-pre.0

2 years ago

0.8.0

2 years ago

0.5.0

2 years ago

0.4.1

2 years ago

0.7.0

2 years ago

0.6.0

2 years ago

0.4.0

2 years ago