bson 4.2.2 → 4.2.3

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 (74) hide show
  1. package/HISTORY.md +10 -0
  2. package/bower.json +1 -1
  3. package/bson.d.ts +3 -0
  4. package/dist/bson.browser.esm.js +1507 -952
  5. package/dist/bson.browser.esm.js.map +1 -1
  6. package/dist/bson.browser.umd.js +1507 -952
  7. package/dist/bson.browser.umd.js.map +1 -1
  8. package/dist/bson.bundle.js +1507 -952
  9. package/dist/bson.bundle.js.map +1 -1
  10. package/dist/bson.esm.js +1507 -952
  11. package/dist/bson.esm.js.map +1 -1
  12. package/lib/binary.js +62 -59
  13. package/lib/binary.js.map +1 -1
  14. package/lib/bson.js +55 -51
  15. package/lib/bson.js.map +1 -1
  16. package/lib/code.js +18 -15
  17. package/lib/code.js.map +1 -1
  18. package/lib/db_ref.js +36 -29
  19. package/lib/db_ref.js.map +1 -1
  20. package/lib/decimal128.js +125 -122
  21. package/lib/decimal128.js.map +1 -1
  22. package/lib/double.js +24 -21
  23. package/lib/double.js.map +1 -1
  24. package/lib/ensure_buffer.js +2 -2
  25. package/lib/ensure_buffer.js.map +1 -1
  26. package/lib/extended_json.js +67 -64
  27. package/lib/extended_json.js.map +1 -1
  28. package/lib/float_parser.js +21 -21
  29. package/lib/float_parser.js.map +1 -1
  30. package/lib/int_32.js +19 -16
  31. package/lib/int_32.js.map +1 -1
  32. package/lib/long.js +232 -227
  33. package/lib/long.js.map +1 -1
  34. package/lib/map.js +54 -45
  35. package/lib/map.js.map +1 -1
  36. package/lib/max_key.js +16 -11
  37. package/lib/max_key.js.map +1 -1
  38. package/lib/min_key.js +16 -11
  39. package/lib/min_key.js.map +1 -1
  40. package/lib/objectid.js +93 -82
  41. package/lib/objectid.js.map +1 -1
  42. package/lib/parser/calculate_size.js +12 -9
  43. package/lib/parser/calculate_size.js.map +1 -1
  44. package/lib/parser/deserializer.js +89 -88
  45. package/lib/parser/deserializer.js.map +1 -1
  46. package/lib/parser/serializer.js +94 -75
  47. package/lib/parser/serializer.js.map +1 -1
  48. package/lib/parser/utils.js +19 -8
  49. package/lib/parser/utils.js.map +1 -1
  50. package/lib/regexp.js +15 -12
  51. package/lib/regexp.js.map +1 -1
  52. package/lib/symbol.js +21 -18
  53. package/lib/symbol.js.map +1 -1
  54. package/lib/timestamp.js +48 -27
  55. package/lib/timestamp.js.map +1 -1
  56. package/lib/uuid.js +3 -3
  57. package/lib/uuid.js.map +1 -1
  58. package/lib/validate_utf8.js +12 -12
  59. package/lib/validate_utf8.js.map +1 -1
  60. package/package.json +1 -1
  61. package/src/binary.ts +6 -4
  62. package/src/code.ts +6 -2
  63. package/src/db_ref.ts +8 -4
  64. package/src/decimal128.ts +4 -2
  65. package/src/double.ts +4 -2
  66. package/src/int_32.ts +4 -2
  67. package/src/long.ts +6 -4
  68. package/src/max_key.ts +5 -1
  69. package/src/min_key.ts +5 -1
  70. package/src/objectid.ts +3 -1
  71. package/src/parser/utils.ts +1 -1
  72. package/src/regexp.ts +4 -2
  73. package/src/symbol.ts +4 -2
  74. package/src/timestamp.ts +6 -1
@@ -1,7 +1,14 @@
1
1
  "use strict";
2
+ var __spreadArrays = (this && this.__spreadArrays) || function () {
3
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
4
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
5
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
6
+ r[k] = a[j];
7
+ return r;
8
+ };
2
9
  Object.defineProperty(exports, "__esModule", { value: true });
3
10
  exports.deprecate = exports.isObjectLike = exports.isDate = exports.isBuffer = exports.haveBuffer = exports.isBigUInt64Array = exports.isBigInt64Array = exports.isUint8Array = exports.randomBytes = exports.normalizedFunctionString = void 0;
