urbit/pkg/npm/api
2021-08-31 14:59:32 -05:00
..
contacts @urbit/api: fix build 2021-07-02 10:40:56 +10:00
docket @urbit/api: update docket, hood bindings 2021-08-25 17:36:38 +10:00
graph @urbit/api: fix empty getDeepOlderThan 2021-07-29 09:18:54 +10:00
groups @urbit/api: fix build 2021-07-02 10:40:56 +10:00
hark Merge remote-tracking branch 'origin/release/next-userspace' into lf/npm-typings 2021-06-14 12:00:02 +10:00
hood @urbit/api: update docket, hood bindings 2021-08-25 17:36:38 +10:00
invite @urbit/api: fix build 2021-07-02 10:40:56 +10:00
lib types: fixing type issues and updating grid glob 2021-08-31 14:59:32 -05:00
metadata @urbit/api: update md ver 2021-07-21 12:26:33 +10:00
s3 npm: Updated http-api and api packages 2021-04-22 07:17:39 -07:00
settings @urbit/api: update settings pokes, scries 2021-06-09 13:02:55 +10:00
.eslintrc.js npm/api: correct metadata resource interface 2021-07-07 12:24:52 -04:00
deps.d.ts @urbit/api: update graph pokes, scries 2021-06-10 12:01:25 +10:00
index.ts @urbit/api: add docket bindings 2021-08-23 08:04:06 +10:00
package-lock.json notifications button font size, fix leap portal layout jump 2021-08-18 17:54:02 -07:00
package.json meta: update npm version 2021-07-23 11:37:50 +10:00
README.md npm: Updated http-api and api packages 2021-04-22 07:17:39 -07:00
tsconfig.json @urbit/api: fix build 2021-07-02 10:40:56 +10:00

Urbit API in JavaScript

This package simplifies the process of working with Urbit's APIs into fluent, typed functions organized by app. Pairs well with @urbit/http-api. Compare:

Without:

import UrbitInterface from '@urbit/http-api';
const api: UrbitInterface = useApi();
api.poke({
  app: 'settings-store',
  mark: 'settings-event',
  json: {
    'put-entry': {
      'bucket-key': bucket,
      'entry-key': key,
      'value': value
    }
  }
});

With:

import UrbitInterface from '@urbit/http-api';
import { settings } from '@urbit/api';
const api: UrbitInterface = useApi();
api.poke(setings.putEntry(bucket, key, value));

You may import single functions

import { putEntry } from '@urbit/api';

or whole apps:

import { settings } from '@urbit/api';

This package also provides types and utilities for working with Urbit's internal data structures, such as Nouns, Das, Tas, and so forth.

This package was originally developed as part of Tlon's Landscape client and therefore the best reference material exists there.