This repository was archived by the owner on Nov 27, 2023. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +24
-18
lines changed Expand file tree Collapse file tree 1 file changed +24
-18
lines changed Original file line number Diff line number Diff line change @@ -2,22 +2,37 @@ class DBManager {
22 constructor ( orbitdb ) {
33 let _dbs = { } ;
44
5- this . get = async ( dbname , params ) => {
6- if ( dbname in _dbs ) {
7- return _dbs [ dbname ] ;
5+ let find_db = ( dbn ) => {
6+ if ( dbn in _dbs ) return _dbs [ dbn ]
7+ _dbs . forEach ( db => {
8+ if ( dbn = db . id ) {
9+ return db
10+ } else if ( dbn = [ db . address . root , db . address . path ] . join ( '/' ) ) {
11+ return db
12+ }
13+ } ) ;
14+ } ;
15+
16+ this . get = async ( dbn , params ) => {
17+ let db = find_db ( dbn ) ;
18+ if ( db ) {
19+ return db ;
820 } else {
9- let db ;
10- console . log ( `Opening db ${ dbname } ` ) ;
11- db = await orbitdb . open ( dbname , params ) ;
21+ console . log ( `Opening db ${ dbn } ` ) ;
22+ db = await orbitdb . open ( dbn , params ) ;
1223 await db . load ( ) ;
1324 console . log ( `Loaded db ${ db . dbname } ` ) ;
1425 _dbs [ db . dbname ] = db ;
1526 return db ;
1627 }
1728 } ;
1829
19- this . db_list_remove = ( dbname ) => {
20- delete _dbs [ dbname ] ;
30+ this . db_list_remove = ( dbn ) => {
31+ db = find_db ( dbn )
32+ if ( db ) {
33+ await db . disconnect ( )
34+ delete _dbs [ db . dbname ] ;
35+ }
2136 }
2237
2338 this . db_list = ( ) => {
@@ -31,16 +46,7 @@ class DBManager {
3146 } ;
3247
3348 this . db_info = ( dbn ) => {
34- var db = _dbs [ dbn ] ;
35- if ( ! db ) {
36- _dbs . forEach ( d => {
37- if ( dbn = d . id ) {
38- db = d
39- } else if ( dbn = [ d . address . root , d . address . path ] . join ( '/' ) ) {
40- db = d
41- }
42- } ) ;
43- }
49+ let db = find_db ( dbn ) ;
4450 if ( ! db ) return { } ;
4551 return {
4652 address : db . address ,
You can’t perform that action at this time.
0 commit comments