hadron-document 8.6.2 → 8.6.4

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.
Files changed (61) hide show
  1. package/dist/document.d.ts +152 -0
  2. package/dist/document.d.ts.map +1 -1
  3. package/dist/document.js +161 -0
  4. package/dist/document.js.map +1 -1
  5. package/dist/editor/date.d.ts +36 -0
  6. package/dist/editor/date.d.ts.map +1 -1
  7. package/dist/editor/date.js +38 -0
  8. package/dist/editor/date.js.map +1 -1
  9. package/dist/editor/decimal128.d.ts +18 -0
  10. package/dist/editor/decimal128.d.ts.map +1 -1
  11. package/dist/editor/decimal128.js +18 -0
  12. package/dist/editor/decimal128.js.map +1 -1
  13. package/dist/editor/double.d.ts +25 -0
  14. package/dist/editor/double.d.ts.map +1 -1
  15. package/dist/editor/double.js +30 -1
  16. package/dist/editor/double.js.map +1 -1
  17. package/dist/editor/int32.d.ts +15 -0
  18. package/dist/editor/int32.d.ts.map +1 -1
  19. package/dist/editor/int32.js +15 -0
  20. package/dist/editor/int32.js.map +1 -1
  21. package/dist/editor/int64.d.ts +18 -0
  22. package/dist/editor/int64.d.ts.map +1 -1
  23. package/dist/editor/int64.js +18 -0
  24. package/dist/editor/int64.js.map +1 -1
  25. package/dist/editor/null.d.ts +20 -0
  26. package/dist/editor/null.d.ts.map +1 -1
  27. package/dist/editor/null.js +23 -0
  28. package/dist/editor/null.js.map +1 -1
  29. package/dist/editor/objectid.d.ts +20 -0
  30. package/dist/editor/objectid.d.ts.map +1 -1
  31. package/dist/editor/objectid.js +20 -0
  32. package/dist/editor/objectid.js.map +1 -1
  33. package/dist/editor/standard.d.ts +32 -0
  34. package/dist/editor/standard.d.ts.map +1 -1
  35. package/dist/editor/standard.js +36 -0
  36. package/dist/editor/standard.js.map +1 -1
  37. package/dist/editor/string.d.ts +8 -0
  38. package/dist/editor/string.d.ts.map +1 -1
  39. package/dist/editor/string.js +8 -0
  40. package/dist/editor/string.js.map +1 -1
  41. package/dist/editor/undefined.d.ts +20 -0
  42. package/dist/editor/undefined.d.ts.map +1 -1
  43. package/dist/editor/undefined.js +23 -0
  44. package/dist/editor/undefined.js.map +1 -1
  45. package/dist/element-events.d.ts +3 -0
  46. package/dist/element-events.d.ts.map +1 -1
  47. package/dist/element-events.js +3 -0
  48. package/dist/element-events.js.map +1 -1
  49. package/dist/element.d.ts +321 -0
  50. package/dist/element.d.ts.map +1 -1
  51. package/dist/element.js +341 -0
  52. package/dist/element.js.map +1 -1
  53. package/dist/object-generator.d.ts +96 -0
  54. package/dist/object-generator.d.ts.map +1 -1
  55. package/dist/object-generator.js +129 -0
  56. package/dist/object-generator.js.map +1 -1
  57. package/dist/utils.d.ts +22 -0
  58. package/dist/utils.d.ts.map +1 -1
  59. package/dist/utils.js +25 -0
  60. package/dist/utils.js.map +1 -1
  61. package/package.json +7 -7
@@ -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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"}
@@ -5,18 +5,114 @@ export interface ObjectGeneratorOptions {
5
5
  excludeInternalFields?: boolean;
6
6
  }
7
7
  export interface KeyInclusionOptions {
8
+ /**
9
+ * An array whose entries are used as keys that are always included
10
+ * in lists for queried keys (e.g. as part of the `find` portion of
11
+ * an update).
12
+ *
13
+ * A nested field for `{ a: { b: 42 } }` would be described by the
14
+ * field path `['a', 'b']`.
15
+ */
8
16
  alwaysIncludeKeys?: string[][];
17
+ /**
18
+ * An array whose entries are used as keys that are included in lists
19
+ * for queried keys (e.g. as part of the `find` portion of
20
+ * an update), even when the value of that field has originally been
21
+ * an encrypted value in the sense of CSFLE/QE.
22
+ *
23
+ * A nested field for `{ a: { b: 42 } }` would be described by the
24
+ * field path `['a', 'b']`.
25
+ */
9
26
  includableEncryptedKeys?: string[][];
10
27
  }
