ts-patch-mongoose 2.5.1 → 2.5.3

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/.eslintrc CHANGED
@@ -25,7 +25,10 @@
25
25
  "sourceType": "module"
26
26
  },
27
27
  "rules": {
28
- "comma-dangle": ["error", "never"],
28
+ "comma-dangle": [
29
+ "error",
30
+ "never"
31
+ ],
29
32
  "@typescript-eslint/array-type": "error",
30
33
  "@typescript-eslint/consistent-type-imports": "error",
31
34
  "@typescript-eslint/method-signature-style": "error",
@@ -86,6 +89,19 @@
86
89
  "plugin:@typescript-eslint/stylistic-type-checked"
87
90
  ],
88
91
  "rules": {
92
+ "@typescript-eslint/member-delimiter-style": [
93
+ "error",
94
+ {
95
+ "multiline": {
96
+ "delimiter": "none",
97
+ "requireLast": true
98
+ },
99
+ "singleline": {
100
+ "delimiter": "comma",
101
+ "requireLast": false
102
+ }
103
+ }
104
+ ],
89
105
  "@typescript-eslint/consistent-type-exports": "error",
90
106
  "@typescript-eslint/explicit-function-return-type": "error",
91
107
  "@typescript-eslint/explicit-module-boundary-types": "error",
package/.swcrc CHANGED
@@ -1,4 +1,5 @@
1
1
  {
2
+ "$schema": "https://json.schemastore.org/swcrc",
2
3
  "jsc": {
3
4
  "parser": {
4
5
  "syntax": "typescript",
package/README.md CHANGED
@@ -32,13 +32,13 @@ I need to track changes of mongoose models and save them as patch history (audit
32
32
 
33
33
  ## Features
34
34
 
35
- - Track changes in mongoose models
36
- - Save changes in a separate collection as a patch history
37
- - Emit events when a model is created, updated or deleted
38
- - Supports typescript
39
- - Let you omit fields that you don't want to track in patch history
40
- - Subscribe to one/many types of event
41
- - You can use events or patch history or both
35
+ - [x] Track changes in mongoose models
36
+ - [x] Save changes in a separate collection as a patch history
37
+ - [x] Emit events when a model is created, updated or deleted
38
+ - [x] Omit fields that you don't want to track in patch history
39
+ - [x] Subscribe to one/many types of event
40
+ - [x] Use events or patch history or both
41
+ - [x] Supports ESM and CommonJS
42
42
 
43
43
  ## Installation
44
44
 
@@ -1 +1 @@
1
- {"version":3,"file":"IHistory.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/IHistory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD,UAAU,QAAQ;IAChB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,SAAS,EAAE,CAAA;CACpB;AAED,eAAe,QAAQ,CAAA"}
1
+ {"version":3,"file":"IHistory.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/IHistory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD,UAAU,QAAQ;IAChB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,SAAS,EAAE,CAAA;CACpB;AAED,eAAe,QAAQ,CAAA"}
package/dist/esm/em.js CHANGED
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const events_1 = tslib_1.__importDefault(require("events"));
5
- class PatchEventEmitter extends events_1.default {
1
+ import EventEmitter from 'events';
2
+ class PatchEventEmitter extends EventEmitter {
6
3
  }
7
4
  const em = new PatchEventEmitter();
8
- exports.default = em;
5
+ export default em;
9
6
  //# sourceMappingURL=em.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"em.js","sourceRoot":"","sources":["../../src/em.ts"],"names":[],"mappings":";;;AAAA,4DAAiC;AAEjC,MAAM,iBAAkB,SAAQ,gBAAY;CAAG;AAC/C,MAAM,EAAE,GAAG,IAAI,iBAAiB,EAAE,CAAA;AAElC,kBAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"em.js","sourceRoot":"","sources":["../../src/em.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,QAAQ,CAAA;AAEjC,MAAM,iBAAkB,SAAQ,YAAY;CAAG;AAC/C,MAAM,EAAE,GAAG,IAAI,iBAAiB,EAAE,CAAA;AAElC,eAAe,EAAE,CAAA"}
@@ -1,11 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toObjectOptions = exports.isHookIgnored = void 0;
4
- const isHookIgnored = (options) => {
1
+ export const isHookIgnored = (options) => {
5
2
  return options['ignoreHook'] === true || (options['ignoreEvent'] === true && options['ignorePatchHistory'] === true);
6
3
  };
7
- exports.isHookIgnored = isHookIgnored;
8
- exports.toObjectOptions = {
4
+ export const toObjectOptions = {
9
5
  depopulate: true,
10
6
  virtuals: false
11
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":";;;AAEO,MAAM,aAAa,GAAG,CAAI,OAAwB,EAAW,EAAE;IACpE,OAAO,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,oBAAoB,CAAC,KAAK,IAAI,CAAC,CAAA;AACtH,CAAC,CAAA;AAFY,QAAA,aAAa,iBAEzB;AAEY,QAAA,eAAe,GAAoB;IAC9C,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,KAAK;CAChB,CAAA"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAI,OAAwB,EAAW,EAAE;IACpE,OAAO,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,oBAAoB,CAAC,KAAK,IAAI,CAAC,CAAA;AACtH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,KAAK;CAChB,CAAA"}
@@ -1,10 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deleteHooksInitialize = void 0;
4
- const tslib_1 = require("tslib");
5
- const lodash_1 = tslib_1.__importDefault(require("lodash"));
6
- const patch_1 = require("../patch");
7
- const helpers_1 = require("../helpers");
1
+ import _ from 'lodash';
2
+ import { deletePatch } from '../patch.js';
3
+ import { isHookIgnored } from '../helpers.js';
8
4
  const deleteMethods = [
9
5
  'remove',
10
6
  'findOneAndDelete',
@@ -14,10 +10,10 @@ const deleteMethods = [
14
10
  'deleteOne',
15
11
  'deleteMany'
16
12
  ];
17
- const deleteHooksInitialize = (schema, opts) => {
13
+ export const deleteHooksInitialize = (schema, opts) => {
18
14
  schema.pre(deleteMethods, { document: false, query: true }, async function () {
19
15
  const options = this.getOptions();
20
- if ((0, helpers_1.isHookIgnored)(options))
16
+ if (isHookIgnored(options))
21
17
  return;
22
18
  const model = this.model;
23
19
  const filter = this.getFilter();
@@ -30,26 +26,25 @@ const deleteHooksInitialize = (schema, opts) => {
30
26
  };
31
27
  if (['remove', 'deleteMany'].includes(this._context.op) && !options['single']) {
32
28
  const docs = await model.find(filter).lean().exec();
33
- if (!lodash_1.default.isEmpty(docs)) {
29
+ if (!_.isEmpty(docs)) {
34
30
  this._context.deletedDocs = docs;
35
31
  }
36
32
  }
37
33
  else {
38
34
  const doc = await model.findOne(filter).lean().exec();
39
- if (!lodash_1.default.isEmpty(doc)) {
35
+ if (!_.isEmpty(doc)) {
40
36
  this._context.deletedDocs = [doc];
41
37
  }
42
38
  }
43
- if (opts.preDelete && lodash_1.default.isArray(this._context.deletedDocs) && !lodash_1.default.isEmpty(this._context.deletedDocs)) {
39
+ if (opts.preDelete && _.isArray(this._context.deletedDocs) && !_.isEmpty(this._context.deletedDocs)) {
44
40
  await opts.preDelete(this._context.deletedDocs);
45
41
  }
46
42
  });
47
43
  schema.post(deleteMethods, { document: false, query: true }, async function () {
48
44
  const options = this.getOptions();
49
- if ((0, helpers_1.isHookIgnored)(options))
45
+ if (isHookIgnored(options))
50
46
  return;
51
- await (0, patch_1.deletePatch)(opts, this._context);
47
+ await deletePatch(opts, this._context);
52
48
  });
53
49
  };
54
- exports.deleteHooksInitialize = deleteHooksInitialize;
55
50
  //# sourceMappingURL=delete-hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delete-hooks.js","sourceRoot":"","sources":["../../../src/hooks/delete-hooks.ts"],"names":[],"mappings":";;;;AAAA,4DAAsB;AAEtB,oCAAsC;AACtC,wCAA0C;AAM1C,MAAM,aAAa,GAAG;IACpB,QAAQ;IACR,kBAAkB;IAClB,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;IACnB,WAAW;IACX,YAAY;CACb,CAAA;AAEM,MAAM,qBAAqB,GAAG,CAAI,MAAiB,EAAE,IAAuB,EAAQ,EAAE;IAC3F,MAAM,CAAC,GAAG,CAAC,aAA0C,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK;QAC5F,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACjC,IAAI,IAAA,uBAAa,EAAC,OAAO,CAAC;YAAE,OAAM;QAElC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAiB,CAAA;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAE/B,IAAI,CAAC,QAAQ,GAAG;YACd,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS;YACjD,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc;YAC3E,WAAW,EAAE,OAAO,CAAC,aAAa,CAAY;YAC9C,kBAAkB,EAAE,OAAO,CAAC,oBAAoB,CAAY;SAC7D,CAAA;QAED,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;YACnD,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAA6B,CAAA;YAC3D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;YACrD,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpB,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,GAAG,CAA0B,CAAA;YAC5D,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,IAAI,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACpG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QACjD,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,aAA0C,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK;QAC7F,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACjC,IAAI,IAAA,uBAAa,EAAC,OAAO,CAAC;YAAE,OAAM;QAElC,MAAM,IAAA,mBAAW,EAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAvCY,QAAA,qBAAqB,yBAuCjC"}
1
+ {"version":3,"file":"delete-hooks.js","sourceRoot":"","sources":["../../../src/hooks/delete-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAM1C,MAAM,aAAa,GAAG;IACpB,QAAQ;IACR,kBAAkB;IAClB,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;IACnB,WAAW;IACX,YAAY;CACb,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAI,MAAiB,EAAE,IAAuB,EAAQ,EAAE;IAC3F,MAAM,CAAC,GAAG,CAAC,aAA0C,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK;QAC5F,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACjC,IAAI,aAAa,CAAC,OAAO,CAAC;YAAE,OAAM;QAElC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAiB,CAAA;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAE/B,IAAI,CAAC,QAAQ,GAAG;YACd,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS;YACjD,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc;YAC3E,WAAW,EAAE,OAAO,CAAC,aAAa,CAAY;YAC9C,kBAAkB,EAAE,OAAO,CAAC,oBAAoB,CAAY;SAC7D,CAAA;QAED,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;YACnD,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAA6B,CAAA;YAC3D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;YACrD,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpB,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,GAAG,CAA0B,CAAA;YAC5D,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACpG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QACjD,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,aAA0C,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK;QAC7F,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACjC,IAAI,aAAa,CAAC,OAAO,CAAC;YAAE,OAAM;QAElC,MAAM,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -1,11 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.saveHooksInitialize = void 0;
4
- const patch_1 = require("../patch");
5
- const helpers_1 = require("../helpers");
6
- const saveHooksInitialize = (schema, opts) => {
1
+ import { createPatch, updatePatch } from '../patch.js';
2
+ import { toObjectOptions } from '../helpers.js';
3
+ export const saveHooksInitialize = (schema, opts) => {
7
4
  schema.pre('save', async function () {
8
- const current = this.toObject(helpers_1.toObjectOptions);
5
+ const current = this.toObject(toObjectOptions);
9
6
  const model = this.constructor;
10
7
  const context = {
11
8
  op: this.isNew ? 'create' : 'update',
@@ -14,15 +11,14 @@ const saveHooksInitialize = (schema, opts) => {
14
11
  createdDocs: [current]
15
12
  };
16
13
  if (this.isNew) {
17
- await (0, patch_1.createPatch)(opts, context);
14
+ await createPatch(opts, context);
18
15
  }
19
16
  else {
20
17
  const original = await model.findById(current._id).lean().exec();
21
18
  if (original) {
22
- await (0, patch_1.updatePatch)(opts, context, current, original);
19
+ await updatePatch(opts, context, current, original);
23
20
  }
24
21
  }
25
22
  });
26
23
  };
27
- exports.saveHooksInitialize = saveHooksInitialize;
28
24
  //# sourceMappingURL=save-hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"save-hooks.js","sourceRoot":"","sources":["../../../src/hooks/save-hooks.ts"],"names":[],"mappings":";;;AAAA,oCAAmD;AACnD,wCAA4C;AAMrC,MAAM,mBAAmB,GAAG,CAAI,MAAiB,EAAE,IAAuB,EAAQ,EAAE;IACzF,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,yBAAe,CAAwB,CAAA;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAuB,CAAA;QAE1C,MAAM,OAAO,GAAgB;YAC3B,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;YACpC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS;YAC5C,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,UAAU,CAAC,cAAc;YACtE,WAAW,EAAE,CAAC,OAAO,CAAC;SACvB,CAAA;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,IAAA,mBAAW,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;YAChE,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,IAAA,mBAAW,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAA+B,CAAC,CAAA;YAC5E,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AArBY,QAAA,mBAAmB,uBAqB/B"}
1
+ {"version":3,"file":"save-hooks.js","sourceRoot":"","sources":["../../../src/hooks/save-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAM5C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAI,MAAiB,EAAE,IAAuB,EAAQ,EAAE;IACzF,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAwB,CAAA;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAuB,CAAA;QAE1C,MAAM,OAAO,GAAgB;YAC3B,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;YACpC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS;YAC5C,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,UAAU,CAAC,cAAc;YACtE,WAAW,EAAE,CAAC,OAAO,CAAC;SACvB,CAAA;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;YAChE,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAA+B,CAAC,CAAA;YAC5E,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -1,11 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateHooksInitialize = exports.splitUpdateAndCommands = exports.assignUpdate = void 0;
4
- const tslib_1 = require("tslib");
5
- const lodash_1 = tslib_1.__importDefault(require("lodash"));
6
- const power_assign_1 = require("power-assign");
7
- const patch_1 = require("../patch");
8
- const helpers_1 = require("../helpers");
1
+ import _ from 'lodash';
2
+ import { assign } from 'power-assign';
3
+ import { createPatch, updatePatch } from '../patch.js';
4
+ import { isHookIgnored } from '../helpers.js';
9
5
  const updateMethods = [
10
6
  'update',
11
7
  'updateOne',
@@ -15,26 +11,25 @@ const updateMethods = [
15
11
  'findOneAndReplace',
16
12
  'findByIdAndUpdate'
17
13
  ];
18
- const assignUpdate = (document, update, commands) => {
19
- let updated = (0, power_assign_1.assign)(document, update);
20
- lodash_1.default.forEach(commands, (command) => {
14
+ export const assignUpdate = (document, update, commands) => {
15
+ let updated = assign(document, update);
16
+ _.forEach(commands, (command) => {
21
17
  try {
22
- updated = (0, power_assign_1.assign)(updated, command);
18
+ updated = assign(updated, command);
23
19
  }
24
20
  catch {
25
21
  }
26
22
  });
27
23
  return updated;
28
24
  };
29
- exports.assignUpdate = assignUpdate;
30
- const splitUpdateAndCommands = (updateQuery) => {
25
+ export const splitUpdateAndCommands = (updateQuery) => {
31
26
  let update = {};
32
27
  const commands = [];
33
- if (!lodash_1.default.isEmpty(updateQuery) && !lodash_1.default.isArray(updateQuery) && lodash_1.default.isObjectLike(updateQuery)) {
34
- update = lodash_1.default.cloneDeep(updateQuery);
35
- const keys = lodash_1.default.keys(update).filter((key) => key.startsWith('$'));
36
- if (!lodash_1.default.isEmpty(keys)) {
37
- lodash_1.default.forEach(keys, (key) => {
28
+ if (!_.isEmpty(updateQuery) && !_.isArray(updateQuery) && _.isObjectLike(updateQuery)) {
29
+ update = _.cloneDeep(updateQuery);
30
+ const keys = _.keys(update).filter((key) => key.startsWith('$'));
31
+ if (!_.isEmpty(keys)) {
32
+ _.forEach(keys, (key) => {
38
33
  commands.push({ [key]: update[key] });
39
34
  delete update[key];
40
35
  });
@@ -42,11 +37,10 @@ const splitUpdateAndCommands = (updateQuery) => {
42
37
  }
43
38
  return { update, commands };
44
39
  };
45
- exports.splitUpdateAndCommands = splitUpdateAndCommands;
46
- const updateHooksInitialize = (schema, opts) => {
40
+ export const updateHooksInitialize = (schema, opts) => {
47
41
  schema.pre(updateMethods, async function () {
48
42
  const options = this.getOptions();
49
- if ((0, helpers_1.isHookIgnored)(options))
43
+ if (isHookIgnored(options))
50
44
  return;
51
45
  const model = this.model;
52
46
  const filter = this.getFilter();
@@ -60,30 +54,29 @@ const updateHooksInitialize = (schema, opts) => {
60
54
  ignorePatchHistory: options['ignorePatchHistory']
61
55
  };
62
56
  const updateQuery = this.getUpdate();
63
- const { update, commands } = (0, exports.splitUpdateAndCommands)(updateQuery);
57
+ const { update, commands } = splitUpdateAndCommands(updateQuery);
64
58
  const cursor = model.find(filter).lean().cursor();
65
59
  await cursor.eachAsync(async (doc) => {
66
- await (0, patch_1.updatePatch)(opts, this._context, (0, exports.assignUpdate)(doc, update, commands), doc);
60
+ await updatePatch(opts, this._context, assignUpdate(doc, update, commands), doc);
67
61
  });
68
62
  });
69
63
  schema.post(updateMethods, async function () {
70
64
  const options = this.getOptions();
71
- if ((0, helpers_1.isHookIgnored)(options))
65
+ if (isHookIgnored(options))
72
66
  return;
73
67
  if (!this._context.isNew)
74
68
  return;
75
69
  const model = this.model;
76
70
  const updateQuery = this.getUpdate();
77
- const { update, commands } = (0, exports.splitUpdateAndCommands)(updateQuery);
78
- const filter = (0, exports.assignUpdate)({}, update, commands);
79
- if (!lodash_1.default.isEmpty(filter)) {
71
+ const { update, commands } = splitUpdateAndCommands(updateQuery);
72
+ const filter = assignUpdate({}, update, commands);
73
+ if (!_.isEmpty(filter)) {
80
74
  const current = await model.findOne(update).lean().exec();
81
75
  if (current) {
82
76
  this._context.createdDocs = [current];
83
- await (0, patch_1.createPatch)(opts, this._context);
77
+ await createPatch(opts, this._context);
84
78
  }
85
79
  }
86
80
  });
87
81
  };
88
- exports.updateHooksInitialize = updateHooksInitialize;
89
82
  //# sourceMappingURL=update-hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-hooks.js","sourceRoot":"","sources":["../../../src/hooks/update-hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-hooks.js","sourceRoot":"","sources":["../../../src/hooks/update-hooks.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=IContext.js.map
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=IEvent.js.map
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=IHistory.js.map
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=IHookContext.js.map
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=IPluginOptions.js.map
@@ -1,7 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const mongoose_1 = require("mongoose");
4
- const HistorySchema = new mongoose_1.Schema({
1
+ import { Schema, model } from 'mongoose';
2
+ const HistorySchema = new Schema({
5
3
  op: {
6
4
  type: String,
7
5
  required: true
@@ -15,7 +13,7 @@ const HistorySchema = new mongoose_1.Schema({
15
13
  required: true
16
14
  },
17
15
  collectionId: {
18
- type: mongoose_1.Schema.Types.ObjectId,
16
+ type: Schema.Types.ObjectId,
19
17
  required: true
20
18
  },
21
19
  doc: {
@@ -41,6 +39,6 @@ const HistorySchema = new mongoose_1.Schema({
41
39
  }, { timestamps: true });
42
40
  HistorySchema.index({ collectionId: 1, version: -1 });
43
41
  HistorySchema.index({ op: 1, modelName: 1, collectionName: 1, collectionId: 1, reason: 1, version: 1 });
44
- const History = (0, mongoose_1.model)('History', HistorySchema, 'history');
45
- exports.default = History;
42
+ const History = model('History', HistorySchema, 'history');
43
+ export default History;
46
44
  //# sourceMappingURL=History.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"History.js","sourceRoot":"","sources":["../../../src/models/History.ts"],"names":[],"mappings":";;AAAA,uCAAwC;AAIxC,MAAM,aAAa,GAAG,IAAI,iBAAM,CAAW;IACzC,EAAE,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;IACD,SAAS,EAAE;QACT,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;IACD,cAAc,EAAE;QACd,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,QAAQ,EAAE,IAAI;KACf;IACD,GAAG,EAAE;QACH,IAAI,EAAE,MAAM;KACb;IACD,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;KACZ;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;KACb;IACD,MAAM,EAAE;QACN,IAAI,EAAE,MAAM;KACb;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM;KACb;IACD,OAAO,EAAE;QACP,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,CAAC;QACN,OAAO,EAAE,CAAC;KACX;CACF,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;AAExB,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;AACrD,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;AAEvG,MAAM,OAAO,GAAG,IAAA,gBAAK,EAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;AAE1D,kBAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"History.js","sourceRoot":"","sources":["../../../src/models/History.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAIxC,MAAM,aAAa,GAAG,IAAI,MAAM,CAAW;IACzC,EAAE,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;IACD,SAAS,EAAE;QACT,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;IACD,cAAc,EAAE;QACd,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,QAAQ,EAAE,IAAI;KACf;IACD,GAAG,EAAE;QACH,IAAI,EAAE,MAAM;KACb;IACD,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;KACZ;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;KACb;IACD,MAAM,EAAE;QACN,IAAI,EAAE,MAAM;KACb;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM;KACb;IACD,OAAO,EAAE;QACP,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,CAAC;QACN,OAAO,EAAE,CAAC;KACX;CACF,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;AAExB,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;AACrD,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;AAEvG,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;AAE1D,eAAe,OAAO,CAAA"}
@@ -0,0 +1 @@
1
+ { "type": "module" }
package/dist/esm/patch.js CHANGED
@@ -1,51 +1,42 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deletePatch = exports.updatePatch = exports.createPatch = exports.bulkPatch = exports.emitEvent = exports.getData = exports.getValue = exports.getMetadata = exports.getReason = exports.getUser = exports.getObjects = void 0;
4
- const tslib_1 = require("tslib");
5
- const lodash_1 = tslib_1.__importDefault(require("lodash"));
6
- const omit_deep_1 = tslib_1.__importDefault(require("omit-deep"));
7
- const fast_json_patch_1 = tslib_1.__importDefault(require("fast-json-patch"));
8
- const History_1 = tslib_1.__importDefault(require("./models/History"));
9
- const em_1 = tslib_1.__importDefault(require("./em"));
1
+ import _ from 'lodash';
2
+ import omit from 'omit-deep';
3
+ import jsonpatch from 'fast-json-patch';
4
+ import History from './models/History.js';
5
+ import em from './em.js';
10
6
  function isPatchHistoryEnabled(opts, context) {
11
7
  return !opts.patchHistoryDisabled && !context.ignorePatchHistory;
12
8
  }
13
- function getObjects(opts, current, original) {
9
+ export function getObjects(opts, current, original) {
14
10
  let currentObject = JSON.parse(JSON.stringify(current));
15
11
  let originalObject = JSON.parse(JSON.stringify(original));
16
12
  if (opts.omit) {
17
- currentObject = (0, omit_deep_1.default)(currentObject, opts.omit);
18
- originalObject = (0, omit_deep_1.default)(originalObject, opts.omit);
13
+ currentObject = omit(currentObject, opts.omit);
14
+ originalObject = omit(originalObject, opts.omit);
19
15
  }
20
16
  return { currentObject, originalObject };
21
17
  }
22
- exports.getObjects = getObjects;
23
- async function getUser(opts) {
24
- if (lodash_1.default.isFunction(opts.getUser)) {
18
+ export async function getUser(opts) {
19
+ if (_.isFunction(opts.getUser)) {
25
20
  return await opts.getUser();
26
21
  }
27
22
  return undefined;
28
23
  }
29
- exports.getUser = getUser;
30
- async function getReason(opts) {
31
- if (lodash_1.default.isFunction(opts.getReason)) {
24
+ export async function getReason(opts) {
25
+ if (_.isFunction(opts.getReason)) {
32
26
  return await opts.getReason();
33
27
  }
34
28
  return undefined;
35
29
  }
36
- exports.getReason = getReason;
37
- async function getMetadata(opts) {
38
- if (lodash_1.default.isFunction(opts.getMetadata)) {
30
+ export async function getMetadata(opts) {
31
+ if (_.isFunction(opts.getMetadata)) {
39
32
  return await opts.getMetadata();
40
33
  }
41
34
  return undefined;
42
35
  }
43
- exports.getMetadata = getMetadata;
44
- function getValue(item) {
36
+ export function getValue(item) {
45
37
  return item.status === 'fulfilled' ? item.value : undefined;
46
38
  }
47
- exports.getValue = getValue;
48
- async function getData(opts) {
39
+ export async function getData(opts) {
49
40
  return Promise
50
41
  .allSettled([getUser(opts), getReason(opts), getMetadata(opts)])
51
42
  .then(([user, reason, metadata]) => {
@@ -56,22 +47,20 @@ async function getData(opts) {
56
47
  ];
57
48
  });
58
49
  }
59
- exports.getData = getData;
60
- function emitEvent(context, event, data) {
50
+ export function emitEvent(context, event, data) {
61
51
  if (event && !context.ignoreEvent) {
62
- em_1.default.emit(event, data);
52
+ em.emit(event, data);
63
53
  }
64
54
  }
65
- exports.emitEvent = emitEvent;
66
- async function bulkPatch(opts, context, eventKey, docsKey) {
55
+ export async function bulkPatch(opts, context, eventKey, docsKey) {
67
56
  const history = isPatchHistoryEnabled(opts, context);
68
57
  const event = opts[eventKey];
69
58
  const docs = context[docsKey];
70
59
  const key = eventKey === 'eventCreated' ? 'doc' : 'oldDoc';
71
- if (lodash_1.default.isEmpty(docs) || (!event && !history))
60
+ if (_.isEmpty(docs) || (!event && !history))
72
61
  return;
73
62
  const [user, reason, metadata] = await getData(opts);
74
- const chunks = lodash_1.default.chunk(docs, 1000);
63
+ const chunks = _.chunk(docs, 1000);
75
64
  for await (const chunk of chunks) {
76
65
  const bulk = [];
77
66
  for (const doc of chunk) {
@@ -95,32 +84,30 @@ async function bulkPatch(opts, context, eventKey, docsKey) {
95
84
  }
96
85
  }
97
86
  if (history) {
98
- await History_1.default.bulkWrite(bulk, { ordered: false });
87
+ await History.bulkWrite(bulk, { ordered: false });
99
88
  }
100
89
  }
101
90
  }
102
- exports.bulkPatch = bulkPatch;
103
- async function createPatch(opts, context) {
91
+ export async function createPatch(opts, context) {
104
92
  await bulkPatch(opts, context, 'eventCreated', 'createdDocs');
105
93
  }
106
- exports.createPatch = createPatch;
107
- async function updatePatch(opts, context, current, original) {
94
+ export async function updatePatch(opts, context, current, original) {
108
95
  const history = isPatchHistoryEnabled(opts, context);
109
96
  const { currentObject, originalObject } = getObjects(opts, current, original);
110
- if (lodash_1.default.isEmpty(originalObject) || lodash_1.default.isEmpty(currentObject))
97
+ if (_.isEmpty(originalObject) || _.isEmpty(currentObject))
111
98
  return;
112
- const patch = fast_json_patch_1.default.compare(originalObject, currentObject, true);
113
- if (lodash_1.default.isEmpty(patch))
99
+ const patch = jsonpatch.compare(originalObject, currentObject, true);
100
+ if (_.isEmpty(patch))
114
101
  return;
115
102
  emitEvent(context, opts.eventUpdated, { oldDoc: original, doc: current, patch });
116
103
  if (history) {
117
104
  let version = 0;
118
- const lastHistory = await History_1.default.findOne({ collectionId: original._id }).sort('-version').exec();
105
+ const lastHistory = await History.findOne({ collectionId: original._id }).sort('-version').exec();
119
106
  if (lastHistory && lastHistory.version >= 0) {
120
107
  version = lastHistory.version + 1;
121
108
  }
122
109
  const [user, reason, metadata] = await getData(opts);
123
- await History_1.default.create({
110
+ await History.create({
124
111
  op: context.op,
125
112
  modelName: context.modelName,
126
113
  collectionName: context.collectionName,
@@ -133,9 +120,7 @@ async function updatePatch(opts, context, current, original) {
133
120
  });
134
121
  }
135
122
  }
136
- exports.updatePatch = updatePatch;
137
- async function deletePatch(opts, context) {
123
+ export async function deletePatch(opts, context) {
138
124
  await bulkPatch(opts, context, 'eventDeleted', 'deletedDocs');
139
125
  }
140
- exports.deletePatch = deletePatch;
141
126
  //# sourceMappingURL=patch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"patch.js","sourceRoot":"","sources":["../../src/patch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"patch.js","sourceRoot":"","sources":["../../src/patch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import _ from 'lodash';
2
+ import em from './em.js';
3
+ import { createPatch, deletePatch } from './patch.js';
4
+ import { isMongooseLessThan7, isMongooseLessThan8 } from './version.js';
5
+ import { toObjectOptions } from './helpers.js';
6
+ import { saveHooksInitialize } from './hooks/save-hooks.js';
7
+ import { updateHooksInitialize } from './hooks/update-hooks.js';
8
+ import { deleteHooksInitialize } from './hooks/delete-hooks.js';
9
+ const remove = isMongooseLessThan7 ? 'remove' : 'deleteOne';
10
+ export const patchEventEmitter = em;
11
+ export const patchHistoryPlugin = function plugin(schema, opts) {
12
+ saveHooksInitialize(schema, opts);
13
+ updateHooksInitialize(schema, opts);
14
+ deleteHooksInitialize(schema, opts);
15
+ schema.post('insertMany', async function (docs) {
16
+ const context = {
17
+ op: 'create',
18
+ modelName: opts.modelName ?? this.modelName,
19
+ collectionName: opts.collectionName ?? this.collection.collectionName,
20
+ createdDocs: docs
21
+ };
22
+ await createPatch(opts, context);
23
+ });
24
+ if (isMongooseLessThan8) {
25
+ schema.pre(remove, { document: true, query: false }, async function () {
26
+ const original = this.toObject(toObjectOptions);
27
+ if (opts.preDelete && !_.isEmpty(original)) {
28
+ await opts.preDelete([original]);
29
+ }
30
+ });
31
+ schema.post(remove, { document: true, query: false }, async function () {
32
+ const original = this.toObject(toObjectOptions);
33
+ const model = this.constructor;
34
+ const context = {
35
+ op: 'delete',
36
+ modelName: opts.modelName ?? model.modelName,
37
+ collectionName: opts.collectionName ?? model.collection.collectionName,
38
+ deletedDocs: [original]
39
+ };
40
+ await deletePatch(opts, context);
41
+ });
42
+ }
43
+ };
44
+ //# sourceMappingURL=plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":";;;;AAAA,4DAAsB;AACtB,sDAAqB;AAErB,mCAAkD;AAClD,uCAAoE;AACpE,uCAA2C;AAE3C,mDAAwD;AACxD,uDAA4D;AAC5D,uDAA4D;AAM5D,MAAM,MAAM,GAAG,6BAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAA;AAK9C,QAAA,iBAAiB,GAAG,YAAE,CAAA;AAQ5B,MAAM,kBAAkB,GAAG,SAAS,MAAM,CAAK,MAAiB,EAAE,IAAuB;IAE9F,IAAA,gCAAmB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACjC,IAAA,oCAAqB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACnC,IAAA,oCAAqB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAGnC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,WAAW,IAAI;QAC5C,MAAM,OAAO,GAAG;YACd,EAAE,EAAE,QAAQ;YACZ,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;YAC3C,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc;YACrE,WAAW,EAAE,IAAwC;SACtD,CAAA;QAED,MAAM,IAAA,mBAAW,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAIF,IAAI,6BAAmB,EAAE,CAAC;QAExB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK;YAGxD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,yBAAe,CAAwB,CAAA;YAEtE,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;YAClC,CAAC;QACH,CAAC,CAAC,CAAA;QAGF,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK;YACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,yBAAe,CAAwB,CAAA;YACtE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAuB,CAAA;YAE1C,MAAM,OAAO,GAAgB;gBAC3B,EAAE,EAAE,QAAQ;gBACZ,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS;gBAC5C,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,UAAU,CAAC,cAAc;gBACtE,WAAW,EAAE,CAAC,QAAQ,CAAC;aACxB,CAAA;YAED,MAAM,IAAA,mBAAW,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAA;AA/CY,QAAA,kBAAkB,sBA+C9B"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAA;AACtB,OAAO,EAAE,MAAM,MAAM,CAAA;AAErB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAE3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAM5D,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAA;AAK3D,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAA;AAQnC,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,MAAM,CAAK,MAAiB,EAAE,IAAuB;IAE9F,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACjC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACnC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAGnC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,WAAW,IAAI;QAC5C,MAAM,OAAO,GAAG;YACd,EAAE,EAAE,QAAQ;YACZ,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;YAC3C,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc;YACrE,WAAW,EAAE,IAAwC;SACtD,CAAA;QAED,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAIF,IAAI,mBAAmB,EAAE,CAAC;QAExB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK;YAGxD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAwB,CAAA;YAEtE,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;YAClC,CAAC;QACH,CAAC,CAAC,CAAA;QAGF,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK;YACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAwB,CAAA;YACtE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAuB,CAAA;YAE1C,MAAM,OAAO,GAAgB;gBAC3B,EAAE,EAAE,QAAQ;gBACZ,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS;gBAC5C,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,UAAU,CAAC,cAAc;gBACtE,WAAW,EAAE,CAAC,QAAQ,CAAC;aACxB,CAAA;YAED,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"IHistory.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/IHistory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD,UAAU,QAAQ;IAChB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,SAAS,EAAE,CAAA;CACpB;AAED,eAAe,QAAQ,CAAA"}
1
+ {"version":3,"file":"IHistory.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/IHistory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD,UAAU,QAAQ;IAChB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,SAAS,EAAE,CAAA;CACpB;AAED,eAAe,QAAQ,CAAA"}
@@ -1,13 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isMongoose6 = exports.isMongooseLessThan7 = exports.isMongooseLessThan8 = void 0;
4
- const tslib_1 = require("tslib");
5
- const semver_1 = require("semver");
6
- const mongoose_1 = tslib_1.__importDefault(require("mongoose"));
7
- exports.isMongooseLessThan8 = (0, semver_1.satisfies)(mongoose_1.default.version, '<8');
8
- exports.isMongooseLessThan7 = (0, semver_1.satisfies)(mongoose_1.default.version, '<7');
9
- exports.isMongoose6 = (0, semver_1.satisfies)(mongoose_1.default.version, '6');
10
- if (exports.isMongoose6) {
11
- mongoose_1.default.set('strictQuery', false);
1
+ import { satisfies } from 'semver';
2
+ import mongoose from 'mongoose';
3
+ export const isMongooseLessThan8 = satisfies(mongoose.version, '<8');
4
+ export const isMongooseLessThan7 = satisfies(mongoose.version, '<7');
5
+ export const isMongoose6 = satisfies(mongoose.version, '6');
6
+ if (isMongoose6) {
7
+ mongoose.set('strictQuery', false);
12
8
  }
13
9
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;;AAAA,mCAAkC;AAClC,gEAA+B;AAElB,QAAA,mBAAmB,GAAG,IAAA,kBAAS,EAAC,kBAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AACvD,QAAA,mBAAmB,GAAG,IAAA,kBAAS,EAAC,kBAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AACvD,QAAA,WAAW,GAAG,IAAA,kBAAS,EAAC,kBAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;AAE3D,IAAI,mBAAW,EAAE,CAAC;IAChB,kBAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;AACpC,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAClC,OAAO,QAAQ,MAAM,UAAU,CAAA;AAE/B,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AACpE,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AACpE,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;AAE3D,IAAI,WAAW,EAAE,CAAC;IAChB,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;AACpC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-patch-mongoose",
3
- "version": "2.5.1",
3
+ "version": "2.5.3",
4
4
  "description": "Patch history & events for mongoose models",
5
5
  "author": "Alex Eagle",
6
6
  "license": "MIT",
@@ -54,7 +54,7 @@
54
54
  ".": {
55
55
  "import": {
56
56
  "types": "./dist/esm/types/plugin.d.ts",
57
- "default": "./dist/esm/plugin.mjs"
57
+ "default": "./dist/esm/plugin.js"
58
58
  },
59
59
  "require": {
60
60
  "types": "./dist/cjs/types/plugin.d.ts",
@@ -63,6 +63,7 @@
63
63
  }
64
64
  },
65
65
  "main": "dist/cjs/plugin.js",
66
+ "module": "dist/esm/plugin.js",
66
67
  "types": "dist/cjs/types/plugin.d.ts",
67
68
  "scripts": {
68
69
  "lint": "eslint . --ext .js,.ts",
@@ -72,7 +73,7 @@
72
73
  "clean": "rm -rf ./dist",
73
74
  "build": "npm run clean && npm run build:cjs && npm run build:esm",
74
75
  "build:cjs": "tsc -p config/tsconfig.cjs.json",
75
- "build:esm": "tsc -p config/tsconfig.esm.json && mv ./dist/esm/plugin.js ./dist/esm/plugin.mjs",
76
+ "build:esm": "tsc -p config/tsconfig.esm.json && bash/esm.sh",
76
77
  "release": "npm install && npm run lint && npm run build && np"
77
78
  },
78
79
  "dependencies": {
@@ -85,25 +86,24 @@
85
86
  "devDependencies": {
86
87
  "@shelf/jest-mongodb": "4.2.0",
87
88
  "@swc/cli": "0.1.63",
88
- "@swc/core": "1.3.99",
89
+ "@swc/core": "1.3.102",
89
90
  "@swc/helpers": "0.5.3",
90
91
  "@swc/jest": "0.2.29",
91
92
  "@swc/register": "0.1.10",
92
- "@types/jest": "29.5.10",
93
+ "@types/jest": "29.5.11",
93
94
  "@types/lodash": "4.14.202",
94
95
  "@types/node": "20",
95
- "@typescript-eslint/eslint-plugin": "6.13.0",
96
- "@typescript-eslint/parser": "6.13.0",
97
- "eslint": "8.54.0",
98
- "eslint-plugin-jest": "27.6.0",
96
+ "@typescript-eslint/eslint-plugin": "6.18.1",
97
+ "@typescript-eslint/parser": "6.18.1",
98
+ "eslint": "8.56.0",
99
+ "eslint-plugin-jest": "27.6.1",
99
100
  "eslint-plugin-jest-formatting": "3.1.0",
100
101
  "eslint-plugin-sonarjs": "0.23.0",
101
102
  "jest": "29.7.0",
102
103
  "merge": "2.1.1",
103
104
  "mongoose": "latest",
104
- "open-cli": "7.2.0",
105
- "ts-node": "10.9.1",
106
- "typescript": "5.3.2"
105
+ "open-cli": "8.0.0",
106
+ "typescript": "5.3.3"
107
107
  },
108
108
  "peerDependencies": {
109
109
  "mongoose": ">=6.6.0 < 9"
@@ -3,7 +3,7 @@ import type { Operation } from 'fast-json-patch'
3
3
 
4
4
  interface IHistory {
5
5
  op: string
6
- modelName: string,
6
+ modelName: string
7
7
  collectionName: string
8
8
  collectionId: Types.ObjectId
9
9
  version: number
package/tsconfig.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "target": "es2021",
3
+ "target": "ES2021",
4
4
  "lib": [
5
- "es2021"
5
+ "ES2021"
6
6
  ],
7
- "module": "commonjs",
8
- "moduleResolution": "node",
7
+ "module": "CommonJS",
8
+ "moduleResolution": "Node",
9
9
  "outDir": "dist",
10
10
  "strict": true,
11
11
  "allowSyntheticDefaultImports": true,
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.patchHistoryPlugin = exports.patchEventEmitter = void 0;
4
- const tslib_1 = require("tslib");
5
- const lodash_1 = tslib_1.__importDefault(require("lodash"));
6
- const em_1 = tslib_1.__importDefault(require("./em"));
7
- const patch_1 = require("./patch");
8
- const version_1 = require("./version");
9
- const helpers_1 = require("./helpers");
10
- const save_hooks_1 = require("./hooks/save-hooks");
11
- const update_hooks_1 = require("./hooks/update-hooks");
12
- const delete_hooks_1 = require("./hooks/delete-hooks");
13
- const remove = version_1.isMongooseLessThan7 ? 'remove' : 'deleteOne';
14
- exports.patchEventEmitter = em_1.default;
15
- const patchHistoryPlugin = function plugin(schema, opts) {
16
- (0, save_hooks_1.saveHooksInitialize)(schema, opts);
17
- (0, update_hooks_1.updateHooksInitialize)(schema, opts);
18
- (0, delete_hooks_1.deleteHooksInitialize)(schema, opts);
19
- schema.post('insertMany', async function (docs) {
20
- const context = {
21
- op: 'create',
22
- modelName: opts.modelName ?? this.modelName,
23
- collectionName: opts.collectionName ?? this.collection.collectionName,
24
- createdDocs: docs
25
- };
26
- await (0, patch_1.createPatch)(opts, context);
27
- });
28
- if (version_1.isMongooseLessThan8) {
29
- schema.pre(remove, { document: true, query: false }, async function () {
30
- const original = this.toObject(helpers_1.toObjectOptions);
31
- if (opts.preDelete && !lodash_1.default.isEmpty(original)) {
32
- await opts.preDelete([original]);
33
- }
34
- });
35
- schema.post(remove, { document: true, query: false }, async function () {
36
- const original = this.toObject(helpers_1.toObjectOptions);
37
- const model = this.constructor;
38
- const context = {
39
- op: 'delete',
40
- modelName: opts.modelName ?? model.modelName,
41
- collectionName: opts.collectionName ?? model.collection.collectionName,
42
- deletedDocs: [original]
43
- };
44
- await (0, patch_1.deletePatch)(opts, context);
45
- });
46
- }
47
- };
48
- exports.patchHistoryPlugin = patchHistoryPlugin;
49
- //# sourceMappingURL=plugin.js.map