mol_db 0.0.157 → 0.0.161
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/node.d.ts +0 -255
- package/node.deps.json +1 -1
- package/node.esm.js +67 -67
- package/node.esm.js.map +1 -1
- package/node.js +67 -67
- package/node.js.map +1 -1
- package/node.test.js +293 -287
- package/node.test.js.map +1 -1
- package/package.json +1 -1
- package/test.html +2 -2
- package/web.d.ts +0 -119
- package/web.deps.json +1 -1
- package/web.esm.js +35 -35
- package/web.esm.js.map +1 -1
- package/web.js +35 -35
- package/web.js.map +1 -1
- package/web.test.js +180 -174
- package/web.test.js.map +1 -1
package/web.js
CHANGED
|
@@ -10,7 +10,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
10
10
|
};
|
|
11
11
|
|
|
12
12
|
var globalThis = globalThis || ( typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : this )
|
|
13
|
-
var $ = ( typeof module === 'object' ) ?
|
|
13
|
+
var $ = ( typeof module === 'object' ) ? ( module['export'+'s'] = globalThis ) : globalThis
|
|
14
14
|
$.$$ = $
|
|
15
15
|
|
|
16
16
|
;
|
|
@@ -24,23 +24,23 @@ var $;
|
|
|
24
24
|
(function ($) {
|
|
25
25
|
})($ || ($ = {}));
|
|
26
26
|
module.exports = $;
|
|
27
|
-
//mam.
|
|
27
|
+
//mam.ts
|
|
28
28
|
;
|
|
29
29
|
|
|
30
|
-
$node[ "../mam" ] = $node[ "../mam.
|
|
30
|
+
$node[ "../mam.ts" ] = $node[ "../mam.ts" ] = module.exports }.call( {} , {} )
|
|
31
31
|
;
|
|
32
32
|
"use strict";
|
|
33
33
|
var $;
|
|
34
34
|
(function ($) {
|
|
35
35
|
})($ || ($ = {}));
|
|
36
|
-
//context.
|
|
36
|
+
//mol/dom/context/context.ts
|
|
37
37
|
;
|
|
38
38
|
"use strict";
|
|
39
39
|
var $;
|
|
40
40
|
(function ($) {
|
|
41
41
|
$.$mol_dom_context = self;
|
|
42
42
|
})($ || ($ = {}));
|
|
43
|
-
//context.web.
|
|
43
|
+
//mol/dom/context/context.web.ts
|
|
44
44
|
;
|
|
45
45
|
"use strict";
|
|
46
46
|
var $;
|
|
@@ -53,7 +53,7 @@ var $;
|
|
|
53
53
|
}
|
|
54
54
|
$.$mol_db_response = $mol_db_response;
|
|
55
55
|
})($ || ($ = {}));
|
|
56
|
-
//response.
|
|
56
|
+
//mol/db/response/response.ts
|
|
57
57
|
;
|
|
58
58
|
"use strict";
|
|
59
59
|
var $;
|
|
@@ -76,7 +76,7 @@ var $;
|
|
|
76
76
|
return new Proxy({}, {
|
|
77
77
|
ownKeys: () => [...this.native.indexNames],
|
|
78
78
|
has: (_, name) => this.native.indexNames.contains(name),
|
|
79
|
-
get: (_, name) => new
|
|
79
|
+
get: (_, name) => new $mol_db_index(this.native.index(name))
|
|
80
80
|
});
|
|
81
81
|
}
|
|
82
82
|
index_make(name, path = [], unique = false, multiEntry = false) {
|
|
@@ -87,36 +87,36 @@ var $;
|
|
|
87
87
|
return this;
|
|
88
88
|
}
|
|
89
89
|
get transaction() {
|
|
90
|
-
return new
|
|
90
|
+
return new $mol_db_transaction(this.native.transaction);
|
|
91
91
|
}
|
|
92
92
|
get db() {
|
|
93
93
|
return this.transaction.db;
|
|
94
94
|
}
|
|
95
95
|
clear() {
|
|
96
|
-
return
|
|
96
|
+
return $mol_db_response(this.native.clear());
|
|
97
97
|
}
|
|
98
98
|
count(keys) {
|
|
99
|
-
return
|
|
99
|
+
return $mol_db_response(this.native.count(keys));
|
|
100
100
|
}
|
|
101
101
|
put(doc, key) {
|
|
102
|
-
return
|
|
102
|
+
return $mol_db_response(this.native.put(doc, key));
|
|
103
103
|
}
|
|
104
104
|
get(key) {
|
|
105
|
-
return
|
|
105
|
+
return $mol_db_response(this.native.get(key));
|
|
106
106
|
}
|
|
107
107
|
select(key, count) {
|
|
108
|
-
return
|
|
108
|
+
return $mol_db_response(this.native.getAll(key, count));
|
|
109
109
|
}
|
|
110
110
|
drop(keys) {
|
|
111
|
-
return
|
|
111
|
+
return $mol_db_response(this.native.delete(keys));
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
114
|
$.$mol_db_store = $mol_db_store;
|
|
115
115
|
})($ || ($ = {}));
|
|
116
|
-
//store.
|
|
116
|
+
//mol/db/store/store.ts
|
|
117
117
|
;
|
|
118
118
|
"use strict";
|
|
119
|
-
//store_schema.
|
|
119
|
+
//mol/db/store/store_schema.ts
|
|
120
120
|
;
|
|
121
121
|
"use strict";
|
|
122
122
|
var $;
|
|
@@ -125,19 +125,19 @@ var $;
|
|
|
125
125
|
const request = this.$mol_dom_context.indexedDB.open(name, migrations.length ? migrations.length + 1 : undefined);
|
|
126
126
|
request.onupgradeneeded = event => {
|
|
127
127
|
migrations.splice(0, event.oldVersion - 1);
|
|
128
|
-
const transaction = new
|
|
128
|
+
const transaction = new $mol_db_transaction(request.transaction);
|
|
129
129
|
for (const migrate of migrations)
|
|
130
130
|
migrate(transaction);
|
|
131
131
|
};
|
|
132
|
-
const db = await
|
|
133
|
-
return new
|
|
132
|
+
const db = await $mol_db_response(request);
|
|
133
|
+
return new $mol_db_database(db);
|
|
134
134
|
}
|
|
135
135
|
$.$mol_db = $mol_db;
|
|
136
136
|
})($ || ($ = {}));
|
|
137
|
-
//db.
|
|
137
|
+
//mol/db/db.ts
|
|
138
138
|
;
|
|
139
139
|
"use strict";
|
|
140
|
-
//db_schema.
|
|
140
|
+
//mol/db/db_schema.ts
|
|
141
141
|
;
|
|
142
142
|
"use strict";
|
|
143
143
|
var $;
|
|
@@ -157,16 +157,16 @@ var $;
|
|
|
157
157
|
return [...this.native.objectStoreNames];
|
|
158
158
|
}
|
|
159
159
|
read(...names) {
|
|
160
|
-
return new
|
|
160
|
+
return new $mol_db_transaction(this.native.transaction(names, 'readonly')).stores;
|
|
161
161
|
}
|
|
162
162
|
change(...names) {
|
|
163
|
-
return new
|
|
163
|
+
return new $mol_db_transaction(this.native.transaction(names, 'readwrite'));
|
|
164
164
|
}
|
|
165
165
|
kill() {
|
|
166
166
|
this.native.close();
|
|
167
|
-
const request =
|
|
167
|
+
const request = $mol_dom_context.indexedDB.deleteDatabase(this.name);
|
|
168
168
|
request.onblocked = console.error;
|
|
169
|
-
return
|
|
169
|
+
return $mol_db_response(request).then(() => { });
|
|
170
170
|
}
|
|
171
171
|
destructor() {
|
|
172
172
|
this.native.close();
|
|
@@ -174,7 +174,7 @@ var $;
|
|
|
174
174
|
}
|
|
175
175
|
$.$mol_db_database = $mol_db_database;
|
|
176
176
|
})($ || ($ = {}));
|
|
177
|
-
//database.
|
|
177
|
+
//mol/db/database/database.ts
|
|
178
178
|
;
|
|
179
179
|
"use strict";
|
|
180
180
|
var $;
|
|
@@ -188,7 +188,7 @@ var $;
|
|
|
188
188
|
return new Proxy({}, {
|
|
189
189
|
ownKeys: () => [...this.native.objectStoreNames],
|
|
190
190
|
has: (_, name) => this.native.objectStoreNames.contains(name),
|
|
191
|
-
get: (_, name) => new
|
|
191
|
+
get: (_, name) => new $mol_db_store(this.native.objectStore(name)),
|
|
192
192
|
});
|
|
193
193
|
}
|
|
194
194
|
store_make(name) {
|
|
@@ -209,12 +209,12 @@ var $;
|
|
|
209
209
|
});
|
|
210
210
|
}
|
|
211
211
|
get db() {
|
|
212
|
-
return new
|
|
212
|
+
return new $mol_db_database(this.native.db);
|
|
213
213
|
}
|
|
214
214
|
}
|
|
215
215
|
$.$mol_db_transaction = $mol_db_transaction;
|
|
216
216
|
})($ || ($ = {}));
|
|
217
|
-
//transaction.
|
|
217
|
+
//mol/db/transaction/transaction.ts
|
|
218
218
|
;
|
|
219
219
|
"use strict";
|
|
220
220
|
var $;
|
|
@@ -237,7 +237,7 @@ var $;
|
|
|
237
237
|
return this.native.multiEntry;
|
|
238
238
|
}
|
|
239
239
|
get store() {
|
|
240
|
-
return new
|
|
240
|
+
return new $mol_db_store(this.native.objectStore);
|
|
241
241
|
}
|
|
242
242
|
get transaction() {
|
|
243
243
|
return this.store.transaction;
|
|
@@ -246,20 +246,20 @@ var $;
|
|
|
246
246
|
return this.store.db;
|
|
247
247
|
}
|
|
248
248
|
count(keys) {
|
|
249
|
-
return
|
|
249
|
+
return $mol_db_response(this.native.count(keys));
|
|
250
250
|
}
|
|
251
251
|
get(key) {
|
|
252
|
-
return
|
|
252
|
+
return $mol_db_response(this.native.get(key));
|
|
253
253
|
}
|
|
254
254
|
select(key, count) {
|
|
255
|
-
return
|
|
255
|
+
return $mol_db_response(this.native.getAll(key, count));
|
|
256
256
|
}
|
|
257
257
|
}
|
|
258
258
|
$.$mol_db_index = $mol_db_index;
|
|
259
259
|
})($ || ($ = {}));
|
|
260
|
-
//index.
|
|
260
|
+
//mol/db/index/index.ts
|
|
261
261
|
;
|
|
262
262
|
"use strict";
|
|
263
|
-
//index_schema.
|
|
263
|
+
//mol/db/index/index_schema.ts
|
|
264
264
|
|
|
265
265
|
//# sourceMappingURL=web.js.map
|
package/web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../mam.jam.js","-","../../../mam.ts","../../dom/context/context.ts","../../dom/context/context.web.ts","../response/response.ts","../store/store.ts","../store/store_schema.js","../db.ts","../db_schema.js","../database/database.ts","../transaction/transaction.ts","../index/index.ts","../index/index_schema.js"],"names":[],"mappings":"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","file":"web.js","sourcesContent":[null,null,"Error.stackTraceLimit = 50;\n\ndeclare let _$_: { new(): {} } & typeof globalThis\ndeclare class $ extends _$_ {}\n\nnamespace $ {\n\texport type $ = typeof $$\n\texport declare class $$ extends $ {}\n\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\n","namespace $ {\n\t\n\texport var $mol_dom_context : typeof globalThis\n\t\n}\n","namespace $ {\n\t\n\t$mol_dom_context = self as any\n\t\n}\n","namespace $ {\n\t\n\t/** Converts IDBResult to Promise */\n\texport function $mol_db_response< Result >(\n\t\trequest: IDBRequest< Result >\n\t) {\n\t\t\n\t\treturn new Promise< Result >( ( done, fail )=> {\n\t\t\trequest.onerror = ()=> fail( new Error( request.error!.message ) )\n\t\t\trequest.onsuccess = ()=> done( request.result )\n\t\t} )\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** IndexedDB ObjectStore wrapper. */\n\texport class $mol_db_store< Schema extends $mol_db_store_schema > {\n\t\t\n\t\tconstructor(\n\t\t\treadonly native: IDBObjectStore,\n\t\t) {}\n\t\t\n\t\tget name() {\n\t\t\treturn this.native.name\n\t\t}\n\t\t\n\t\tget path() {\n\t\t\treturn this.native.keyPath\n\t\t}\n\t\t\n\t\tget incremental() {\n\t\t\treturn this.native.autoIncrement\n\t\t}\n\t\t\n\t\t/** Returns dictionary of all existen Indexes. */\n\t\tget indexes() {\n\t\t\treturn new Proxy(\n\t\t\t\t{} as {\n\t\t\t\t\t[ Name in keyof Schema['Indexes'] ]: $mol_db_index<{\n\t\t\t\t\t\tKey: Schema['Indexes'][ Name ],\n\t\t\t\t\t\tDoc: Schema['Doc'],\n\t\t\t\t\t}>\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\townKeys: ()=> [ ... this.native.indexNames ],\n\t\t\t\t\thas: ( _, name: string )=> this.native.indexNames.contains( name ),\n\t\t\t\t\tget: ( _, name: string )=> new $mol_db_index( this.native.index( name ) )\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\t\t\n\t\t/** Creates new Index */\n\t\tindex_make(\n\t\t\tname: string,\n\t\t\tpath = [] as string[],\n\t\t\tunique = false,\n\t\t\tmultiEntry = false,\n\t\t) {\n\t\t\treturn this.native.createIndex( name, path, { multiEntry, unique } )\n\t\t}\n\t\t\n\t\t/** Drops existen Index */\n\t\tindex_drop( name: string ) {\n\t\t\tthis.native.deleteIndex( name )\n\t\t\treturn this\n\t\t}\n\t\t\n\t\tget transaction() {\n\t\t\treturn new $mol_db_transaction(\n\t\t\t\tthis.native.transaction\n\t\t\t)\n\t\t}\n\t\t\n\t\tget db() {\n\t\t\treturn this.transaction.db\n\t\t}\n\t\t\n\t\t/** Deletes all stored Documents */\n\t\tclear() {\n\t\t\treturn $mol_db_response( this.native.clear() )\n\t\t}\n\t\t\n\t\t/** Counts Documents by primary key(s) */\n\t\tcount( keys?: Schema['Key'] | IDBKeyRange ) {\n\t\t\treturn $mol_db_response( this.native.count( keys ) )\n\t\t}\n\t\t\n\t\t/** Stores single Document by primary key. */\n\t\tput( doc: Schema['Doc'], key?: Schema['Key'] ) {\n\t\t\treturn $mol_db_response( this.native.put( doc, key ) )\n\t\t}\n\t\t\n\t\t/** Returns Document by primary key. */\n\t\tget( key: Schema['Key'] ) {\n\t\t\treturn $mol_db_response( this.native.get( key ) as IDBRequest< Schema['Doc'] | undefined > )\n\t\t}\n\t\t\n\t\t/** Selects Documents by primary keys. */\n\t\tselect( key?: Schema['Key'] | IDBKeyRange | null, count?: number ) {\n\t\t\treturn $mol_db_response( this.native.getAll( key, count ) as IDBRequest< Schema['Doc'][] > )\n\t\t}\n\t\t\n\t\t/** Deletes Documents by primary key(s). */\n\t\tdrop( keys: Schema['Key'] | IDBKeyRange ) {\n\t\t\treturn $mol_db_response( this.native.delete( keys ) )\n\t\t}\n\t\t\n\t}\n\t\n}\n",null,"namespace $ {\n\t\n\t/**\n\t * Creates new or returns existen database with automatic schema migration.\n\t * Schema version is based on migrations count.\n\t * Migrations code mustn't be changed after deploy.\n\t * Only adding migrations at the end is allowed.\n\t * Only new migrations will be applyed to existen DB.\n\t * Schema changes allowed only through migratios. \n\t */\n\texport async function $mol_db< Schema extends $mol_db_schema >(\n\t\tthis: $,\n\t\tname: string,\n\t\t... migrations: ( ( transaction: $mol_db_transaction< $mol_db_schema > )=> void )[]\n\t) {\n\t\t\n\t\tconst request = this.$mol_dom_context.indexedDB.open( name, migrations.length ? migrations.length + 1 : undefined )\n\t\t\n\t\trequest.onupgradeneeded = event => {\n\t\t\t\n\t\t\tmigrations.splice( 0, event.oldVersion - 1 )\n\t\t\tconst transaction = new $mol_db_transaction( request.transaction! )\n\t\t\t\n\t\t\tfor( const migrate of migrations ) migrate( transaction )\n\t\t\t\n\t\t}\n\t\t\n\t\tconst db = await $mol_db_response( request )\n\t\t\n\t\treturn new $mol_db_database< Schema >( db )\n\t}\n\t\n}\n",null,"namespace $ {\n\t\n\t/** IndexedDB instance wrapper. */\n\texport class $mol_db_database< Schema extends $mol_db_schema > {\n\t\t\n\t\tconstructor(\n\t\t\treadonly native: IDBDatabase,\n\t\t) { }\n\t\t\n\t\t/** Returns database name. */\n\t\tget name() {\n\t\t\treturn this.native.name\n\t\t}\n\t\t\n\t\t/** Returns database schema version. */\n\t\tget version() {\n\t\t\treturn this.native.version\n\t\t}\n\t\t\n\t\t/** Returns all stores names. */\n\t\tget stores() {\n\t\t\treturn [ ... this.native.objectStoreNames ] as ( keyof Schema )[]\n\t\t}\n\t\t\n\t\t/** Create read-only transaction. */\n\t\tread< Names extends Exclude< keyof Schema, symbol | number > >( ... names: Names[] ) {\n\t\t\treturn new $mol_db_transaction< Pick< Schema, Names > >(\n\t\t\t\tthis.native.transaction( names, 'readonly' )\n\t\t\t).stores\n\t\t}\n\t\t\n\t\t/** Create read/write transaction. */\n\t\tchange< Names extends Exclude< keyof Schema, symbol | number > >( ... names: Names[] ) {\n\t\t\treturn new $mol_db_transaction< Pick< Schema, Names > >(\n\t\t\t\tthis.native.transaction( names, 'readwrite' )\n\t\t\t)\n\t\t}\n\t\t\n\t\t/**\n\t\t * Deletes database.\n\t\t * DB can be deleted only after end of all transactions.\n\t\t */\n\t\tkill() {\n\t\t\t\n\t\t\tthis.native.close()\n\t\t\t\n\t\t\tconst request = $mol_dom_context.indexedDB.deleteDatabase( this.name )\n\t\t\t\n\t\t\trequest.onblocked = console.error\n\t\t\treturn $mol_db_response( request ).then( ()=> {} )\n\t\t\t\n\t\t}\n\t\t\n\t\t/**\n\t\t * Closes DB connection.\n\t\t * Connection really be closed only after end of all transactions.\n\t\t */\n\t\tdestructor() {\n\t\t\tthis.native.close()\n\t\t}\n\t\t\n\t}\n\t\n}\n","interface IDBTransaction {\n\tcommit(): void\n}\n\nnamespace $ {\n\t\n\t/** IndexedDB Transaction wrapper. */\n\texport class $mol_db_transaction< Schema extends $mol_db_schema > {\n\t\t\n\t\tconstructor(\n\t\t\treadonly native: IDBTransaction,\n\t\t) {}\n\t\t\n\t\t/** Returns dictionary of all existen Stores. */\n\t\tget stores() {\n\t\t\treturn new Proxy(\n\t\t\t\t{} as {\n\t\t\t\t\t[ Name in keyof Schema ]: $mol_db_store< Schema[ Name ] >\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\townKeys: ()=> [ ... this.native.objectStoreNames ],\n\t\t\t\t\thas: ( _, name: string )=> this.native.objectStoreNames.contains( name ),\n\t\t\t\t\tget: ( _, name: string )=> new $mol_db_store( this.native.objectStore( name ) ),\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\t\t\n\t\t/** Creates new Store */\n\t\tstore_make( name: string ) {\n\t\t\treturn this.native.db.createObjectStore( name, { autoIncrement: true } )\n\t\t}\n\t\t\n\t\t/** Drops existen Store */\n\t\tstore_drop( name: string ) {\n\t\t\tthis.native.db.deleteObjectStore( name )\n\t\t\treturn this\n\t\t}\n\t\t\n\t\t/** Instant abort transaction. Any errors aborts transactions automatically. */\n\t\tabort() {\n\t\t\tthis.native.abort()\n\t\t}\n\t\t\n\t\t/** Instant commits transaction. Without errors commit proceed automatically later. */\n\t\tcommit() {\n\t\t\t\n\t\t\tthis.native.commit()\n\t\t\t\n\t\t\treturn new Promise< void >( ( done, fail )=> {\n\t\t\t\tthis.native.onerror = ()=> fail( new Error( this.native.error!.message ) )\n\t\t\t\tthis.native.oncomplete = ()=> done()\n\t\t\t} )\n\t\t\t\n\t\t}\n\t\t\n\t\tget db() {\n\t\t\treturn new $mol_db_database(\n\t\t\t\tthis.native.db\n\t\t\t)\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** IndexedDB Index wrapper. */\n\texport class $mol_db_index< Schema extends $mol_db_index_schema > {\n\t\t\n\t\tconstructor(\n\t\t\treadonly native: IDBIndex,\n\t\t) { }\n\t\t\n\t\tget name() {\n\t\t\treturn this.native.name\n\t\t}\n\t\t\n\t\tget paths() {\n\t\t\treturn this.native.keyPath as string[]\n\t\t}\n\t\t\n\t\tget unique() {\n\t\t\treturn this.native.unique\n\t\t}\n\t\t\n\t\tget multiple() {\n\t\t\treturn this.native.multiEntry\n\t\t}\n\t\t\n\t\tget store() {\n\t\t\treturn new $mol_db_store(\n\t\t\t\tthis.native.objectStore\n\t\t\t)\n\t\t}\n\t\t\n\t\tget transaction() {\n\t\t\treturn this.store.transaction\n\t\t}\n\t\t\n\t\tget db() {\n\t\t\treturn this.store.db\n\t\t}\n\t\t\n\t\t/** Counts Documents by key(s) */\n\t\tcount( keys?: Schema['Key'] | IDBKeyRange ) {\n\t\t\treturn $mol_db_response( this.native.count( keys ) )\n\t\t}\n\t\t\n\t\t/** Returns Document by primary key. */\n\t\tget( key: Schema['Key'] ) {\n\t\t\treturn $mol_db_response( this.native.get( key ) as IDBRequest< Schema['Doc'] | undefined > )\n\t\t}\n\t\t\n\t\t/** Selects Documents by primary keys. */\n\t\tselect( key?: Schema['Key'] | IDBKeyRange | null, count?: number ) {\n\t\t\treturn $mol_db_response( this.native.getAll( key, count ) as IDBRequest< Schema['Doc'][] > )\n\t\t}\n\t\t\n\t}\n\t\n}\n",null]}
|
|
1
|
+
{"version":3,"sources":["../../../mam.jam.js","-","../../../mam.ts","../../dom/context/mol/dom/context/context.ts","../../dom/context/mol/dom/context/context.web.ts","../response/mol/db/response/response.ts","../store/mol/db/store/store.ts","../store/store_schema.ts","../mol/db/db.ts","../db_schema.ts","../database/mol/db/database/database.ts","../transaction/mol/db/transaction/transaction.ts","../index/mol/db/index/index.ts","../index/index_schema.ts"],"names":[],"mappings":"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","file":"web.js","sourcesContent":[null,null,"Error.stackTraceLimit = 50;\n\ndeclare let _$_: { new(): {} } & typeof globalThis\ndeclare class $ extends _$_ {}\n\nnamespace $ {\n\texport type $ = typeof $$\n\texport declare class $$ extends $ {}\n\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\n","namespace $ {\n\t\n\texport var $mol_dom_context : typeof globalThis\n\t\n}\n","namespace $ {\n\t\n\t$.$mol_dom_context = self as any\n\t\n}\n","namespace $ {\n\t\n\t/** Converts IDBResult to Promise */\n\texport function $mol_db_response< Result >(\n\t\trequest: IDBRequest< Result >\n\t) {\n\t\t\n\t\treturn new Promise< Result >( ( done, fail )=> {\n\t\t\trequest.onerror = ()=> fail( new Error( request.error!.message ) )\n\t\t\trequest.onsuccess = ()=> done( request.result )\n\t\t} )\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** IndexedDB ObjectStore wrapper. */\n\texport class $mol_db_store< Schema extends $mol_db_store_schema > {\n\t\t\n\t\tconstructor(\n\t\t\treadonly native: IDBObjectStore,\n\t\t) {}\n\t\t\n\t\tget name() {\n\t\t\treturn this.native.name\n\t\t}\n\t\t\n\t\tget path() {\n\t\t\treturn this.native.keyPath\n\t\t}\n\t\t\n\t\tget incremental() {\n\t\t\treturn this.native.autoIncrement\n\t\t}\n\t\t\n\t\t/** Returns dictionary of all existen Indexes. */\n\t\tget indexes() {\n\t\t\treturn new Proxy(\n\t\t\t\t{} as {\n\t\t\t\t\t[ Name in keyof Schema['Indexes'] ]: $mol_db_index<{\n\t\t\t\t\t\tKey: Schema['Indexes'][ Name ],\n\t\t\t\t\t\tDoc: Schema['Doc'],\n\t\t\t\t\t}>\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\townKeys: ()=> [ ... this.native.indexNames ],\n\t\t\t\t\thas: ( _, name: string )=> this.native.indexNames.contains( name ),\n\t\t\t\t\tget: ( _, name: string )=> new $mol_db_index( this.native.index( name ) )\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\t\t\n\t\t/** Creates new Index */\n\t\tindex_make(\n\t\t\tname: string,\n\t\t\tpath = [] as string[],\n\t\t\tunique = false,\n\t\t\tmultiEntry = false,\n\t\t) {\n\t\t\treturn this.native.createIndex( name, path, { multiEntry, unique } )\n\t\t}\n\t\t\n\t\t/** Drops existen Index */\n\t\tindex_drop( name: string ) {\n\t\t\tthis.native.deleteIndex( name )\n\t\t\treturn this\n\t\t}\n\t\t\n\t\tget transaction() {\n\t\t\treturn new $mol_db_transaction(\n\t\t\t\tthis.native.transaction\n\t\t\t)\n\t\t}\n\t\t\n\t\tget db() {\n\t\t\treturn this.transaction.db\n\t\t}\n\t\t\n\t\t/** Deletes all stored Documents */\n\t\tclear() {\n\t\t\treturn $mol_db_response( this.native.clear() )\n\t\t}\n\t\t\n\t\t/** Counts Documents by primary key(s) */\n\t\tcount( keys?: Schema['Key'] | IDBKeyRange ) {\n\t\t\treturn $mol_db_response( this.native.count( keys ) )\n\t\t}\n\t\t\n\t\t/** Stores single Document by primary key. */\n\t\tput( doc: Schema['Doc'], key?: Schema['Key'] ) {\n\t\t\treturn $mol_db_response( this.native.put( doc, key ) )\n\t\t}\n\t\t\n\t\t/** Returns Document by primary key. */\n\t\tget( key: Schema['Key'] ) {\n\t\t\treturn $mol_db_response( this.native.get( key ) as IDBRequest< Schema['Doc'] | undefined > )\n\t\t}\n\t\t\n\t\t/** Selects Documents by primary keys. */\n\t\tselect( key?: Schema['Key'] | IDBKeyRange | null, count?: number ) {\n\t\t\treturn $mol_db_response( this.native.getAll( key, count ) as IDBRequest< Schema['Doc'][] > )\n\t\t}\n\t\t\n\t\t/** Deletes Documents by primary key(s). */\n\t\tdrop( keys: Schema['Key'] | IDBKeyRange ) {\n\t\t\treturn $mol_db_response( this.native.delete( keys ) )\n\t\t}\n\t\t\n\t}\n\t\n}\n",null,"namespace $ {\n\t\n\t/**\n\t * Creates new or returns existen database with automatic schema migration.\n\t * Schema version is based on migrations count.\n\t * Migrations code mustn't be changed after deploy.\n\t * Only adding migrations at the end is allowed.\n\t * Only new migrations will be applyed to existen DB.\n\t * Schema changes allowed only through migratios. \n\t */\n\texport async function $mol_db< Schema extends $mol_db_schema >(\n\t\tthis: $,\n\t\tname: string,\n\t\t... migrations: ( ( transaction: $mol_db_transaction< $mol_db_schema > )=> void )[]\n\t) {\n\t\t\n\t\tconst request = this.$mol_dom_context.indexedDB.open( name, migrations.length ? migrations.length + 1 : undefined )\n\t\t\n\t\trequest.onupgradeneeded = event => {\n\t\t\t\n\t\t\tmigrations.splice( 0, event.oldVersion - 1 )\n\t\t\tconst transaction = new $mol_db_transaction( request.transaction! )\n\t\t\t\n\t\t\tfor( const migrate of migrations ) migrate( transaction )\n\t\t\t\n\t\t}\n\t\t\n\t\tconst db = await $mol_db_response( request )\n\t\t\n\t\treturn new $mol_db_database< Schema >( db )\n\t}\n\t\n}\n",null,"namespace $ {\n\t\n\t/** IndexedDB instance wrapper. */\n\texport class $mol_db_database< Schema extends $mol_db_schema > {\n\t\t\n\t\tconstructor(\n\t\t\treadonly native: IDBDatabase,\n\t\t) { }\n\t\t\n\t\t/** Returns database name. */\n\t\tget name() {\n\t\t\treturn this.native.name\n\t\t}\n\t\t\n\t\t/** Returns database schema version. */\n\t\tget version() {\n\t\t\treturn this.native.version\n\t\t}\n\t\t\n\t\t/** Returns all stores names. */\n\t\tget stores() {\n\t\t\treturn [ ... this.native.objectStoreNames ] as ( keyof Schema )[]\n\t\t}\n\t\t\n\t\t/** Create read-only transaction. */\n\t\tread< Names extends Exclude< keyof Schema, symbol | number > >( ... names: Names[] ) {\n\t\t\treturn new $mol_db_transaction< Pick< Schema, Names > >(\n\t\t\t\tthis.native.transaction( names, 'readonly' )\n\t\t\t).stores\n\t\t}\n\t\t\n\t\t/** Create read/write transaction. */\n\t\tchange< Names extends Exclude< keyof Schema, symbol | number > >( ... names: Names[] ) {\n\t\t\treturn new $mol_db_transaction< Pick< Schema, Names > >(\n\t\t\t\tthis.native.transaction( names, 'readwrite' )\n\t\t\t)\n\t\t}\n\t\t\n\t\t/**\n\t\t * Deletes database.\n\t\t * DB can be deleted only after end of all transactions.\n\t\t */\n\t\tkill() {\n\t\t\t\n\t\t\tthis.native.close()\n\t\t\t\n\t\t\tconst request = $mol_dom_context.indexedDB.deleteDatabase( this.name )\n\t\t\t\n\t\t\trequest.onblocked = console.error\n\t\t\treturn $mol_db_response( request ).then( ()=> {} )\n\t\t\t\n\t\t}\n\t\t\n\t\t/**\n\t\t * Closes DB connection.\n\t\t * Connection really be closed only after end of all transactions.\n\t\t */\n\t\tdestructor() {\n\t\t\tthis.native.close()\n\t\t}\n\t\t\n\t}\n\t\n}\n","interface IDBTransaction {\n\tcommit(): void\n}\n\nnamespace $ {\n\t\n\t/** IndexedDB Transaction wrapper. */\n\texport class $mol_db_transaction< Schema extends $mol_db_schema > {\n\t\t\n\t\tconstructor(\n\t\t\treadonly native: IDBTransaction,\n\t\t) {}\n\t\t\n\t\t/** Returns dictionary of all existen Stores. */\n\t\tget stores() {\n\t\t\treturn new Proxy(\n\t\t\t\t{} as {\n\t\t\t\t\t[ Name in keyof Schema ]: $mol_db_store< Schema[ Name ] >\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\townKeys: ()=> [ ... this.native.objectStoreNames ],\n\t\t\t\t\thas: ( _, name: string )=> this.native.objectStoreNames.contains( name ),\n\t\t\t\t\tget: ( _, name: string )=> new $mol_db_store( this.native.objectStore( name ) ),\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\t\t\n\t\t/** Creates new Store */\n\t\tstore_make( name: string ) {\n\t\t\treturn this.native.db.createObjectStore( name, { autoIncrement: true } )\n\t\t}\n\t\t\n\t\t/** Drops existen Store */\n\t\tstore_drop( name: string ) {\n\t\t\tthis.native.db.deleteObjectStore( name )\n\t\t\treturn this\n\t\t}\n\t\t\n\t\t/** Instant abort transaction. Any errors aborts transactions automatically. */\n\t\tabort() {\n\t\t\tthis.native.abort()\n\t\t}\n\t\t\n\t\t/** Instant commits transaction. Without errors commit proceed automatically later. */\n\t\tcommit() {\n\t\t\t\n\t\t\tthis.native.commit()\n\t\t\t\n\t\t\treturn new Promise< void >( ( done, fail )=> {\n\t\t\t\tthis.native.onerror = ()=> fail( new Error( this.native.error!.message ) )\n\t\t\t\tthis.native.oncomplete = ()=> done()\n\t\t\t} )\n\t\t\t\n\t\t}\n\t\t\n\t\tget db() {\n\t\t\treturn new $mol_db_database(\n\t\t\t\tthis.native.db\n\t\t\t)\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** IndexedDB Index wrapper. */\n\texport class $mol_db_index< Schema extends $mol_db_index_schema > {\n\t\t\n\t\tconstructor(\n\t\t\treadonly native: IDBIndex,\n\t\t) { }\n\t\t\n\t\tget name() {\n\t\t\treturn this.native.name\n\t\t}\n\t\t\n\t\tget paths() {\n\t\t\treturn this.native.keyPath as string[]\n\t\t}\n\t\t\n\t\tget unique() {\n\t\t\treturn this.native.unique\n\t\t}\n\t\t\n\t\tget multiple() {\n\t\t\treturn this.native.multiEntry\n\t\t}\n\t\t\n\t\tget store() {\n\t\t\treturn new $mol_db_store(\n\t\t\t\tthis.native.objectStore\n\t\t\t)\n\t\t}\n\t\t\n\t\tget transaction() {\n\t\t\treturn this.store.transaction\n\t\t}\n\t\t\n\t\tget db() {\n\t\t\treturn this.store.db\n\t\t}\n\t\t\n\t\t/** Counts Documents by key(s) */\n\t\tcount( keys?: Schema['Key'] | IDBKeyRange ) {\n\t\t\treturn $mol_db_response( this.native.count( keys ) )\n\t\t}\n\t\t\n\t\t/** Returns Document by primary key. */\n\t\tget( key: Schema['Key'] ) {\n\t\t\treturn $mol_db_response( this.native.get( key ) as IDBRequest< Schema['Doc'] | undefined > )\n\t\t}\n\t\t\n\t\t/** Selects Documents by primary keys. */\n\t\tselect( key?: Schema['Key'] | IDBKeyRange | null, count?: number ) {\n\t\t\treturn $mol_db_response( this.native.getAll( key, count ) as IDBRequest< Schema['Doc'][] > )\n\t\t}\n\t\t\n\t}\n\t\n}\n",null]}
|