4
- const buffer_1 = require("buffer");
11
+ var buffer_1 = require("buffer");
5
12
  /**
6
13
  * Normalizes our expected stringified form of a function across versions of node
7
14
  * @param fn - The function to stringify
@@ -11,14 +18,14 @@ function normalizedFunctionString(fn) {
11
18
  }
12
19
  exports.normalizedFunctionString = normalizedFunctionString;
13
20
  function insecureRandomBytes(size) {
14
- const result = buffer_1.Buffer.alloc(size);
15
- for (let i = 0; i < size; ++i)
21
+ var result = buffer_1.Buffer.alloc(size);
22
+ for (var i = 0; i < size; ++i)
16
23
  result[i] = Math.floor(Math.random() * 256);
17
24
  return result;
18
25
  }
19
26
  exports.randomBytes = insecureRandomBytes;
20
27
  if (typeof window !== 'undefined' && window.crypto && window.crypto.getRandomValues) {
21
- exports.randomBytes = size => window.crypto.getRandomValues(buffer_1.Buffer.alloc(size));
28
+ exports.randomBytes = function (size) { return window.crypto.getRandomValues(buffer_1.Buffer.alloc(size)); };
22
29
  }
23
30
  else {
24
31
  try {
@@ -71,17 +78,21 @@ function isObjectLike(candidate) {
71
78
  }
72
79
  exports.isObjectLike = isObjectLike;
73
80
  function deprecate(fn, message) {
74
- if (typeof window === 'undefined' || typeof self === 'undefined') {
81
+ if (typeof window === 'undefined' && typeof self === 'undefined') {
75
82
  // eslint-disable-next-line @typescript-eslint/no-var-requires
76
83
  return require('util').deprecate(fn, message);
77
84
  }
78
- let warned = false;
79
- function deprecated(...args) {
85
+ var warned = false;
86
+ function deprecated() {
87
+ var args = [];
88
+ for (var _i = 0; _i < arguments.length; _i++) {
89
+ args[_i] = arguments[_i];
90
+ }
80
91
  if (!warned) {
81
92
  console.warn(message);
82
93
  warned = true;
83
94
  }
84
- return fn.apply(this, ...args);
95
+ return fn.apply.apply(fn, __spreadArrays([this], args));
85
96
  }
86
97
  return deprecated;
87
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/parser/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/parser/utils.ts"],"names":[],"mappings":"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"}
package/lib/regexp.js CHANGED
@@ -8,41 +8,43 @@ function alphabetize(str) {
8
8
  * A class representation of the BSON RegExp type.
9
9
  * @public
10
10
  */
