bson 4.0.4 → 4.2.2

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 (90) hide show
  1. package/HISTORY.md +56 -1
  2. package/README.md +7 -9
  3. package/bower.json +1 -1
  4. package/bson.d.ts +983 -0
  5. package/dist/bson.browser.esm.js +7261 -5004
  6. package/dist/bson.browser.esm.js.map +1 -0
  7. package/dist/bson.browser.umd.js +7319 -5099
  8. package/dist/bson.browser.umd.js.map +1 -0
  9. package/dist/bson.bundle.js +8168 -9216
  10. package/dist/bson.bundle.js.map +1 -0
  11. package/dist/bson.esm.js +5643 -5409
  12. package/dist/bson.esm.js.map +1 -0
  13. package/etc/prepare.js +19 -0
  14. package/lib/binary.js +194 -377
  15. package/lib/binary.js.map +1 -0
  16. package/lib/bson.js +200 -243
  17. package/lib/bson.js.map +1 -0
  18. package/lib/code.js +36 -39
  19. package/lib/code.js.map +1 -0
  20. package/lib/constants.js +78 -203
  21. package/lib/constants.js.map +1 -0
  22. package/lib/db_ref.js +79 -79
  23. package/lib/db_ref.js.map +1 -0
  24. package/lib/decimal128.js +647 -760
  25. package/lib/decimal128.js.map +1 -0
  26. package/lib/double.js +61 -58
  27. package/lib/double.js.map +1 -0
  28. package/lib/ensure_buffer.js +22 -18
  29. package/lib/ensure_buffer.js.map +1 -0
  30. package/lib/extended_json.js +305 -322
  31. package/lib/extended_json.js.map +1 -0
  32. package/lib/float_parser.js +98 -104
  33. package/lib/float_parser.js.map +1 -0
  34. package/lib/int_32.js +45 -47
  35. package/lib/int_32.js.map +1 -0
  36. package/lib/long.js +876 -16
  37. package/lib/long.js.map +1 -0
  38. package/lib/map.js +123 -124
  39. package/lib/map.js.map +1 -0
  40. package/lib/max_key.js +21 -23
  41. package/lib/max_key.js.map +1 -0
  42. package/lib/min_key.js +21 -23
  43. package/lib/min_key.js.map +1 -0
  44. package/lib/objectid.js +264 -382
  45. package/lib/objectid.js.map +1 -0
  46. package/lib/parser/calculate_size.js +185 -224
  47. package/lib/parser/calculate_size.js.map +1 -0
  48. package/lib/parser/deserializer.js +543 -620
  49. package/lib/parser/deserializer.js.map +1 -0
  50. package/lib/parser/serializer.js +774 -918
  51. package/lib/parser/serializer.js.map +1 -0
  52. package/lib/parser/utils.js +81 -30
  53. package/lib/parser/utils.js.map +1 -0
  54. package/lib/regexp.js +54 -70
  55. package/lib/regexp.js.map +1 -0
  56. package/lib/symbol.js +40 -56
  57. package/lib/symbol.js.map +1 -0
  58. package/lib/timestamp.js +70 -95
  59. package/lib/timestamp.js.map +1 -0
  60. package/lib/uuid.js +48 -0
  61. package/lib/uuid.js.map +1 -0
  62. package/lib/validate_utf8.js +32 -33
  63. package/lib/validate_utf8.js.map +1 -0
  64. package/package.json +53 -31
  65. package/src/binary.ts +270 -0
  66. package/src/bson.ts +326 -0
  67. package/src/code.ts +57 -0
  68. package/src/constants.ts +104 -0
  69. package/src/db_ref.ts +115 -0
  70. package/src/decimal128.ts +801 -0
  71. package/src/double.ts +85 -0
  72. package/src/ensure_buffer.ts +26 -0
  73. package/src/extended_json.ts +395 -0
  74. package/src/float_parser.ts +152 -0
  75. package/src/int_32.ts +64 -0
  76. package/src/long.ts +1000 -0
  77. package/src/map.ts +139 -0
  78. package/src/max_key.ts +33 -0
  79. package/src/min_key.ts +33 -0
  80. package/src/objectid.ts +377 -0
  81. package/src/parser/calculate_size.ts +230 -0
  82. package/src/parser/deserializer.ts +655 -0
  83. package/src/parser/serializer.ts +1069 -0
  84. package/src/parser/utils.ts +93 -0
  85. package/src/regexp.ts +92 -0
  86. package/src/symbol.ts +57 -0
  87. package/src/timestamp.ts +103 -0
  88. package/src/uuid.ts +57 -0
  89. package/src/validate_utf8.ts +47 -0
  90. package/lib/fnv1a.js +0 -48
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decimal128.js","sourceRoot":"","sources":["../src/decimal128.ts"],"names":[],"mappings":"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"}
package/lib/double.js CHANGED
@@ -1,67 +1,70 @@
1
- 'use strict';
2
-
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Double = void 0;
3
4
  /**
4
5
  * A class representation of the BSON Double type.
6
+ * @public
5
7
  */
