hadron-document 7.13.0 → 8.0.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.
@@ -1,8 +1,8 @@
1
1
  import type { Element } from './element';
2
2
  import { ElementList } from './element';
3
3
  import EventEmitter from 'eventemitter3';
4
- import type { ObjectGeneratorOptions } from './object-generator';
5
- import type { BSONObject, BSONValue } from './utils';
4
+ import type { KeyInclusionOptions, ObjectGeneratorOptions } from './object-generator';
5
+ import type { BSONArray, BSONObject, BSONValue } from './utils';
6
6
  import type { HadronEJSONOptions } from './utils';
7
7
  export declare const Events: {
8
8
  Cancel: string;
@@ -20,21 +20,18 @@ export declare class Document extends EventEmitter {
20
20
  apply(doc: BSONObject | Document): void;
21
21
  generateObject(options?: ObjectGeneratorOptions): BSONObject;
22
22
  generateOriginalObject(options?: ObjectGeneratorOptions): BSONObject;
23
- generateUpdateUnlessChangedInBackgroundQuery(alwaysIncludeKeys?: BSONObject | null): {
23
+ generateUpdateUnlessChangedInBackgroundQuery(opts?: Readonly<KeyInclusionOptions>): {
24
24
  query: BSONObject;
25
25
  updateDoc: {
26
26
  $set?: BSONObject;
27
27
  $unset?: BSONObject;
28
- };
28
+ } | BSONArray;
29
29
  };
30
30
  get(key: string): Element | undefined;
31
31
  getChild(path: (string | number)[]): Element | undefined;
32
32
  getId(): BSONValue;
33
- getOriginalKeysAndValuesForFieldsThatWereUpdated(alwaysIncludeKeys?: BSONObject | null): BSONObject;
34
- getOriginalKeysAndValuesForSpecifiedKeys(keys: BSONObject): BSONObject;
35
- getSetUpdateForDocumentChanges(): BSONObject;
33
+ getQueryForOriginalKeysAndValuesForSpecifiedKeys(opts?: Readonly<KeyInclusionOptions>): BSONObject;
36
34
  getStringId(): null | string;
37
- getUnsetUpdateForDocumentChanges(): BSONObject;
38
35
  insertPlaceholder(): Element;
39
36
  insertBeginning(key: string | number, value: BSONValue): Element;
40
37
  insertEnd(key: string | number, value: BSONValue): Element;
@@ -1 +1 @@
1
- {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,WAAW,EAA2B,MAAM,WAAW,CAAC;AACjE,OAAO,YAAY,MAAM,eAAe,CAAC;AAEzC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAErD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAKlD,eAAO,MAAM,MAAM;;CAElB,CAAC;AAUF,qBAAa,QAAS,SAAQ,YAAY;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,WAAW,CAAC;IACtB,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,UAAU,CAAC;IAKxB,MAAM,IAAI,IAAI;gBAeF,GAAG,EAAE,UAAU,EAAE,MAAM,UAAQ;IAW3C,KAAK,CAAC,GAAG,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI;IA6BvC,cAAc,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,UAAU;IAS5D,sBAAsB,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,UAAU;IAepE,4CAA4C,CAC1C,iBAAiB,GAAE,UAAU,GAAG,IAAW,GAC1C;QACD,KAAK,EAAE,UAAU,CAAC;QAClB,SAAS,EAAE;YAAE,IAAI,CAAC,EAAE,UAAU,CAAC;YAAC,MAAM,CAAC,EAAE,UAAU,CAAA;SAAE,CAAC;KACvD;IAqCD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAWrC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,OAAO,GAAG,SAAS;IAwBxD,KAAK,IAAI,SAAS;IAgBlB,gDAAgD,CAC9C,iBAAiB,GAAE,UAAU,GAAG,IAAW,GAC1C,UAAU;IAmCb,wCAAwC,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU;IAsBtE,8BAA8B,IAAI,UAAU;IA6B5C,WAAW,IAAI,IAAI,GAAG,MAAM;IAmB5B,gCAAgC,IAAI,UAAU;IAsB9C,iBAAiB,IAAI,OAAO;IAY5B,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO;IAchE,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO;IAe1D,WAAW,CACT,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,GAAG,MAAM,EACpB,KAAK,EAAE,SAAS,GACf,OAAO,GAAG,SAAS;IAWtB,OAAO,IAAI,OAAO;IASlB,UAAU,IAAI,OAAO;IAcrB,SAAS,IAAI,OAAO;IASpB,MAAM,IAAI,IAAI,IAAI,QAAQ;IAS1B,iBAAiB,IAAI,WAAW;IAOhC,MAAM,KAAK,MAAM,IAAI,OAAO,MAAM,CAEjC;IAKD,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ;IAWzC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE;IAUhD,OAAO,CACL,MAAM,GAAE,UAAU,GAAG,SAAqB,EAC1C,OAAO,GAAE,kBAAuB,GAC/B,MAAM;CAOV;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,WAAW,EAA2B,MAAM,WAAW,CAAC;AACjE,OAAO,YAAY,MAAM,eAAe,CAAC;AAEzC,OAAO,KAAK,EACV,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEhE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAKlD,eAAO,MAAM,MAAM;;CAElB,CAAC;AAUF,qBAAa,QAAS,SAAQ,YAAY;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,WAAW,CAAC;IACtB,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,UAAU,CAAC;IAKxB,MAAM,IAAI,IAAI;gBAeF,GAAG,EAAE,UAAU,EAAE,MAAM,UAAQ;IAW3C,KAAK,CAAC,GAAG,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI;IA6BvC,cAAc,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,UAAU;IAS5D,sBAAsB,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,UAAU;IAoBpE,4CAA4C,CAC1C,IAAI,GAAE,QAAQ,CAAC,mBAAmB,CAAM,GACvC;QACD,KAAK,EAAE,UAAU,CAAC;QAClB,SAAS,EAAE;YAAE,IAAI,CAAC,EAAE,UAAU,CAAC;YAAC,MAAM,CAAC,EAAE,UAAU,CAAA;SAAE,GAAG,SAAS,CAAC;KACnE;IA+BD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAWrC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,OAAO,GAAG,SAAS;IAwBxD,KAAK,IAAI,SAAS;IAgBlB,gDAAgD,CAC9C,IAAI,GAAE,QAAQ,CAAC,mBAAmB,CAAM,GACvC,UAAU;IAab,WAAW,IAAI,IAAI,GAAG,MAAM;IAkB5B,iBAAiB,IAAI,OAAO;IAY5B,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO;IAchE,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO;IAe1D,WAAW,CACT,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,GAAG,MAAM,EACpB,KAAK,EAAE,SAAS,GACf,OAAO,GAAG,SAAS;IAWtB,OAAO,IAAI,OAAO;IASlB,UAAU,IAAI,OAAO;IAcrB,SAAS,IAAI,OAAO;IASpB,MAAM,IAAI,IAAI,IAAI,QAAQ;IAS1B,iBAAiB,IAAI,WAAW;IAOhC,MAAM,KAAK,MAAM,IAAI,OAAO,MAAM,CAEjC;IAKD,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ;IAWzC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE;IAUhD,OAAO,CACL,MAAM,GAAE,UAAU,GAAG,SAAqB,EAC1C,OAAO,GAAE,kBAAuB,GAC/B,MAAM;CAOV;AAED,eAAe,QAAQ,CAAC"}
package/dist/document.js CHANGED
@@ -61,21 +61,13 @@ class Document extends eventemitter3_1.default {
61
61
  generateOriginalObject(options) {
62
62
  return object_generator_1.default.generateOriginal(this.elements, options);
63
63
  }
64
- generateUpdateUnlessChangedInBackgroundQuery(alwaysIncludeKeys = null) {
65
- const originalFieldsThatWillBeUpdated = this.getOriginalKeysAndValuesForFieldsThatWereUpdated(alwaysIncludeKeys);
64
+ generateUpdateUnlessChangedInBackgroundQuery(opts = {}) {
65
+ const originalFieldsThatWillBeUpdated = object_generator_1.default.getQueryForOriginalKeysAndValuesForSpecifiedFields(this, opts, true);
66
66
  const query = {
67
67
  _id: this.getId(),
68
68
  ...originalFieldsThatWillBeUpdated,
69
69
  };
70
- const setUpdateObject = this.getSetUpdateForDocumentChanges();
71
- const unsetUpdateObject = this.getUnsetUpdateForDocumentChanges();
72
- const updateDoc = {};
73
- if (setUpdateObject && Object.keys(setUpdateObject).length > 0) {
74
- updateDoc.$set = setUpdateObject;
75
- }
76
- if (unsetUpdateObject && Object.keys(unsetUpdateObject).length > 0) {
77
- updateDoc.$unset = unsetUpdateObject;
78
- }
70
+ const updateDoc = object_generator_1.default.generateUpdateDoc(this);
79
71
  return {
80
72
  query,
81
73
  updateDoc,
@@ -106,44 +98,8 @@ class Document extends eventemitter3_1.default {
106
98
  const element = this.get(ID);
107
99
  return element ? element.generateObject() : null;
108
100
  }
109
- getOriginalKeysAndValuesForFieldsThatWereUpdated(alwaysIncludeKeys = null) {
110
- const object = {};
111
- if (this.elements) {
112
- for (const element of this.elements) {
113
- if ((element.isModified() && !element.isAdded()) ||
114
- (alwaysIncludeKeys && element.key in alwaysIncludeKeys)) {
115
- object[element.key] = element.generateOriginalObject();
116
- }
117
- if (element.isAdded() && element.currentKey !== '') {
118
- object[element.currentKey] = { $exists: false };
119
- }
120
- }
121
- }
122
- return object;
123
- }
124
- getOriginalKeysAndValuesForSpecifiedKeys(keys) {
125
- const object = {};
126
- if (this.elements) {
127
- for (const element of this.elements) {
128
- if (element.key in keys) {
129
- object[element.key] = element.generateOriginalObject();
130
- }
131
- }
132
- }
133
- return object;
134
- }
135
- getSetUpdateForDocumentChanges() {
136
- const object = {};
137
- if (this.elements) {
138
- for (const element of this.elements) {
139
- if (!element.isRemoved() &&
140
- element.currentKey !== '' &&
141
- element.isModified()) {
142
- object[element.currentKey] = element.generateObject();
143
- }
144
- }
145
- }
146
- return object;
101
+ getQueryForOriginalKeysAndValuesForSpecifiedKeys(opts = {}) {
102
+ return object_generator_1.default.getQueryForOriginalKeysAndValuesForSpecifiedFields(this, opts, false);
147
103
  }
148
104
  getStringId() {
149
105
  const element = this.get(ID);
@@ -156,20 +112,6 @@ class Document extends eventemitter3_1.default {
156
112
  }
157
113
  return String(element.value);
158
114
  }
159
- getUnsetUpdateForDocumentChanges() {
160
- const object = {};
161
- if (this.elements) {
162
- for (const element of this.elements) {
163
- if (!element.isAdded() && element.isRemoved() && element.key !== '') {
164
- object[element.key] = true;
165
- }
166
- if (!element.isAdded() && element.isRenamed() && element.key !== '') {
167
- object[element.key] = true;
168
- }
169
- }
170
- }
171
- return object;
172
- }
173
115
  insertPlaceholder() {
174
116
  return this.insertEnd('', '');
175
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;AAEb,uCAAiE;AACjE,kEAAyC;AACzC,+BAAmC;AAEnC,0EAAiD;AAEjD,mCAAiD;AAMpC,QAAA,MAAM,GAAG;IACpB,MAAM,EAAE,kBAAkB;CAC3B,CAAC;AAKF,MAAM,EAAE,GAAG,KAAK,CAAC;AAKjB,MAAa,QAAS,SAAQ,uBAAY;IA2BxC,YAAY,GAAe,EAAE,MAAM,GAAG,KAAK;QACzC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,WAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,KAAK,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3C,CAAC;IAxBD,MAAM;QAGJ,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC/C,OAAO,CAAC,MAAM,EAAE,CAAC;SAClB;QACD,IAAI,CAAC,IAAI,CAAC,cAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAmBD,KAAK,CAAC,GAA0B;QAC9B,IAAI,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,cAAc,CAAA,KAAK,UAAU,EAAE;YAC7C,GAAG,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;SAC5B;QACD,MAAM,WAAW,GAAwB,EAAE,CAAC;QAC5C,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC9C,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBACjB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,KAAkB,CAAC,CAAC;aACzC;iBAAM,IAAI,OAAO,EAAE;gBAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAE,EAAE,GAAG,EAAE,KAAkB,CAAC,CAAC;aAC/D;iBAAM;gBACL,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,KAAkB,CAAC,CAAC;aAC/C;YACD,OAAO,GAAG,GAAG,CAAC;YACd,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACvB;QACD,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE;YACnC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;gBACxC,EAAE,CAAC,MAAM,EAAE,CAAC;aACb;SACF;IACH,CAAC;IAOD,cAAc,CAAC,OAAgC;QAC7C,OAAO,0BAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAOD,sBAAsB,CAAC,OAAgC;QACrD,OAAO,0BAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IAaD,4CAA4C,CAC1C,oBAAuC,IAAI;QAS3C,MAAM,+BAA+B,GACnC,IAAI,CAAC,gDAAgD,CAAC,iBAAiB,CAAC,CAAC;QAC3E,MAAM,KAAK,GAAG;YACZ,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE;YACjB,GAAG,+BAA+B;SACnC,CAAC;QAIF,MAAM,eAAe,GAAG,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAC9D,MAAM,iBAAiB,GAAG,IAAI,CAAC,gCAAgC,EAAE,CAAC;QAClE,MAAM,SAAS,GAA+C,EAAE,CAAC;QACjE,IAAI,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9D,SAAS,CAAC,IAAI,GAAG,eAAe,CAAC;SAClC;QACD,IAAI,iBAAiB,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAClE,SAAS,CAAC,MAAM,GAAG,iBAAiB,CAAC;SACtC;QAED,OAAO;YACL,KAAK;YACL,SAAS;SACV,CAAC;IACJ,CAAC;IASD,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IASD,QAAQ,CAAC,IAAyB;QAChC,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,SAAS,CAAC;SAClB;QACD,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAW,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;YACtB,IAAI,OAAO,KAAK,SAAS,EAAE;gBACzB,OAAO,SAAS,CAAC;aAClB;YACD,OAAO;gBACL,OAAO,CAAC,WAAW,KAAK,OAAO;oBAC7B,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAW,CAAC;oBAC/B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAW,CAAC,CAAC;YACrC,CAAC,EAAE,CAAC;SACL;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAOD,KAAK;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7B,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC;IAaD,gDAAgD,CAC9C,oBAAuC,IAAI;QAE3C,MAAM,MAAM,GAAe,EAAE,CAAC;QAE9B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACnC,IACE,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBAC5C,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,IAAI,iBAAiB,CAAC,EACvD;oBAGA,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;iBACxD;gBACD,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,UAAU,KAAK,EAAE,EAAE;oBAGlD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;iBACjD;aACF;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAaD,wCAAwC,CAAC,IAAgB;QACvD,MAAM,MAAM,GAAe,EAAE,CAAC;QAE9B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACnC,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,EAAE;oBAGvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;iBACxD;aACF;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAQD,8BAA8B;QAC5B,MAAM,MAAM,GAAe,EAAE,CAAC;QAE9B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACnC,IACE,CAAC,OAAO,CAAC,SAAS,EAAE;oBACpB,OAAO,CAAC,UAAU,KAAK,EAAE;oBACzB,OAAO,CAAC,UAAU,EAAE,EACpB;oBAQA,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;iBACvD;aACF;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAOD,WAAW;QACT,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC;SACb;aAAM,IACL,OAAO,CAAC,WAAW,KAAK,OAAO;YAC/B,OAAO,CAAC,WAAW,KAAK,QAAQ,EAChC;YACA,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;SACjD;QACD,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAQD,gCAAgC;QAC9B,MAAM,MAAM,GAAe,EAAE,CAAC;QAE9B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACnC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,SAAS,EAAE,IAAI,OAAO,CAAC,GAAG,KAAK,EAAE,EAAE;oBACnE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;iBAC5B;gBACD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,SAAS,EAAE,IAAI,OAAO,CAAC,GAAG,KAAK,EAAE,EAAE;oBAEnE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;iBAC5B;aACF;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAOD,iBAAiB;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAChC,CAAC;IAUD,eAAe,CAAC,GAAoB,EAAE,KAAgB;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7D,UAAU,CAAC,SAAS,CAAC,gBAAa,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAC5D,OAAO,UAAU,CAAC;IACpB,CAAC;IAUD,SAAS,CAAC,GAAoB,EAAE,KAAgB;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACvD,UAAU,CAAC,SAAS,CAAC,gBAAa,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAC5D,OAAO,UAAU,CAAC;IACpB,CAAC;IAWD,WAAW,CACT,OAAgB,EAChB,GAAoB,EACpB,KAAgB;QAEhB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAClE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,SAAS,CAAC,gBAAa,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAC7D,OAAO,UAAU,CAAC;IACpB,CAAC;IAOD,OAAO;QACL,OAAO,KAAK,CAAC;IACf,CAAC;IAOD,UAAU;QACR,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;YACnC,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE;gBACxB,OAAO,IAAI,CAAC;aACb;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAOD,SAAS;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IAOD,MAAM;QACJ,OAAO,IAAI,CAAC;IACd,CAAC;IAOD,iBAAiB;QACf,OAAO,IAAI,qBAAW,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAKD,MAAM,KAAK,MAAM;QACf,OAAO,cAAM,CAAC;IAChB,CAAC;IAKD,MAAM,CAAC,SAAS,CAAC,KAAa;QAC5B,MAAM,MAAM,GAAG,YAAK,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,OAAO,IAAI,QAAQ,CAAC,MAAoB,CAAC,CAAC;IAC5C,CAAC;IAQD,MAAM,CAAC,cAAc,CAAC,KAAa;QACjC,MAAM,MAAM,GAAG,YAAK,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,GAAiB,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAoB,CAAC,CAAC,CAAC;IAC3C,CAAC;IAKD,OAAO,CACL,SAAiC,SAAS,EAC1C,UAA8B,EAAE;QAEhC,MAAM,GAAG,GACP,MAAM,KAAK,UAAU;YACnB,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAC/B,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,OAAO,IAAA,8BAAsB,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;CACF;AAvcD,4BAucC;AAED,kBAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"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"}
package/dist/element.d.ts CHANGED
@@ -53,6 +53,7 @@ export declare class Element extends EventEmitter {
53
53
  _isObjectIdEqual(): boolean;
54
54
  isLast(): boolean;
55
55
  isRenamed(): boolean;
56
+ hasChangedKey(): boolean;
56
57
  isRevertable(): boolean;
57
58
  isRemovable(): boolean;
58
59
  isNotActionable(): boolean;
@@ -65,6 +66,7 @@ export declare class Element extends EventEmitter {
65
66
  isInternalField(): boolean;
66
67
  isModified(): boolean;
67
68
  isRemoved(): boolean;
69
+ hasAnyRemovedChild(): boolean;
68
70
  isRoot(): false;
69
71
  remove(): void;
70
72
  revert(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"AAEA,OAAO,YAAY,MAAM,eAAe,CAAC;AAKzC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAKjE,OAAO,MAAM,MAAM,kBAAkB,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,CAAC;AAElC,eAAO,MAAM,WAAW,4BAA4B,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,CAAC;AAWlB,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAElE;AAoBD,qBAAa,OAAQ,SAAQ,YAAY;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,KAAK,EAAE,SAAS,CAAC;IACjB,YAAY,EAAE,SAAS,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,uBAAuB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACjD,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC;IAClC,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,aAAa,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IAKnB,MAAM,IAAI,IAAI;gBAsBZ,GAAG,EAAE,MAAM,GAAG,MAAM,EACpB,KAAK,EAAE,SAAS,GAAG,MAAM,EACzB,MAAM,GAAE,OAAO,GAAG,QAAQ,GAAG,IAAW,EACxC,KAAK,UAAQ;IA+Cf,IAAI,WAAW,IAAI,OAAO,GAAG,SAAS,CAErC;IAED,IAAI,eAAe,IAAI,OAAO,GAAG,SAAS,CAEzC;IAED,SAAS,IAAI,MAAM;IAenB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAe5B,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAoBxC,OAAO,IAAI,QAAQ;IAenB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS;IAW9C,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IASlC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAUlC,cAAc,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,SAAS;IAgB3D,sBAAsB,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,SAAS;IA4BnE,WAAW,CACT,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,GAAG,MAAM,EACpB,KAAK,EAAE,SAAS,GACf,OAAO;IAiBV,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO;IAc1D,iBAAiB,IAAI,OAAO;IAI5B,wBAAwB,IAAI,OAAO;IASnC,OAAO,IAAI,OAAO;IASlB,OAAO,IAAI,OAAO;IASlB,kBAAkB,IAAI,OAAO;IAO7B,QAAQ,IAAI,IAAI;IAahB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAe3E,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAmB/C,QAAQ,IAAI,OAAO;IAcnB,YAAY,IAAI,OAAO;IASvB,gBAAgB,IAAI,OAAO;IAa3B,MAAM,IAAI,OAAO;IASjB,SAAS,IAAI,OAAO;IAgBpB,YAAY,IAAI,OAAO;IASvB,WAAW,IAAI,OAAO;IAStB,eAAe,IAAI,OAAO;IAuB1B,gBAAgB,IAAI,OAAO;IAsB3B,yBAAyB,IAAI,OAAO;IAiBpC,eAAe,IAAI,OAAO;IAY1B,gBAAgB,IAAI,OAAO;IAO3B,qBAAqB,IAAI,OAAO;IAYhC,aAAa,IAAI,OAAO;IAUxB,eAAe,IAAI,OAAO;IAkB1B,UAAU,IAAI,OAAO;IAgBrB,SAAS,IAAI,OAAO;IASpB,MAAM,IAAI,KAAK;IAOf,MAAM,IAAI,IAAI;IAWd,MAAM,IAAI,IAAI;IA+Bd,SAAS,CAAC,GAAG,EAAE,OAAO,MAAM,CAAC,MAAM,OAAO,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,GAAG,IAAI;IAe5E,qBAAqB,IAAI,IAAI;IAQ7B,oBAAoB,IAAI,IAAI;IAY5B,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO;IAW7D,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,IAAI,UAAU,GAAG,SAAS;IAWhE,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,WAAW;IAO9D,oBAAoB,IAAI,IAAI;IAa5B,MAAM,KAAK,MAAM,IAAI,OAAO,aAAa,CAExC;CACF;AAKD,qBAAa,WAAY,YAAW,QAAQ,CAAC,OAAO,CAAC;IAIjD,OAAO,CAAC,MAAM;IAHhB,OAAO,CAAC,QAAQ,CAAY;gBAGlB,MAAM,EAAE,QAAQ,GAAG,OAAO,EAClC,WAAW,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS;IAYxD,OAAO,CAAC,OAAO;IAIf,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAItC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS;IAM9C,IAAI,YAAY,IAAI,OAAO,GAAG,SAAS,CAEtC;IAED,IAAI,WAAW,IAAI,OAAO,GAAG,SAAS,CAErC;IAYD,WAAW,CACT,YAAY,EAAE,OAAO,EACrB,GAAG,EAAE,MAAM,GAAG,MAAM,EACpB,KAAK,EAAE,SAAS,EAChB,KAAK,UAAO,GACX,OAAO,GAAG,SAAS;IAkCtB,YAAY,CACV,aAAa,EAAE,OAAO,EACtB,GAAG,EAAE,MAAM,GAAG,MAAM,EACpB,KAAK,EAAE,SAAS,EAChB,KAAK,UAAO,GACX,OAAO,GAAG,SAAS;IAgCtB,eAAe,CACb,GAAG,EAAE,MAAM,GAAG,MAAM,EACpB,KAAK,EAAE,SAAS,EAChB,KAAK,UAAO,GACX,OAAO;IAyBV,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,UAAO,GAAG,OAAO;IAkBxE,MAAM,CAAC,aAAa,EAAE,OAAO,GAAG,IAAI;IAiBpC,QAAQ,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS;IAK1C,YAAY,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS;IAK7C,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC;CAGxC;AAED,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"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"}
package/dist/element.js CHANGED
@@ -264,6 +264,9 @@ class Element extends eventemitter3_1.default {
264
264
  }
265
265
  return false;
266
266
  }
267
+ hasChangedKey() {
268
+ return this.key !== this.currentKey;
269
+ }
267
270
  isRevertable() {
268
271
  return this.isEdited() || this.isRemoved();
269
272
  }
@@ -330,6 +333,16 @@ class Element extends eventemitter3_1.default {
330
333
  isRemoved() {
331
334
  return this.removed;
332
335
  }
336
+ hasAnyRemovedChild() {
337
+ if (this.elements) {
338
+ for (const element of this.elements) {
339
+ if (element.isRemoved()) {
340
+ return true;
341
+ }
342
+ }
343
+ }
344
+ return false;
345
+ }
333
346
  isRoot() {
334
347
  return false;
335
348
  }
@@ -1 +1 @@
1
- {"version":3,"file":"element.js","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"element.js","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,26 @@
1
1
  import type { Element } from './element';
2
+ import type { Document } from './document';
3
+ import type { BSONArray, BSONObject } from './utils';
2
4
  export interface ObjectGeneratorOptions {
3
5
  excludeInternalFields?: boolean;
4
6
  }
7
+ export interface KeyInclusionOptions {
8
+ alwaysIncludeKeys?: string[][];
9
+ includableEncryptedKeys?: string[][];
10
+ }
5
11
  export declare class ObjectGenerator {
6
12
  static generate(elements: Iterable<Element>, options?: ObjectGeneratorOptions): Record<string, unknown>;
7
13
  static generateOriginal(elements: Iterable<Element>, options?: ObjectGeneratorOptions): Record<string, unknown>;
8
14
  static generateArray(elements: Iterable<Element>, options?: ObjectGeneratorOptions): unknown[];
9
15
  static generateOriginalArray(elements: Iterable<Element>, options?: ObjectGeneratorOptions): unknown[];
16
+ private static recursivelyGatherFieldsAndValuesForUpdate;
17
+ private static createGetFieldExpr;
18
+ private static createSetFieldExpr;
19
+ static getQueryForOriginalKeysAndValuesForSpecifiedFields(target: Document | Element, keyInclusionOptions: Readonly<KeyInclusionOptions>, includeUpdatedFields: boolean): BSONObject;
20
+ static generateUpdateDoc(target: Document | Element): {
21
+ $set?: BSONObject;
22
+ $unset?: BSONObject;
23
+ } | BSONArray;
10
24
  }
11
25
  export default ObjectGenerator;
12
26
  //# sourceMappingURL=object-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"object-generator.d.ts","sourceRoot":"","sources":["../src/object-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,MAAM,WAAW,sBAAsB;IACrC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAuBD,qBAAa,eAAe;IAQ1B,MAAM,CAAC,QAAQ,CACb,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC3B,OAAO,GAAE,sBAA2B,GACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IA0B1B,MAAM,CAAC,gBAAgB,CACrB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC3B,OAAO,GAAE,sBAA2B,GACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAwB1B,MAAM,CAAC,aAAa,CAClB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC3B,OAAO,GAAE,sBAA2B,GACnC,OAAO,EAAE;IA4BZ,MAAM,CAAC,qBAAqB,CAC1B,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC3B,OAAO,GAAE,sBAA2B,GACnC,OAAO,EAAE;CAkBb;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"object-generator.d.ts","sourceRoot":"","sources":["../src/object-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAa,MAAM,SAAS,CAAC;AAKhE,MAAM,WAAW,sBAAsB;IACrC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAiCD,MAAM,WAAW,mBAAmB;IASlC,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IAW/B,uBAAuB,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;CACtC;AAKD,qBAAa,eAAe;IAQ1B,MAAM,CAAC,QAAQ,CACb,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC3B,OAAO,GAAE,sBAA2B,GACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IA0B1B,MAAM,CAAC,gBAAgB,CACrB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC3B,OAAO,GAAE,sBAA2B,GACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAwB1B,MAAM,CAAC,aAAa,CAClB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC3B,OAAO,GAAE,sBAA2B,GACnC,OAAO,EAAE;IA4BZ,MAAM,CAAC,qBAAqB,CAC1B,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC3B,OAAO,GAAE,sBAA2B,GACnC,OAAO,EAAE;IAiCZ,OAAO,CAAC,MAAM,CAAC,yCAAyC;IA0KxD,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAcjC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAwCjC,MAAM,CAAC,kDAAkD,CACvD,MAAM,EAAE,QAAQ,GAAG,OAAO,EAC1B,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAClD,oBAAoB,EAAE,OAAO,GAC5B,UAAU;IA8Cb,MAAM,CAAC,iBAAiB,CACtB,MAAM,EAAE,QAAQ,GAAG,OAAO,GACzB;QAAE,IAAI,CAAC,EAAE,UAAU,CAAC;QAAC,MAAM,CAAC,EAAE,UAAU,CAAA;KAAE,GAAG,SAAS;CAkC1D;AAED,eAAe,eAAe,CAAC"}
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.ObjectGenerator = void 0;
7
+ const lodash_isequal_1 = __importDefault(require("lodash.isequal"));
4
8
  const DECRYPTED_KEYS = Symbol.for('@@mdb.decryptedKeys');
5
9
  function maybeDecorateWithDecryptedKeys(object, element) {
6
10
  if (element.isValueDecrypted()) {
@@ -15,6 +19,7 @@ function maybeDecorateWithDecryptedKeys(object, element) {
15
19
  object[DECRYPTED_KEYS].push(String(element.currentKey));
16
20
  }
17
21
  }
22
+ const DoesNotExist = Symbol('DidNotExist');
18
23
  class ObjectGenerator {
19
24
  static generate(elements, options = {}) {
20
25
  if (elements) {
@@ -88,6 +93,171 @@ class ObjectGenerator {
88
93
  }
89
94
  return elements;
90
95
  }
96
+ static recursivelyGatherFieldsAndValuesForUpdate(target, keyInclusionOptions, includeUpdatedFields) {
97
+ var _a, _b, _c;
98
+ const originalFields = [];
99
+ const newFields = [];
100
+ const alwaysIncludeKeys = (_a = keyInclusionOptions.alwaysIncludeKeys) !== null && _a !== void 0 ? _a : [];
101
+ const includableEncryptedKeys = (_b = keyInclusionOptions.includableEncryptedKeys) !== null && _b !== void 0 ? _b : [];
102
+ for (const element of (_c = target.elements) !== null && _c !== void 0 ? _c : []) {
103
+ const canIncludeOriginalValue = !element.isValueDecrypted() ||
104
+ includableEncryptedKeys.some((key) => key.length === 1 && key[0] === String(element.key));
105
+ if ((includeUpdatedFields &&
106
+ element.isModified() &&
107
+ !element.isAdded() &&
108
+ !element.hasChangedKey()) ||
109
+ alwaysIncludeKeys.some((key) => key[0] === String(element.key))) {
110
+ if (element.elements &&
111
+ !alwaysIncludeKeys.some((key) => key.length === 1 && key[0] === String(element.key)) &&
112
+ ((element.type === 'Object' && element.currentType === 'Object') ||
113
+ (element.type === 'Array' &&
114
+ element.currentType === 'Array' &&
115
+ !element.hasAnyRemovedChild()))) {
116
+ const filterAndShiftFieldPaths = (paths) => paths
117
+ .filter((key) => key[0] === String(element.key))
118
+ .map((key) => key.slice(1))
119
+ .filter((key) => key.length > 0);
120
+ const nestedKeyInclusionOptions = {
121
+ alwaysIncludeKeys: filterAndShiftFieldPaths(alwaysIncludeKeys),
122
+ includableEncryptedKeys: filterAndShiftFieldPaths(includableEncryptedKeys),
123
+ };
124
+ const nestedResult = ObjectGenerator.recursivelyGatherFieldsAndValuesForUpdate(element, nestedKeyInclusionOptions, includeUpdatedFields);
125
+ for (const { path, value } of nestedResult.originalFields) {
126
+ originalFields.push({
127
+ path: [String(element.key), ...path],
128
+ value,
129
+ });
130
+ }
131
+ for (const { path, value } of nestedResult.newFields) {
132
+ newFields.push({
133
+ path: [String(element.currentKey), ...path],
134
+ value,
135
+ });
136
+ }
137
+ }
138
+ else {
139
+ if (canIncludeOriginalValue) {
140
+ originalFields.push({
141
+ path: [String(element.key)],
142
+ value: element.generateOriginalObject(),
143
+ });
144
+ }
145
+ if (includeUpdatedFields &&
146
+ element.currentKey !== '' &&
147
+ !element.isRemoved()) {
148
+ newFields.push({
149
+ path: [String(element.currentKey)],
150
+ value: element.generateObject(),
151
+ });
152
+ }
153
+ }
154
+ }
155
+ if (includeUpdatedFields &&
156
+ !element.isRemoved() &&
157
+ (element.isAdded() || element.hasChangedKey()) &&
158
+ element.currentKey !== '') {
159
+ originalFields.push({
160
+ path: [String(element.currentKey)],
161
+ value: DoesNotExist,
162
+ });
163
+ newFields.push({
164
+ path: [String(element.currentKey)],
165
+ value: element.generateObject(),
166
+ });
167
+ }
168
+ if (includeUpdatedFields &&
169
+ !element.isAdded() &&
170
+ (element.isRemoved() || element.hasChangedKey()) &&
171
+ element.key !== '') {
172
+ if (canIncludeOriginalValue) {
173
+ originalFields.push({
174
+ path: [String(element.key)],
175
+ value: element.generateOriginalObject(),
176
+ });
177
+ }
178
+ newFields.push({ path: [String(element.key)], value: DoesNotExist });
179
+ }
180
+ }
181
+ for (let i = 0; i < newFields.length;) {
182
+ const entry = newFields[i];
183
+ if (entry.value === DoesNotExist) {
184
+ if (newFields.some((otherEntry) => (0, lodash_isequal_1.default)(otherEntry.path, entry.path) && entry !== otherEntry)) {
185
+ newFields.splice(i, 1);
186
+ continue;
187
+ }
188
+ }
189
+ i++;
190
+ }
191
+ return { originalFields, newFields };
192
+ }
193
+ static createGetFieldExpr(path) {
194
+ return path.reduce((input, key) => ({
195
+ $getField: {
196
+ field: { $literal: key },
197
+ input,
198
+ },
199
+ }), '$$ROOT');
200
+ }
201
+ static createSetFieldExpr(path, value) {
202
+ return path.reduceRight((value, key, idx, array) => ({
203
+ $setField: {
204
+ field: { $literal: key },
205
+ input: ObjectGenerator.createGetFieldExpr(array.slice(0, idx)),
206
+ value,
207
+ },
208
+ }), (value === DoesNotExist ? '$$REMOVE' : { $literal: value }));
209
+ }
210
+ static getQueryForOriginalKeysAndValuesForSpecifiedFields(target, keyInclusionOptions, includeUpdatedFields) {
211
+ var _a;
212
+ const { originalFields } = ObjectGenerator.recursivelyGatherFieldsAndValuesForUpdate(target, keyInclusionOptions, includeUpdatedFields);
213
+ const query = {};
214
+ if (originalFields.some(({ path }) => path.some((key) => key.includes('.') || key.startsWith('$')))) {
215
+ for (const { path, value } of originalFields) {
216
+ const getFieldExpr = ObjectGenerator.createGetFieldExpr(path);
217
+ const matchExpr = value !== DoesNotExist
218
+ ? {
219
+ $eq: [getFieldExpr, { $literal: value }],
220
+ }
221
+ : {
222
+ $eq: [{ $type: getFieldExpr }, 'missing'],
223
+ };
224
+ (_a = query.$expr) !== null && _a !== void 0 ? _a : (query.$expr = { $and: [] });
225
+ query.$expr.$and.push(matchExpr);
226
+ }
227
+ }
228
+ else {
229
+ for (const { path, value } of originalFields) {
230
+ const matchValue = value === DoesNotExist ? { $exists: false } : value;
231
+ query[path.join('.')] = matchValue;
232
+ }
233
+ }
234
+ return query;
235
+ }
236
+ static generateUpdateDoc(target) {
237
+ var _a, _b;
238
+ const { newFields } = ObjectGenerator.recursivelyGatherFieldsAndValuesForUpdate(target, {}, true);
239
+ if (newFields.some(({ path }) => path.some((key) => key.includes('.') || key.startsWith('$')))) {
240
+ return newFields.map(({ path, value }) => {
241
+ return {
242
+ $replaceWith: ObjectGenerator.createSetFieldExpr(path, value),
243
+ };
244
+ });
245
+ }
246
+ else {
247
+ const updateDoc = {};
248
+ for (const { path, value } of newFields) {
249
+ if (value === DoesNotExist) {
250
+ (_a = updateDoc.$unset) !== null && _a !== void 0 ? _a : (updateDoc.$unset = {});
251
+ updateDoc.$unset[path.join('.')] = true;
252
+ }
253
+ else {
254
+ (_b = updateDoc.$set) !== null && _b !== void 0 ? _b : (updateDoc.$set = {});
255
+ updateDoc.$set[path.join('.')] = value;
256
+ }
257
+ }
258
+ return updateDoc;
259
+ }
260
+ }
91
261
  }
92
262
  exports.ObjectGenerator = ObjectGenerator;
93
263
  exports.default = ObjectGenerator;
@@ -1 +1 @@
1
- {"version":3,"file":"object-generator.js","sourceRoot":"","sources":["../src/object-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object-generator.js","sourceRoot":"","sources":["../src/object-generator.ts"],"names":[],"mappings":"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"}
package/dist/utils.js CHANGED
@@ -28,7 +28,10 @@ function makeEJSONIdiomatic(value) {
28
28
  continue;
29
29
  }
30
30
  if (entry.$numberDouble) {
31
- value[key] = +entry.$numberDouble;
31
+ if (Number.isFinite(+entry.$numberDouble) &&
32
+ !Object.is(+entry.$numberDouble, -0)) {
33
+ value[key] = +entry.$numberDouble;
34
+ }
32
35
  continue;
33
36
  }
34
37
  makeEJSONIdiomatic(entry);
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAAA,+BAA6B;AAG7B,SAAgB,cAAc,CAAC,KAAc;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IACpC,OAAO,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACnC,CAAC;AAHD,wCAGC;AAyBD,SAAgB,sBAAsB,CACpC,KAAwC,EACxC,UAA8B,EAAE;IAEhC,MAAM,UAAU,GAAG,YAAK,CAAC,SAAS,CAAC,KAAK,EAAE;QACxC,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IAEH,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAE/B,OAAO,IAAI,CAAC,SAAS,CACnB,UAAU,EACV,IAAI,EACJ,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CACzC,CAAC;AACJ,CAAC;AAfD,wDAeC;AAED,SAAS,kBAAkB,CAAC,KAA8B;IACxD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO;IAEhD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QACpC,MAAM,KAAK,GAAI,KAAa,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;YAC/C,SAAS;SACV;QACD,IAAI,KAAK,CAAC,UAAU,EAAE;YACnB,KAAa,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC;YACxC,SAAS;SACV;QACD,IAAI,KAAK,CAAC,aAAa,EAAE;YACtB,KAAa,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC;YAC3C,SAAS;SACV;QACD,kBAAkB,CAAC,KAAK,CAAC,CAAC;KAC3B;AACH,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAAA,+BAA6B;AAG7B,SAAgB,cAAc,CAAC,KAAc;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IACpC,OAAO,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACnC,CAAC;AAHD,wCAGC;AAyBD,SAAgB,sBAAsB,CACpC,KAAwC,EACxC,UAA8B,EAAE;IAEhC,MAAM,UAAU,GAAG,YAAK,CAAC,SAAS,CAAC,KAAK,EAAE;QACxC,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IAEH,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAE/B,OAAO,IAAI,CAAC,SAAS,CACnB,UAAU,EACV,IAAI,EACJ,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CACzC,CAAC;AACJ,CAAC;AAfD,wDAeC;AAED,SAAS,kBAAkB,CAAC,KAA8B;IACxD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO;IAEhD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QACpC,MAAM,KAAK,GAAI,KAAa,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;YAC/C,SAAS;SACV;QACD,IAAI,KAAK,CAAC,UAAU,EAAE;YACnB,KAAa,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC;YACxC,SAAS;SACV;QACD,IAAI,KAAK,CAAC,aAAa,EAAE;YACvB,IACE,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC;gBACrC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EACpC;gBAGC,KAAa,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC;aAC5C;YACD,SAAS;SACV;QACD,kBAAkB,CAAC,KAAK,CAAC,CAAC;KAC3B;AACH,CAAC"}
package/package.json CHANGED
@@ -7,14 +7,11 @@
7
7
  "email": "compass@mongodb.com"
8
8
  },
9
9
  "homepage": "https://github.com/mongodb-js/compass",
10
- "version": "7.13.0",
10
+ "version": "8.0.0",
11
11
  "repository": {
12
12
  "type": "git",
13
13
  "url": "https://github.com/mongodb-js/compass.git"
14
14
  },
15
- "engines": {
16
- "node": ">=14.17.5"
17
- },
18
15
  "license": "SSPL",
19
16
  "keywords": [
20
17
  "mongodb-js"
@@ -50,9 +47,9 @@
50
47
  },
51
48
  "dependencies": {
52
49
  "bson": "^4.4.1",
53
- "debug": "4.3.0",
50
+ "debug": "^4.2.0",
54
51
  "eventemitter3": "^4.0.0",
55
- "hadron-type-checker": "^6.10.0",
52
+ "hadron-type-checker": "^7.0.0",
56
53
  "lodash.foreach": "^4.5.0",
57
54
  "lodash.isarray": "^4.0.0",
58
55
  "lodash.isequal": "^4.5.0",
@@ -60,10 +57,10 @@
60
57
  "lodash.isstring": "^4.0.1"
61
58
  },
62
59
  "devDependencies": {
63
- "@mongodb-js/eslint-config-compass": "^0.11.0",
64
- "@mongodb-js/mocha-config-compass": "^0.12.0",
65
- "@mongodb-js/prettier-config-compass": "^0.6.0",
66
- "@mongodb-js/tsconfig-compass": "^0.7.0",
60
+ "@mongodb-js/eslint-config-compass": "^1.0.0",
61
+ "@mongodb-js/mocha-config-compass": "^1.0.0",
62
+ "@mongodb-js/prettier-config-compass": "^1.0.0",
63
+ "@mongodb-js/tsconfig-compass": "^1.0.0",
67
64
  "@types/lodash.isarray": "^4.0.6",
68
65
  "@types/lodash.isequal": "^4.5.5",
69
66
  "@types/lodash.isplainobject": "^4.0.6",
@@ -76,5 +73,5 @@
76
73
  "moment": "^2.27.0",
77
74
  "prettier": "^2.7.1"
78
75
  },
79
- "gitHead": "9f5498524c3e50d351f6f36fb015ff14163a39cf"
76
+ "gitHead": "a30734888ab496a07d58e26870e5e33b374e98f7"
80
77
  }