Neptune's Potato Monsters

    pick-universe

    0.2.2 • Public • Published

    pick-universe

    pick-universe is a nodejs module to interface with UniVerse and UniData databases. This is done through bindings to the functions in the C intercall library provided by Rocket.

    Install

    > npm install pick-universe
    

    This addon requires libffi to be installed. On Ubuntu this will be libffi-dev, on Redhat this will be libffi-devel.

    Examples

    const Universe = require("pick-universe");
    const uv = new Universe("localhost", "username", "password", "/path/to/account");
    
    uv.StartSession();
    
    // Read in a record
    const VOC = uv.Open("VOC");
    const time = uv.Read("TIME", VOC);
    console.log(time);
    
    // Execute a command
    const [result, output] = uv.Execute("CT MD TIME");
    console.log(output);
    
    uv.EndAllSessions();
    

    The output is a string directly from the database. You can convert the string to an array or use the pick-mv library to convert the string.

    https://www.npmjs.com/package/pick-mv

    This library also has functions to help use multivalue arrays in a way much closer to BASIC than traditional javascript arrays.

    Select an entire file and print the ids:

    const mv = require("pick-mv");
    const Universe = require("pick-universe");
    const uv = new Universe("localhost", "username", "password", "/path/to/account");
    
    uv.StartSession();
    
    const INV = uv.Open("INVENTORY-FILE");
    uv.Select(INV);
    
    while (true) {
        let id = uv.ReadNext();
        if (id === null) break;
        let record = mv.MVMatrix(uv.Read(id, INV));
        console.log(id, record[[1]]);
    }
    
    uv.EndAllSessions();
    

    Documentation

    Documentation is available online.

    You can generate documentation by running the generate-docs command.

    > npm install -g jsdocs
    > npm install --save-dev minami
    > jsdoc index.js README.md -t node_modules/minami/
    

    This will create the documentation in a folder called out.

    Changelog

    0.2.2 - Check for the error IE_LRR in readlist.

    0.2.1 - Return errors for subroutines.

    0.2.0 - Record IDs get converted to ISO8859-1 just like records. Error codes are accompanied by their messages from the intercall header file.

    Hacking Instructions

    To hack on this addon, you can run the following commands:

    > git clone git@github.com:Krowemoh/node-pick-universe.git
    > cd node-pick-universe
    > npm install
    > node-gyp configure build
    

    Keywords

    none

    Install

    npm i pick-universe

    DownloadsWeekly Downloads

    2

    Version

    0.2.2

    License

    ISC

    Unpacked Size

    473 kB

    Total Files

    68

    Last publish

    Collaborators

    • krowemoh