import{TextDB}from"https://deno.land/x/textdb/mod.ts";const db =newTextDB(TEXTDB_ENDPOINT);await db.clear();assertEquals(await db.get(),"");await db.put("this is text db!");assertEquals(await db.get(),"this is text db!");await db.put(`
this is multiline input!
this is multiline input!
this is multiline input!
`.trim());assertEquals(await db.get(),`
this is multiline input!
this is multiline input!
this is multiline input!
`.trim(),);
JsonDB
Use TextDB like KVS.
Examples
import{JsonDB}from"https://deno.land/x/textdb/mod.ts";// model schematypePerson={
name:string;
age:number;
gender:"m"|"f";};const db =newJsonDB<Person>(TEXTDB_ENDPOINT);await db.clear();assertEquals(await db.all(),[]);const alice:Person={ name:"Alice", age:12, gender:"f"};const bob:Person={ name:"Bob", age:10, gender:"m"};const carol:Person={ name:"Carol", age:10, gender:"f"};const idA =await db.save(alice);assert(idA);const findA =await db.find(idA);assert(findA);assertObjectMatch(findA, alice);const[idB, idC]=await db.saveMany(bob, carol);assert(idB);assert(idC);const[findB, findC]=await db.findMany(idB, idC);assert(findB);assert(findC);assertObjectMatch(findB, bob);assertObjectMatch(findC, carol);assertRejects(async()=>{await db.save({ _id:"dummy", name:"Dave", age:10, gender:"m"});},Error,"dummy is invalid UUID",);// the iteration order is not guaranteedassertArrayIncludes((await db.where({ age:10})),[findB, findC]);assertArrayIncludes((await db.where({ age:10, gender:"m"})),[findB]);assertEquals(await db.delete(idB),1);assertEquals(await db.find(idB),undefined);assertEquals(await db.deleteMany(idA, idB, idC),2);assertEquals(await db.all(),[]);