mol_db 0.0.229 → 0.0.232

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mol_db",
3
- "version": "0.0.229",
3
+ "version": "0.0.232",
4
4
  "main": "node.js",
5
5
  "module": "node.esm.js",
6
6
  "browser": "web.js",
@@ -37,8 +37,8 @@
37
37
  "$mol_env_env.ts"
38
38
  ],
39
39
  "dependencies": {
40
+ "colorette": "*",
40
41
  "jsdom": "*",
41
- "fake-indexeddb": "*",
42
- "colorette": "*"
42
+ "fake-indexeddb": "*"
43
43
  }
44
44
  }
package/web.d.ts CHANGED
@@ -56,6 +56,30 @@ declare namespace $ {
56
56
  };
57
57
  }
58
58
 
59
+ declare namespace $ {
60
+ class $mol_db_index<Schema extends $mol_db_index_schema> {
61
+ readonly native: IDBIndex;
62
+ constructor(native: IDBIndex);
63
+ get name(): string;
64
+ get paths(): string[];
65
+ get unique(): boolean;
66
+ get multiple(): boolean;
67
+ get store(): $mol_db_store<$mol_db_store_schema>;
68
+ get transaction(): $mol_db_transaction<$mol_db_schema>;
69
+ get db(): $mol_db_database<$mol_db_schema>;
70
+ count(keys?: Schema['Key'] | IDBKeyRange): Promise<number>;
71
+ get(key: Schema['Key']): Promise<Schema["Doc"] | undefined>;
72
+ select(key?: Schema['Key'] | IDBKeyRange | null, count?: number): Promise<Schema["Doc"][]>;
73
+ }
74
+ }
75
+
76
+ declare namespace $ {
77
+ type $mol_db_index_schema = {
78
+ Key: IDBValidKey[];
79
+ Doc: unknown;
80
+ };
81
+ }
82
+
59
83
  declare namespace $ {
60
84
  function $mol_db<Schema extends $mol_db_schema>(this: $, name: string, ...migrations: ((transaction: $mol_db_transaction<$mol_db_schema>) => void)[]): Promise<$mol_db_database<Schema>>;
61
85
  }
@@ -94,28 +118,4 @@ declare namespace $ {
94
118
  }
95
119
  }
96
120
 
97
- declare namespace $ {
98
- class $mol_db_index<Schema extends $mol_db_index_schema> {
99
- readonly native: IDBIndex;
100
- constructor(native: IDBIndex);
101
- get name(): string;
102
- get paths(): string[];
103
- get unique(): boolean;
104
- get multiple(): boolean;
105
- get store(): $mol_db_store<$mol_db_store_schema>;
106
- get transaction(): $mol_db_transaction<$mol_db_schema>;
107
- get db(): $mol_db_database<$mol_db_schema>;
108
- count(keys?: Schema['Key'] | IDBKeyRange): Promise<number>;
109
- get(key: Schema['Key']): Promise<Schema["Doc"] | undefined>;
110
- select(key?: Schema['Key'] | IDBKeyRange | null, count?: number): Promise<Schema["Doc"][]>;
111
- }
112
- }
113
-
114
- declare namespace $ {
115
- type $mol_db_index_schema = {
116
- Key: IDBValidKey[];
117
- Doc: unknown;
118
- };
119
- }
120
-
121
121
  export = $;