28
+ /**
29
+ * Generates javascript objects from elements.
30
+ */
11
31
  export declare class ObjectGenerator {
32
+ /**
33
+ * Generate a javascript object from the elements.
34
+ *
35
+ * @param {Array} elements - The elements.
36
+ *
37
+ * @returns {Object} The javascript object.
38
+ */
12
39
  static generate(elements: Iterable<Element>, options?: ObjectGeneratorOptions): Record<string, unknown>;
40
+ /**
41
+ * Generate a javascript object from the elements with their original keys
42
+ * and values. This can be used in a query with an update to
43
+ * ensure the values on the document to edit are still up to date.
44
+ *
45
+ * @param {Array} elements - The elements.
46
+ *
47
+ * @returns {Object} The javascript object.
48
+ */
13
49
  static generateOriginal(elements: Iterable<Element>, options?: ObjectGeneratorOptions): Record<string, unknown>;
50
+ /**
51
+ * Generate an array from the elements.
52
+ *
53
+ * @param {Array} elements - The elements.
54
+ *
55
+ * @returns {Array} The array.
56
+ */
14
57
  static generateArray(elements: Iterable<Element>, options?: ObjectGeneratorOptions): unknown[];
58
+ /**
59
+ * Generate an array from the elements using their original values.
60
+ *
61
+ * @param {Array} elements - The elements.
62
+ *
63
+ * @returns {Array} The array.
64
+ */
15
65
  static generateOriginalArray(elements: Iterable<Element>, options?: ObjectGeneratorOptions): unknown[];
66
+ /**
67
+ * As the first step in generating query and update documents for updated
68
+ * fields in a document, gather the original and new paths and values
69
+ * for those updated fields.
70
+ *
71
+ * @param target The target document, or, when recursing, element.
72
+ * @param keyInclusionOptions Specify which fields to include in the
73
+ * originalFields list.
74
+ * @param includeUpdatedFields Whether to include original and new values
75
+ * of updated fields. If set to `false`, only fields included in
76
+ * @see alwaysIncludeOriginalKeys are included.
77
+ * @returns A pair `{ originalFields, newFields }`, each listing the
78
+ * original and new paths and values for updated fields, respectively.
79
+ */
16
80
  private static recursivelyGatherFieldsAndValuesForUpdate;
17
81
  private static createGetFieldExpr;
18
82
  private static createSetFieldExpr;
83
+ /**
84
+ * Generate the query javascript object reflecting original
85
+ * values of specific elements in this documents. This can include
86
+ * elements that were updated in this document. In that case, the
87
+ * values of this object are the original values, this can be used
88
+ * when querying for an update to see if the original document was
89
+ * changed in the background while it was being updated elsewhere.
90
+ *
91
+ * NOTE: `alwaysIncludeKeys` is currently used for sharding, since
92
+ * updates on sharded setups need to include the shard key in their
93
+ * find part. https://jira.mongodb.org/browse/SPM-1632 will make
94
+ * this requirement go away for future MongoDB versions!
95
+ *
96
+ * @param target The target (sub-)document.
97
+ * @param keyInclusionOptions Specify which fields to include in the
98
+ * originalFields list.
99
+ * @param includeUpdatedFields Whether to include the original values for
100
+ * updated fields.
101
+ *
102
+ * @returns A pair of lists, one containing the original values for updated fields
103
+ * or those specified in the always-include list, and one containing new values
104
+ * of the updated fields. If includeUpdatedFields is not set, the second
105
+ * list will be empty.
106
+ */
19
107
  static getQueryForOriginalKeysAndValuesForSpecifiedFields(target: Document | Element, keyInclusionOptions: Readonly<KeyInclusionOptions>, includeUpdatedFields: boolean): BSONObject;
108
+ /**
109
+ * Generate an update document or pipeline which reflects the updates
110
+ * that have taken place for this document. A pipeline will be returned
111
+ * if the updates require changes to fields containing dots or prefixed
112
+ * with $.
113
+ *
114
+ * @param target The target (sub-)document.
115
+ */
20
116
  static generateUpdateDoc(target: Document | Element): {
21
117
  $set?: BSONObject;
22
118
  $unset?: BSONObject;
@@ -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;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;AA2CD,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;IA6MxD,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAmBjC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IA+DjC,MAAM,CAAC,kDAAkD,CACvD,MAAM,EAAE,QAAQ,GAAG,OAAO,EAC1B,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAClD,oBAAoB,EAAE,OAAO,GAC5B,UAAU;IA+Cb,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
+ {"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;AA2CD,MAAM,WAAW,mBAAmB;IAClC;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IAE/B;;;;;;;;OAQG;IACH,uBAAuB,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;CACtC;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CACb,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC3B,OAAO,GAAE,sBAA2B,GACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAiB1B;;;;;;;;OAQG;IACH,MAAM,CAAC,gBAAgB,CACrB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC3B,OAAO,GAAE,sBAA2B,GACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAiB1B;;;;;;OAMG;IACH,MAAM,CAAC,aAAa,CAClB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC3B,OAAO,GAAE,sBAA2B,GACnC,OAAO,EAAE;IAqBZ;;;;;;OAMG;IACH,MAAM,CAAC,qBAAqB,CAC1B,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC3B,OAAO,GAAE,sBAA2B,GACnC,OAAO,EAAE;IAmBZ;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,MAAM,CAAC,yCAAyC;IA6MxD,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAmBjC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAuCjC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,CAAC,kDAAkD,CACvD,MAAM,EAAE,QAAQ,GAAG,OAAO,EAC1B,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAClD,oBAAoB,EAAE,OAAO,GAC5B,UAAU;IAuCb;;;;;;;OAOG;IACH,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"}
@@ -6,6 +6,7 @@ const DECRYPTED_KEYS = Symbol.for('@@mdb.decryptedKeys');
6
6
  function maybeDecorateWithDecryptedKeys(object, element) {
7
7
  if (element.isValueDecrypted()) {
8
8
  if (!object[DECRYPTED_KEYS]) {
9
+ // non-enumerable object[DECRYPTED_KEYS] = []
9
10
  Object.defineProperty(object, DECRYPTED_KEYS, {
10
11
  value: [],
11
12
  writable: true,
@@ -16,8 +17,19 @@ function maybeDecorateWithDecryptedKeys(object, element) {
16
17
  object[DECRYPTED_KEYS].push(String(element.currentKey));
17
18
  }
18
19
  }
20
+ /** Used to represent missing values, i.e. non-existent fields. */
19
21
  const DoesNotExist = Symbol('DoesNotExist');
22
+ /**
23
+ * Generates javascript objects from elements.
24
+ */
20
25
  class ObjectGenerator {
26
+ /**
27
+ * Generate a javascript object from the elements.
28
+ *
29
+ * @param {Array} elements - The elements.
30
+ *
31
+ * @returns {Object} The javascript object.
32
+ */
21
33
  static generate(elements, options = {}) {
22
34
  if (elements) {
23
35
  const object = {};
@@ -34,6 +46,15 @@ class ObjectGenerator {
34
46
  }
35
47
  return elements;
36
48
  }
49
+ /**
50
+ * Generate a javascript object from the elements with their original keys
51
+ * and values. This can be used in a query with an update to
52
+ * ensure the values on the document to edit are still up to date.
53
+ *
54
+ * @param {Array} elements - The elements.
55
+ *
56
+ * @returns {Object} The javascript object.
57
+ */
37
58
  static generateOriginal(elements, options = {}) {
38
59
  if (elements) {
39
60
  const object = {};
@@ -50,6 +71,13 @@ class ObjectGenerator {
50
71
  }
51
72
  return elements;
52
73
  }
74
+ /**
75
+ * Generate an array from the elements.
76
+ *
77
+ * @param {Array} elements - The elements.
78
+ *
79
+ * @returns {Array} The array.
80
+ */
53
81
  static generateArray(elements, options = {}) {
54
82
  if (elements) {
55
83
  const array = [];
@@ -71,6 +99,13 @@ class ObjectGenerator {
71
99
  }
72
100
  return elements;
73
101
  }
102
+ /**
103
+ * Generate an array from the elements using their original values.
104
+ *
105
+ * @param {Array} elements - The elements.
106
+ *
107
+ * @returns {Array} The array.
108
+ */
74
109
  static generateOriginalArray(elements, options = {}) {
75
110
  if (elements) {
76
111
  const array = [];
@@ -90,6 +125,20 @@ class ObjectGenerator {
90
125
  }
91
126
  return elements;
92
127
  }
128
+ /**
129
+ * As the first step in generating query and update documents for updated
130
+ * fields in a document, gather the original and new paths and values
131
+ * for those updated fields.
132
+ *
133
+ * @param target The target document, or, when recursing, element.
134
+ * @param keyInclusionOptions Specify which fields to include in the
135
+ * originalFields list.
136
+ * @param includeUpdatedFields Whether to include original and new values
137
+ * of updated fields. If set to `false`, only fields included in
138
+ * @see alwaysIncludeOriginalKeys are included.
139
+ * @returns A pair `{ originalFields, newFields }`, each listing the
140
+ * original and new paths and values for updated fields, respectively.
141
+ */
93
142
  static recursivelyGatherFieldsAndValuesForUpdate(target, keyInclusionOptions, includeUpdatedFields) {
94
143
  const originalFields = [];
95
144
  const newFields = [];
@@ -97,19 +146,39 @@ class ObjectGenerator {
97
146
  const includableEncryptedKeys = keyInclusionOptions.includableEncryptedKeys ?? [];
98
147
  for (const element of target.elements ?? []) {
99
148
  const isArrayIndex = target.currentType === 'Array';
149
+ // Do not include encrypted fields in the `originalFields` list
150
+ // unless we know that it is okay to include them (i.e. because
151
+ // we know that we can perform equality queries on those fields).
100
152
  const canIncludeOriginalValue = !element.isValueDecrypted() ||
101
153
  includableEncryptedKeys.some((key) => key.length === 1 && key[0] === String(element.key));
154
+ // Recurse into an element if it either has been updated and we are looking
155
+ // for updated fields, or it is part of the set of keys that we should always
156
+ // include.
102
157
  if ((includeUpdatedFields &&
103
158
  element.isModified() &&
104
159
  !element.isAdded() &&
105
160
  !element.hasChangedKey()) ||
106
161
  alwaysIncludeKeys.some((key) => key[0] === String(element.key))) {
162
+ // Two possible cases: Either we recurse into this element and change
163
+ // nested values, or we replace the element entirely.
164
+ // We can only recurse if:
165
+ // - This is a nested element with children, i.e. array or document
166
+ // - It was not explicitly requested via alwaysIncludeKeys to
167
+ // always include it in its entirety
168
+ // - Its type has not changed
169
+ // - It is not an array with removed elements, since MongoDB has
170
+ // no way to remove individual array elements (!!) prior to
171
+ // agg-pipeline-style updates added in 4.2, and even then it's complex
172
+ // to actually do so
107
173
  if (element.elements &&
108
174
  !alwaysIncludeKeys.some((key) => key.length === 1 && key[0] === String(element.key)) &&
109
175
  ((element.type === 'Object' && element.currentType === 'Object') ||
110
176
  (element.type === 'Array' &&
111
177
  element.currentType === 'Array' &&
112
178
  !element.hasAnyRemovedChild()))) {
179
+ // Nested case: Translate keyInclusionOptions to the nested keys,
180
+ // get the original keys and values for the nested element,
181
+ // then translate the result back to this level.
113
182
  const filterAndShiftFieldPaths = (paths) => paths
114
183
  .filter((key) => key[0] === String(element.key))
115
184
  .map((key) => key.slice(1))
@@ -136,6 +205,8 @@ class ObjectGenerator {
136
205
  }
137
206
  }
138
207
  else {
208
+ // Using `.key` instead of `.currentKey` to ensure we look at
209
+ // the original field's value.
139
210
  if (canIncludeOriginalValue) {
140
211
  originalFields.push({
141
212
  path: [{ key: String(element.key), isArrayIndex }],
@@ -156,6 +227,11 @@ class ObjectGenerator {
156
227
  !element.isRemoved() &&
157
228
  (element.isAdded() || element.hasChangedKey()) &&
158
229
  element.currentKey !== '') {
230
+ // When a new field is added, check if the original value of that
231
+ // field (which is typically that it was missing) was changed in
232
+ // the background. If there *was* another field in its place,
233
+ // that means that it was removed, and is added to `originalValue`
234
+ // at another point.
159
235
  let wasRenamedToKeyOfPreviouslyExistingElement = false;
160
236
  for (const otherElement of target.elements ?? []) {
161
237
  if (otherElement !== element &&
@@ -179,6 +255,7 @@ class ObjectGenerator {
179
255
  !element.isAdded() &&
180
256
  (element.isRemoved() || element.hasChangedKey()) &&
181
257
  element.key !== '') {
258
+ // Remove the original field when an element is removed or renamed.
182
259
  if (canIncludeOriginalValue) {
183
260
  originalFields.push({
184
261
  path: [{ key: String(element.key), isArrayIndex }],
@@ -201,10 +278,14 @@ class ObjectGenerator {
201
278
  }
202
279
  }
203
280
  }
281
+ // Sometimes elements are removed or renamed, and then another
282
+ // element is added or renamed to take its place. We filter out
283
+ // the DoesNotExist entry for that case.
204
284
  for (let i = 0; i < newFields.length;) {
205
285
  const entry = newFields[i];
206
286
  if (entry.value === DoesNotExist) {
207
287
  if (newFields.some((otherEntry) => (0, lodash_1.isEqual)(otherEntry.path, entry.path) && entry !== otherEntry)) {
288
+ // Drop `entry`.
208
289
  newFields.splice(i, 1);
209
290
  continue;
210
291
  }
@@ -213,6 +294,8 @@ class ObjectGenerator {
213
294
  }
214
295
  return { originalFields, newFields };
215
296
  }
297
+ // Return a $getField expression that evaluates to the current value
298
+ // of the document at `path`.
216
299
  static createGetFieldExpr(path) {
217
300
  return path.reduce((input, { key, isArrayIndex }) => isArrayIndex
218
301
  ? {
@@ -225,10 +308,13 @@ class ObjectGenerator {
225
308
  },
226
309
  }, '$$ROOT');
227
310
  }
311
+ // Return a $setField expression that writes the specified value
312
+ // to the document at `path`.
228
313
  static createSetFieldExpr(path, value) {
229
314
  return path.reduceRight((value, { key, isArrayIndex }, idx, array) => {
230
315
  const input = ObjectGenerator.createGetFieldExpr(array.slice(0, idx));
231
316
  if (!isArrayIndex) {
317
+ // 'Simple' case: Change a property of a document
232
318
  return {
233
319
  $setField: {
234
320
  field: { $literal: key },
@@ -237,13 +323,20 @@ class ObjectGenerator {
237
323
  },
238
324
  };
239
325
  }
326
+ // Array case: concatenate the prefix of the array before the changed
327
+ // index, an array containing the new value at the changed index,
328
+ // and the suffix afterwards; use $let to avoid specifying the full
329
+ // input value expression multiple times.
240
330
  return {
241
331
  $let: {
242
332
  vars: { input },
243
333
  in: {
244
334
  $concatArrays: [
335
+ // The third argument to $slice must not be 0
245
336
  ...(+key > 0 ? [{ $slice: ['$$input', 0, +key] }] : []),
246
337
  [value],
338
+ // The third argument is required; 2^31-1 is the maximum
339
+ // accepted value, and well beyond what BSON can represent.
247
340
  { $slice: ['$$input', +key + 1, 2 ** 31 - 1] },
248
341
  ],
249
342
  },
@@ -251,10 +344,36 @@ class ObjectGenerator {
251
344
  };
252
345
  }, (value === DoesNotExist ? '$$REMOVE' : { $literal: value }));
253
346
  }
347
+ /**
348
+ * Generate the query javascript object reflecting original
349
+ * values of specific elements in this documents. This can include
350
+ * elements that were updated in this document. In that case, the
351
+ * values of this object are the original values, this can be used
352
+ * when querying for an update to see if the original document was
353
+ * changed in the background while it was being updated elsewhere.
354
+ *
355
+ * NOTE: `alwaysIncludeKeys` is currently used for sharding, since
356
+ * updates on sharded setups need to include the shard key in their
357
+ * find part. https://jira.mongodb.org/browse/SPM-1632 will make
358
+ * this requirement go away for future MongoDB versions!
359
+ *
360
+ * @param target The target (sub-)document.
361
+ * @param keyInclusionOptions Specify which fields to include in the
362
+ * originalFields list.
363
+ * @param includeUpdatedFields Whether to include the original values for
364
+ * updated fields.
365
+ *
366
+ * @returns A pair of lists, one containing the original values for updated fields
367
+ * or those specified in the always-include list, and one containing new values
368
+ * of the updated fields. If includeUpdatedFields is not set, the second
369
+ * list will be empty.
370
+ */
254
371
  static getQueryForOriginalKeysAndValuesForSpecifiedFields(target, keyInclusionOptions, includeUpdatedFields) {
255
372
  const { originalFields } = ObjectGenerator.recursivelyGatherFieldsAndValuesForUpdate(target, keyInclusionOptions, includeUpdatedFields);
256
373
  const query = {};
257
374
  if (originalFields.some(({ path }) => path.some(({ key }) => key.includes('.') || key.startsWith('$')))) {
375
+ // Some of the keys in this query are only accesible via $getField,
376
+ // which was introduced in MongoDB 5.0.
258
377
  const equalityMatches = [];
259
378
  for (const { path, value } of originalFields) {
260
379
  const getFieldExpr = ObjectGenerator.createGetFieldExpr(path);
@@ -277,9 +396,19 @@ class ObjectGenerator {
277
396
  }
278
397
  return query;
279
398
  }
399
+ /**
400
+ * Generate an update document or pipeline which reflects the updates
401
+ * that have taken place for this document. A pipeline will be returned
402
+ * if the updates require changes to fields containing dots or prefixed
403
+ * with $.
404
+ *
405
+ * @param target The target (sub-)document.
406
+ */
280
407
  static generateUpdateDoc(target) {
281
408
  const { newFields } = ObjectGenerator.recursivelyGatherFieldsAndValuesForUpdate(target, {}, true);
282
409
  if (newFields.some(({ path }) => path.some(({ key }) => key.includes('.') || key.startsWith('$')))) {
410
+ // Some of the keys in this query are only writable via $setField/$unsetField,
411
+ // which was introduced in MongoDB 5.0. In this case we can use pipeline-style updates.
283
412
  return newFields.map(({ path, value }) => {
284
413
  return {
285
414
  $replaceWith: ObjectGenerator.createSetFieldExpr(path, value),
@@ -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":";;;AAGA,mCAAiC;AAEjC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAMzD,SAAS,8BAA8B,CACrC,MAA2C,EAC3C,OAAgB;IAEhB,IAAI,OAAO,CAAC,gBAAgB,EAAE,EAAE;QAC9B,IAAI,CAAE,MAAc,CAAC,cAAc,CAAC,EAAE;YACpC,6CAA6C;YAC7C,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE;gBAC5C,KAAK,EAAE,EAAE;gBACT,QAAQ,EAAE,IAAI;gBACd,YAAY,EAAE,IAAI;gBAClB,UAAU,EAAE,KAAK;aAClB,CAAC,CAAC;SACJ;QACA,MAAc,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;KAClE;AACH,CAAC;AAED,kEAAkE;AAClE,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AA6C5C;;GAEG;AACH,MAAa,eAAe;IAC1B;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CACb,QAA2B,EAC3B,UAAkC,EAAE;QAEpC,IAAI,QAAQ,EAAE;YACZ,MAAM,MAAM,GAA4B,EAAE,CAAC;YAC3C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC9B,IAAI,OAAO,CAAC,qBAAqB,IAAI,OAAO,CAAC,eAAe,EAAE,EAAE;oBAC9D,SAAS;iBACV;gBACD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,OAAO,CAAC,UAAU,KAAK,EAAE,EAAE;oBACrD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;oBAC7D,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;iBACjD;aACF;YACD,OAAO,MAAM,CAAC;SACf;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,gBAAgB,CACrB,QAA2B,EAC3B,UAAkC,EAAE;QAEpC,IAAI,QAAQ,EAAE;YACZ,MAAM,MAAM,GAA4B,EAAE,CAAC;YAC3C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC9B,IAAI,OAAO,CAAC,qBAAqB,IAAI,OAAO,CAAC,eAAe,EAAE,EAAE;oBAC9D,SAAS;iBACV;gBACD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE;oBACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;oBAC9D,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;iBACjD;aACF;YACD,OAAO,MAAM,CAAC;SACf;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,aAAa,CAClB,QAA2B,EAC3B,UAAkC,EAAE;QAEpC,IAAI,QAAQ,EAAE;YACZ,MAAM,KAAK,GAAc,EAAE,CAAC;YAC5B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC9B,IAAI,OAAO,CAAC,qBAAqB,IAAI,OAAO,CAAC,eAAe,EAAE,EAAE;oBAC9D,SAAS;iBACV;gBACD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE;oBACxB,IAAI,OAAO,CAAC,QAAQ,EAAE;wBACpB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;qBAC7C;yBAAM;wBACL,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;qBAClC;oBACD,8BAA8B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;iBAChD;aACF;YACD,OAAO,KAAK,CAAC;SACd;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,qBAAqB,CAC1B,QAA2B,EAC3B,UAAkC,EAAE;QAEpC,IAAI,QAAQ,EAAE;YACZ,MAAM,KAAK,GAAc,EAAE,CAAC;YAC5B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC9B,IAAI,OAAO,CAAC,qBAAqB,IAAI,OAAO,CAAC,eAAe,EAAE,EAAE;oBAC9D,SAAS;iBACV;gBACD,IAAI,OAAO,CAAC,uBAAuB,EAAE;oBACnC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;iBACrD;qBAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE;oBAC7B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;iBAC3B;gBACD,8BAA8B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;aAChD;YACD,OAAO,KAAK,CAAC;SACd;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,MAAM,CAAC,yCAAyC,CACtD,MAA0B,EAC1B,mBAAkD,EAClD,oBAA6B;QAK7B,MAAM,cAAc,GAAuB,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAuB,EAAE,CAAC;QACzC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,iBAAiB,IAAI,EAAE,CAAC;QACtE,MAAM,uBAAuB,GAC3B,mBAAmB,CAAC,uBAAuB,IAAI,EAAE,CAAC;QAEpD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE;YAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,KAAK,OAAO,CAAC;YACpD,+DAA+D;YAC/D,+DAA+D;YAC/D,iEAAiE;YACjE,MAAM,uBAAuB,GAC3B,CAAC,OAAO,CAAC,gBAAgB,EAAE;gBAC3B,uBAAuB,CAAC,IAAI,CAC1B,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAC5D,CAAC;YAEJ,2EAA2E;YAC3E,6EAA6E;YAC7E,WAAW;YACX,IACE,CAAC,oBAAoB;gBACnB,OAAO,CAAC,UAAU,EAAE;gBACpB,CAAC,OAAO,CAAC,OAAO,EAAE;gBAClB,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC3B,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAC/D;gBACA,qEAAqE;gBACrE,qDAAqD;gBACrD,0BAA0B;gBAC1B,mEAAmE;gBACnE,6DAA6D;gBAC7D,sCAAsC;gBACtC,6BAA6B;gBAC7B,gEAAgE;gBAChE,6DAA6D;gBAC7D,wEAAwE;gBACxE,sBAAsB;gBACtB,IACE,OAAO,CAAC,QAAQ;oBAChB,CAAC,iBAAiB,CAAC,IAAI,CACrB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAC5D;oBACD,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC;wBAC9D,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO;4BACvB,OAAO,CAAC,WAAW,KAAK,OAAO;4BAC/B,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC,EACnC;oBACA,iEAAiE;oBACjE,2DAA2D;oBAC3D,gDAAgD;oBAChD,MAAM,wBAAwB,GAAG,CAAC,KAAiB,EAAE,EAAE,CACrD,KAAK;yBACF,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;yBAC/C,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;yBAC1B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACrC,MAAM,yBAAyB,GAAwB;wBACrD,iBAAiB,EAAE,wBAAwB,CAAC,iBAAiB,CAAC;wBAC9D,uBAAuB,EAAE,wBAAwB,CAC/C,uBAAuB,CACxB;qBACF,CAAC;oBACF,MAAM,YAAY,GAChB,eAAe,CAAC,yCAAyC,CACvD,OAAO,EACP,yBAAyB,EACzB,oBAAoB,CACrB,CAAC;oBACJ,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,YAAY,CAAC,cAAc,EAAE;wBACzD,cAAc,CAAC,IAAI,CAAC;4BAClB,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,EAAE,GAAG,IAAI,CAAC;4BAC3D,KAAK;yBACN,CAAC,CAAC;qBACJ;oBACD,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,YAAY,CAAC,SAAS,EAAE;wBACpD,SAAS,CAAC,IAAI,CAAC;4BACb,IAAI,EAAE;gCACJ,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE;gCACjD,GAAG,IAAI;6BACR;4BACD,KAAK;yBACN,CAAC,CAAC;qBACJ;iBACF;qBAAM;oBACL,6DAA6D;oBAC7D,8BAA8B;oBAC9B,IAAI,uBAAuB,EAAE;wBAC3B,cAAc,CAAC,IAAI,CAAC;4BAClB,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,CAAC;4BAClD,KAAK,EAAE,OAAO,CAAC,sBAAsB,EAAE;yBACxC,CAAC,CAAC;qBACJ;oBAED,IACE,oBAAoB;wBACpB,OAAO,CAAC,UAAU,KAAK,EAAE;wBACzB,CAAC,OAAO,CAAC,SAAS,EAAE,EACpB;wBACA,SAAS,CAAC,IAAI,CAAC;4BACb,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;4BACzD,KAAK,EAAE,OAAO,CAAC,cAAc,EAAE;yBAChC,CAAC,CAAC;qBACJ;iBACF;aACF;YAED,IACE,oBAAoB;gBACpB,CAAC,OAAO,CAAC,SAAS,EAAE;gBACpB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC9C,OAAO,CAAC,UAAU,KAAK,EAAE,EACzB;gBACA,iEAAiE;gBACjE,gEAAgE;gBAChE,6DAA6D;gBAC7D,kEAAkE;gBAClE,oBAAoB;gBACpB,IAAI,0CAA0C,GAAG,KAAK,CAAC;gBACvD,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE;oBAChD,IACE,YAAY,KAAK,OAAO;wBACxB,YAAY,CAAC,GAAG,KAAK,OAAO,CAAC,UAAU,EACvC;wBACA,0CAA0C,GAAG,IAAI,CAAC;wBAClD,MAAM;qBACP;iBACF;gBACD,IAAI,CAAC,0CAA0C,EAAE;oBAC/C,cAAc,CAAC,IAAI,CAAC;wBAClB,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;wBACzD,KAAK,EAAE,YAAY;qBACpB,CAAC,CAAC;iBACJ;gBACD,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;oBACzD,KAAK,EAAE,OAAO,CAAC,cAAc,EAAE;iBAChC,CAAC,CAAC;aACJ;YAED,IACE,oBAAoB;gBACpB,CAAC,OAAO,CAAC,OAAO,EAAE;gBAClB,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAChD,OAAO,CAAC,GAAG,KAAK,EAAE,EAClB;gBACA,mEAAmE;gBACnE,IAAI,uBAAuB,EAAE;oBAC3B,cAAc,CAAC,IAAI,CAAC;wBAClB,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,CAAC;wBAClD,KAAK,EAAE,OAAO,CAAC,sBAAsB,EAAE;qBACxC,CAAC,CAAC;iBACJ;gBAED,IAAI,sCAAsC,GAAG,KAAK,CAAC;gBACnD,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE;oBAChD,IACE,YAAY,KAAK,OAAO;wBACxB,YAAY,CAAC,UAAU,KAAK,OAAO,CAAC,GAAG,EACvC;wBACA,sCAAsC,GAAG,IAAI,CAAC;wBAC9C,MAAM;qBACP;iBACF;gBACD,IAAI,CAAC,sCAAsC,EAAE;oBAC3C,SAAS,CAAC,IAAI,CAAC;wBACb,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,CAAC;wBAClD,KAAK,EAAE,YAAY;qBACpB,CAAC,CAAC;iBACJ;aACF;SACF;QAED,8DAA8D;QAC9D,+DAA+D;QAC/D,wCAAwC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,GAAI;YACtC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,KAAK,CAAC,KAAK,KAAK,YAAY,EAAE;gBAChC,IACE,SAAS,CAAC,IAAI,CACZ,CAAC,UAAU,EAAE,EAAE,CACb,IAAA,gBAAO,EAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,UAAU,CAC/D,EACD;oBACA,gBAAgB;oBAChB,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACvB,SAAS;iBACV;aACF;YACD,CAAC,EAAE,CAAC;SACL;QAED,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;IACvC,CAAC;IAED,oEAAoE;IACpE,6BAA6B;IACrB,MAAM,CAAC,kBAAkB,CAAC,IAA2B;QAC3D,OAAO,IAAI,CAAC,MAAM,CAChB,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,CAC/B,YAAY;YACV,CAAC,CAAC;gBACE,YAAY,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC;aAC5B;YACH,CAAC,CAAC;gBACE,SAAS,EAAE;oBACT,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE;oBACxB,KAAK;iBACN;aACF,EACP,QAAe,CAChB,CAAC;IACJ,CAAC;IAED,gEAAgE;IAChE,6BAA6B;IACrB,MAAM,CAAC,kBAAkB,CAC/B,IAA2B,EAC3B,KAAsC;QAEtC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;YACnE,MAAM,KAAK,GAAG,eAAe,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,YAAY,EAAE;gBACjB,iDAAiD;gBACjD,OAAO;oBACL,SAAS,EAAE;wBACT,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE;wBACxB,KAAK;wBACL,KAAK;qBACN;iBACF,CAAC;aACH;YAED,qEAAqE;YACrE,iEAAiE;YACjE,mEAAmE;YACnE,yCAAyC;YACzC,OAAO;gBACL,IAAI,EAAE;oBACJ,IAAI,EAAE,EAAE,KAAK,EAAE;oBACf,EAAE,EAAE;wBACF,aAAa,EAAE;4BACb,6CAA6C;4BAC7C,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACvD,CAAC,KAAK,CAAC;4BACP,wDAAwD;4BACxD,2DAA2D;4BAC3D,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE;yBAC/C;qBACF;iBACF;aACF,CAAC;QACJ,CAAC,EAAE,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAQ,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,CAAC,kDAAkD,CACvD,MAA0B,EAC1B,mBAAkD,EAClD,oBAA6B;QAE7B,MAAM,EAAE,cAAc,EAAE,GACtB,eAAe,CAAC,yCAAyC,CACvD,MAAM,EACN,mBAAmB,EACnB,oBAAoB,CACrB,CAAC;QAEJ,MAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,IACE,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAC/B,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CACjE,EACD;YACA,mEAAmE;YACnE,uCAAuC;YACvC,MAAM,eAAe,GAAU,EAAE,CAAC;YAClC,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,cAAc,EAAE;gBAC5C,MAAM,YAAY,GAAG,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAC9D,eAAe,CAAC,IAAI,CAClB,KAAK,KAAK,YAAY;oBACpB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;oBAC9C,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,SAAS,CAAC,EAAE,CAClD,CAAC;aACH;YACD,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;gBAChC,KAAK,CAAC,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;aAClC;iBAAM,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrC,KAAK,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;aACzC;SACF;aAAM;YACL,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,cAAc,EAAE;gBAC5C,MAAM,UAAU,GAAG,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gBACvE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC;aAC1D;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,iBAAiB,CACtB,MAA0B;QAE1B,MAAM,EAAE,SAAS,EAAE,GACjB,eAAe,CAAC,yCAAyC,CACvD,MAAM,EACN,EAAE,EACF,IAAI,CACL,CAAC;QAEJ,IACE,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAC1B,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CACjE,EACD;YACA,8EAA8E;YAC9E,uFAAuF;YACvF,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;gBACvC,OAAO;oBACL,YAAY,EAAE,eAAe,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC;iBAC9D,CAAC;YACJ,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,SAAS,GAA+C,EAAE,CAAC;YACjE,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,SAAS,EAAE;gBACvC,IAAI,KAAK,KAAK,YAAY,EAAE;oBAC1B,SAAS,CAAC,MAAM,KAAK,EAAE,CAAC;oBACxB,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;iBAC/D;qBAAM;oBACL,SAAS,CAAC,IAAI,KAAK,EAAE,CAAC;oBACtB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;iBAC9D;aACF;YACD,OAAO,SAAS,CAAC;SAClB;IACH,CAAC;CACF;AAzfD,0CAyfC;AAED,kBAAe,eAAe,CAAC"}
package/dist/utils.d.ts CHANGED
@@ -6,6 +6,28 @@ export type BSONValue = TypeCastMap[TypeCastTypes];
6
6
  export interface HadronEJSONOptions {
7
7
  indent?: number | string;
8
8
  }
9
+ /**
10
+ * Turn a BSON value into what we consider idiomatic extended JSON.
11
+ *
12
+ * This differs from both the relaxed and strict mode of the 'bson'
13
+ * package's EJSON class: We preserve the type information for longs
14
+ * via $numberLong, but redact it for $numberInt and $numberDouble.
15
+ *
16
+ * This may seem inconsistent, but considering that the latter two
17
+ * types are exactly representable in JS and $numberLong is not,
18
+ * in addition to the fact that this has been historic behavior
19
+ * in Compass for a long time, this seems like a reasonable choice.
20
+ *
21
+ * Also turns $date.$numberLong into a date so that it will be
22
+ * displayed as an iso date string since this is what Compass did
23
+ * historically. Unless it is outside of the safe range.
24
+ *
25
+ * @param value Any BSON value.
26
+ * @returns A serialized, human-readable and human-editable string.
27
+ */
9
28
  export declare function objectToIdiomaticEJSON(value: any, options?: HadronEJSONOptions): string;
29
+ /**
30
+ * Returns a default value for the BSON type passed in.
31
+ */
10
32
  export declare function getDefaultValueForType(type: keyof TypeCastMap): string | boolean | Date | Record<string, unknown> | unknown[] | import("bson").Binary | import("bson").Code | import("bson").Decimal128 | import("bson").Double | import("bson").Int32 | import("bson").Long | import("bson").MaxKey | import("bson").MinKey | import("bson").ObjectId | import("bson").BSONRegExp | import("bson").BSONSymbol | import("bson").Timestamp | null | undefined;
11
33
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AA4BtE,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGrD;AAED,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC/C,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;AAC7C,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;AAEnD,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAqBD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,GAAG,EACV,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CAYR;AAuCD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,WAAW,gYAE7D"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AA4BtE,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGrD;AAED,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC/C,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;AAC7C,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;AAEnD,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,GAAG,EACV,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CAYR;AAoCD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,WAAW,gYAE7D"}
package/dist/utils.js CHANGED
@@ -33,6 +33,25 @@ function fieldStringLen(value) {
33
33
  return length === 0 ? 1 : length;
34
34
  }
35
35
  exports.fieldStringLen = fieldStringLen;
36
+ /**
37
+ * Turn a BSON value into what we consider idiomatic extended JSON.
38
+ *
39
+ * This differs from both the relaxed and strict mode of the 'bson'
40
+ * package's EJSON class: We preserve the type information for longs
41
+ * via $numberLong, but redact it for $numberInt and $numberDouble.
42
+ *
43
+ * This may seem inconsistent, but considering that the latter two
44
+ * types are exactly representable in JS and $numberLong is not,
45
+ * in addition to the fact that this has been historic behavior
46
+ * in Compass for a long time, this seems like a reasonable choice.
47
+ *
48
+ * Also turns $date.$numberLong into a date so that it will be
49
+ * displayed as an iso date string since this is what Compass did
50
+ * historically. Unless it is outside of the safe range.
51
+ *
52
+ * @param value Any BSON value.
53
+ * @returns A serialized, human-readable and human-editable string.
54
+ */
36
55
  function objectToIdiomaticEJSON(value, options = {}) {
37
56
  const serialized = bson_1.EJSON.serialize(value, {
38
57
  relaxed: false,
@@ -46,6 +65,7 @@ function makeEJSONIdiomatic(value) {
46
65
  return;
47
66
  for (const key of Object.keys(value)) {
48
67
  const entry = value[key];
68
+ // We are only interested in object-like values, skip everything else
49
69
  if (typeof entry !== 'object' || entry === null) {
50
70
  continue;
51
71
  }
@@ -56,6 +76,8 @@ function makeEJSONIdiomatic(value) {
56
76
  if (entry.$numberDouble) {
57
77
  if (Number.isFinite(+entry.$numberDouble) &&
58
78
  !Object.is(+entry.$numberDouble, -0)) {
79
+ // EJSON can represent +/-Infinity or NaN values but JSON can't
80
+ // (and -0 can be parsed from JSON but not serialized by JSON.stringify).
59
81
  value[key] = +entry.$numberDouble;
60
82
  }
61
83
  continue;
@@ -69,6 +91,9 @@ function makeEJSONIdiomatic(value) {
69
91
  makeEJSONIdiomatic(entry);
70
92
  }
71
93
  }
94
+ /**
95
+ * Returns a default value for the BSON type passed in.
96
+ */
72
97
  function getDefaultValueForType(type) {
73
98
  return hadron_type_checker_1.default.cast(UNCASTED_EMPTY_TYPE_VALUE[type], type);
74
99
  }
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}