ARK Database Wrapper

18.3.0 · abandoned · verified Wed Apr 22

ark-database is a wrapper library designed for database access, specifically tailored for the `locator-kn/ark` application server. As of version 18.3.0, the package is deeply integrated into the `ark` ecosystem and requires `hapi` (>=9.x.x) as a peer dependency. The project appears to be abandoned, with its last commit in October 2017, and an open GitHub issue (dating back to 2016) indicates an unfinished transition from callback-based APIs to Promises. This leads to an inconsistent API surface where developers might encounter a mix of both patterns, necessitating direct source code inspection for clarity. Given its abandonment and tight coupling to an unmaintained server framework, it is not recommended for new projects. Its release cadence was irregular, with significant periods of inactivity.

Common errors

Warnings

Install

Imports

Quickstart

This quickstart demonstrates the core usage of `ark-database` including initialization and performing basic CRUD operations (get, create, delete) using its callback-based API.

const Database = require('ark-database');

// Initialize the database wrapper for a specific tenant/user context
const db = new Database('alice'); 

// Example: Get a user by ID using a callback
db.getUserById('1234567890', function(err, res) {
   if (err) {
      console.error('Error fetching user:', err);
      return;
   }
   console.log('User found:', res);
});

// Example: Create a new trip entry
const newTrip = { 
  id: 'trip-abc-123',
  userId: 'alice',
  destination: 'Wonderland',
  startDate: new Date(),
  status: 'planned'
};
db.createTrip(newTrip, function(err, res) {
   if (err) {
      console.error('Error creating trip:', err);
      return;
   }
   console.log('Trip created:', res);
});

// Example: Delete a location by ID
db.deleteLocationById('12322456576567', function(err, res) {
   if (err) {
      console.error('Error deleting location:', err);
      return;
   }
   console.log('Location deleted result:', res);
});

view raw JSON →