hadron-document 7.13.0 → 8.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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":"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"}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;AAEb,uCAAiE;AACjE,kEAAyC;AACzC,+BAAmC;AAKnC,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;IAkBD,4CAA4C,CAC1C,OAAsC,EAAE;QASxC,MAAM,+BAA+B,GACnC,0BAAe,CAAC,kDAAkD,CAChE,IAAI,EACJ,IAAI,EACJ,IAAI,CACL,CAAC;QACJ,MAAM,KAAK,GAAG;YACZ,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE;YACjB,GAAG,+BAA+B;SACnC,CAAC;QAEF,MAAM,SAAS,GAAG,0BAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAE1D,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,OAAsC,EAAE;QAExC,OAAO,0BAAe,CAAC,kDAAkD,CACvE,IAAI,EACJ,IAAI,EACJ,KAAK,CACN,CAAC;IACJ,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;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;AAtWD,4BAsWC;AAED,kBAAe,QAAQ,CAAC"}
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":"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"}
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;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,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('DoesNotExist');
18
23
  class ObjectGenerator {
19
24
  static generate(elements, options = {}) {
20
25
  if (elements) {
@@ -88,6 +93,219 @@ class ObjectGenerator {
88
93
  }
89
94
  return elements;
90
95
  }
96
+ static recursivelyGatherFieldsAndValuesForUpdate(target, keyInclusionOptions, includeUpdatedFields) {
97
+ var _a, _b, _c, _d, _e;
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 isArrayIndex = target.currentType === 'Array';
104
+ const canIncludeOriginalValue = !element.isValueDecrypted() ||
105
+ includableEncryptedKeys.some((key) => key.length === 1 && key[0] === String(element.key));
106
+ if ((includeUpdatedFields &&
107
+ element.isModified() &&
108
+ !element.isAdded() &&
109
+ !element.hasChangedKey()) ||
110
+ alwaysIncludeKeys.some((key) => key[0] === String(element.key))) {
111
+ if (element.elements &&
112
+ !alwaysIncludeKeys.some((key) => key.length === 1 && key[0] === String(element.key)) &&
113
+ ((element.type === 'Object' && element.currentType === 'Object') ||
114
+ (element.type === 'Array' &&
115
+ element.currentType === 'Array' &&
116
+ !element.hasAnyRemovedChild()))) {
117
+ const filterAndShiftFieldPaths = (paths) => paths
118
+ .filter((key) => key[0] === String(element.key))
119
+ .map((key) => key.slice(1))
120
+ .filter((key) => key.length > 0);
121
+ const nestedKeyInclusionOptions = {
122
+ alwaysIncludeKeys: filterAndShiftFieldPaths(alwaysIncludeKeys),
123
+ includableEncryptedKeys: filterAndShiftFieldPaths(includableEncryptedKeys),
124
+ };
125
+ const nestedResult = ObjectGenerator.recursivelyGatherFieldsAndValuesForUpdate(element, nestedKeyInclusionOptions, includeUpdatedFields);
126
+ for (const { path, value } of nestedResult.originalFields) {
127
+ originalFields.push({
128
+ path: [{ key: String(element.key), isArrayIndex }, ...path],
129
+ value,
130
+ });
131
+ }
132
+ for (const { path, value } of nestedResult.newFields) {
133
+ newFields.push({
134
+ path: [
135
+ { key: String(element.currentKey), isArrayIndex },
136
+ ...path,
137
+ ],
138
+ value,
139
+ });
140
+ }
141
+ }
142
+ else {
143
+ if (canIncludeOriginalValue) {
144
+ originalFields.push({
145
+ path: [{ key: String(element.key), isArrayIndex }],
146
+ value: element.generateOriginalObject(),
147
+ });
148
+ }
149
+ if (includeUpdatedFields &&
150
+ element.currentKey !== '' &&
151
+ !element.isRemoved()) {
152
+ newFields.push({
153
+ path: [{ key: String(element.currentKey), isArrayIndex }],
154
+ value: element.generateObject(),
155
+ });
156
+ }
157
+ }
158
+ }
159
+ if (includeUpdatedFields &&
160
+ !element.isRemoved() &&
161
+ (element.isAdded() || element.hasChangedKey()) &&
162
+ element.currentKey !== '') {
163
+ let wasRenamedToKeyOfPreviouslyExistingElement = false;
164
+ for (const otherElement of (_d = target.elements) !== null && _d !== void 0 ? _d : []) {
165
+ if (otherElement !== element &&
166
+ otherElement.key === element.currentKey) {
167
+ wasRenamedToKeyOfPreviouslyExistingElement = true;
168
+ break;
169
+ }
170
+ }
171
+ if (!wasRenamedToKeyOfPreviouslyExistingElement) {
172
+ originalFields.push({
173
+ path: [{ key: String(element.currentKey), isArrayIndex }],
174
+ value: DoesNotExist,
175
+ });
176
+ }
177
+ newFields.push({
178
+ path: [{ key: String(element.currentKey), isArrayIndex }],
179
+ value: element.generateObject(),
180
+ });
181
+ }
182
+ if (includeUpdatedFields &&
183
+ !element.isAdded() &&
184
+ (element.isRemoved() || element.hasChangedKey()) &&
185
+ element.key !== '') {
186
+ if (canIncludeOriginalValue) {
187
+ originalFields.push({
188
+ path: [{ key: String(element.key), isArrayIndex }],
189
+ value: element.generateOriginalObject(),
190
+ });
191
+ }
192
+ let wasRemovedAndLaterReplacedByNewElement = false;
193
+ for (const otherElement of (_e = target.elements) !== null && _e !== void 0 ? _e : []) {
194
+ if (otherElement !== element &&
195
+ otherElement.currentKey === element.key) {
196
+ wasRemovedAndLaterReplacedByNewElement = true;
197
+ break;
198
+ }
199
+ }
200
+ if (!wasRemovedAndLaterReplacedByNewElement) {
201
+ newFields.push({
202
+ path: [{ key: String(element.key), isArrayIndex }],
203
+ value: DoesNotExist,
204
+ });
205
+ }
206
+ }
207
+ }
208
+ for (let i = 0; i < newFields.length;) {
209
+ const entry = newFields[i];
210
+ if (entry.value === DoesNotExist) {
211
+ if (newFields.some((otherEntry) => (0, lodash_isequal_1.default)(otherEntry.path, entry.path) && entry !== otherEntry)) {
212
+ newFields.splice(i, 1);
213
+ continue;
214
+ }
215
+ }
216
+ i++;
217
+ }
218
+ return { originalFields, newFields };
219
+ }
220
+ static createGetFieldExpr(path) {
221
+ return path.reduce((input, { key, isArrayIndex }) => isArrayIndex
222
+ ? {
223
+ $arrayElemAt: [input, +key],
224
+ }
225
+ : {
226
+ $getField: {
227
+ field: { $literal: key },
228
+ input,
229
+ },
230
+ }, '$$ROOT');
231
+ }
232
+ static createSetFieldExpr(path, value) {
233
+ return path.reduceRight((value, { key, isArrayIndex }, idx, array) => {
234
+ const input = ObjectGenerator.createGetFieldExpr(array.slice(0, idx));
235
+ if (!isArrayIndex) {
236
+ return {
237
+ $setField: {
238
+ field: { $literal: key },
239
+ input,
240
+ value,
241
+ },
242
+ };
243
+ }
244
+ return {
245
+ $let: {
246
+ vars: { input },
247
+ in: {
248
+ $concatArrays: [
249
+ ...(+key > 0 ? [{ $slice: ['$$input', 0, +key] }] : []),
250
+ [value],
251
+ { $slice: ['$$input', +key + 1, 2 ** 31 - 1] },
252
+ ],
253
+ },
254
+ },
255
+ };
256
+ }, (value === DoesNotExist ? '$$REMOVE' : { $literal: value }));
257
+ }
258
+ static getQueryForOriginalKeysAndValuesForSpecifiedFields(target, keyInclusionOptions, includeUpdatedFields) {
259
+ const { originalFields } = ObjectGenerator.recursivelyGatherFieldsAndValuesForUpdate(target, keyInclusionOptions, includeUpdatedFields);
260
+ const query = {};
261
+ if (originalFields.some(({ path }) => path.some(({ key }) => key.includes('.') || key.startsWith('$')))) {
262
+ const equalityMatches = [];
263
+ for (const { path, value } of originalFields) {
264
+ const getFieldExpr = ObjectGenerator.createGetFieldExpr(path);
265
+ equalityMatches.push(value !== DoesNotExist
266
+ ? { $eq: [getFieldExpr, { $literal: value }] }
267
+ : { $eq: [{ $type: getFieldExpr }, 'missing'] });
268
+ }
269
+ if (equalityMatches.length === 1) {
270
+ query.$expr = equalityMatches[0];
271
+ }
272
+ else if (equalityMatches.length > 1) {
273
+ query.$expr = { $and: equalityMatches };
274
+ }
275
+ }
276
+ else {
277
+ for (const { path, value } of originalFields) {
278
+ const matchValue = value === DoesNotExist ? { $exists: false } : value;
279
+ query[path.map(({ key }) => key).join('.')] = matchValue;
280
+ }
281
+ }
282
+ return query;
283
+ }
284
+ static generateUpdateDoc(target) {
285
+ var _a, _b;
286
+ const { newFields } = ObjectGenerator.recursivelyGatherFieldsAndValuesForUpdate(target, {}, true);
287
+ if (newFields.some(({ path }) => path.some(({ key }) => key.includes('.') || key.startsWith('$')))) {
288
+ return newFields.map(({ path, value }) => {
289
+ return {
290
+ $replaceWith: ObjectGenerator.createSetFieldExpr(path, value),
291
+ };
292
+ });
293
+ }
294
+ else {
295
+ const updateDoc = {};
296
+ for (const { path, value } of newFields) {
297
+ if (value === DoesNotExist) {
298
+ (_a = updateDoc.$unset) !== null && _a !== void 0 ? _a : (updateDoc.$unset = {});
299
+ updateDoc.$unset[path.map(({ key }) => key).join('.')] = true;
300
+ }
301
+ else {
302
+ (_b = updateDoc.$set) !== null && _b !== void 0 ? _b : (updateDoc.$set = {});
303
+ updateDoc.$set[path.map(({ key }) => key).join('.')] = value;
304
+ }
305
+ }
306
+ return updateDoc;
307
+ }
308
+ }
91
309
  }
