OverviewFilesCommitsIssuesDocsReleasesPeers

holepunchto-deps / @holepunchto / keet-room-registry / index.js

1 lines · javascript ref:
const e=require("hyperbee2"),t=require("hyperdb"),r=require("ready-resource"),s=require("./spec/hyperdb");module.exports=class extends r{constructor(e,{key:t}={}){super(),this._store=e,this._key=t,this.db=null}get key(){return this.db.core.key}get discoveryKey(){return this.db.core.discoveryKey}async _open(){const r=this._key?this._store.get({key:this._key,writable:!1}):this._store.get({name:"keet-room-registry",writable:!0});await r.ready();const i=new e(this._store,{core:r,writable:r.writable,autoUpdate:!0});await i.ready(),this.db=t.bee2(i,s,{autoUpdate:!0}),await this.db.ready()}async _close(){await(this.db?.close())}async put(e){await this.db.insert("@keet-room-registry/rooms",e),await this.db.flush()}find(){return this.db.find("@keet-room-registry/rooms")}};