package/web.deps.json CHANGED
@@ -1 +1 @@
1
- {"files":["LICENSE","README.md","lang.lang.tree","mam.jam.js","mam.ts","package.json","sandbox.config.json","tsconfig.json","tsfmt.json","yarn.lock","mol/CNAME","mol/CODE_OF_CONDUCT.md","mol/CONTRIBUTING.md","mol/LICENSE","mol/index.html","mol/mol.meta.tree","mol/readme.md","mol/dom/context/context.ts","mol/dom/context/context.web.ts","mol/db/response/response.ts","mol/db/store/store.ts","mol/db/store/store_schema.ts","mol/db/README.md","mol/db/db.ts","mol/db/db_schema.ts","mol/db/database/database.ts","mol/db/transaction/transaction.ts","mol/db/index/index.ts","mol/db/index/index_schema.ts"],"mods":{},"deps_in":{"mol":{"mol/db":-9007199254740991,"mol/dom":-9007199254740991},"":{"mol":-9007199254740991},"mol/db/transaction":{},"mol/db":{"mol/db/transaction":-1,"mol/db/database":-1},"mol/db/store":{"mol/db/transaction":-5,"mol/db/index":-3,"mol/db":-1},"mol/db/index":{},"mol/db/response":{"mol/db/index":-3,"mol/db/store":-3,"mol/db/database":-3,"mol/db":-2},"mol/db/database":{"mol/db/transaction":-3},"mol/dom/context":{"mol/db/database":-3,"mol/db":-2},"mol/dom":{"mol/dom/context":-9007199254740991},"mol/dom/context/context.ts":{"mol/dom/context":0}},"deps_out":{"mol/db":{"mol":-9007199254740991,"mol/dom/context":-2,"mol/db/response":-2,"mol/db/store":-1},"mol":{"":-9007199254740991},"mol/db/transaction":{"mol/db":-1,"mol/db/store":-5,"mol/db/database":-3},"mol/db/store":{"mol/db/response":-3},"mol/db/index":{"mol/db/store":-3,"mol/db/response":-3},"mol/db/response":{},"mol/db/database":{"mol/db":-1,"mol/dom/context":-3,"mol/db/response":-3},"mol/dom/context":{"mol/dom":-9007199254740991,"mol/dom/context/context.ts":0},"mol/dom":{"mol":-9007199254740991},"mol/dom/context/context.ts":{}},"sloc":{"LICENSE":113,"md":630,"tree":31,"js":10,"ts":289,"json":87,"lock":939,"CNAME":1,"html":1},"deps":{"mol/db":{"..":-9007199254740991,"/mol/db":-1,"/mol/db/schema":-1,"/mol/db/transaction":-2,"/mol/dom/context/indexed":-2,"/mol/db/response":-2,"/mol/db/database":-2,"/mol/db/store/schema":-1},"mol":{"..":-9007199254740991},"":{},"mol/db/transaction":{"..":-9007199254740991,"/mol/db/transaction":-1,"/mol/db/schema":-1,"/mol/db/store":-5,"/mol/db/database":-3},"mol/db/store":{"..":-9007199254740991,"/mol/db/store":-1,"/mol/db/store/schema":-1,"/mol/db/index":-5,"/mol/db/transaction":-3,"/mol/db/response":-3},"mol/db/index":{"..":-9007199254740991,"/mol/db/index":-1,"/mol/db/index/schema":-1,"/mol/db/store":-3,"/mol/db/response":-3},"mol/db/response":{"..":-9007199254740991,"/mol/db/response":-1},"mol/db/database":{"..":-9007199254740991,"/mol/db/database":-1,"/mol/db/schema":-1,"/mol/db/transaction":-3,"/mol/dom/context/indexed":-3,"/mol/db/response":-3},"mol/dom/context":{"..":-9007199254740991,"/mol/dom/context":-1,"./context.ts":0},"mol/dom":{"..":-9007199254740991},"mol/dom/context/context.ts":{"/mol/dom/context":-1}}}
1
+ {"files":["LICENSE","README.md","lang.lang.tree","mam.jam.js","mam.ts","package.json","sandbox.config.json","tsconfig.json","tsfmt.json","yarn.lock","mol/CNAME","mol/CODE_OF_CONDUCT.md","mol/CONTRIBUTING.md","mol/LICENSE","mol/index.html","mol/mol.meta.tree","mol/readme.md","mol/dom/context/context.ts","mol/dom/context/context.web.ts","mol/db/response/response.ts","mol/db/store/store.ts","mol/db/store/store_schema.ts","mol/db/index/index.ts","mol/db/index/index_schema.ts","mol/db/README.md","mol/db/db.ts","mol/db/db_schema.ts","mol/db/database/database.ts","mol/db/transaction/transaction.ts"],"mods":{},"deps_in":{"mol":{"mol/db":-9007199254740991,"mol/dom":-9007199254740991},"":{"mol":-9007199254740991},"mol/db/transaction":{},"mol/db":{"mol/db/transaction":-1,"mol/db/database":-1},"mol/db/store":{"mol/db/transaction":-5,"mol/db/index":-3,"mol/db":-1},"mol/db/index":{"mol/db":-5},"mol/db/response":{"mol/db/index":-3,"mol/db/store":-3,"mol/db/database":-3,"mol/db":-2},"mol/db/database":{"mol/db/transaction":-3},"mol/dom/context":{"mol/db/database":-3,"mol/db":-2},"mol/dom":{"mol/dom/context":-9007199254740991},"mol/dom/context/context.ts":{"mol/dom/context":0}},"deps_out":{"mol/db":{"mol":-9007199254740991,"mol/dom/context":-2,"mol/db/response":-2,"mol/db/store":-1,"mol/db/index":-5},"mol":{"":-9007199254740991},"mol/db/transaction":{"mol/db":-1,"mol/db/store":-5,"mol/db/database":-3},"mol/db/store":{"mol/db/response":-3},"mol/db/index":{"mol/db/store":-3,"mol/db/response":-3},"mol/db/response":{},"mol/db/database":{"mol/db":-1,"mol/dom/context":-3,"mol/db/response":-3},"mol/dom/context":{"mol/dom":-9007199254740991,"mol/dom/context/context.ts":0},"mol/dom":{"mol":-9007199254740991},"mol/dom/context/context.ts":{}},"sloc":{"LICENSE":113,"md":629,"tree":31,"js":10,"ts":289,"json":87,"lock":939,"CNAME":1,"html":1},"deps":{"mol/db":{"..":-9007199254740991,"/mol/db":-1,"/mol/db/schema":-1,"/mol/db/transaction":-2,"/mol/dom/context/indexed":-2,"/mol/db/response":-2,"/mol/db/database":-2,"/mol/db/store/schema":-1},"mol":{"..":-9007199254740991},"":{},"mol/db/transaction":{"..":-9007199254740991,"/mol/db/transaction":-1,"/mol/db/schema":-1,"/mol/db/store":-5,"/mol/db/database":-3},"mol/db/store":{"..":-9007199254740991,"/mol/db/store":-1,"/mol/db/store/schema":-1,"/mol/db/index":-5,"/mol/db/transaction":-3,"/mol/db/response":-3},"mol/db/index":{"..":-9007199254740991,"/mol/db/index":-1,"/mol/db/index/schema":-1,"/mol/db/store":-3,"/mol/db/response":-3},"mol/db/response":{"..":-9007199254740991,"/mol/db/response":-1},"mol/db/database":{"..":-9007199254740991,"/mol/db/database":-1,"/mol/db/schema":-1,"/mol/db/transaction":-3,"/mol/dom/context/indexed":-3,"/mol/db/response":-3},"mol/dom/context":{"..":-9007199254740991,"/mol/dom/context":-1,"./context.ts":0},"mol/dom":{"..":-9007199254740991},"mol/dom/context/context.ts":{"/mol/dom/context":-1}}}
package/web.esm.js CHANGED
@@ -120,6 +120,52 @@ var $;
120
120
  ;
