@based/client
TypeScript icon, indicating that this package has built-in type declarations

6.5.2 • Public • Published

@based/client

Based client

import based from '@based/client'

// Create client
const client = based({
  env: 'myEnv',
  org: 'myOrg',
  project: 'myProject',
})

client.once('connect', (isConnected) => {
  console.info('connect', isConnected)
})

// Authenticate and use localStorage or a file in node
const authState = await client.setAuthState({
  token,
  persistent: true,
})

// Call a function
await client.call('db:update-schema', {
  languages: ['en'],
  types: {
    thing: {
      fields: {
        name: { type: 'string' },
      },
    },
  },
})

// Get data once
const data = await client.query('db', { $id: 'fwe2233', title: true }).get()

// Get updates, persistent stores results in localStorage
const unsubscribe = client
  .query('db', { $id: 'fwe2233', title: true }, { persistent: true })
  .subscribe((data) => console.log(data))

// Channels are stateless streams
const unsubscribeChannel = client
  .channel('events', { type: 'page-view' })
  .subscribe((event) => console.log(event))

client.channel('events', { type: 'page-view' }).publish({ id: 'mypage' })

Readme

Keywords

none

Package Sidebar

Install

npm i @based/client

Weekly Downloads

526

Version

6.5.2

License

MIT

Unpacked Size

230 kB

Total Files

118

Last publish

Collaborators

  • nfrade
  • kylemarch513
  • framma
  • olliv
  • youzid
  • rase-
  • saulx