pxt-core 9.2.7 → 9.2.8

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/built/pxt.js CHANGED
@@ -103132,11 +103132,12 @@ var pxt;
103132
103132
  }
103133
103133
  }
103134
103134
  class IDBWrapper {
103135
- constructor(name, version, upgradeHandler, quotaExceededHandler) {
103135
+ constructor(name, version, upgradeHandler, quotaExceededHandler, skipErrorLog = false) {
103136
103136
  this.name = name;
103137
103137
  this.version = version;
103138
103138
  this.upgradeHandler = upgradeHandler;
103139
103139
  this.quotaExceededHandler = quotaExceededHandler;
103140
+ this.skipErrorLog = skipErrorLog;
103140
103141
  }
103141
103142
  throwIfNotOpened() {
103142
103143
  if (!this._db) {
@@ -103144,6 +103145,10 @@ var pxt;
103144
103145
  }
103145
103146
  }
103146
103147
  errorHandler(err, op, reject) {
103148
+ if (this.skipErrorLog) {
103149
+ reject(err);
103150
+ return;
103151
+ }
103147
103152
  console.error(new Error(`${this.name} IDBWrapper error for ${op}: ${err.message}`));
103148
103153
  reject(err);
103149
103154
  // special case for quota exceeded
@@ -103235,8 +103240,33 @@ var pxt;
103235
103240
  request.onerror = () => this.errorHandler(request.error, "deleteAll", reject);
103236
103241
  });
103237
103242
  }
103243
+ getObjectStoreWrapper(storeName) {
103244
+ return new IDBObjectStoreWrapper(this, storeName);
103245
+ }
103238
103246
  }
103239
103247
  BrowserUtils.IDBWrapper = IDBWrapper;
103248
+ class IDBObjectStoreWrapper {
103249
+ constructor(db, storeName) {
103250
+ this.db = db;
103251
+ this.storeName = storeName;
103252
+ }
103253
+ getAsync(id) {
103254
+ return this.db.getAsync(this.storeName, id);
103255
+ }
103256
+ getAllAsync() {
103257
+ return this.db.getAllAsync(this.storeName);
103258
+ }
103259
+ setAsync(data) {
103260
+ return this.db.setAsync(this.storeName, data);
103261
+ }
103262
+ async deleteAsync(id) {
103263
+ await this.db.deleteAsync(this.storeName, id);
103264
+ }
103265
+ async deleteAllAsync() {
103266
+ await this.db.deleteAllAsync(this.storeName);
103267
+ }
103268
+ }
103269
+ BrowserUtils.IDBObjectStoreWrapper = IDBObjectStoreWrapper;
103240
103270
  class IndexedDbTranslationDb {
103241
103271
  constructor(db) {
103242
103272
  this.db = db;
package/built/pxtlib.d.ts CHANGED
@@ -811,8 +811,9 @@ declare namespace pxt.BrowserUtils {
811
811
  private version;
812
812
  private upgradeHandler?;
813
813
  private quotaExceededHandler?;
814
+ private skipErrorLog;
814
815
  private _db;
815
- constructor(name: string, version: number, upgradeHandler?: IDBUpgradeHandler, quotaExceededHandler?: () => void);
816
+ constructor(name: string, version: number, upgradeHandler?: IDBUpgradeHandler, quotaExceededHandler?: () => void, skipErrorLog?: boolean);
816
817
  private throwIfNotOpened;
817
818
  private errorHandler;
818
819
  private getObjectStore;
@@ -823,6 +824,17 @@ declare namespace pxt.BrowserUtils {
823
824
  setAsync(storeName: string, data: any): Promise<void>;
824
825
  deleteAsync(storeName: string, id: string): Promise<void>;
825
826
  deleteAllAsync(storeName: string): Promise<void>;
827
+ getObjectStoreWrapper<T>(storeName: string): IDBObjectStoreWrapper<T>;
828
+ }
829
+ export class IDBObjectStoreWrapper<T> {
830
+ protected db: IDBWrapper;
831
+ protected storeName: string;
832
+ constructor(db: IDBWrapper, storeName: string);
833
+ getAsync(id: string): Promise<T>;
834
+ getAllAsync(): Promise<T[]>;
835
+ setAsync(data: T): Promise<void>;
836
+ deleteAsync(id: string): Promise<void>;
837
+ deleteAllAsync(): Promise<void>;
826
838
  }
827
839
  export function translationDbAsync(): Promise<ITranslationDb>;
828
840
  export function clearTranslationDbAsync(): Promise<void>;
package/built/pxtlib.js CHANGED
@@ -5446,11 +5446,12 @@ var pxt;
5446
5446
  }
5447
5447
  }
5448
5448
  class IDBWrapper {
5449
- constructor(name, version, upgradeHandler, quotaExceededHandler) {
5449
+ constructor(name, version, upgradeHandler, quotaExceededHandler, skipErrorLog = false) {
5450
5450
  this.name = name;
5451
5451
  this.version = version;
5452
5452
  this.upgradeHandler = upgradeHandler;
5453
5453
  this.quotaExceededHandler = quotaExceededHandler;
5454
+ this.skipErrorLog = skipErrorLog;
5454
5455
  }
5455
5456
  throwIfNotOpened() {
5456
5457
  if (!this._db) {
@@ -5458,6 +5459,10 @@ var pxt;
5458
5459
  }
5459
5460
  }
5460
5461
  errorHandler(err, op, reject) {
5462
+ if (this.skipErrorLog) {
5463
+ reject(err);
5464
+ return;
5465
+ }
5461
5466
  console.error(new Error(`${this.name} IDBWrapper error for ${op}: ${err.message}`));
5462
5467
  reject(err);
5463
5468
  // special case for quota exceeded
@@ -5549,8 +5554,33 @@ var pxt;
5549
5554
  request.onerror = () => this.errorHandler(request.error, "deleteAll", reject);
5550
5555
  });
5551
5556
  }
5557
+ getObjectStoreWrapper(storeName) {
5558
+ return new IDBObjectStoreWrapper(this, storeName);
5559
+ }
5552
5560
  }
5553
5561
  BrowserUtils.IDBWrapper = IDBWrapper;
5562
+ class IDBObjectStoreWrapper {
5563
+ constructor(db, storeName) {
5564
+ this.db = db;
5565
+ this.storeName = storeName;
5566
+ }
5567
+ getAsync(id) {
5568
+ return this.db.getAsync(this.storeName, id);
5569
+ }
5570
+ getAllAsync() {
5571
+ return this.db.getAllAsync(this.storeName);
5572
+ }
5573
+ setAsync(data) {
5574
+ return this.db.setAsync(this.storeName, data);
5575
+ }
5576
+ async deleteAsync(id) {
5577
+ await this.db.deleteAsync(this.storeName, id);
5578
+ }
5579
+ async deleteAllAsync() {
5580
+ await this.db.deleteAllAsync(this.storeName);
5581
+ }
5582
+ }
5583
+ BrowserUtils.IDBObjectStoreWrapper = IDBObjectStoreWrapper;
5554
5584
  class IndexedDbTranslationDb {
5555
5585
  constructor(db) {
5556
5586
  this.db = db;