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

8.0.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' })

/@based/client/

    Package Sidebar

    Install

    npm i @based/client

    Weekly Downloads

    401

    Version

    8.0.2

    License

    MIT

    Unpacked Size

    447 kB

    Total Files

    119

    Last publish

    Collaborators

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