121
121
  "use strict";
122
122
  var $;
123
+ (function ($) {
124
+ class $mol_db_index {
125
+ native;
126
+ constructor(native) {
127
+ this.native = native;
128
+ }
129
+ get name() {
130
+ return this.native.name;
131
+ }
132
+ get paths() {
133
+ return this.native.keyPath;
134
+ }
135
+ get unique() {
136
+ return this.native.unique;
137
+ }
138
+ get multiple() {
139
+ return this.native.multiEntry;
140
+ }
141
+ get store() {
142
+ return new $mol_db_store(this.native.objectStore);
143
+ }
144
+ get transaction() {
145
+ return this.store.transaction;
146
+ }
147
+ get db() {
148
+ return this.store.db;
149
+ }
150
+ count(keys) {
151
+ return $mol_db_response(this.native.count(keys));
152
+ }
153
+ get(key) {
154
+ return $mol_db_response(this.native.get(key));
155
+ }
156
+ select(key, count) {
157
+ return $mol_db_response(this.native.getAll(key, count));
158
+ }
159
+ }
160
+ $.$mol_db_index = $mol_db_index;
161
+ })($ || ($ = {}));
162
+ //mol/db/index/index.ts
163
+ ;
164
+ "use strict";
165
+ //mol/db/index/index_schema.ts
166
+ ;
167
+ "use strict";
168
+ var $;
123
169
  (function ($) {
124
170
  async function $mol_db(name, ...migrations) {
125
171
  const request = this.$mol_dom_context.indexedDB.open(name, migrations.length ? migrations.length + 1 : undefined);
@@ -216,51 +262,5 @@ var $;
216
262
  })($ || ($ = {}));
217
263
  //mol/db/transaction/transaction.ts
218
264
  ;
219
- "use strict";
220
- var $;
221
- (function ($) {
222
- class $mol_db_index {
223
- native;
224
- constructor(native) {
225
- this.native = native;
226
- }
227
- get name() {
228
- return this.native.name;
229
- }
230
- get paths() {
231
- return this.native.keyPath;
232
- }
233
- get unique() {
234
- return this.native.unique;
235
- }
236
- get multiple() {
237
- return this.native.multiEntry;
238
- }
239
- get store() {
240
- return new $mol_db_store(this.native.objectStore);
241
- }
242
- get transaction() {
243
- return this.store.transaction;
244
- }
245
- get db() {
246
- return this.store.db;
247
- }
248
- count(keys) {
249
- return $mol_db_response(this.native.count(keys));
250
- }
251
- get(key) {
252
- return $mol_db_response(this.native.get(key));
253
- }
254
- select(key, count) {
255
- return $mol_db_response(this.native.getAll(key, count));
256
- }
257
- }
258
- $.$mol_db_index = $mol_db_index;
259
- })($ || ($ = {}));
260
- //mol/db/index/index.ts
261
- ;
262
- "use strict";
263
- //mol/db/index/index_schema.ts
264
- ;
265
265
  export default $
266
266
  //# sourceMappingURL=web.esm.js.map
package/web.esm.js.map CHANGED
@@ -1 +1 @@
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.esm.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","../index/mol/db/index/index.ts","../index/index_schema.ts","../mol/db/db.ts","../db_schema.ts","../database/mol/db/database/database.ts","../transaction/mol/db/transaction/transaction.ts"],"names":[],"mappings":"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","file":"web.esm.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/** 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,"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"]}
package/web.js CHANGED
@@ -120,6 +120,52 @@ var $;
120
120
  ;
121
121
  "use strict";
122
122
  var $;
123
+ (function ($) {
124
+ class $mol_db_index {
125
+ native;
126
+ constructor(native) {
127
+ this.native = native;
128
+ }
129
+ get name() {
130
+ return this.native.name;
131
+ }
132
+ get paths() {
133
+ return this.native.keyPath;
134
+ }
135
+ get unique() {
136
+ return this.native.unique;
137
+ }
138
+ get multiple() {
139
+ return this.native.multiEntry;
140
+ }
141
+ get store() {
142
+ return new $mol_db_store(this.native.objectStore);
143
+ }
144
+ get transaction() {
145
+ return this.store.transaction;
146
+ }
147
+ get db() {
148
+ return this.store.db;
149
+ }
150
+ count(keys) {
151
+ return $mol_db_response(this.native.count(keys));
152
+ }
153
+ get(key) {
154
+ return $mol_db_response(this.native.get(key));
155
+ }
156
+ select(key, count) {
157
+ return $mol_db_response(this.native.getAll(key, count));
158
+ }
159
+ }
160
+ $.$mol_db_index = $mol_db_index;
161
+ })($ || ($ = {}));
162
+ //mol/db/index/index.ts
163
+ ;
164
+ "use strict";
165
+ //mol/db/index/index_schema.ts
166
+ ;
167
+ "use strict";
168
+ var $;
123
169
  (function ($) {
124
170
  async function $mol_db(name, ...migrations) {
125
171
  const request = this.$mol_dom_context.indexedDB.open(name, migrations.length ? migrations.length + 1 : undefined);
@@ -215,51 +261,5 @@ var $;
215
261
  $.$mol_db_transaction = $mol_db_transaction;
216
262
  })($ || ($ = {}));
217
263
  //mol/db/transaction/transaction.ts
218
- ;
219
- "use strict";
220
- var $;
221
- (function ($) {
222
- class $mol_db_index {
223
- native;
224
- constructor(native) {
225
- this.native = native;
226
- }
227
- get name() {
228
- return this.native.name;
229
- }
230
- get paths() {
231
- return this.native.keyPath;
232
- }
233
- get unique() {
234
- return this.native.unique;
235
- }
236
- get multiple() {
237
- return this.native.multiEntry;
238
- }
239
- get store() {
240
- return new $mol_db_store(this.native.objectStore);
241
- }
242
- get transaction() {
243
- return this.store.transaction;
244
- }
245
- get db() {
246
- return this.store.db;
247
- }
248
- count(keys) {
249
- return $mol_db_response(this.native.count(keys));
250
- }
251
- get(key) {
252
- return $mol_db_response(this.native.get(key));
253
- }
254
- select(key, count) {
255
- return $mol_db_response(this.native.getAll(key, count));
256
- }
257
- }
258
- $.$mol_db_index = $mol_db_index;
259
- })($ || ($ = {}));
260
- //mol/db/index/index.ts
261
- ;
262
- "use strict";
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/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]}
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","../index/mol/db/index/index.ts","../index/index_schema.ts","../mol/db/db.ts","../db_schema.ts","../database/mol/db/database/database.ts","../transaction/mol/db/transaction/transaction.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/** 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,"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"]}
package/web.test.js CHANGED
@@ -185,6 +185,12 @@ var $;
185
185
  //mol/type/assert/assert.ts
186
186
  ;
187
187
  "use strict";
188
+ //mol/type/equals/equals.test.ts
189
+ ;
190
+ "use strict";
191
+ //mol/type/equals/equals.ts
192
+ ;
193
+ "use strict";
188
194
  //mol/type/partial/deep/deep.test.ts
189
195
  ;
190
196
  "use strict";
@@ -748,34 +754,6 @@ var $;
748
754
  ;
749
755
  "use strict";
750
756
  var $;
751
- (function ($) {
752
- $mol_test({
753
- async 'take and drop db'() {
754
- const db = await $$.$mol_db('$mol_db_test');
755
- await db.kill();
756
- },
757
- async 'make and drop store in separate migrations'() {
758
- try {
759
- const db1 = await $$.$mol_db('$mol_db_test', mig => mig.store_make('temp'));
760
- db1.destructor();
761
- $mol_assert_like(db1.stores, ['temp']);
762
- $mol_assert_like(db1.version, 2);
763
- const db2 = await $$.$mol_db('$mol_db_test', mig => mig.store_make('temp'), mig => mig.store_drop('temp'));
764
- db2.destructor();
765
- $mol_assert_like(db2.stores, []);
766
- $mol_assert_like(db2.version, 3);
767
- }
768
- finally {
769
- const db0 = await $$.$mol_db('$mol_db_test');
770
- await db0.kill();
771
- }
772
- },
773
- });
774
- })($ || ($ = {}));
775
- //mol/db/db.test.ts
776
- ;
777
- "use strict";
778
- var $;
779
757
  (function ($) {
780
758
  function $mol_log3_area_lazy(event) {
781
759
  const self = this;
@@ -848,10 +826,32 @@ var $;
848
826
  //mol/log3/log3.web.ts
849
827
  ;
850
828
  "use strict";
851
- //mol/type/equals/equals.test.ts
852
- ;
853
- "use strict";
854
- //mol/type/equals/equals.ts
829
+ var $;
830
+ (function ($) {
831
+ $mol_test({
832
+ async 'take and drop db'() {
833
+ const db = await $$.$mol_db('$mol_db_test');
834
+ await db.kill();
835
+ },
836
+ async 'make and drop store in separate migrations'() {
837
+ try {
838
+ const db1 = await $$.$mol_db('$mol_db_test', mig => mig.store_make('temp'));
839
+ db1.destructor();
840
+ $mol_assert_like(db1.stores, ['temp']);
841
+ $mol_assert_like(db1.version, 2);
842
+ const db2 = await $$.$mol_db('$mol_db_test', mig => mig.store_make('temp'), mig => mig.store_drop('temp'));
843
+ db2.destructor();
844
+ $mol_assert_like(db2.stores, []);
845
+ $mol_assert_like(db2.version, 3);
846
+ }
847
+ finally {
848
+ const db0 = await $$.$mol_db('$mol_db_test');
849
+ await db0.kill();
850
+ }
851
+ },
852
+ });
853
+ })($ || ($ = {}));
854
+ //mol/db/db.test.ts
855
855
  ;
856
856
  "use strict";
857
857
  var $;