functional-models 3.1.0 → 3.2.1

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,18 @@ 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 = (keysOrInstances) => __awaiter(void 0, void 0, void 0, function* () {
90
+ const ids = typeof keysOrInstances[0] === 'object'
91
+ ? keysOrInstances.map(x => x.getPrimaryKey())
92
+ : keysOrInstances;
93
+ if (datastoreAdapter.bulkDelete) {
94
+ yield datastoreAdapter.bulkDelete(model, ids);
95
+ return undefined;
96
+ }
97
+ yield (0, modern_async_1.asyncMap)(ids, id => model.delete(id));
86
98
  return undefined;
87
99
  });
88
100
  const loadedRetrieve = (id) => {
@@ -219,6 +231,7 @@ const createOrm = ({ datastoreAdapter, Model = models_1.Model, }) => {
219
231
  searchOne,
220
232
  createAndSave,
221
233
  bulkInsert,
234
+ bulkDelete,
222
235
  count,
223
236
  });
224
237
  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>(keysOrInstances: readonly OrmModelInstance<TData, TModelExtensions, TModelInstanceExtensions>[] | readonly PrimaryKeyType[]) => 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 keysOrInstances
231
+ */
232
+ bulkDelete?: <TData extends DataDescription, TModelExtensions extends object = object, TModelInstanceExtensions extends object = object>(model: OrmModel<TData, TModelExtensions, TModelInstanceExtensions>, keys: readonly PrimaryKeyType[]) => 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;AA6wB5D,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.1",
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
  }