@mongosh/shell-bson 1.1.0 → 3.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.
package/AUTHORS CHANGED
@@ -3,3 +3,4 @@ mongodb-devtools-bot[bot] <189715634+mongodb-devtools-bot[bot]@users.noreply.git
3
3
  Ubuntu <ubuntu@ip-10-0-4-95.ec2.internal>
4
4
  Gagik Amaryan <me@gagik.co>
5
5
  Rhys Howell <rhys@rhysh@live.com>
6
+ Kevin Mas Ruiz <kevin.mas@hey.com>
@@ -1,5 +1,8 @@
1
- import type { ObjectId, DBRef, MaxKey, MinKey, Timestamp, BSONSymbol, Code, Decimal128, Int32, Long, Binary, calculateObjectSize, Double, EJSON, UUID, BSONRegExp } from 'bson';
2
- export type { ObjectId, DBRef, MaxKey, MinKey, Timestamp, BSONSymbol, Code, Decimal128, Int32, Long, Binary, Double, EJSON, UUID, BSONRegExp, calculateObjectSize, };
1
+ import type { ObjectId, DBRef, MaxKey, MinKey, Timestamp, BSONSymbol, Code, Decimal128, Int32, Long, Binary, calculateObjectSize, Double, EJSON, UUID, BSONRegExp, BSONTypeTag } from 'bson';
2
+ export type { ObjectId, DBRef, MaxKey, MinKey, Timestamp, BSONSymbol, Code, Decimal128, Int32, Long, Binary, Double, EJSON, UUID, BSONRegExp, calculateObjectSize, BSONTypeTag, };
3
+ import { bsonType } from 'bson';
4
+ export { bsonType };
5
+ export declare function getBsonType(value: any): BSONTypeTag | undefined;
3
6
  export type BSON = {
4
7
  ObjectId: typeof ObjectId;
5
8
  DBRef: typeof DBRef;
@@ -1,3 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.bsonType = void 0;
4
+ exports.getBsonType = getBsonType;
5
+ const bson_1 = require("bson");
6
+ Object.defineProperty(exports, "bsonType", { enumerable: true, get: function () { return bson_1.bsonType; } });
7
+ function getBsonType(value) {
8
+ return value?.[bson_1.bsonType];
9
+ }
3
10
  //# sourceMappingURL=bson-export.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bson-export.js","sourceRoot":"","sources":["../src/bson-export.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"bson-export.js","sourceRoot":"","sources":["../src/bson-export.ts"],"names":[],"mappings":";;;AAwCA,kCAEC;AAJD,+BAAgC;AACvB,yFADA,eAAQ,OACA;AACjB,SAAgB,WAAW,CAAC,KAAU;IACpC,OAAO,KAAK,EAAE,CAAC,eAAQ,CAAC,CAAC;AAC3B,CAAC"}
package/lib/helpers.js CHANGED
@@ -5,6 +5,7 @@ exports.assignAll = assignAll;
5
5
  exports.pickWithExactKeyMatch = pickWithExactKeyMatch;
6
6
  exports.assertArgsDefinedType = assertArgsDefinedType;
7
7
  const errors_1 = require("@mongosh/errors");
8
+ const bson_export_1 = require("./bson-export");
8
9
  function functionCtorWithoutProps(ClassCtor) {
9
10
  function fnCtor(...args) {
10
11
  if (new.target) {
@@ -56,7 +57,7 @@ function assertArgsDefinedType(args, expectedTypes, func) {
56
57
  }
57
58
  const expectedTypesList = typeof expected === 'string' ? [expected] : expected;
58
59
  const isExpectedTypeof = expectedTypesList.includes(typeof arg);
59
- const isExpectedBson = expectedTypesList.includes(`bson:${arg?._bsontype}`);
60
+ const isExpectedBson = expectedTypesList.includes(`bson:${(0, bson_export_1.getBsonType)(arg)}`);
60
61
  if (!isExpectedTypeof && !isExpectedBson) {
61
62
  const expectedMsg = expectedTypesList
62
63
  .filter((e) => e !== undefined)
@@ -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
@@ -1,3 +1,3 @@
1
- export type * from './bson-export';
1
+ export * from './bson-export';
2
2
  export { constructShellBson, type ShellBson } from './shell-bson';
3
3
  export { makePrintableBson, makeBsonStringifiers } from './printable-bson';
package/lib/index.js CHANGED
@@ -1,6 +1,21 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
17
  exports.makeBsonStringifiers = exports.makePrintableBson = exports.constructShellBson = void 0;
18
+ __exportStar(require("./bson-export"), exports);
4
19
  var shell_bson_1 = require("./shell-bson");
5
20
  Object.defineProperty(exports, "constructShellBson", { enumerable: true, get: function () { return shell_bson_1.constructShellBson; } });
6
21
  var printable_bson_1 = require("./printable-bson");
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,2CAAkE;AAAzD,gHAAA,kBAAkB,OAAA;AAC3B,mDAA2E;AAAlE,mHAAA,iBAAiB,OAAA;AAAE,sHAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,2CAAkE;AAAzD,gHAAA,kBAAkB,OAAA;AAC3B,mDAA2E;AAAlE,mHAAA,iBAAiB,OAAA;AAAE,sHAAA,oBAAoB,OAAA"}
@@ -1,6 +1,5 @@
1
+ import type { BSONTypeTag } from 'bson';
1
2
  import type { BSON } from './';
2
3
  import type { CustomInspectFunction } from 'util';
3
- type BSONClassKey = BSON[Exclude<keyof BSON, 'EJSON' | 'calculateObjectSize'>]['prototype']['_bsontype'];
4
- export declare const makeBsonStringifiers: (bsonLibrary: BSON) => Record<BSONClassKey | 'ObjectID', CustomInspectFunction>;
4
+ export declare const makeBsonStringifiers: (bsonLibrary: BSON) => Record<BSONTypeTag | 'ObjectID', CustomInspectFunction>;
5
5
  export declare function makePrintableBson(bsonLibrary: BSON): void;
6
- export {};
@@ -1 +1 @@
1
- {"version":3,"file":"printable-bson.js","sourceRoot":"","sources":["../src/printable-bson.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"printable-bson.js","sourceRoot":"","sources":["../src/printable-bson.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mongosh/shell-bson",
3
- "version": "1.1.0",
3
+ "version": "3.0.0",
4
4
  "description": "mongosh-style BSON handling",
5
5
  "homepage": "https://github.com/mongodb-js/mongosh/tree/main/packages/shell-bson#readme",
6
6
  "license": "Apache-2.0",
@@ -17,8 +17,7 @@
17
17
  "url": "git+https://github.com/mongodb-js/mongosh.git"
18
18
  },
19
19
  "scripts": {
20
- "check": "npm run lint && npm run depcheck",
21
- "depcheck": "depcheck",
20
+ "check": "npm run lint",
22
21
  "compile": "tsc -p tsconfig.json",
23
22
  "eslint": "eslint",
24
23
  "lint": "npm run eslint . && npm run prettier -- --check .",
@@ -37,19 +36,18 @@
37
36
  "unitTestsOnly": true
38
37
  },
39
38
  "dependencies": {
40
- "@mongosh/errors": "^2.4.5"
39
+ "@mongosh/errors": "^2.4.6"
41
40
  },
42
41
  "peerDependencies": {
43
- "bson": "^6.10.4 || ^7.0.0"
42
+ "bson": "^7.2.0"
44
43
  },
45
44
  "devDependencies": {
46
45
  "@mongodb-js/eslint-config-mongosh": "^1.0.0",
47
46
  "@mongodb-js/prettier-config-devtools": "^1.0.1",
48
47
  "@mongodb-js/tsconfig-mongosh": "^1.0.0",
49
- "bson": "^6.10.4",
50
- "depcheck": "^1.4.7",
48
+ "bson": "^7.2.0",
51
49
  "eslint": "^7.25.0",
52
50
  "prettier": "^2.8.8"
53
51
  },
54
- "gitHead": "d2069810a846a535c51c88929224a57e49960778"
52
+ "gitHead": "1ae76759bb28ace817059c00cfefa6055aec35c4"
55
53
  }
@@ -15,6 +15,7 @@ import type {
15
15
  EJSON,
16
16
  UUID,
17
17
  BSONRegExp,
18
+ BSONTypeTag,
18
19
  } from 'bson';
19
20
  export type {
20
21
  ObjectId,
@@ -33,7 +34,13 @@ export type {
33
34
  UUID,
34
35
  BSONRegExp,
35
36
  calculateObjectSize,
37
+ BSONTypeTag,
36
38
  };
39
+ import { bsonType } from 'bson';
40
+ export { bsonType };
41
+ export function getBsonType(value: any): BSONTypeTag | undefined {
42
+ return value?.[bsonType];
43
+ }
37
44
  export type BSON = {
38
45
  ObjectId: typeof ObjectId;
39
46
  DBRef: typeof DBRef;
package/src/helpers.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { MongoshInvalidInputError, CommonErrors } from '@mongosh/errors';
2
+ import { getBsonType } from './bson-export';
2
3
 
3
4
  // Create a copy of a class so that it's constructible without `new`, i.e.
4
5
  // class A {}; B = functionCtor(A);
@@ -105,7 +106,9 @@ export function assertArgsDefinedType(
105
106
  const expectedTypesList: Array<string | undefined> =
106
107
  typeof expected === 'string' ? [expected] : expected;
107
108
  const isExpectedTypeof = expectedTypesList.includes(typeof arg);
108
- const isExpectedBson = expectedTypesList.includes(`bson:${arg?._bsontype}`);
109
+ const isExpectedBson = expectedTypesList.includes(
110
+ `bson:${getBsonType(arg)}`
111
+ );
109
112
 
110
113
  if (!isExpectedTypeof && !isExpectedBson) {
111
114
  const expectedMsg = expectedTypesList
package/src/index.ts CHANGED
@@ -1,3 +1,3 @@
1
- export type * from './bson-export';
1
+ export * from './bson-export';
2
2
  export { constructShellBson, type ShellBson } from './shell-bson';
3
3
  export { makePrintableBson, makeBsonStringifiers } from './printable-bson';
@@ -1,3 +1,4 @@
1
+ import type { BSONTypeTag } from 'bson';
1
2
  import type { BSON } from './';
2
3
  import type {
3
4
  InspectOptionsStylized,
@@ -5,10 +6,6 @@ import type {
5
6
  InspectOptions,
6
7
  } from 'util';
7
8
  const inspectCustom = Symbol.for('nodejs.util.inspect.custom');
8
- type BSONClassKey = BSON[Exclude<
9
- keyof BSON,
10
- 'EJSON' | 'calculateObjectSize'
11
- >]['prototype']['_bsontype'];
12
9
 
13
10
  let coreUtilInspect: ((obj: any, options: InspectOptions) => string) & {
14
11
  defaultOptions: InspectOptions;
@@ -49,7 +46,7 @@ function removeTypedArrayPrefixFromInspectResult(str: string): string {
49
46
  // Create a Node.js-util-inspect() style custom inspect function that
50
47
  // strips 'new ' from inspect results but otherwise uses the Node.js
51
48
  // driver's bson library's inspect functions.
52
- function makeClasslessInspect<K extends BSONClassKey>(
49
+ function makeClasslessInspect<K extends BSONTypeTag>(
53
50
  cls: BSON[K]
54
51
  ): CustomInspectFunction {
55
52
  const originalInspect = cls.prototype.inspect;
@@ -100,7 +97,7 @@ const makeBinaryVectorInspect = (bsonLibrary: BSON): CustomInspectFunction => {
100
97
 
101
98
  export const makeBsonStringifiers: (
102
99
  bsonLibrary: BSON
103
- ) => Record<BSONClassKey | 'ObjectID', CustomInspectFunction> = (
100
+ ) => Record<BSONTypeTag | 'ObjectID', CustomInspectFunction> = (
104
101
  bsonLibrary
105
102
  ) => {
106
103
  const binaryVectorInspect = makeBinaryVectorInspect(bsonLibrary);
@@ -9,7 +9,7 @@ import { expect } from 'chai';
9
9
  import sinonChai from 'sinon-chai';
10
10
  import sinon from 'sinon';
11
11
  import type { BSON, ShellBson } from './';
12
- import { constructShellBson } from './';
12
+ import { constructShellBson, getBsonType } from './';
13
13
  chai.use(sinonChai);
14
14
 
15
15
  const hex_1234 = '31323334';
@@ -49,11 +49,11 @@ describe('Shell BSON', function () {
49
49
  describe('DBRef', function () {
50
50
  it('without new', function () {
51
51
  const s = shellBson.DBRef('namespace', 'oid');
52
- expect(s._bsontype).to.equal('DBRef');
52
+ expect(getBsonType(s)).to.equal('DBRef');
53
53
  });
54
54
  it('with new', function () {
55
55
  const s = new (shellBson.DBRef as any)('namespace', 'oid');
56
- expect(s._bsontype).to.equal('DBRef');
56
+ expect(getBsonType(s)).to.equal('DBRef');
57
57
  });
58
58
  it('has help and other metadata', function () {
59
59
  const s = shellBson.DBRef('namespace', 'oid');
@@ -97,15 +97,15 @@ describe('Shell BSON', function () {
97
97
  describe('MaxKey', function () {
98
98
  it('without new', function () {
99
99
  const s = shellBson.MaxKey();
100
- expect(s._bsontype).to.equal('MaxKey');
100
+ expect(getBsonType(s)).to.equal('MaxKey');
101
101
  });
102
102
  it('with new', function () {
103
103
  const s = new (shellBson.MaxKey as any)();
104
- expect(s._bsontype).to.equal('MaxKey');
104
+ expect(getBsonType(s)).to.equal('MaxKey');
105
105
  });
106
106
  it('using toBSON', function () {
107
107
  const s = (shellBson.MaxKey as any).toBSON();
108
- expect(s._bsontype).to.equal('MaxKey');
108
+ expect(getBsonType(s)).to.equal('MaxKey');
109
109
  });
110
110
  it('has help and other metadata', function () {
111
111
  const s = shellBson.MaxKey();
@@ -117,15 +117,15 @@ describe('Shell BSON', function () {
117
117
  describe('MinKey', function () {
118
118
  it('without new', function () {
119
119
  const s = shellBson.MinKey();
120
- expect(s._bsontype).to.equal('MinKey');
120
+ expect(getBsonType(s)).to.equal('MinKey');
121
121
  });
122
122
  it('with new', function () {
123
123
  const s = new (shellBson.MinKey as any)();
124
- expect(s._bsontype).to.equal('MinKey');
124
+ expect(getBsonType(s)).to.equal('MinKey');
125
125
  });
126
126
  it('using toBSON', function () {
127
127
  const s = (shellBson.MinKey as any).toBSON();
128
- expect(s._bsontype).to.equal('MinKey');
128
+ expect(getBsonType(s)).to.equal('MinKey');
129
129
  });
130
130
  it('has help and other metadata', function () {
131
131
  const s = shellBson.MinKey();
@@ -155,29 +155,29 @@ describe('Shell BSON', function () {
155
155
  describe('ObjectId', function () {
156
156
  it('without new', function () {
157
157
  const s = shellBson.ObjectId('5ebbe8e2905bb493d6981b6b');
158
- expect(s._bsontype).to.equal('ObjectId');
158
+ expect(getBsonType(s)).to.equal('ObjectId');
159
159
  expect(s.toHexString()).to.equal('5ebbe8e2905bb493d6981b6b');
160
160
  });
161
161
  it('with new', function () {
162
162
  const s = new (shellBson.ObjectId as any)('5ebbe8e2905bb493d6981b6b');
163
- expect(s._bsontype).to.equal('ObjectId');
163
+ expect(getBsonType(s)).to.equal('ObjectId');
164
164
  expect(s.toHexString()).to.equal('5ebbe8e2905bb493d6981b6b');
165
165
  });
166
166
  it('works with an integer argument', function () {
167
167
  const s = new (shellBson.ObjectId as any)(0x12345678);
168
- expect(s._bsontype).to.equal('ObjectId');
168
+ expect(getBsonType(s)).to.equal('ObjectId');
169
169
  expect(s.toHexString().slice(0, 8)).to.equal('12345678');
170
170
  });
171
171
  it('can be created through createFromTime', function () {
172
172
  const s = (shellBson.ObjectId as any).createFromTime(0x12345678);
173
- expect(s._bsontype).to.equal('ObjectId');
173
+ expect(getBsonType(s)).to.equal('ObjectId');
174
174
  expect(s.toHexString().slice(0, 8)).to.equal('12345678');
175
175
  });
176
176
  it('can be created using createFromHexString', function () {
177
177
  const s = shellBson.ObjectId.createFromHexString(
178
178
  '64c122afaf44ca299136bbc3'
179
179
  );
180
- expect(s._bsontype).to.equal('ObjectId');
180
+ expect(getBsonType(s)).to.equal('ObjectId');
181
181
  expect(s.toHexString()).to.equal('64c122afaf44ca299136bbc3');
182
182
  });
183
183
  it('has help and other metadata', function () {
@@ -198,12 +198,12 @@ describe('Shell BSON', function () {
198
198
  describe('BSONSymbol', function () {
199
199
  it('without new', function () {
200
200
  const s = (shellBson.BSONSymbol as any)('5ebbe8e2905bb493d6981b6b');
201
- expect(s._bsontype).to.equal('BSONSymbol');
201
+ expect(getBsonType(s)).to.equal('BSONSymbol');
202
202
  expect(s.toString()).to.equal('5ebbe8e2905bb493d6981b6b');
203
203
  });
204
204
  it('with new', function () {
205
205
  const s = new (shellBson.BSONSymbol as any)('5ebbe8e2905bb493d6981b6b');
206
- expect(s._bsontype).to.equal('BSONSymbol');
206
+ expect(getBsonType(s)).to.equal('BSONSymbol');
207
207
  expect(s.toString()).to.equal('5ebbe8e2905bb493d6981b6b');
208
208
  });
209
209
  it('has help and other metadata', function () {
@@ -215,15 +215,15 @@ describe('Shell BSON', function () {
215
215
  describe('Timestamp', function () {
216
216
  it('without new', function () {
217
217
  const s = shellBson.Timestamp(0, 100);
218
- expect(s._bsontype).to.equal('Timestamp');
218
+ expect(getBsonType(s)).to.equal('Timestamp');
219
219
  });
220
220
  it('with new', function () {
221
221
  const s = new (shellBson.Timestamp as any)(0, 100);
222
- expect(s._bsontype).to.equal('Timestamp');
222
+ expect(getBsonType(s)).to.equal('Timestamp');
223
223
  });
224
224
  it('with a long argument', function () {
225
225
  const s = shellBson.Timestamp((shellBson.Long as any)(1, 2));
226
- expect(s._bsontype).to.equal('Timestamp');
226
+ expect(getBsonType(s)).to.equal('Timestamp');
227
227
  expect((s as any).toExtendedJSON()).to.deep.equal({
228
228
  $timestamp: { t: 2, i: 1 },
229
229
  });
package/.depcheckrc DELETED
@@ -1,16 +0,0 @@
1
- ignores:
2
- - '@mongodb-js/eslint-config-mongosh'
3
- - '@mongodb-js/tsconfig-mongosh'
4
- - '@mongodb-js/prettier-config-devtools'
5
- - '@typescript-eslint/parser'
6
- - '@typescript-eslint/eslint-plugin'
7
- - chai
8
- - sinon
9
- - sinon-chai
10
- - ts-sinon
11
- - eslint-plugin-mocha
12
- - eslint-config-mongodb-js
13
- # needed as a peer dependency of @mongodb-js/devtools-connect
14
- - mongodb
15
- ignore-patterns:
16
- - .eslintrc.js