remult 3.3.18 → 3.3.19-next.2

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.
Files changed (38) hide show
  1. package/esm/index.js +7 -6
  2. package/esm/remult-d1.js +1 -0
  3. package/esm/remult-knex/index.js +112 -2
  4. package/esm/remult-mongo.js +17 -8
  5. package/esm/remult-sqlite-core.js +1 -0
  6. package/esm/src/data-interfaces.js +4 -4
  7. package/esm/src/data-providers/array-entity-data-provider.js +14 -2
  8. package/esm/src/data-providers/indexed-db-data-provider.js +811 -0
  9. package/esm/src/data-providers/json-data-provider.js +2 -2
  10. package/esm/src/data-providers/rest-data-provider.js +11 -12
  11. package/esm/src/data-providers/sql-database.js +110 -43
  12. package/esm/src/remult3/RepositoryImplementation.js +90 -60
  13. package/index.d.ts +31 -17
  14. package/index.js +5 -2
  15. package/package.json +1 -1
  16. package/remult-d1.d.ts +1 -0
  17. package/remult-d1.js +1 -0
  18. package/remult-knex/index.d.ts +2 -2
  19. package/remult-knex/index.js +329 -44
  20. package/remult-mongo.js +80 -36
  21. package/remult-sqlite-core.d.ts +1 -0
  22. package/remult-sqlite-core.js +1 -0
  23. package/src/column-interfaces.d.ts +4 -0
  24. package/src/data-interfaces.d.ts +2 -3
  25. package/src/data-interfaces.js +4 -4
  26. package/src/data-providers/array-entity-data-provider.d.ts +2 -2
  27. package/src/data-providers/array-entity-data-provider.js +92 -14
  28. package/src/data-providers/indexed-db-data-provider.d.ts +39 -0
  29. package/src/data-providers/indexed-db-data-provider.js +1387 -0
  30. package/src/data-providers/json-data-provider.js +2 -2
  31. package/src/data-providers/rest-data-provider.d.ts +2 -3
  32. package/src/data-providers/rest-data-provider.js +18 -17
  33. package/src/data-providers/sql-database.js +254 -105
  34. package/src/remult3/RepositoryImplementation.d.ts +1 -1
  35. package/src/remult3/RepositoryImplementation.js +384 -270
  36. package/src/remult3/remult3.d.ts +2 -2
  37. package/src/sql-command.d.ts +2 -0
  38. package/src/standard-schema/index.d.ts +1 -1
@@ -100,11 +100,11 @@ var JsonEntityDataProvider = /** @class */ (function () {
100
100
  });
101
101
  }));
102
102
  };
103
- JsonEntityDataProvider.prototype.delete = function (id) {
103
+ JsonEntityDataProvider.prototype.delete = function (ids) {
104
104
  var _this = this;
105
105
  return (this.p = this.p.then(function () {
106
106
  return _this.loadEntityData(function (dp, save) {
107
- return dp.delete(id).then(function (x) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
107
+ return dp.delete(ids).then(function (x) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
108
108
  return tslib_1.__generator(this, function (_a) {
109
109
  switch (_a.label) {
110
110
  case 0: return [4 /*yield*/, save()];
@@ -35,9 +35,8 @@ export declare class RestEntityDataProvider implements EntityDataProvider, Proxy
35
35
  find(options?: EntityDataProviderFindOptions): Promise<Array<any>>;
36
36
  update(id: any, data: any, options?: InsertOrUpdateOptions): Promise<any>;
37
37
  private toJsonOfIncludedKeys;
38
- delete(id: any): Promise<void>;
39
- insert(data: any, options?: InsertOrUpdateOptions): Promise<any>;
40
- insertMany(data: any[], options?: InsertOrUpdateOptions): Promise<any[]>;
38
+ delete(ids: any[]): Promise<void>;
39
+ insert(data: any[], options?: InsertOrUpdateOptions): Promise<any[]>;
41
40
  }
42
41
  export declare function addFilterToUrlAndReturnTrueIfSuccessful(filter: any, url: UrlBuilder): boolean;
43
42
  export declare const liveQueryAction = "liveQuery-";
@@ -441,18 +441,20 @@ var RestEntityDataProvider = /** @class */ (function () {
441
441
  }
442
442
  return result;
443
443
  };
444
- RestEntityDataProvider.prototype.delete = function (id) {
444
+ RestEntityDataProvider.prototype.delete = function (ids) {
445
445
  return tslib_1.__awaiter(this, void 0, void 0, function () {
446
- return tslib_1.__generator(this, function (_a) {
447
- switch (_a.label) {
446
+ var _a;
447
+ return tslib_1.__generator(this, function (_b) {
448
+ switch (_b.label) {
448
449
  case 0:
449
- if (!(id == '')) return [3 /*break*/, 2];
450
- return [4 /*yield*/, this.deleteMany(filter_interfaces_js_1.Filter.fromEntityFilter(this.entity, this.entity.idMetadata.getIdFilter(id)))];
450
+ if (ids.length === 0)
451
+ return [2 /*return*/];
452
+ if (ids.length === 1 && ids[0] !== '')
453
+ return [2 /*return*/, this.http().delete(this.url() + '/' + encodeURIComponent(ids[0]))];
454
+ return [4 /*yield*/, this.deleteMany(filter_interfaces_js_1.Filter.fromEntityFilter(this.entity, (_a = this.entity.idMetadata).getIdFilter.apply(_a, tslib_1.__spreadArray([], tslib_1.__read(ids), false))))];
451
455
  case 1:
452
- _a.sent();
453
- return [3 /*break*/, 3];
454
- case 2: return [2 /*return*/, this.http().delete(this.url() + '/' + encodeURIComponent(id))];
455
- case 3: return [2 /*return*/];
456
+ _b.sent();
457
+ return [2 /*return*/];
456
458
  }
457
459
  });
458
460
  });
@@ -460,14 +462,13 @@ var RestEntityDataProvider = /** @class */ (function () {
460
462
  RestEntityDataProvider.prototype.insert = function (data, options) {
461
463
  var _this = this;
462
464
  return this.http()
463
- .post(this.url() + ((options === null || options === void 0 ? void 0 : options.select) === 'none' ? '?_select=$none' : ''), this.translateToJson(data))
464
- .then(function (y) { return _this.translateFromJson(y); });
465
- };
466
- RestEntityDataProvider.prototype.insertMany = function (data, options) {
467
- var _this = this;
468
- return this.http()
469
- .post(this.url() + ((options === null || options === void 0 ? void 0 : options.select) === 'none' ? '?_select=$none' : ''), data.map(function (data) { return _this.translateToJson(data); }))
470
- .then(function (y) { return y.map(function (y) { return _this.translateFromJson(y); }); });
465
+ .post(this.url() + ((options === null || options === void 0 ? void 0 : options.select) === 'none' ? '?_select=$none' : ''), data.map(function (row) { return _this.translateToJson(row); }))
466
+ .then(function (y) {
467
+ var rows = Array.isArray(y) ? y : [y];
468
+ return rows.map(function (row) {
469
+ return row ? _this.translateFromJson(row) : undefined;
470
+ });
471
+ });
471
472
  };
472
473
  return RestEntityDataProvider;
473
474
  }());