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

6.8.0 • 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' })

/@based/client/

    Package Sidebar

    Install

    npm i @based/client

    Weekly Downloads

    293

    Version

    6.8.0

    License

    MIT

    Unpacked Size

    219 kB

    Total Files

    112

    Last publish

    Collaborators

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