6
8
  class Double {
7
- /**
8
- * Create a Double type
9
- *
10
- * @param {number|Number} value the number we want to represent as a double.
11
- * @return {Double}
12
- */
13
- constructor(value) {
14
- if (value instanceof Number) {
15
- value = value.valueOf();
9
+ /**
10
+ * Create a Double type
11
+ *
12
+ * @param value - the number we want to represent as a double.
13
+ */
14
+ constructor(value) {
15
+ if (value instanceof Number) {
16
+ value = value.valueOf();
17
+ }
18
+ this.value = +value;
16
19
  }
17
-
18
- this.value = value;
19
- }
20
-
21
- /**
22
- * Access the number value.
23
- *
24
- * @method
25
- * @return {number} returns the wrapped double number.
26
- */
27
- valueOf() {
28
- return this.value;
29
- }
30
-
31
- /**
32
- * @ignore
33
- */
34
- toJSON() {
35
- return this.value;
36
- }
37
-
38
- /**
39
- * @ignore
40
- */
41
- toExtendedJSON(options) {
42
- if (options && (options.legacy || (options.relaxed && isFinite(this.value)))) {
43
- return this.value;
20
+ /**
21
+ * Access the number value.
22
+ *
23
+ * @returns returns the wrapped double number.
24
+ */
25
+ valueOf() {
26
+ return this.value;
44
27
  }
45
-
46
- // NOTE: JavaScript has +0 and -0, apparently to model limit calculations. If a user
47
- // explicitly provided `-0` then we need to ensure the sign makes it into the output
48
- if (Object.is(Math.sign(this.value), -0)) {
49
- return { $numberDouble: `-${this.value.toFixed(1)}` };
28
+ /** @internal */
29
+ toJSON() {
30
+ return this.value;
31
+ }
32
+ /** @internal */
33
+ toExtendedJSON(options) {
34
+ if (options && (options.legacy || (options.relaxed && isFinite(this.value)))) {
35
+ return this.value;
36
+ }
37
+ // NOTE: JavaScript has +0 and -0, apparently to model limit calculations. If a user
38
+ // explicitly provided `-0` then we need to ensure the sign makes it into the output
39
+ if (Object.is(Math.sign(this.value), -0)) {
40
+ return { $numberDouble: `-${this.value.toFixed(1)}` };
41
+ }
42
+ let $numberDouble;
43
+ if (Number.isInteger(this.value)) {
44
+ $numberDouble = this.value.toFixed(1);
45
+ if ($numberDouble.length >= 13) {
46
+ $numberDouble = this.value.toExponential(13).toUpperCase();
47
+ }
48
+ }
49
+ else {
50
+ $numberDouble = this.value.toString();
51
+ }
52
+ return { $numberDouble };
53
+ }
54
+ /** @internal */
55
+ static fromExtendedJSON(doc, options) {
56
+ const doubleValue = parseFloat(doc.$numberDouble);
57
+ return options && options.relaxed ? doubleValue : new Double(doubleValue);
58
+ }
59
+ /** @internal */
60
+ [Symbol.for('nodejs.util.inspect.custom')]() {
61
+ return this.inspect();
62
+ }
63
+ inspect() {
64
+ const eJSON = this.toExtendedJSON();
65
+ return `Double(${eJSON.$numberDouble})`;
50
66
  }
51
-
52
- return {
53
- $numberDouble: Number.isInteger(this.value) ? this.value.toFixed(1) : this.value.toString()
54
- };
55
- }
56
-
57
- /**
58
- * @ignore
59
- */
60
- static fromExtendedJSON(doc, options) {
61
- const doubleValue = parseFloat(doc.$numberDouble);
62
- return options && options.relaxed ? doubleValue : new Double(doubleValue);
63
- }
64
67
  }
65
-
68
+ exports.Double = Double;
66
69
  Object.defineProperty(Double.prototype, '_bsontype', { value: 'Double' });
67
- module.exports = Double;
70
+ //# sourceMappingURL=double.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"double.js","sourceRoot":"","sources":["../src/double.ts"],"names":[],"mappings":";;;AAOA;;;GAGG;AACH,MAAa,MAAM;IAIjB;;;;OAIG;IACH,YAAY,KAAa;QACvB,IAAK,KAAiB,YAAY,MAAM,EAAE;YACxC,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;SACzB;QAED,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,gBAAgB;IAChB,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,gBAAgB;IAChB,cAAc,CAAC,OAAsB;QACnC,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YAC5E,OAAO,IAAI,CAAC,KAAK,CAAC;SACnB;QAED,oFAAoF;QACpF,oFAAoF;QACpF,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YACxC,OAAO,EAAE,aAAa,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SACvD;QAED,IAAI,aAAqB,CAAC;QAC1B,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAChC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,aAAa,CAAC,MAAM,IAAI,EAAE,EAAE;gBAC9B,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;aAC5D;SACF;aAAM;YACL,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;SACvC;QAED,OAAO,EAAE,aAAa,EAAE,CAAC;IAC3B,CAAC;IAED,gBAAgB;IAChB,MAAM,CAAC,gBAAgB,CAAC,GAAmB,EAAE,OAAsB;QACjE,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAClD,OAAO,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;IAC5E,CAAC;IAED,gBAAgB;IAChB,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,OAAO;QACL,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAoB,CAAC;QACtD,OAAO,UAAU,KAAK,CAAC,aAAa,GAAG,CAAC;IAC1C,CAAC;CACF;AAvED,wBAuEC;AAED,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC"}
@@ -1,23 +1,27 @@
1
- 'use strict';
2
-
3
- const Buffer = require('buffer').Buffer;
4
-
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ensureBuffer = void 0;
4
+ const buffer_1 = require("buffer");
5
+ const utils_1 = require("./parser/utils");
5
6
  /**
6
7
  * Makes sure that, if a Uint8Array is passed in, it is wrapped in a Buffer.
7
8
  *
8
- * @param {Buffer|Uint8Array} potentialBuffer The potential buffer
9
- * @returns {Buffer} the input if potentialBuffer is a buffer, or a buffer that
9
+ * @param potentialBuffer - The potential buffer
10
+ * @returns Buffer the input if potentialBuffer is a buffer, or a buffer that
10
11
  * wraps a passed in Uint8Array
11
- * @throws {TypeError} If anything other than a Buffer or Uint8Array is passed in
12
+ * @throws TypeError If anything other than a Buffer or Uint8Array is passed in
12
13
  */
13
- module.exports = function ensureBuffer(potentialBuffer) {
14
- if (potentialBuffer instanceof Buffer) {
15
- return potentialBuffer;
16
- }
17
-
18
- if (potentialBuffer instanceof Uint8Array) {
19
- return Buffer.from(potentialBuffer.buffer);
20
- }
21
-
22
- throw new TypeError('Must use either Buffer or Uint8Array');
23
- };
14
+ function ensureBuffer(potentialBuffer) {
15
+ if (utils_1.isBuffer(potentialBuffer)) {
16
+ return potentialBuffer;
17
+ }
18
+ if (ArrayBuffer.isView(potentialBuffer)) {
19
+ return buffer_1.Buffer.from(potentialBuffer.buffer);
20
+ }
21
+ if (potentialBuffer instanceof ArrayBuffer) {
22
+ return buffer_1.Buffer.from(potentialBuffer);
23
+ }
24
+ throw new TypeError('Must use either Buffer or TypedArray');
25
+ }
26
+ exports.ensureBuffer = ensureBuffer;
27
+ //# sourceMappingURL=ensure_buffer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure_buffer.js","sourceRoot":"","sources":["../src/ensure_buffer.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,0CAA0C;AAE1C;;;;;;;GAOG;AACH,SAAgB,YAAY,CAAC,eAAuD;IAClF,IAAI,gBAAQ,CAAC,eAAe,CAAC,EAAE;QAC7B,OAAO,eAAe,CAAC;KACxB;IAED,IAAI,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE;QACvC,OAAO,eAAM,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;KAC5C;IAED,IAAI,eAAe,YAAY,WAAW,EAAE;QAC1C,OAAO,eAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;KACrC;IAED,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;AAC9D,CAAC;AAdD,oCAcC"}