Go to file
KaKi87 8ac4059e0b ♻️ 'cdn.jsdelivr.net/gh/KaKi87-2/xedb' -> 'cdn.jsdelivr.net/npm/xedb.js' 2023-10-20 23:23:36 +02:00
lib ♻️ 'rawcdn.githack.com' -> 'cdn.jsdelivr.net' 2023-03-02 16:04:32 +01:00
src 💡 Add JSDoc 2022-12-02 21:26:22 +01:00
.gitignore 🎉 Initial commit 2022-11-11 21:56:53 +01:00
README.md ♻️ 'cdn.jsdelivr.net/gh/KaKi87-2/xedb' -> 'cdn.jsdelivr.net/npm/xedb.js' 2023-10-20 23:23:36 +02:00
mod.js Revert 1b0b0519 2022-12-25 08:58:26 +01:00
package.json 🔖 Bump patch version 2023-06-13 00:20:31 +02:00
yarn.lock Add 'modify' support for Node 2022-11-21 15:51:39 +01:00

README.md

XeDB

Cross-runtime embedded database for JavaScript.

Usage

Storage runtimes

From Deno

import {
    createDatastore
} from 'https://git.kaki87.net/KaKi87/xedb/raw/branch/master/mod.js';
import deno from 'https://git.kaki87.net/KaKi87/xedb/raw/branch/master/lib/deno.js';
const datastore = createDatastore({
    runtime: deno
});

From Node

import {
    createDatastore
} from 'xedb.js';
import node from 'xedb.js/lib/node.js';
const datastore = createDatastore({
    runtime: node
});

From browser

<script type="module">
    import {
        createDatastore
    } from 'https://cdn.jsdelivr.net/npm/xedb.js/mod.js';
    import browser from 'https://cdn.jsdelivr.net/npm/xedb.js/lib/browser.js';
    const datastore = createDatastore({
        runtime: browser
    });
</script>

In-memory runtimes

Using storage runtimes examples, replace the runtime import with :

  • inMemory.deno.js for Deno ;
  • inMemory.node.js for Node ;
  • inMemory.browser.js for browser.

API

Most MongoDB methods as well as query operators (thanks to crcn/sift.js) and update operators (thanks to seald/nedb/lib/model) are supported.

Serializers

The createDatastore method takes a serializer parameter containing serialize and deserialize methods (JSON by default).

DSV support is planned.