@karmaniverous/entity-manager 4.1.0 → 4.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.
@@ -372,8 +372,8 @@ class EntityManager {
372
372
  delete newItem[shardKeyToken];
373
373
 
374
374
  // Remove keys.
375
- (0, _forEach2.default)(keys, (getValue, key) => {
376
- delete newItem[key];
375
+ (0, _forEach2.default)(keys, (value, key) => {
376
+ if (!value.retain) delete newItem[key];
377
377
  });
378
378
  _classPrivateFieldGet(this, _entityManager).logger.debug('done', newItem);
379
379
  return newItem;
@@ -108,7 +108,10 @@ const keySchema = {
108
108
  type: 'object',
109
109
  properties: {
110
110
  encode: {},
111
- decode: {}
111
+ decode: {},
112
+ retain: {
113
+ type: 'boolean'
114
+ }
112
115
  },
113
116
  additionalProperties: false,
114
117
  required: ['encode']
@@ -343,8 +343,8 @@ export class EntityManager {
343
343
  delete newItem[shardKeyToken];
344
344
 
345
345
  // Remove keys.
346
- _.forEach(keys, (getValue, key) => {
347
- delete newItem[key];
346
+ _.forEach(keys, (value, key) => {
347
+ if (!value.retain) delete newItem[key];
348
348
  });
349
349
  this.#entityManager.logger.debug('done', newItem);
350
350
 
@@ -72,6 +72,9 @@ const keySchema = {
72
72
  properties: {
73
73
  encode: {},
74
74
  decode: {},
75
+ retain: {
76
+ type: 'boolean',
77
+ },
75
78
  },
76
79
  additionalProperties: false,
77
80
  required: ['encode'],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@karmaniverous/entity-manager",
3
- "version": "4.1.0",
3
+ "version": "4.2.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },