@orbitdb/set-db
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

@orbitdb/set-db

Set database type for OrbitDB.

orbit-db-set tests codecov

Installation

$ pnpm add @orbitdb/set-db

Introduction

As Set database is like a Feed, but each value can only be present once. Works for primitive types as well as more complex objects.

Examples

A simple example with Set:

import { createOrbitDB } from "@orbitdb/core";
import { registerSet } from "@orbitdb/set-db";

// Register set database type. IMPORTANT - must call before creating orbit instance !
registerSet();

const orbitdb = await createOrbitDB({ ipfs })

const db = await orbitdb.open({ type: "set" });

await db.add(1);
await db.add(2);

const all = await db.all();  // [1, 2]

await db.add(1);
await db.all()  // Yay !! Still [1, 2]

As more complex example with object types:

import { createOrbitDB } from "@orbitdb/core";
import { registerSet } from "@orbitdb/set-db";

// Register set database type. IMPORTANT - must call before creating orbit instance !
registerSet();

const orbit = await createOrbitDB({ ipfs })

const db = await orbitdb.open({ type: "set" });

await db.add({a: 1});
await db.add({a: 2});

const all = await db.all();  // [{a: 1}, {a: 2}]

await db.add({a: 1});
await db.all()  // Yay !! Still [{a: 1}, {a: 2}]

Readme

Keywords

Package Sidebar

Install

npm i @orbitdb/set-db

Weekly Downloads

1,968

Version

1.1.0

License

AGPL-3.0-or-later

Unpacked Size

187 kB

Total Files

38

Last publish

Collaborators

  • julien.malard
  • aphelionz
  • spauldingsmails
  • haad