11
- class BSONRegExp {
11
+ var BSONRegExp = /** @class */ (function () {
12
12
  /**
13
13
  * @param pattern - The regular expression pattern to match
14
14
  * @param options - The regular expression options
15
15
  */
16
- constructor(pattern, options) {
16
+ function BSONRegExp(pattern, options) {
17
+ if (!(this instanceof BSONRegExp))
18
+ return new BSONRegExp(pattern, options);
17
19
  this.pattern = pattern;
18
20
  this.options = options !== null && options !== void 0 ? options : '';
19
21
  // Execute
20
22
  alphabetize(this.options);
21
23
  // Validate options
22
- for (let i = 0; i < this.options.length; i++) {
24
+ for (var i = 0; i < this.options.length; i++) {
23
25
  if (!(this.options[i] === 'i' ||
24
26
  this.options[i] === 'm' ||
25
27
  this.options[i] === 'x' ||
26
28
  this.options[i] === 'l' ||
27
29
  this.options[i] === 's' ||
28
30
  this.options[i] === 'u')) {
29
- throw new Error(`The regular expression option [${this.options[i]}] is not supported`);
31
+ throw new Error("The regular expression option [" + this.options[i] + "] is not supported");
30
32
  }
31
33
  }
32
34
  }
33
- static parseOptions(options) {
35
+ BSONRegExp.parseOptions = function (options) {
34
36
  return options ? options.split('').sort().join('') : '';
35
- }
37
+ };
36
38
  /** @internal */
37
- toExtendedJSON(options) {
39
+ BSONRegExp.prototype.toExtendedJSON = function (options) {
38
40
  options = options || {};
39
41
  if (options.legacy) {
40
42
  return { $regex: this.pattern, $options: this.options };
41
43
  }
42
44
  return { $regularExpression: { pattern: this.pattern, options: this.options } };
43
- }
45
+ };
44
46
  /** @internal */
45
- static fromExtendedJSON(doc) {
47
+ BSONRegExp.fromExtendedJSON = function (doc) {
46
48
  if ('$regex' in doc) {
47
49
  if (typeof doc.$regex !== 'string') {
48
50
  // This is for $regex query operators that have extended json values.
@@ -57,9 +59,10 @@ class BSONRegExp {
57
59
  if ('$regularExpression' in doc) {
58
60
  return new BSONRegExp(doc.$regularExpression.pattern, BSONRegExp.parseOptions(doc.$regularExpression.options));
59
61
  }
60
- throw new TypeError(`Unexpected BSONRegExp EJSON object form: ${JSON.stringify(doc)}`);
61
- }
62
- }
62
+ throw new TypeError("Unexpected BSONRegExp EJSON object form: " + JSON.stringify(doc));
63
+ };
64
+ return BSONRegExp;
65
+ }());
63
66
  exports.BSONRegExp = BSONRegExp;
64
67
  Object.defineProperty(BSONRegExp.prototype, '_bsontype', { value: 'BSONRegExp' });
65
68
  //# sourceMappingURL=regexp.js.map
package/lib/regexp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"regexp.js","sourceRoot":"","sources":["../src/regexp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"regexp.js","sourceRoot":"","sources":["../src/regexp.ts"],"names":[],"mappings":"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"}
package/lib/symbol.js CHANGED
@@ -5,42 +5,45 @@ exports.BSONSymbol = void 0;
5
5
  * A class representation of the BSON Symbol type.
6
6
  * @public
7
7
  */
8
- class BSONSymbol {
8
+ var BSONSymbol = /** @class */ (function () {
9
9
  /**
10
10
  * @param value - the string representing the symbol.
11
11
  */
12
- constructor(value) {
12
+ function BSONSymbol(value) {
13
+ if (!(this instanceof BSONSymbol))
14
+ return new BSONSymbol(value);
13
15
  this.value = value;
14
16
  }
15
17
  /** Access the wrapped string value. */
16
- valueOf() {
18
+ BSONSymbol.prototype.valueOf = function () {
17
19
  return this.value;
18
- }
20
+ };
19
21
  /** @internal */
20
- toString() {
22
+ BSONSymbol.prototype.toString = function () {
21
23
  return this.value;
22
- }
24
+ };
23
25
  /** @internal */
24
- inspect() {
25
- return `BSONSymbol("${this.value}")`;
26
- }
26
+ BSONSymbol.prototype.inspect = function () {
27
+ return "new BSONSymbol(\"" + this.value + "\")";
28
+ };
27
29
  /** @internal */
28
- toJSON() {
30
+ BSONSymbol.prototype.toJSON = function () {
29
31
  return this.value;
30
- }
32
+ };
31
33
  /** @internal */
32
- toExtendedJSON() {
34
+ BSONSymbol.prototype.toExtendedJSON = function () {
33
35
  return { $symbol: this.value };
34
- }
36
+ };
35
37
  /** @internal */
36
- static fromExtendedJSON(doc) {
38
+ BSONSymbol.fromExtendedJSON = function (doc) {
37
39
  return new BSONSymbol(doc.$symbol);
38
- }
40
+ };
39
41
  /** @internal */
40
- [Symbol.for('nodejs.util.inspect.custom')]() {
42
+ BSONSymbol.prototype[Symbol.for('nodejs.util.inspect.custom')] = function () {
41
43
  return this.inspect();
42
- }
43
- }
44
+ };
45
+ return BSONSymbol;
46
+ }());
44
47
  exports.BSONSymbol = BSONSymbol;
45
48
  Object.defineProperty(BSONSymbol.prototype, '_bsontype', { value: 'Symbol' });
46
49
  //# sourceMappingURL=symbol.js.map
package/lib/symbol.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"symbol.js","sourceRoot":"","sources":["../src/symbol.ts"],"names":[],"mappings":";;;AAKA;;;GAGG;AACH,MAAa,UAAU;IAIrB;;OAEG;IACH,YAAY,KAAa;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,uCAAuC;IACvC,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,gBAAgB;IAChB,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,gBAAgB;IAChB,OAAO;QACL,OAAO,eAAe,IAAI,CAAC,KAAK,IAAI,CAAC;IACvC,CAAC;IAED,gBAAgB;IAChB,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,gBAAgB;IAChB,cAAc;QACZ,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,gBAAgB;IAChB,MAAM,CAAC,gBAAgB,CAAC,GAAuB;QAC7C,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,gBAAgB;IAChB,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;CACF;AA7CD,gCA6CC;AAED,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"symbol.js","sourceRoot":"","sources":["../src/symbol.ts"],"names":[],"mappings":";;;AAKA;;;GAGG;AACH;IAIE;;OAEG;IACH,oBAAY,KAAa;QACvB,IAAI,CAAC,CAAC,IAAI,YAAY,UAAU,CAAC;YAAE,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QAEhE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,uCAAuC;IACvC,4BAAO,GAAP;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,gBAAgB;IAChB,6BAAQ,GAAR;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,gBAAgB;IAChB,4BAAO,GAAP;QACE,OAAO,sBAAmB,IAAI,CAAC,KAAK,QAAI,CAAC;IAC3C,CAAC;IAED,gBAAgB;IAChB,2BAAM,GAAN;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,gBAAgB;IAChB,mCAAc,GAAd;QACE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,gBAAgB;IACT,2BAAgB,GAAvB,UAAwB,GAAuB;QAC7C,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,gBAAgB;IAChB,qBAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,GAA1C;QACE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IACH,iBAAC;AAAD,CAAC,AA/CD,IA+CC;AA/CY,gCAAU;AAiDvB,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC"}
package/lib/timestamp.js CHANGED
@@ -1,72 +1,93 @@
1
1
  "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
2
15
  Object.defineProperty(exports, "__esModule", { value: true });
3
16
  exports.Timestamp = exports.LongWithoutOverridesClass = void 0;
4
- const long_1 = require("./long");
17
+ var long_1 = require("./long");
5
18
  /** @public */
6
19
  exports.LongWithoutOverridesClass = long_1.Long;
7
20
  /** @public */
8
- class Timestamp extends exports.LongWithoutOverridesClass {
9
- constructor(low, high) {
21
+ var Timestamp = /** @class */ (function (_super) {
22
+ __extends(Timestamp, _super);
23
+ function Timestamp(low, high) {
24
+ var _this = this;
25
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
26
+ ///@ts-expect-error
27
+ if (!(_this instanceof Timestamp))
28
+ return new Timestamp(low, high);
10
29
  if (long_1.Long.isLong(low)) {
11
- super(low.low, low.high, true);
30
+ _this = _super.call(this, low.low, low.high, true) || this;
12
31
  }
13
32
  else {
14
- super(low, high, true);
33
+ _this = _super.call(this, low, high, true) || this;
15
34
  }
16
- Object.defineProperty(this, '_bsontype', {
35
+ Object.defineProperty(_this, '_bsontype', {
17
36
  value: 'Timestamp',
18
37
  writable: false,
19
38
  configurable: false,
20
39
  enumerable: false
21
40
  });
41
+ return _this;
22
42
  }
23
- toJSON() {
43
+ Timestamp.prototype.toJSON = function () {
24
44
  return {
25
45
  $timestamp: this.toString()
26
46
  };
27
- }
47
+ };
28
48
  /** Returns a Timestamp represented by the given (32-bit) integer value. */
29
- static fromInt(value) {
49
+ Timestamp.fromInt = function (value) {
30
50
  return new Timestamp(long_1.Long.fromInt(value, true));
31
- }
51
+ };
32
52
  /** Returns a Timestamp representing the given number value, provided that it is a finite number. Otherwise, zero is returned. */
33
- static fromNumber(value) {
53
+ Timestamp.fromNumber = function (value) {
34
54
  return new Timestamp(long_1.Long.fromNumber(value, true));
35
- }
55
+ };
36
56
  /**
37
57
  * Returns a Timestamp for the given high and low bits. Each is assumed to use 32 bits.
38
58
  *
39
59
  * @param lowBits - the low 32-bits.
40
60
  * @param highBits - the high 32-bits.
41
61
  */
42
- static fromBits(lowBits, highBits) {
62
+ Timestamp.fromBits = function (lowBits, highBits) {
43
63
  return new Timestamp(lowBits, highBits);
44
- }
64
+ };
45
65
  /**
46
66
  * Returns a Timestamp from the given string, optionally using the given radix.
47
67
  *
48
68
  * @param str - the textual representation of the Timestamp.
49
69
  * @param optRadix - the radix in which the text is written.
50
70
  */
51
- static fromString(str, optRadix) {
71
+ Timestamp.fromString = function (str, optRadix) {
52
72
  return new Timestamp(long_1.Long.fromString(str, true, optRadix));
53
- }
73
+ };
54
74
  /** @internal */
55
- toExtendedJSON() {
75
+ Timestamp.prototype.toExtendedJSON = function () {
56
76
  return { $timestamp: { t: this.high >>> 0, i: this.low >>> 0 } };
57
- }
77
+ };
58
78
  /** @internal */
59
- static fromExtendedJSON(doc) {
79
+ Timestamp.fromExtendedJSON = function (doc) {
60
80
  return new Timestamp(doc.$timestamp.i, doc.$timestamp.t);
61
- }
81
+ };
62
82
  /** @internal */
63
- [Symbol.for('nodejs.util.inspect.custom')]() {
83
+ Timestamp.prototype[Symbol.for('nodejs.util.inspect.custom')] = function () {
64
84
  return this.inspect();
65
- }
66
- inspect() {
67
- return `Timestamp(${this.getLowBits().toString()}, ${this.getHighBits().toString()})`;
68
- }
69
- }
85
+ };
86
+ Timestamp.prototype.inspect = function () {
87
+ return "new Timestamp(" + this.getLowBits().toString() + ", " + this.getHighBits().toString() + ")";
88
+ };
89
+ Timestamp.MAX_VALUE = long_1.Long.MAX_UNSIGNED_VALUE;
90
+ return Timestamp;
91
+ }(exports.LongWithoutOverridesClass));
70
92
  exports.Timestamp = Timestamp;
71
- Timestamp.MAX_VALUE = long_1.Long.MAX_UNSIGNED_VALUE;
72
93
  //# sourceMappingURL=timestamp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timestamp.js","sourceRoot":"","sources":["../src/timestamp.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAQ9B,cAAc;AACD,QAAA,yBAAyB,GAA0B,WAAwC,CAAC;AAUzG,cAAc;AACd,MAAa,SAAU,SAAQ,iCAAyB;IActD,YAAY,GAAkB,EAAE,IAAa;QAC3C,IAAI,WAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YACpB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAChC;aAAM;YACL,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SACxB;QACD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE;YACvC,KAAK,EAAE,WAAW;YAClB,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAED,MAAM;QACJ,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE;SAC5B,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,OAAO,IAAI,SAAS,CAAC,WAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,iIAAiI;IACjI,MAAM,CAAC,UAAU,CAAC,KAAa;QAC7B,OAAO,IAAI,SAAS,CAAC,WAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAe,EAAE,QAAgB;QAC/C,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,GAAW,EAAE,QAAgB;QAC7C,OAAO,IAAI,SAAS,CAAC,WAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,gBAAgB;IAChB,cAAc;QACZ,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC;IACnE,CAAC;IAED,gBAAgB;IAChB,MAAM,CAAC,gBAAgB,CAAC,GAAsB;QAC5C,OAAO,IAAI,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,gBAAgB;IAChB,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,OAAO;QACL,OAAO,aAAa,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC;IACxF,CAAC;;AAjFH,8BAkFC;AA/EiB,mBAAS,GAAG,WAAI,CAAC,kBAAkB,CAAC"}
1
+ {"version":3,"file":"timestamp.js","sourceRoot":"","sources":["../src/timestamp.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+BAA8B;AAQ9B,cAAc;AACD,QAAA,yBAAyB,GAA0B,WAAwC,CAAC;AAUzG,cAAc;AACd;IAA+B,6BAAyB;IAetD,mBAAY,GAAkB,EAAE,IAAa;QAA7C,iBAgBC;QAfC,6DAA6D;QAC7D,mBAAmB;QACnB,IAAI,CAAC,CAAC,KAAI,YAAY,SAAS,CAAC;YAAE,OAAO,IAAI,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAElE,IAAI,WAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YACpB,QAAA,kBAAM,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,SAAC;SAChC;aAAM;YACL,QAAA,kBAAM,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,SAAC;SACxB;QACD,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,WAAW,EAAE;YACvC,KAAK,EAAE,WAAW;YAClB,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;;IACL,CAAC;IAED,0BAAM,GAAN;QACE,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE;SAC5B,CAAC;IACJ,CAAC;IAED,2EAA2E;IACpE,iBAAO,GAAd,UAAe,KAAa;QAC1B,OAAO,IAAI,SAAS,CAAC,WAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,iIAAiI;IAC1H,oBAAU,GAAjB,UAAkB,KAAa;QAC7B,OAAO,IAAI,SAAS,CAAC,WAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACI,kBAAQ,GAAf,UAAgB,OAAe,EAAE,QAAgB;QAC/C,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACI,oBAAU,GAAjB,UAAkB,GAAW,EAAE,QAAgB;QAC7C,OAAO,IAAI,SAAS,CAAC,WAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,gBAAgB;IAChB,kCAAc,GAAd;QACE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC;IACnE,CAAC;IAED,gBAAgB;IACT,0BAAgB,GAAvB,UAAwB,GAAsB;QAC5C,OAAO,IAAI,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,gBAAgB;IAChB,oBAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,GAA1C;QACE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,2BAAO,GAAP;QACE,OAAO,mBAAiB,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,UAAK,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAG,CAAC;IAC5F,CAAC;IAnFe,mBAAS,GAAG,WAAI,CAAC,kBAAkB,CAAC;IAoFtD,gBAAC;CAAA,AAvFD,CAA+B,iCAAyB,GAuFvD;AAvFY,8BAAS"}
package/lib/uuid.js CHANGED
@@ -5,7 +5,7 @@ exports.parseUUID = void 0;
5
5
  * UUID regular expression pattern copied from `uuid` npm module.
6
6
  * @see https://github.com/uuidjs/uuid/blob/master/src/regex.js
7
7
  */
8
- const UUID_RX = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
8
+ var UUID_RX = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
9
9
  /**
10
10
  * Parser function copied from `uuid` npm module.
11
11
  * @see https://github.com/uuidjs/uuid/blob/master/src/parse.js
@@ -18,8 +18,8 @@ function parseUUID(uuid) {
18
18
  if (!UUID_RX.test(uuid)) {
19
19
  throw new TypeError('Invalid format for UUID: ' + uuid);
20
20
  }
21
- let v;
22
- const arr = new Uint8Array(16);
21
+ var v;
22
+ var arr = new Uint8Array(16);
23
23
  // Parse ########-....-....-....-............
24
24
  arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;
25
25
  arr[1] = (v >>> 16) & 0xff;
package/lib/uuid.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"uuid.js","sourceRoot":"","sources":["../src/uuid.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,MAAM,OAAO,GAAG,qHAAqH,CAAC;AAOtI;;;;GAIG;AACH,SAAgB,SAAS,CAAC,IAAY;IACpC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,MAAM,IAAI,SAAS,CAAC,iDAAiD,GAAG,OAAO,IAAI,CAAC,CAAC;KACtF;IAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACvB,MAAM,IAAI,SAAS,CAAC,2BAA2B,GAAG,IAAI,CAAC,CAAC;KACzD;IAED,IAAI,CAAC,CAAC;IACN,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAE/B,6CAA6C;IAC7C,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IACrD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAC3B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;IAC1B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAElB,6CAA6C;IAC7C,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACrD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAElB,6CAA6C;IAC7C,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACtD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAElB,6CAA6C;IAC7C,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACtD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAElB,6CAA6C;IAC7C,0EAA0E;IAC1E,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,IAAI,CAAC;IAC1E,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC;IACnC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAC5B,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAC5B,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3B,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAEnB,OAAO,GAAG,CAAC;AACb,CAAC;AAxCD,8BAwCC"}
1
+ {"version":3,"file":"uuid.js","sourceRoot":"","sources":["../src/uuid.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,IAAM,OAAO,GAAG,qHAAqH,CAAC;AAOtI;;;;GAIG;AACH,SAAgB,SAAS,CAAC,IAAY;IACpC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,MAAM,IAAI,SAAS,CAAC,iDAAiD,GAAG,OAAO,IAAI,CAAC,CAAC;KACtF;IAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACvB,MAAM,IAAI,SAAS,CAAC,2BAA2B,GAAG,IAAI,CAAC,CAAC;KACzD;IAED,IAAI,CAAC,CAAC;IACN,IAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAE/B,6CAA6C;IAC7C,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IACrD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAC3B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;IAC1B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAElB,6CAA6C;IAC7C,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACrD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAElB,6CAA6C;IAC7C,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACtD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAElB,6CAA6C;IAC7C,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACtD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAElB,6CAA6C;IAC7C,0EAA0E;IAC1E,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,IAAI,CAAC;IAC1E,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC;IACnC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAC5B,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAC5B,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3B,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAEnB,OAAO,GAAG,CAAC;AACb,CAAC;AAxCD,8BAwCC"}
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateUtf8 = void 0;
4
- const FIRST_BIT = 0x80;
5
- const FIRST_TWO_BITS = 0xc0;
6
- const FIRST_THREE_BITS = 0xe0;
7
- const FIRST_FOUR_BITS = 0xf0;
8
- const FIRST_FIVE_BITS = 0xf8;
9
- const TWO_BIT_CHAR = 0xc0;
10
- const THREE_BIT_CHAR = 0xe0;
11
- const FOUR_BIT_CHAR = 0xf0;
12
- const CONTINUING_CHAR = 0x80;
4
+ var FIRST_BIT = 0x80;
5
+ var FIRST_TWO_BITS = 0xc0;
6
+ var FIRST_THREE_BITS = 0xe0;
7
+ var FIRST_FOUR_BITS = 0xf0;
8
+ var FIRST_FIVE_BITS = 0xf8;
9
+ var TWO_BIT_CHAR = 0xc0;
10
+ var THREE_BIT_CHAR = 0xe0;
11
+ var FOUR_BIT_CHAR = 0xf0;
12
+ var CONTINUING_CHAR = 0x80;
13
13
  /**
14
14
  * Determines if the passed in bytes are valid utf8
15
15
  * @param bytes - An array of 8-bit bytes. Must be indexable and have length property
@@ -17,9 +17,9 @@ const CONTINUING_CHAR = 0x80;
17
17
  * @param end - The index to end validating
18
18
  */
19
19
  function validateUtf8(bytes, start, end) {
20
- let continuation = 0;
21
- for (let i = start; i < end; i += 1) {
22
- const byte = bytes[i];
20
+ var continuation = 0;
21
+ for (var i = start; i < end; i += 1) {
22
+ var byte = bytes[i];
23
23
  if (continuation) {
24
24
  if ((byte & FIRST_TWO_BITS) !== CONTINUING_CHAR) {
25
25
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"validate_utf8.js","sourceRoot":"","sources":["../src/validate_utf8.ts"],"names":[],"mappings":";;;AAAA,MAAM,SAAS,GAAG,IAAI,CAAC;AACvB,MAAM,cAAc,GAAG,IAAI,CAAC;AAC5B,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,MAAM,eAAe,GAAG,IAAI,CAAC;AAC7B,MAAM,eAAe,GAAG,IAAI,CAAC;AAE7B,MAAM,YAAY,GAAG,IAAI,CAAC;AAC1B,MAAM,cAAc,GAAG,IAAI,CAAC;AAC5B,MAAM,aAAa,GAAG,IAAI,CAAC;AAC3B,MAAM,eAAe,GAAG,IAAI,CAAC;AAE7B;;;;;GAKG;AACH,SAAgB,YAAY,CAC1B,KAAkC,EAClC,KAAa,EACb,GAAW;IAEX,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE;QACnC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtB,IAAI,YAAY,EAAE;YAChB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,KAAK,eAAe,EAAE;gBAC/C,OAAO,KAAK,CAAC;aACd;YACD,YAAY,IAAI,CAAC,CAAC;SACnB;aAAM,IAAI,IAAI,GAAG,SAAS,EAAE;YAC3B,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC,KAAK,YAAY,EAAE;gBAC9C,YAAY,GAAG,CAAC,CAAC;aAClB;iBAAM,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,KAAK,cAAc,EAAE;gBACtD,YAAY,GAAG,CAAC,CAAC;aAClB;iBAAM,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,KAAK,aAAa,EAAE;gBACrD,YAAY,GAAG,CAAC,CAAC;aAClB;iBAAM;gBACL,OAAO,KAAK,CAAC;aACd;SACF;KACF;IAED,OAAO,CAAC,YAAY,CAAC;AACvB,CAAC;AA7BD,oCA6BC"}
1
+ {"version":3,"file":"validate_utf8.js","sourceRoot":"","sources":["../src/validate_utf8.ts"],"names":[],"mappings":";;;AAAA,IAAM,SAAS,GAAG,IAAI,CAAC;AACvB,IAAM,cAAc,GAAG,IAAI,CAAC;AAC5B,IAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,IAAM,eAAe,GAAG,IAAI,CAAC;AAC7B,IAAM,eAAe,GAAG,IAAI,CAAC;AAE7B,IAAM,YAAY,GAAG,IAAI,CAAC;AAC1B,IAAM,cAAc,GAAG,IAAI,CAAC;AAC5B,IAAM,aAAa,GAAG,IAAI,CAAC;AAC3B,IAAM,eAAe,GAAG,IAAI,CAAC;AAE7B;;;;;GAKG;AACH,SAAgB,YAAY,CAC1B,KAAkC,EAClC,KAAa,EACb,GAAW;IAEX,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE;QACnC,IAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtB,IAAI,YAAY,EAAE;YAChB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,KAAK,eAAe,EAAE;gBAC/C,OAAO,KAAK,CAAC;aACd;YACD,YAAY,IAAI,CAAC,CAAC;SACnB;aAAM,IAAI,IAAI,GAAG,SAAS,EAAE;YAC3B,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC,KAAK,YAAY,EAAE;gBAC9C,YAAY,GAAG,CAAC,CAAC;aAClB;iBAAM,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,KAAK,cAAc,EAAE;gBACtD,YAAY,GAAG,CAAC,CAAC;aAClB;iBAAM,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,KAAK,aAAa,EAAE;gBACrD,YAAY,GAAG,CAAC,CAAC;aAClB;iBAAM;gBACL,OAAO,KAAK,CAAC;aACd;SACF;KACF;IAED,OAAO,CAAC,YAAY,CAAC;AACvB,CAAC;AA7BD,oCA6BC"}
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "bower.json"
16
16
  ],
17
17
  "types": "bson.d.ts",
18
- "version": "4.2.2",
18
+ "version": "4.2.3",
19
19
  "author": "Christian Amor Kvalheim <christkv@gmail.com>",
20
20
  "license": "Apache-2.0",
21
21
  "contributors": [],
package/src/binary.ts CHANGED
@@ -50,15 +50,17 @@ export class Binary {
50
50
  /** User BSON type */
51
51
  static readonly SUBTYPE_USER_DEFINED = 128;
52
52
 
53
- buffer: Buffer;
54
- sub_type: number;
55
- position: number;
53
+ buffer!: Buffer;
54
+ sub_type!: number;
55
+ position!: number;
56
56
 
57
57
  /**
58
58
  * @param buffer - a buffer object containing the binary data.
59
59
  * @param subType - the option binary type.
60
60
  */
61
61
  constructor(buffer?: string | BinarySequence, subType?: number) {
62
+ if (!(this instanceof Binary)) return new Binary(buffer, subType);
63
+
62
64
  if (
63
65
  !(buffer == null) &&
64
66
  !(typeof buffer === 'string') &&
@@ -263,7 +265,7 @@ export class Binary {
263
265
 
264
266
  inspect(): string {
265
267
  const asBuffer = this.value(true);
266
- return `Binary("${asBuffer.toString('hex')}", ${this.sub_type})`;
268
+ return `new Binary(Buffer.from("${asBuffer.toString('hex')}", "hex"), ${this.sub_type})`;
267
269
  }
268
270
  }
269
271
 
package/src/code.ts CHANGED
@@ -13,13 +13,15 @@ export interface CodeExtended {
13
13
  export class Code {
14
14
  _bsontype!: 'Code';
15
15
 
16
- code: string | Function;
16
+ code!: string | Function;
17
17
  scope?: Document;
18
18
  /**
19
19
  * @param code - a string or function.
20
20
  * @param scope - an optional scope for the function.
21
21
  */
22
22
  constructor(code: string | Function, scope?: Document) {
23
+ if (!(this instanceof Code)) return new Code(code, scope);
24
+
23
25
  this.code = code;
24
26
  this.scope = scope;
25
27
  }
@@ -50,7 +52,9 @@ export class Code {
50
52
 
51
53
  inspect(): string {
52
54
  const codeJson = this.toJSON();
53
- return `Code("${codeJson.code}"${codeJson.scope ? `, ${JSON.stringify(codeJson.scope)}` : ''})`;
55
+ return `new Code("${codeJson.code}"${
56
+ codeJson.scope ? `, ${JSON.stringify(codeJson.scope)}` : ''
57
+ })`;
54
58
  }
55
59
  }
56
60
 
package/src/db_ref.ts CHANGED
@@ -22,10 +22,10 @@ export function isDBRefLike(value: unknown): value is DBRefLike {
22
22
  export class DBRef {
23
23
  _bsontype!: 'DBRef';
24
24
 
25
- collection: string;
26
- oid: ObjectId;
25
+ collection!: string;
26
+ oid!: ObjectId;
27
27
  db?: string;
28
- fields: Document;
28
+ fields!: Document;
29
29
 
30
30
  /**
31
31
  * @param collection - the collection name.
@@ -33,6 +33,8 @@ export class DBRef {
33
33
  * @param db - optional db name, if omitted the reference is local to the current db.
34
34
  */
35
35
  constructor(collection: string, oid: ObjectId, db?: string, fields?: Document) {
36
+ if (!(this instanceof DBRef)) return new DBRef(collection, oid, db, fields);
37
+
36
38
  // check if namespace has been provided
37
39
  const parts = collection.split('.');
38
40
  if (parts.length === 2) {
@@ -108,7 +110,9 @@ export class DBRef {
108
110
  // NOTE: if OID is an ObjectId class it will just print the oid string.
109
111
  const oid =
110
112
  this.oid === undefined || this.oid.toString === undefined ? this.oid : this.oid.toString();
111
- return `DBRef("${this.namespace}", "${oid}"${this.db ? `, "${this.db}"` : ''})`;
113
+ return `new DBRef("${this.namespace}", new ObjectId("${oid}")${
114
+ this.db ? `, "${this.db}"` : ''
115
+ })`;
112
116
  }
113
117
  }
114
118
 
package/src/decimal128.ts CHANGED
@@ -165,10 +165,12 @@ export interface Decimal128Extended {
165
165
  export class Decimal128 {
166
166
  _bsontype!: 'Decimal128';
167
167
 
168
- readonly bytes: Buffer;
168
+ readonly bytes!: Buffer;
169
169
 
170
170
  /** @param bytes - a buffer containing the raw Decimal128 bytes in little endian order */
171
171
  constructor(bytes: Buffer) {
172
+ if (!(this instanceof Decimal128)) return new Decimal128(bytes);
173
+
172
174
  this.bytes = bytes;
173
175
  }
174
176
 
@@ -794,7 +796,7 @@ export class Decimal128 {
794
796
  }
795
797
 
796
798
  inspect(): string {
797
- return `Decimal128("${this.toString()}")`;
799
+ return `Decimal128.fromString("${this.toString()}")`;
798
800
  }
799
801
  }
800
802
 
package/src/double.ts CHANGED
@@ -12,13 +12,15 @@ export interface DoubleExtended {
12
12
  export class Double {
13
13
  _bsontype!: 'Double';
14
14
 
15
- value: number;
15
+ value!: number;
16
16
  /**
17
17
  * Create a Double type
18
18
  *
19
19
  * @param value - the number we want to represent as a double.
20
20
  */
21
21
  constructor(value: number) {
22
+ if (!(this instanceof Double)) return new Double(value);
23
+
22
24
  if ((value as unknown) instanceof Number) {
23
25
  value = value.valueOf();
24
26
  }
@@ -78,7 +80,7 @@ export class Double {
78
80
 
79
81
  inspect(): string {
80
82
  const eJSON = this.toExtendedJSON() as DoubleExtended;
81
- return `Double(${eJSON.$numberDouble})`;
83
+ return `new Double(${eJSON.$numberDouble})`;
82
84
  }
83
85
  }
84
86
 
package/src/int_32.ts CHANGED
@@ -12,13 +12,15 @@ export interface Int32Extended {
12
12
  export class Int32 {
13
13
  _bsontype!: 'Int32';
14
14
 
15
- value: number;
15
+ value!: number;
16
16
  /**
17
17
  * Create an Int32 type
18
18
  *
19
19
  * @param value - the number we want to represent as an int32.
20
20
  */
21
21
  constructor(value: number | string) {
22
+ if (!(this instanceof Int32)) return new Int32(value);
23
+
22
24
  if ((value as unknown) instanceof Number) {
23
25
  value = value.valueOf();
24
26
  }
@@ -57,7 +59,7 @@ export class Int32 {
57
59
  }
58
60
 
59
61
  inspect(): string {
60
- return `Int32(${this.valueOf()})`;
62
+ return `new Int32(${this.valueOf()})`;
61
63
  }
62
64
  }
63
65