functional-models 3.1.0 → 3.2.0

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/README.md CHANGED
@@ -381,6 +381,7 @@ search() - Searches for instances
381
381
  searchOne() - Seaches for one instance
382
382
  createAndSave() - Creates and then saves an instance
383
383
  bulkInsert() - Bulk inserts many instances
384
+ bulkDelete() - Bulk deletes many instances
384
385
  count() - Counts the number of saved instances
385
386
  ```
386
387
 
package/orm/models.js CHANGED
@@ -14,6 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.createOrm = void 0;
16
16
  const merge_1 = __importDefault(require("lodash/merge"));
17
+ const modern_async_1 = require("modern-async");
17
18
  const models_1 = require("../models");
18
19
  const errors_1 = require("../errors");
19
20
  const validation_1 = require("./validation");
@@ -82,7 +83,16 @@ const createOrm = ({ datastoreAdapter, Model = models_1.Model, }) => {
82
83
  yield datastoreAdapter.bulkInsert(model, instances);
83
84
  return undefined;
84
85
  }
85
- yield Promise.all(instances.map(x => x.save()));
86
+ yield (0, modern_async_1.asyncMap)(instances, x => x.save());
87
+ return undefined;
88
+ });
89
+ const bulkDelete = (instances) => __awaiter(void 0, void 0, void 0, function* () {
90
+ if (datastoreAdapter.bulkDelete) {
91
+ // @ts-ignore
92
+ yield datastoreAdapter.bulkDelete(model, instances);
93
+ return undefined;
94
+ }
95
+ yield (0, modern_async_1.asyncMap)(instances, x => x.delete());
86
96
  return undefined;
87
97
  });
88
98
  const loadedRetrieve = (id) => {
@@ -219,6 +229,7 @@ const createOrm = ({ datastoreAdapter, Model = models_1.Model, }) => {
219
229
  searchOne,
220
230
  createAndSave,
221
231
  bulkInsert,
232
+ bulkDelete,
222
233
  count,
223
234
  });
224
235
  return model;
package/orm/models.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/orm/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/orm/models.ts"],"names":[],"mappings":"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"}
package/orm/types.d.ts CHANGED
@@ -111,6 +111,11 @@ type OrmModelExtensions<TModelExtensions extends object = object, TModelInstance
111
111
  * @param query
112
112
  */
113
113
  bulkInsert: <TData extends DataDescription>(instances: readonly OrmModelInstance<TData, TModelExtensions, TModelInstanceExtensions>[]) => Promise<void>;
114
+ /**
115
+ * Deletes multiple instances at once.
116
+ * @param instances
117
+ */
118
+ bulkDelete: <TData extends DataDescription>(instances: readonly OrmModelInstance<TData, TModelExtensions, TModelInstanceExtensions>[]) => Promise<void>;
114
119
  /**
115
120
  * Counts the number of models saved in the database.
116
121
  */
@@ -219,6 +224,12 @@ type DatastoreAdapter = Readonly<{
219
224
  * @param instances
220
225
  */
221
226
  bulkInsert?: <TData extends DataDescription, TModelExtensions extends object = object, TModelInstanceExtensions extends object = object>(model: OrmModel<TData, TModelExtensions, TModelInstanceExtensions>, instances: readonly ModelInstance<TData, TModelExtensions, TModelInstanceExtensions>[]) => Promise<void>;
227
+ /**
228
+ * Optional: An optimized bulkDelete function. (Highly recommended)
229
+ * @param model
230
+ * @param instances
231
+ */
232
+ bulkDelete?: <TData extends DataDescription, TModelExtensions extends object = object, TModelInstanceExtensions extends object = object>(model: OrmModel<TData, TModelExtensions, TModelInstanceExtensions>, instances: readonly ModelInstance<TData, TModelExtensions, TModelInstanceExtensions>[]) => Promise<void>;
222
233
  /**
223
234
  * Optional: An optimized createAndSave function.
224
235
  * @param instance
package/orm/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/orm/types.ts"],"names":[],"mappings":";;;AAgBA;;GAEG;AACH,IAAK,cAWJ;AAXD,WAAK,cAAc;IACjB,SAAS;IACT,0BAAQ,CAAA;IACR,YAAY;IACZ,0BAAQ,CAAA;IACR,wBAAwB;IACxB,4BAAU,CAAA;IACV,eAAe;IACf,0BAAQ,CAAA;IACR,2BAA2B;IAC3B,4BAAU,CAAA;AACZ,CAAC,EAXI,cAAc,8BAAd,cAAc,QAWlB;AAED;;GAEG;AACH,IAAK,kBAMJ;AAND,WAAK,kBAAkB;IACrB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,mCAAa,CAAA;IACb,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;AACrB,CAAC,EANI,kBAAkB,kCAAlB,kBAAkB,QAMtB;AAED;;GAEG;AACH,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;AAmvB5D,4DAAwB;AAtM1B;;GAEG;AACH,IAAK,SAGJ;AAHD,WAAK,SAAS;IACZ,wBAAW,CAAA;IACX,wBAAW,CAAA;AACb,CAAC,EAHI,SAAS,yBAAT,SAAS,QAGb"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/orm/types.ts"],"names":[],"mappings":";;;AAgBA;;GAEG;AACH,IAAK,cAWJ;AAXD,WAAK,cAAc;IACjB,SAAS;IACT,0BAAQ,CAAA;IACR,YAAY;IACZ,0BAAQ,CAAA;IACR,wBAAwB;IACxB,4BAAU,CAAA;IACV,eAAe;IACf,0BAAQ,CAAA;IACR,2BAA2B;IAC3B,4BAAU,CAAA;AACZ,CAAC,EAXI,cAAc,8BAAd,cAAc,QAWlB;AAED;;GAEG;AACH,IAAK,kBAMJ;AAND,WAAK,kBAAkB;IACrB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,mCAAa,CAAA;IACb,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;AACrB,CAAC,EANI,kBAAkB,kCAAlB,kBAAkB,QAMtB;AAED;;GAEG;AACH,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;AA+wB5D,4DAAwB;AAtM1B;;GAEG;AACH,IAAK,SAGJ;AAHD,WAAK,SAAS;IACZ,wBAAW,CAAA;IACX,wBAAW,CAAA;AACb,CAAC,EAHI,SAAS,yBAAT,SAAS,QAGb"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "functional-models",
3
- "version": "3.1.0",
3
+ "version": "3.2.0",
4
4
  "description": "Functional models is ooey gooey framework for building and using awesome models EVERYWHERE.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -87,6 +87,7 @@
87
87
  "async-lock": "^1.3.0",
88
88
  "get-random-values": "^1.2.2",
89
89
  "lodash": "^4.17.21",
90
+ "modern-async": "^2.0.4",
90
91
  "openapi-types": "^12.1.3"
91
92
  }
92
93
  }