Skip to content

liam-fitzgerald/urbit-airlock-ts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Urbit Airlock bindings

Installation

npm install urbit-airlock --save

Usage

Connection

Opening a connection to your urbit is as follows

const connection = await connect(
  'zod',
  'http://localhost',
  80,
  'lidlut-tabwed-pillex-ridrup'
);
const channel = new Channel(connection);

You may then subscribe and poke over the connection.

channel.subscribe('chat-view', '/primary', {
  mark: 'json',
  onError: (err: any) => { console.log(err); },
  onEvent: (event: any) => { console.log(event); },
  onQuit: (err: any) => { console.log(err); }
});

channel.poke('gall-app', {
  mark: 'json',
  data: { update: 2 }
});

Typescript

Pokes and subscription updates are strongly typed, but you need to make the interface-mark correspondence known to typescript.

You associate a mark to an interface like so

declare module 'urbit-airlock/lib/marks' {
  interface Marks {
    readonly 'number': number;
  }
}

This associates the 'number' mark to the typescript type number

About

A library for interacting with your urbit over HTTP

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published