92
310
  exports.ObjectGenerator = ObjectGenerator;
93
311
  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":";;;;;;AAGA,oEAAqC;AAErC,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;YAEpC,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;AAGD,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAgD5C,MAAa,eAAe;IAQ1B,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;IAWD,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;IASD,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;IASD,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;IAgBO,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,MAAA,mBAAmB,CAAC,iBAAiB,mCAAI,EAAE,CAAC;QACtE,MAAM,uBAAuB,GAC3B,MAAA,mBAAmB,CAAC,uBAAuB,mCAAI,EAAE,CAAC;QAEpD,KAAK,MAAM,OAAO,IAAI,MAAA,MAAM,CAAC,QAAQ,mCAAI,EAAE,EAAE;YAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,KAAK,OAAO,CAAC;YAIpD,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;YAKJ,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;gBAYA,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;oBAIA,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;oBAGL,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;gBAMA,IAAI,0CAA0C,GAAG,KAAK,CAAC;gBACvD,KAAK,MAAM,YAAY,IAAI,MAAA,MAAM,CAAC,QAAQ,mCAAI,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;gBAEA,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,MAAA,MAAM,CAAC,QAAQ,mCAAI,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;QAKD,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,wBAAO,EAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,UAAU,CAC/D,EACD;oBAEA,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;IAIO,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;IAIO,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;gBAEjB,OAAO;oBACL,SAAS,EAAE;wBACT,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE;wBACxB,KAAK;wBACL,KAAK;qBACN;iBACF,CAAC;aACH;YAMD,OAAO;gBACL,IAAI,EAAE;oBACJ,IAAI,EAAE,EAAE,KAAK,EAAE;oBACf,EAAE,EAAE;wBACF,aAAa,EAAE;4BAEb,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;4BAGP,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;IA0BD,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;YAGA,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;IAUD,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;YAGA,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,MAAA,SAAS,CAAC,MAAM,oCAAhB,SAAS,CAAC,MAAM,GAAK,EAAE,EAAC;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,MAAA,SAAS,CAAC,IAAI,oCAAd,SAAS,CAAC,IAAI,GAAK,EAAE,EAAC;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.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.1",
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.1",
61
+ "@mongodb-js/mocha-config-compass": "^1.0.1",
62
+ "@mongodb-js/prettier-config-compass": "^1.0.0",
63
+ "@mongodb-js/tsconfig-compass": "^1.0.1",
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": "51f04a0ac45c3b51a3ffb98af390c811d1404380"
80
77
  }