cookie-driver
TypeScript icon, indicating that this package has built-in type declarations

0.5.1 • Public • Published

CookieDB for Node

A fast and correct CookieDB driver for Node

Examples for how to use this module can be found on the official documentation site

Example

const { CookieDB } = require("cookie-driver");

// Initialize instance
const cookieDB = new CookieDB(
  "http://localhost:8777",
  "UKTZOvKweOG6tyKQl3q1SZlNx7AthowA",
);

// Create a table with a schema
await cookieDB.createTable("users", {
  name: "string",
  description: "nullable string",
  age: "number",
});

// Get schema for a table
await cookieDB.metaTable("users");

// Get schemas for all table
await cookieDB.meta();

// Insert document
const cookieFanKey = await cookieDB.insert("users", {
  name: "cookie_fan",
  description: null,
  age: 20,
});

interface User {
  name: string;
  description: string | null;
  age: number;
  key: string;
}

// Get document
const cookieFan = await cookieDB.get<User>("users", cookieFanKey);

// Update document
await cookieDB.update("users", cookieFanKey, {
  description: "a huge fan of cookies",
  age: 21,
});

// Select document by query
const usersThatStartWithCookie = await cookieDB.select(
  "users",
  'starts_with($name, "cookie")',
  {
    maxResults: 5,
  },
);

// Delete document
await cookieDB.delete("users", cookieFanKey);

// Delete documents by query
await cookieDB.deleteByQuery("users", 'starts_with($name, "cookie")');

// Edit the table
await cookieDB.editTable("users", {
  name: "deprecatedUsers",
  schema: {
    name: "string",
  },
  alias: {
    name: "$name",
  },
});

// Drop the table
await cookieDB.dropTable("deprecatedUsers");

// Create a user
const { username, token } = await cookieDB.createUser({
  username: "cookie_fan",
  token: "a_very_secure_password",
});

// Regenerate a user's token
const { token: new_token } = await cookieDB.regenerateToken(
  "cookie_fan",
);

// Delete a user
await cookieDB.deleteUser("cookie_fan");

/cookie-driver/

    Package Sidebar

    Install

    npm i cookie-driver

    Weekly Downloads

    0

    Version

    0.5.1

    License

    MIT

    Unpacked Size

    36.3 kB

    Total Files

    11

    Last publish

    Collaborators

    • linolevan