@rushdb/javascript-sdk
TypeScript icon, indicating that this package has built-in type declarations

0.17.1 • Public • Published

RushDB Logo

RushDB SDK for JavaScript and TypeScript

NPM Version NPM License

NPM Downloads npm bundle size

Made with Node Package - Typescript

HomepageBlogPlatformDocsExamples

Highlights


✨ No Configuration Needed: Plug-and-play design requires no setup or configuration.

🤖 Automatic Type Inference: Enjoy seamless type safety with automatic TypeScript inference.

↔️ Isomorphic Architecture: Fully compatible with both server and browser environments.

🏋️ Zero Dependencies: Lightweight and efficient with no external dependencies.

Installation


NPM:

npm install @rushdb/javascript-sdk

YARN:

yarn add @rushdb/javascript-sdk

PNPM:

pnmp add @rushdb/javascript-sdk

Usage


  1. Obtain API Token: Grab one from the Dashboard.
  2. Build anything: Easily push, search, and manage relationships within your data.

TLDR;

import RushDB, { Model } from '@rushdb/javascript-sdk'

// Setup SDK
const db = new RushDB("API_TOKEN", {
  // This is the default URL; no need to provide it unless overriding.
  url: "https://api.rushdb.com", 
});

// Push any data, and RushDB will automatically flatten it into Records 
// and establish relationships between them accordingly.
await db.records.createMany("COMPANY", {
  name: 'Google LLC',
  address: '1600 Amphitheatre Parkway, Mountain View, CA 94043, USA',
  foundedAt: '1998-09-04T00:00:00.000Z',
  rating: 4.9,
  DEPARTMENT: [{
    name: 'Research & Development',
    description:
        'Innovating and creating advanced technologies for AI, cloud computing, and consumer devices.',
    PROJECT: [{
      name: 'Bard AI',
      description:
          'A state-of-the-art generative AI model designed for natural language understanding and creation.',
      active: true,
      budget: 1200000000,
      EMPLOYEE: [{
        name: 'Jeff Dean',
        position: 'Head of AI Research',
        email: 'jeff@google.com',
        dob: '1968-07-16T00:00:00.000Z',
        salary: 3000000
      }]
    }]
  }]
})


// Find Records by specific criteria
const matchedEmployees = await db.records.find({
  labels: ['EMPLOYEE'],
  where: {
    position: { $contains: 'AI' },
    PROJECT: {
      DEPARTMENT: {
        COMPANY: {
          rating: { $gte: 4 }
        }
      }
    }
  }
})

const company = await db.records.findUniq('COMPANY', {
  where: {
    name: 'Google LLC'
  }
})

// Manage relationships
await company.attach(matchedEmployees, { type: "WORKING_AT" })
You're Awesome! 🚀

Check the Docs and Examples Repository to learn more 🤓

Contributing


See CONTRIBUTING.md.

/@rushdb/javascript-sdk/

    Package Sidebar

    Install

    npm i @rushdb/javascript-sdk

    Weekly Downloads

    19

    Version

    0.17.1

    License

    Apache-2.0

    Unpacked Size

    147 kB

    Total Files

    36

    Last publish

    Collaborators

    • 1px.one