@mongosh/shell-api 1.10.6 → 2.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.
Files changed (42) hide show
  1. package/AUTHORS +3 -0
  2. package/lib/aggregate-or-find-cursor.js +1 -3
  3. package/lib/aggregate-or-find-cursor.js.map +1 -1
  4. package/lib/bulk.js +2 -2
  5. package/lib/bulk.js.map +1 -1
  6. package/lib/collection.d.ts +4 -10
  7. package/lib/collection.js +4 -4
  8. package/lib/collection.js.map +1 -1
  9. package/lib/database.d.ts +4 -6
  10. package/lib/database.js +18 -74
  11. package/lib/database.js.map +1 -1
  12. package/lib/explainable.d.ts +2 -2
  13. package/lib/explainable.js +1 -1
  14. package/lib/explainable.js.map +1 -1
  15. package/lib/field-level-encryption.d.ts +3 -3
  16. package/lib/field-level-encryption.js +8 -61
  17. package/lib/field-level-encryption.js.map +1 -1
  18. package/lib/helpers.d.ts +6 -3
  19. package/lib/helpers.js +24 -10
  20. package/lib/helpers.js.map +1 -1
  21. package/lib/index.d.ts +2 -1
  22. package/lib/index.js +3 -1
  23. package/lib/index.js.map +1 -1
  24. package/lib/interruptor.d.ts +7 -5
  25. package/lib/interruptor.js +44 -9
  26. package/lib/interruptor.js.map +1 -1
  27. package/lib/mongo.js.map +1 -1
  28. package/lib/session.d.ts +4 -4
  29. package/lib/session.js +2 -2
  30. package/lib/session.js.map +1 -1
  31. package/lib/shell-bson.d.ts +2 -1
  32. package/lib/shell-bson.js +54 -37
  33. package/lib/shell-bson.js.map +1 -1
  34. package/lib/shell-instance-state.js +12 -2
  35. package/lib/shell-instance-state.js.map +1 -1
  36. package/lib/stream-processor.d.ts +19 -0
  37. package/lib/stream-processor.js +106 -0
  38. package/lib/stream-processor.js.map +1 -0
  39. package/lib/streams.d.ts +19 -0
  40. package/lib/streams.js +131 -0
  41. package/lib/streams.js.map +1 -0
  42. package/package.json +14 -12
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -14,4 +14,5 @@ import { BulkWriteResult, CommandResult, CursorIterationResult, DeleteResult, In
14
14
  import Mongo from './mongo';
15
15
  import { signatures, ShellResult, toShellResult, getShellApiType, TypeSignature } from './decorators';
16
16
  import { Topologies, ServerVersions } from './enums';
17
- export { AggregationCursor, RunCommandCursor, CollectionNamesWithTypes, Cursor, CursorIterationResult, Database, Collection, Explainable, ExplainableCursor, Help, HelpProperties, ShellInstanceState, EvaluationListener, BulkWriteResult, CommandResult, DeleteResult, InsertManyResult, InsertOneResult, Mongo, Shard, ReplicaSet, UpdateResult, signatures, ShellApi, ServerVersions, Topologies, toShellResult, getShellApiType, ShellResult, ShellCliOptions, TypeSignature, OnLoadResult, ShellPlugin, };
17
+ import { InterruptFlag } from './interruptor';
18
+ export { AggregationCursor, RunCommandCursor, CollectionNamesWithTypes, Cursor, CursorIterationResult, Database, Collection, Explainable, ExplainableCursor, Help, HelpProperties, ShellInstanceState, EvaluationListener, BulkWriteResult, CommandResult, DeleteResult, InsertManyResult, InsertOneResult, Mongo, Shard, ReplicaSet, UpdateResult, signatures, ShellApi, ServerVersions, Topologies, toShellResult, getShellApiType, ShellResult, ShellCliOptions, TypeSignature, OnLoadResult, ShellPlugin, InterruptFlag, };
package/lib/index.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getShellApiType = exports.toShellResult = exports.Topologies = exports.ServerVersions = exports.ShellApi = exports.signatures = exports.UpdateResult = exports.ReplicaSet = exports.Shard = exports.Mongo = exports.InsertOneResult = exports.InsertManyResult = exports.DeleteResult = exports.CommandResult = exports.BulkWriteResult = exports.ShellInstanceState = exports.Help = exports.ExplainableCursor = exports.Explainable = exports.Collection = exports.Database = exports.CursorIterationResult = exports.Cursor = exports.RunCommandCursor = exports.AggregationCursor = void 0;
6
+ exports.InterruptFlag = exports.getShellApiType = exports.toShellResult = exports.Topologies = exports.ServerVersions = exports.ShellApi = exports.signatures = exports.UpdateResult = exports.ReplicaSet = exports.Shard = exports.Mongo = exports.InsertOneResult = exports.InsertManyResult = exports.DeleteResult = exports.CommandResult = exports.BulkWriteResult = exports.ShellInstanceState = exports.Help = exports.ExplainableCursor = exports.Explainable = exports.Collection = exports.Database = exports.CursorIterationResult = exports.Cursor = exports.RunCommandCursor = exports.AggregationCursor = void 0;
7
7
  const aggregation_cursor_1 = __importDefault(require("./aggregation-cursor"));
8
8
  exports.AggregationCursor = aggregation_cursor_1.default;
9
9
  const run_command_cursor_1 = __importDefault(require("./run-command-cursor"));
@@ -45,4 +45,6 @@ Object.defineProperty(exports, "getShellApiType", { enumerable: true, get: funct
45
45
  const enums_1 = require("./enums");
46
46
  Object.defineProperty(exports, "Topologies", { enumerable: true, get: function () { return enums_1.Topologies; } });
47
47
  Object.defineProperty(exports, "ServerVersions", { enumerable: true, get: function () { return enums_1.ServerVersions; } });
48
+ const interruptor_1 = require("./interruptor");
49
+ Object.defineProperty(exports, "InterruptFlag", { enumerable: true, get: function () { return interruptor_1.InterruptFlag; } });
48
50
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,8EAAqD;AAqCnD,4BArCK,4BAAiB,CAqCL;AApCnB,8EAAoD;AAqClD,2BArCK,4BAAgB,CAqCL;AApClB,8DAAsC;AAyCpC,qBAzCK,oBAAU,CAyCL;AAxCZ,sDAA8B;AAqC5B,iBArCK,gBAAM,CAqCL;AApCR,0DAAgE;AAsC9D,mBAtCK,kBAAQ,CAsCL;AArCV,gEAAwC;AAuCtC,sBAvCK,qBAAW,CAuCL;AAtCb,8EAAqD;AAuCnD,4BAvCK,4BAAiB,CAuCL;AAtCnB,kDAA8C;AAuC5C,eAvCK,cAAI,CAuCL;AAtCN,kFAKgC;AAmC9B,6BAxCK,8BAAkB,CAwCL;AAlCpB,oDAA4B;AA0C1B,gBA1CK,eAAK,CA0CL;AAzCP,gEAAuC;AA0CrC,qBA1CK,qBAAU,CA0CL;AAzCZ,4DAAmC;AA4CjC,mBA5CK,mBAAQ,CA4CL;AA3CV,qCAQkB;AAyBhB,gGAhCA,wBAAe,OAgCA;AACf,8FAhCA,sBAAa,OAgCA;AAVb,sGArBA,8BAAqB,OAqBA;AAWrB,6FA/BA,qBAAY,OA+BA;AACZ,iGA/BA,yBAAgB,OA+BA;AAChB,gGA/BA,wBAAe,OA+BA;AAIf,6FAlCA,qBAAY,OAkCA;AAhCd,oDAA4B;AA6B1B,gBA7BK,eAAK,CA6BL;AA5BP,6CAMsB;AA0BpB,2FA/BA,uBAAU,OA+BA;AAIV,8FAjCA,0BAAa,OAiCA;AACb,gGAjCA,4BAAe,OAiCA;AA9BjB,mCAAqD;AA4BnD,2FA5BO,kBAAU,OA4BP;AADV,+FA3BmB,sBAAc,OA2BnB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,8EAAqD;AAsCnD,4BAtCK,4BAAiB,CAsCL;AArCnB,8EAAoD;AAsClD,2BAtCK,4BAAgB,CAsCL;AArClB,8DAAsC;AA0CpC,qBA1CK,oBAAU,CA0CL;AAzCZ,sDAA8B;AAsC5B,iBAtCK,gBAAM,CAsCL;AArCR,0DAAgE;AAuC9D,mBAvCK,kBAAQ,CAuCL;AAtCV,gEAAwC;AAwCtC,sBAxCK,qBAAW,CAwCL;AAvCb,8EAAqD;AAwCnD,4BAxCK,4BAAiB,CAwCL;AAvCnB,kDAA8C;AAwC5C,eAxCK,cAAI,CAwCL;AAvCN,kFAKgC;AAoC9B,6BAzCK,8BAAkB,CAyCL;AAnCpB,oDAA4B;AA2C1B,gBA3CK,eAAK,CA2CL;AA1CP,gEAAuC;AA2CrC,qBA3CK,qBAAU,CA2CL;AA1CZ,4DAAmC;AA6CjC,mBA7CK,mBAAQ,CA6CL;AA5CV,qCAQkB;AA0BhB,gGAjCA,wBAAe,OAiCA;AACf,8FAjCA,sBAAa,OAiCA;AAVb,sGAtBA,8BAAqB,OAsBA;AAWrB,6FAhCA,qBAAY,OAgCA;AACZ,iGAhCA,yBAAgB,OAgCA;AAChB,gGAhCA,wBAAe,OAgCA;AAIf,6FAnCA,qBAAY,OAmCA;AAjCd,oDAA4B;AA8B1B,gBA9BK,eAAK,CA8BL;AA7BP,6CAMsB;AA2BpB,2FAhCA,uBAAU,OAgCA;AAIV,8FAlCA,0BAAa,OAkCA;AACb,gGAlCA,4BAAe,OAkCA;AA/BjB,mCAAqD;AA6BnD,2FA7BO,kBAAU,OA6BP;AADV,+FA5BmB,sBAAc,OA4BnB;AA3BhB,+CAA8C;AAoC5C,8FApCO,2BAAa,OAoCP"}
@@ -4,16 +4,18 @@ export declare class MongoshInterruptedError extends MongoshBaseError {
4
4
  [kUncatchable]: boolean;
5
5
  constructor();
6
6
  }
7
+ export interface InterruptWatcher {
8
+ destroy: () => void;
9
+ promise: Promise<never>;
10
+ }
7
11
  export declare class InterruptFlag {
8
12
  private interrupted;
9
13
  private onInterruptListeners;
10
14
  isSet(): boolean;
11
15
  checkpoint(): void;
12
- asPromise(): {
13
- destroy: () => void;
14
- promise: Promise<never>;
15
- };
16
- set(): void;
16
+ asPromise(): InterruptWatcher;
17
+ set(): Promise<void>;
17
18
  reset(): void;
19
+ withOverrideInterruptBehavior<Action extends (watcher: InterruptWatcher) => any, OnInterrupt extends () => Promise<void> | void>(fn: Action, onInterrupt: OnInterrupt): Promise<ReturnType<Action>>;
18
20
  }
19
21
  export {};
@@ -15,7 +15,7 @@ _a = kUncatchable;
15
15
  class InterruptFlag {
16
16
  constructor() {
17
17
  this.interrupted = false;
18
- this.onInterruptListeners = [];
18
+ this.onInterruptListeners = new Set();
19
19
  }
20
20
  isSet() {
21
21
  return this.interrupted;
@@ -27,37 +27,72 @@ class InterruptFlag {
27
27
  }
28
28
  asPromise() {
29
29
  if (this.interrupted) {
30
+ const promise = Promise.reject(new MongoshInterruptedError());
31
+ promise.catch(() => {
32
+ });
30
33
  return {
31
34
  destroy: () => { },
32
- promise: Promise.reject(new MongoshInterruptedError()),
35
+ promise,
33
36
  };
34
37
  }
35
38
  let destroy;
36
39
  const promise = new Promise((_, reject) => {
37
40
  destroy = () => {
38
- const index = this.onInterruptListeners.indexOf(reject);
39
- if (index !== -1) {
40
- this.onInterruptListeners.splice(index, 1);
41
- }
41
+ this.onInterruptListeners.delete(reject);
42
42
  reject(null);
43
43
  };
44
- this.onInterruptListeners.push(reject);
44
+ this.onInterruptListeners.add(reject);
45
+ });
46
+ promise.catch(() => {
45
47
  });
46
48
  return {
47
49
  destroy: destroy,
48
50
  promise,
49
51
  };
50
52
  }
51
- set() {
53
+ async set() {
52
54
  this.interrupted = true;
53
55
  const err = new MongoshInterruptedError();
54
56
  for (const listener of [...this.onInterruptListeners]) {
55
- listener(err);
57
+ try {
58
+ await listener(err);
59
+ }
60
+ catch (_b) {
61
+ }
56
62
  }
57
63
  }
58
64
  reset() {
59
65
  this.interrupted = false;
60
66
  }
67
+ async withOverrideInterruptBehavior(fn, onInterrupt) {
68
+ const watcher = this.asPromise();
69
+ let listener;
70
+ const onInterruptFinishPromise = new Promise((resolve) => {
71
+ listener = async () => {
72
+ const interruptHandlerResult = onInterrupt();
73
+ resolve(interruptHandlerResult);
74
+ return interruptHandlerResult;
75
+ };
76
+ });
77
+ this.onInterruptListeners.add(listener);
78
+ try {
79
+ this.checkpoint();
80
+ const resultPromise = fn(watcher);
81
+ resultPromise.catch(() => {
82
+ });
83
+ return await Promise.race([resultPromise, watcher.promise]);
84
+ }
85
+ catch (err) {
86
+ if (this.interrupted) {
87
+ await onInterruptFinishPromise;
88
+ }
89
+ throw err;
90
+ }
91
+ finally {
92
+ watcher.destroy();
93
+ this.onInterruptListeners.delete(listener);
94
+ }
95
+ }
61
96
  }
62
97
  exports.InterruptFlag = InterruptFlag;
63
98
  //# sourceMappingURL=interruptor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interruptor.js","sourceRoot":"","sources":["../src/interruptor.ts"],"names":[],"mappings":";;;;AAAA,4CAAmD;AAEnD,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AAOzD,MAAa,uBAAwB,SAAQ,yBAAgB;IAG3D;QACE,KAAK,CAAC,yBAAyB,EAAE,2BAA2B,CAAC,CAAC;QAHhE,QAAc,GAAG,IAAI,CAAC;IAItB,CAAC;CACF;AAND,0DAMC;KALE,YAAY;AAWf,MAAa,aAAa;IAA1B;QACU,gBAAW,GAAG,KAAK,CAAC;QACpB,yBAAoB,GAA6B,EAAE,CAAC;IAqE9D,CAAC;IA/DQ,KAAK;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAOM,UAAU;QACf,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,uBAAuB,EAAE,CAAC;SACrC;IACH,CAAC;IAQM,SAAS;QACd,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO;gBACL,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;gBACjB,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,uBAAuB,EAAE,CAAC;aACvD,CAAC;SACH;QAED,IAAI,OAAiC,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YAC/C,OAAO,GAAG,GAAG,EAAE;gBACb,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACxD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;oBAChB,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBAC5C;gBACD,MAAM,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC;YACF,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,OAAgC;YACzC,OAAO;SACR,CAAC;IACJ,CAAC;IAKM,GAAG;QACR,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,MAAM,GAAG,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC1C,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,EAAE;YACrD,QAAQ,CAAC,GAAG,CAAC,CAAC;SACf;IACH,CAAC;IAKM,KAAK;QACV,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;CACF;AAvED,sCAuEC"}
1
+ {"version":3,"file":"interruptor.js","sourceRoot":"","sources":["../src/interruptor.ts"],"names":[],"mappings":"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"}
package/lib/mongo.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mongo.js","sourceRoot":"","sources":["../src/mongo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongo.js","sourceRoot":"","sources":["../src/mongo.ts"],"names":[],"mappings":"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"}
package/lib/session.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { ShellApiWithMongoClass } from './decorators';
2
- import type { Document, ClientSessionOptions, ClientSession, TransactionOptions, ClusterTime, TimestampType, ServerSessionId } from '@mongosh/service-provider-core';
2
+ import type { ClientSessionOptions, ClientSession, TransactionOptions, ClusterTime, TimestampType, ServerSessionId } from '@mongosh/service-provider-core';
3
3
  import { asPrintable } from './enums';
4
4
  import type Mongo from './mongo';
5
5
  import Database from './database';
@@ -20,7 +20,7 @@ export default class Session extends ShellApiWithMongoClass {
20
20
  getOperationTime(): TimestampType | undefined;
21
21
  getOptions(): ClientSessionOptions;
22
22
  startTransaction(options?: TransactionOptions): void;
23
- commitTransaction(): Promise<Document>;
24
- abortTransaction(): Promise<Document>;
25
- withTransaction<T extends (...args: any) => any>(fn: T, options?: TransactionOptions): Promise<Document | undefined>;
23
+ commitTransaction(): Promise<void>;
24
+ abortTransaction(): Promise<void>;
25
+ withTransaction<T extends (...args: any) => any>(fn: T, options?: TransactionOptions): Promise<ReturnType<T>>;
26
26
  }
package/lib/session.js CHANGED
@@ -61,10 +61,10 @@ let Session = class Session extends decorators_1.ShellApiWithMongoClass {
61
61
  return this._session.startTransaction(options);
62
62
  }
63
63
  async commitTransaction() {
64
- return await this._session.commitTransaction();
64
+ await this._session.commitTransaction();
65
65
  }
66
66
  async abortTransaction() {
67
- return await this._session.abortTransaction();
67
+ await this._session.abortTransaction();
68
68
  }
69
69
  async withTransaction(fn, options = {}) {
70
70
  (0, helpers_1.assertArgsDefinedType)([fn, options], ['function', [undefined, 'object']]);
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  import Help from './help';
3
3
  import type { BinaryType, Document } from '@mongosh/service-provider-core';
4
4
  import { bson as BSON } from '@mongosh/service-provider-core';
5
+ type LongWithoutAccidentallyExposedMethods = Omit<typeof BSON.Long, 'fromExtendedJSON'>;
5
6
  interface ShellBsonBase {
6
7
  DBRef: (namespace: string, oid: any, db?: string, fields?: Document) => typeof BSON.DBRef.prototype;
7
8
  bsonsize: (object: any) => number;
@@ -24,7 +25,7 @@ interface ShellBsonBase {
24
25
  Decimal128: typeof BSON.Decimal128;
25
26
  BSONSymbol: typeof BSON.BSONSymbol;
26
27
  Int32: typeof BSON.Int32;
27
- Long: typeof BSON.Long;
28
+ Long: LongWithoutAccidentallyExposedMethods;
28
29
  Binary: typeof BSON.Binary;
29
30
  Double: typeof BSON.Double;
30
31
  EJSON: typeof BSON.EJSON;
package/lib/shell-bson.js CHANGED
@@ -61,30 +61,21 @@ function constructShellBson(bson, printWarning) {
61
61
  DBRef: (0, helpers_1.assignAll)(function DBRef(namespace, oid, db, fields) {
62
62
  (0, helpers_1.assertArgsDefinedType)([namespace, oid, db], ['string', true, [undefined, 'string'], [undefined, 'object']], 'DBRef');
63
63
  return new bson.DBRef(namespace, oid, db, fields);
64
- }, bson.DBRef),
64
+ }, (0, helpers_1.pickWithExactKeyMatch)(bson.DBRef, ['prototype'])),
65
65
  bsonsize: function bsonsize(object) {
66
66
  (0, helpers_1.assertArgsDefinedType)([object], ['object'], 'bsonsize');
67
67
  return bson.calculateObjectSize(object);
68
68
  },
69
69
  MaxKey: (0, helpers_1.assignAll)(function MaxKey() {
70
70
  return new bson.MaxKey();
71
- }, bson.MaxKey, { toBSON: () => new bson.MaxKey() }),
71
+ }, (0, helpers_1.pickWithExactKeyMatch)(bson.MaxKey, ['prototype']), { toBSON: () => new bson.MaxKey() }),
72
72
  MinKey: (0, helpers_1.assignAll)(function MinKey() {
73
73
  return new bson.MinKey();
74
- }, bson.MinKey, { toBSON: () => new bson.MinKey() }),
74
+ }, (0, helpers_1.pickWithExactKeyMatch)(bson.MinKey, ['prototype']), { toBSON: () => new bson.MinKey() }),
75
75
  ObjectId: (0, helpers_1.assignAll)(function ObjectId(id) {
76
76
  (0, helpers_1.assertArgsDefinedType)([id], [[undefined, 'string', 'number', 'object']], 'ObjectId');
77
77
  return new bson.ObjectId(id);
78
- }, bson.ObjectId, {
79
- prototype: (0, helpers_1.assignAll)(bson.ObjectId.prototype, {
80
- get generationTime() {
81
- return Math.floor(this
82
- .getTimestamp()
83
- .valueOf() / 1000);
84
- },
85
- toString: makeLegacytoStringWrapper(bson.ObjectId.prototype.toString),
86
- }),
87
- }),
78
+ }, (0, helpers_1.pickWithExactKeyMatch)(bson.ObjectId, ['prototype', 'cacheHexString', 'generate', 'createFromTime', 'createFromHexString', 'createFromBase64', 'isValid'])),
88
79
  Timestamp: (0, helpers_1.assignAll)(function Timestamp(t, i) {
89
80
  (0, helpers_1.assertArgsDefinedType)([t, i], [
90
81
  ['number', 'object', undefined],
@@ -97,14 +88,14 @@ function constructShellBson(bson, printWarning) {
97
88
  return new bson.Timestamp({ t: t, i: i !== null && i !== void 0 ? i : 0 });
98
89
  }
99
90
  return new bson.Timestamp(t);
100
- }, bson.Timestamp),
91
+ }, (0, helpers_1.pickWithExactKeyMatch)(bson.Timestamp, ['prototype', 'fromInt', 'fromNumber', 'fromBits', 'fromString', 'MAX_VALUE'])),
101
92
  Code: (0, helpers_1.assignAll)(function Code(c = '', s) {
102
93
  (0, helpers_1.assertArgsDefinedType)([c, s], [
103
94
  [undefined, 'string', 'function'],
104
95
  [undefined, 'object'],
105
96
  ], 'Code');
106
97
  return new bson.Code(c, s);
107
- }, bson.Code),
98
+ }, (0, helpers_1.pickWithExactKeyMatch)(bson.Code, ['prototype'])),
108
99
  NumberDecimal: (0, helpers_1.assignAll)(function NumberDecimal(s = '0') {
109
100
  (0, helpers_1.assertArgsDefinedType)([s], [['string', 'number', 'bson:Long', 'bson:Int32', 'bson:Decimal128']], 'NumberDecimal');
110
101
  if (typeof s === 'number') {
@@ -168,20 +159,54 @@ function constructShellBson(bson, printWarning) {
168
159
  const buffer = Buffer.from(hexstr, 'hex');
169
160
  return new bson.Binary(buffer, bson.Binary.SUBTYPE_MD5);
170
161
  }, { prototype: bson.Binary.prototype }),
171
- Decimal128: (0, helpers_1.functionCtor)(bson.Decimal128),
172
- BSONSymbol: (0, helpers_1.functionCtor)(bson.BSONSymbol),
173
- Int32: (0, helpers_1.functionCtor)(bson.Int32),
174
- Long: (0, helpers_1.functionCtor)(bson.Long),
175
- Binary: (0, helpers_1.assignAll)(function Binary(...args) {
176
- return new bson.Binary(...args);
177
- }, bson.Binary, {
178
- prototype: (0, helpers_1.assignAll)(bson.Binary.prototype, {
179
- toString: makeLegacytoStringWrapper(bson.Binary.prototype.toString),
180
- }),
181
- }),
182
- Double: (0, helpers_1.functionCtor)(bson.Double),
183
- BSONRegExp: (0, helpers_1.functionCtor)(bson.BSONRegExp),
184
- EJSON: Object.create(Object.getPrototypeOf(bson.EJSON), Object.getOwnPropertyDescriptors(bson.EJSON)),
162
+ Decimal128: (0, helpers_1.assignAll)((0, helpers_1.functionCtorWithoutProps)(bson.Decimal128), (0, helpers_1.pickWithExactKeyMatch)(bson.Decimal128, ['prototype', 'fromString'])),
163
+ BSONSymbol: (0, helpers_1.assignAll)((0, helpers_1.functionCtorWithoutProps)(bson.BSONSymbol), (0, helpers_1.pickWithExactKeyMatch)(bson.BSONSymbol, ['prototype'])),
164
+ Int32: (0, helpers_1.assignAll)((0, helpers_1.functionCtorWithoutProps)(bson.Int32), (0, helpers_1.pickWithExactKeyMatch)(bson.Int32, ['prototype'])),
165
+ Long: (0, helpers_1.assignAll)((0, helpers_1.functionCtorWithoutProps)(bson.Long), (0, helpers_1.pickWithExactKeyMatch)(bson.Long, [
166
+ 'prototype',
167
+ 'fromValue',
168
+ 'isLong',
169
+ 'fromBytesBE',
170
+ 'fromBytesLE',
171
+ 'fromBytes',
172
+ 'fromString',
173
+ 'fromBigInt',
174
+ 'fromNumber',
175
+ 'fromInt',
176
+ 'fromBits',
177
+ 'MIN_VALUE',
178
+ 'MAX_VALUE',
179
+ 'NEG_ONE',
180
+ 'UONE',
181
+ 'ONE',
182
+ 'UZERO',
183
+ 'ZERO',
184
+ 'MAX_UNSIGNED_VALUE',
185
+ 'TWO_PWR_24',
186
+ ])),
187
+ Binary: (0, helpers_1.assignAll)((0, helpers_1.functionCtorWithoutProps)(bson.Binary), (0, helpers_1.pickWithExactKeyMatch)(bson.Binary, [
188
+ 'prototype',
189
+ 'createFromBase64',
190
+ 'createFromHexString',
191
+ 'BUFFER_SIZE',
192
+ 'SUBTYPE_DEFAULT',
193
+ 'SUBTYPE_FUNCTION',
194
+ 'SUBTYPE_BYTE_ARRAY',
195
+ 'SUBTYPE_UUID_OLD',
196
+ 'SUBTYPE_UUID',
197
+ 'SUBTYPE_MD5',
198
+ 'SUBTYPE_ENCRYPTED',
199
+ 'SUBTYPE_COLUMN',
200
+ 'SUBTYPE_USER_DEFINED',
201
+ ])),
202
+ Double: (0, helpers_1.assignAll)((0, helpers_1.functionCtorWithoutProps)(bson.Double), (0, helpers_1.pickWithExactKeyMatch)(bson.Double, ['prototype'])),
203
+ BSONRegExp: (0, helpers_1.assignAll)((0, helpers_1.functionCtorWithoutProps)(bson.BSONRegExp), (0, helpers_1.pickWithExactKeyMatch)(bson.BSONRegExp, ['prototype', 'parseOptions'])),
204
+ EJSON: (0, helpers_1.pickWithExactKeyMatch)(bson.EJSON, [
205
+ 'parse',
206
+ 'serialize',
207
+ 'stringify',
208
+ 'deserialize',
209
+ ]),
185
210
  };
186
211
  for (const className of Object.keys(bsonPkg)) {
187
212
  const help = helps[className] || constructHelp(className);
@@ -191,12 +216,4 @@ function constructShellBson(bson, printWarning) {
191
216
  return bsonPkg;
192
217
  }
193
218
  exports.default = constructShellBson;
194
- function makeLegacytoStringWrapper(originalToString) {
195
- return function toString(encoding) {
196
- if (['hex', 'base64', 'utf8', undefined].includes(encoding)) {
197
- return originalToString.call(this, encoding);
198
- }
199
- return Buffer.from(originalToString.call(this, 'base64'), 'base64').toString(encoding);
200
- };
201
- }
202
219
  //# sourceMappingURL=shell-bson.js.map