xo-lib

    0.10.1 • Public • Published

    xo-lib

    Package Version License PackagePhobia Node compatibility

    Library to connect to XO-Server

    Install

    Installation of the npm package:

    > npm install --save xo-lib
    

    Usage

    If the URL is not provided and the current environment is a web browser, the location of the current page will be used.

    import Xo from 'xo-lib'
    
    // Connect to XO.
    const xo = new Xo({ url: 'https://xo.company.tld' })
    
    // Let's start by opening the connection.
    await xo.open()
    
    // Must sign in before being able to call any methods (all calls will
    // be buffered until signed in).
    await xo.signIn({
      email: 'admin@admin.net',
      password: 'admin',
    })
    
    console('signed as', xo.user)

    The credentials can also be passed directly to the constructor:

    const xo = Xo({
      url: 'https://xo.company.tld',
      credentials: {
        email: 'admin@admin.net',
        password: 'admin',
      },
    })
    
    xo.open()
    
    xo.on('authenticated', () => {
      console.log(xo.user)
    })

    If the URL is not provided and the current environment is a web browser, the location of the current page will be used.

    Connection

    await xo.open()
    
    console.log('connected')

    Disconnection

    xo.close()
    
    console.log('disconnected')

    Method call

    const token = await xo.call('token.create')
    
    console.log('Token created', token)

    Status

    The connection status is available through the status property which is open, connecting or closed.

    console.log('%s to xo-server', xo.status)

    Current user

    Information about the user account used to sign in is available through the user property.

    console.log('Current user is', xo.user)

    This property is null when the status is not connected.

    Events

    xo.on('open', () => {
      console.log('connected')
    })
    xo.on('closed', () => {
      console.log('disconnected')
    })
    xo.on('notification', function (notif) {
      console.log('notification:', notif.method, notif.params)
    })
    xo.on('authenticated', () => {
      console.log('authenticated as', xo.user)
    })
    
    xo.on('authenticationFailure', () => {
      console.log('failed to authenticate')
    })

    Contributions

    Contributions are very welcomed, either on the documentation or on the code.

    You may:

    • report any issue you've encountered;
    • fork and create a pull request.

    License

    AGPL-3.0-or-later © Vates SAS

    Install

    npm i xo-lib

    DownloadsWeekly Downloads

    70

    Version

    0.10.1

    License

    AGPL-3.0-or-later

    Unpacked Size

    11.3 kB

    Total Files

    4

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar