bson 4.2.2 → 4.4.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.
- package/HISTORY.md +44 -0
- package/bower.json +1 -1
- package/bson.d.ts +77 -6
- package/dist/bson.browser.esm.js +2116 -1292
- package/dist/bson.browser.esm.js.map +1 -1
- package/dist/bson.browser.umd.js +2172 -1347
- package/dist/bson.browser.umd.js.map +1 -1
- package/dist/bson.bundle.js +2174 -1347
- package/dist/bson.bundle.js.map +1 -1
- package/dist/bson.esm.js +2061 -1241
- package/dist/bson.esm.js.map +1 -1
- package/lib/binary.js +71 -60
- package/lib/binary.js.map +1 -1
- package/lib/bson.js +60 -52
- package/lib/bson.js.map +1 -1
- package/lib/code.js +18 -15
- package/lib/code.js.map +1 -1
- package/lib/db_ref.js +40 -30
- package/lib/db_ref.js.map +1 -1
- package/lib/decimal128.js +135 -124
- package/lib/decimal128.js.map +1 -1
- package/lib/double.js +24 -21
- package/lib/double.js.map +1 -1
- package/lib/ensure_buffer.js +4 -7
- package/lib/ensure_buffer.js.map +1 -1
- package/lib/extended_json.js +113 -71
- package/lib/extended_json.js.map +1 -1
- package/lib/float_parser.js +21 -21
- package/lib/float_parser.js.map +1 -1
- package/lib/int_32.js +19 -16
- package/lib/int_32.js.map +1 -1
- package/lib/long.js +248 -230
- package/lib/long.js.map +1 -1
- package/lib/map.js +54 -45
- package/lib/map.js.map +1 -1
- package/lib/max_key.js +16 -11
- package/lib/max_key.js.map +1 -1
- package/lib/min_key.js +16 -11
- package/lib/min_key.js.map +1 -1
- package/lib/objectid.js +96 -93
- package/lib/objectid.js.map +1 -1
- package/lib/parser/calculate_size.js +17 -15
- package/lib/parser/calculate_size.js.map +1 -1
- package/lib/parser/deserializer.js +135 -123
- package/lib/parser/deserializer.js.map +1 -1
- package/lib/parser/serializer.js +108 -88
- package/lib/parser/serializer.js.map +1 -1
- package/lib/parser/utils.js +47 -25
- package/lib/parser/utils.js.map +1 -1
- package/lib/regexp.js +16 -15
- package/lib/regexp.js.map +1 -1
- package/lib/symbol.js +21 -18
- package/lib/symbol.js.map +1 -1
- package/lib/timestamp.js +50 -27
- package/lib/timestamp.js.map +1 -1
- package/lib/uuid.js +173 -42
- package/lib/uuid.js.map +1 -1
- package/lib/uuid_utils.js +34 -0
- package/lib/uuid_utils.js.map +1 -0
- package/lib/validate_utf8.js +12 -12
- package/lib/validate_utf8.js.map +1 -1
- package/package.json +5 -4
- package/src/binary.ts +20 -6
- package/src/bson.ts +3 -0
- package/src/code.ts +6 -2
- package/src/db_ref.ts +14 -5
- package/src/decimal128.ts +14 -5
- package/src/double.ts +4 -2
- package/src/ensure_buffer.ts +7 -7
- package/src/extended_json.ts +64 -16
- package/src/int_32.ts +4 -2
- package/src/long.ts +22 -8
- package/src/max_key.ts +5 -1
- package/src/min_key.ts +5 -1
- package/src/objectid.ts +15 -20
- package/src/parser/calculate_size.ts +8 -11
- package/src/parser/deserializer.ts +46 -36
- package/src/parser/serializer.ts +13 -12
- package/src/parser/utils.ts +49 -17
- package/src/regexp.ts +5 -5
- package/src/symbol.ts +4 -2
- package/src/timestamp.ts +6 -1
- package/src/uuid.ts +192 -40
- package/src/uuid_utils.ts +31 -0
package/lib/double.js
CHANGED
|
@@ -5,13 +5,15 @@ exports.Double = void 0;
|
|
|
5
5
|
* A class representation of the BSON Double type.
|
|
6
6
|
* @public
|
|
7
7
|
*/
|
|
8
|
-
|
|
8
|
+
var Double = /** @class */ (function () {
|
|
9
9
|
/**
|
|
10
10
|
* Create a Double type
|
|
11
11
|
*
|
|
12
12
|
* @param value - the number we want to represent as a double.
|
|
13
13
|
*/
|
|
14
|
-
|
|
14
|
+
function Double(value) {
|
|
15
|
+
if (!(this instanceof Double))
|
|
16
|
+
return new Double(value);
|
|
15
17
|
if (value instanceof Number) {
|
|
16
18
|
value = value.valueOf();
|
|
17
19
|
}
|
|
@@ -22,24 +24,24 @@ class Double {
|
|
|
22
24
|
*
|
|
23
25
|
* @returns returns the wrapped double number.
|
|
24
26
|
*/
|
|
25
|
-
valueOf() {
|
|
27
|
+
Double.prototype.valueOf = function () {
|
|
26
28
|
return this.value;
|
|
27
|
-
}
|
|
29
|
+
};
|
|
28
30
|
/** @internal */
|
|
29
|
-
toJSON() {
|
|
31
|
+
Double.prototype.toJSON = function () {
|
|
30
32
|
return this.value;
|
|
31
|
-
}
|
|
33
|
+
};
|
|
32
34
|
/** @internal */
|
|
33
|
-
toExtendedJSON(options) {
|
|
35
|
+
Double.prototype.toExtendedJSON = function (options) {
|
|
34
36
|
if (options && (options.legacy || (options.relaxed && isFinite(this.value)))) {
|
|
35
37
|
return this.value;
|
|
36
38
|
}
|
|
37
39
|
// NOTE: JavaScript has +0 and -0, apparently to model limit calculations. If a user
|
|
38
40
|
// explicitly provided `-0` then we need to ensure the sign makes it into the output
|
|
39
41
|
if (Object.is(Math.sign(this.value), -0)) {
|
|
40
|
-
return { $numberDouble:
|
|
42
|
+
return { $numberDouble: "-" + this.value.toFixed(1) };
|
|
41
43
|
}
|
|
42
|
-
|
|
44
|
+
var $numberDouble;
|
|
43
45
|
if (Number.isInteger(this.value)) {
|
|
44
46
|
$numberDouble = this.value.toFixed(1);
|
|
45
47
|
if ($numberDouble.length >= 13) {
|
|
@@ -49,22 +51,23 @@ class Double {
|
|
|
49
51
|
else {
|
|
50
52
|
$numberDouble = this.value.toString();
|
|
51
53
|
}
|
|
52
|
-
return { $numberDouble };
|
|
53
|
-
}
|
|
54
|
+
return { $numberDouble: $numberDouble };
|
|
55
|
+
};
|
|
54
56
|
/** @internal */
|
|
55
|
-
|
|
56
|
-
|
|
57
|
+
Double.fromExtendedJSON = function (doc, options) {
|
|
58
|
+
var doubleValue = parseFloat(doc.$numberDouble);
|
|
57
59
|
return options && options.relaxed ? doubleValue : new Double(doubleValue);
|
|
58
|
-
}
|
|
60
|
+
};
|
|
59
61
|
/** @internal */
|
|
60
|
-
[Symbol.for('nodejs.util.inspect.custom')]() {
|
|
62
|
+
Double.prototype[Symbol.for('nodejs.util.inspect.custom')] = function () {
|
|
61
63
|
return this.inspect();
|
|
62
|
-
}
|
|
63
|
-
inspect() {
|
|
64
|
-
|
|
65
|
-
return
|
|
66
|
-
}
|
|
67
|
-
|
|
64
|
+
};
|
|
65
|
+
Double.prototype.inspect = function () {
|
|
66
|
+
var eJSON = this.toExtendedJSON();
|
|
67
|
+
return "new Double(" + eJSON.$numberDouble + ")";
|
|
68
|
+
};
|
|
69
|
+
return Double;
|
|
70
|
+
}());
|
|
68
71
|
exports.Double = Double;
|
|
69
72
|
Object.defineProperty(Double.prototype, '_bsontype', { value: 'Double' });
|
|
70
73
|
//# sourceMappingURL=double.js.map
|
package/lib/double.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"double.js","sourceRoot":"","sources":["../src/double.ts"],"names":[],"mappings":";;;AAOA;;;GAGG;AACH
|
|
1
|
+
{"version":3,"file":"double.js","sourceRoot":"","sources":["../src/double.ts"],"names":[],"mappings":";;;AAOA;;;GAGG;AACH;IAIE;;;;OAIG;IACH,gBAAY,KAAa;QACvB,IAAI,CAAC,CAAC,IAAI,YAAY,MAAM,CAAC;YAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QAExD,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,wBAAO,GAAP;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,gBAAgB;IAChB,uBAAM,GAAN;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,gBAAgB;IAChB,+BAAc,GAAd,UAAe,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,MAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAG,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,eAAA,EAAE,CAAC;IAC3B,CAAC;IAED,gBAAgB;IACT,uBAAgB,GAAvB,UAAwB,GAAmB,EAAE,OAAsB;QACjE,IAAM,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,iBAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,GAA1C;QACE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,wBAAO,GAAP;QACE,IAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAoB,CAAC;QACtD,OAAO,gBAAc,KAAK,CAAC,aAAa,MAAG,CAAC;IAC9C,CAAC;IACH,aAAC;AAAD,CAAC,AAzED,IAyEC;AAzEY,wBAAM;AA2EnB,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC"}
|
package/lib/ensure_buffer.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ensureBuffer = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
var buffer_1 = require("buffer");
|
|
5
|
+
var utils_1 = require("./parser/utils");
|
|
6
6
|
/**
|
|
7
7
|
* Makes sure that, if a Uint8Array is passed in, it is wrapped in a Buffer.
|
|
8
8
|
*
|
|
@@ -12,13 +12,10 @@ const utils_1 = require("./parser/utils");
|
|
|
12
12
|
* @throws TypeError If anything other than a Buffer or Uint8Array is passed in
|
|
13
13
|
*/
|
|
14
14
|
function ensureBuffer(potentialBuffer) {
|
|
15
|
-
if (utils_1.isBuffer(potentialBuffer)) {
|
|
16
|
-
return potentialBuffer;
|
|
17
|
-
}
|
|
18
15
|
if (ArrayBuffer.isView(potentialBuffer)) {
|
|
19
|
-
return buffer_1.Buffer.from(potentialBuffer.buffer);
|
|
16
|
+
return buffer_1.Buffer.from(potentialBuffer.buffer, potentialBuffer.byteOffset, potentialBuffer.byteLength);
|
|
20
17
|
}
|
|
21
|
-
if (potentialBuffer
|
|
18
|
+
if (utils_1.isAnyArrayBuffer(potentialBuffer)) {
|
|
22
19
|
return buffer_1.Buffer.from(potentialBuffer);
|
|
23
20
|
}
|
|
24
21
|
throw new TypeError('Must use either Buffer or TypedArray');
|
package/lib/ensure_buffer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensure_buffer.js","sourceRoot":"","sources":["../src/ensure_buffer.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"ensure_buffer.js","sourceRoot":"","sources":["../src/ensure_buffer.ts"],"names":[],"mappings":";;;AAAA,iCAAgC;AAChC,wCAAkD;AAElD;;;;;;;GAOG;AACH,SAAgB,YAAY,CAAC,eAAuD;IAClF,IAAI,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE;QACvC,OAAO,eAAM,CAAC,IAAI,CAChB,eAAe,CAAC,MAAM,EACtB,eAAe,CAAC,UAAU,EAC1B,eAAe,CAAC,UAAU,CAC3B,CAAC;KACH;IAED,IAAI,wBAAgB,CAAC,eAAe,CAAC,EAAE;QACrC,OAAO,eAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;KACrC;IAED,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;AAC9D,CAAC;AAdD,oCAcC"}
|
package/lib/extended_json.js
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EJSON = exports.isBSONType = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
4
|
+
var binary_1 = require("./binary");
|
|
5
|
+
var code_1 = require("./code");
|
|
6
|
+
var db_ref_1 = require("./db_ref");
|
|
7
|
+
var decimal128_1 = require("./decimal128");
|
|
8
|
+
var double_1 = require("./double");
|
|
9
|
+
var int_32_1 = require("./int_32");
|
|
10
|
+
var long_1 = require("./long");
|
|
11
|
+
var max_key_1 = require("./max_key");
|
|
12
|
+
var min_key_1 = require("./min_key");
|
|
13
|
+
var objectid_1 = require("./objectid");
|
|
14
|
+
var utils_1 = require("./parser/utils");
|
|
15
|
+
var regexp_1 = require("./regexp");
|
|
16
|
+
var symbol_1 = require("./symbol");
|
|
17
|
+
var timestamp_1 = require("./timestamp");
|
|
18
18
|
function isBSONType(value) {
|
|
19
19
|
return (utils_1.isObjectLike(value) && Reflect.has(value, '_bsontype') && typeof value._bsontype === 'string');
|
|
20
20
|
}
|
|
21
21
|
exports.isBSONType = isBSONType;
|
|
22
22
|
// INT32 boundaries
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
var BSON_INT32_MAX = 0x7fffffff;
|
|
24
|
+
var BSON_INT32_MIN = -0x80000000;
|
|
25
25
|
// INT64 boundaries
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
var BSON_INT64_MAX = 0x7fffffffffffffff;
|
|
27
|
+
var BSON_INT64_MIN = -0x8000000000000000;
|
|
28
28
|
// all the types where we don't need to do any special processing and can just pass the EJSON
|
|
29
29
|
//straight to type.fromExtendedJSON
|
|
30
|
-
|
|
30
|
+
var keysToCodecs = {
|
|
31
31
|
$oid: objectid_1.ObjectId,
|
|
32
32
|
$binary: binary_1.Binary,
|
|
33
33
|
$uuid: binary_1.Binary,
|
|
@@ -43,7 +43,8 @@ const keysToCodecs = {
|
|
|
43
43
|
$timestamp: timestamp_1.Timestamp
|
|
44
44
|
};
|
|
45
45
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
46
|
-
function deserializeValue(value, options
|
|
46
|
+
function deserializeValue(value, options) {
|
|
47
|
+
if (options === void 0) { options = {}; }
|
|
47
48
|
if (typeof value === 'number') {
|
|
48
49
|
if (options.relaxed || options.legacy) {
|
|
49
50
|
return value;
|
|
@@ -65,15 +66,15 @@ function deserializeValue(value, options = {}) {
|
|
|
65
66
|
// upgrade deprecated undefined to null
|
|
66
67
|
if (value.$undefined)
|
|
67
68
|
return null;
|
|
68
|
-
|
|
69
|
-
for (
|
|
70
|
-
|
|
69
|
+
var keys = Object.keys(value).filter(function (k) { return k.startsWith('$') && value[k] != null; });
|
|
70
|
+
for (var i = 0; i < keys.length; i++) {
|
|
71
|
+
var c = keysToCodecs[keys[i]];
|
|
71
72
|
if (c)
|
|
72
73
|
return c.fromExtendedJSON(value, options);
|
|
73
74
|
}
|
|
74
75
|
if (value.$date != null) {
|
|
75
|
-
|
|
76
|
-
|
|
76
|
+
var d = value.$date;
|
|
77
|
+
var date = new Date();
|
|
77
78
|
if (options.legacy) {
|
|
78
79
|
if (typeof d === 'number')
|
|
79
80
|
date.setTime(d);
|
|
@@ -91,47 +92,78 @@ function deserializeValue(value, options = {}) {
|
|
|
91
92
|
return date;
|
|
92
93
|
}
|
|
93
94
|
if (value.$code != null) {
|
|
94
|
-
|
|
95
|
+
var copy = Object.assign({}, value);
|
|
95
96
|
if (value.$scope) {
|
|
96
97
|
copy.$scope = deserializeValue(value.$scope);
|
|
97
98
|
}
|
|
98
99
|
return code_1.Code.fromExtendedJSON(value);
|
|
99
100
|
}
|
|
100
|
-
if (value
|
|
101
|
-
|
|
101
|
+
if (db_ref_1.isDBRefLike(value) || value.$dbPointer) {
|
|
102
|
+
var v = value.$ref ? value : value.$dbPointer;
|
|
102
103
|
// we run into this in a "degenerate EJSON" case (with $id and $ref order flipped)
|
|
103
104
|
// because of the order JSON.parse goes through the document
|
|
104
105
|
if (v instanceof db_ref_1.DBRef)
|
|
105
106
|
return v;
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
dollarKeys.forEach(k
|
|
107
|
+
var dollarKeys = Object.keys(v).filter(function (k) { return k.startsWith('$'); });
|
|
108
|
+
var valid_1 = true;
|
|
109
|
+
dollarKeys.forEach(function (k) {
|
|
109
110
|
if (['$ref', '$id', '$db'].indexOf(k) === -1)
|
|
110
|
-
|
|
111
|
+
valid_1 = false;
|
|
111
112
|
});
|
|
112
113
|
// only make DBRef if $ keys are all valid
|
|
113
|
-
if (
|
|
114
|
+
if (valid_1)
|
|
114
115
|
return db_ref_1.DBRef.fromExtendedJSON(v);
|
|
115
116
|
}
|
|
116
117
|
return value;
|
|
117
118
|
}
|
|
118
119
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
119
120
|
function serializeArray(array, options) {
|
|
120
|
-
return array.map(
|
|
121
|
+
return array.map(function (v, index) {
|
|
122
|
+
options.seenObjects.push({ propertyName: "index " + index, obj: null });
|
|
123
|
+
try {
|
|
124
|
+
return serializeValue(v, options);
|
|
125
|
+
}
|
|
126
|
+
finally {
|
|
127
|
+
options.seenObjects.pop();
|
|
128
|
+
}
|
|
129
|
+
});
|
|
121
130
|
}
|
|
122
131
|
function getISOString(date) {
|
|
123
|
-
|
|
132
|
+
var isoStr = date.toISOString();
|
|
124
133
|
// we should only show milliseconds in timestamp if they're non-zero
|
|
125
134
|
return date.getUTCMilliseconds() !== 0 ? isoStr : isoStr.slice(0, -5) + 'Z';
|
|
126
135
|
}
|
|
127
136
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
128
137
|
function serializeValue(value, options) {
|
|
138
|
+
if ((typeof value === 'object' || typeof value === 'function') && value !== null) {
|
|
139
|
+
var index = options.seenObjects.findIndex(function (entry) { return entry.obj === value; });
|
|
140
|
+
if (index !== -1) {
|
|
141
|
+
var props = options.seenObjects.map(function (entry) { return entry.propertyName; });
|
|
142
|
+
var leadingPart = props
|
|
143
|
+
.slice(0, index)
|
|
144
|
+
.map(function (prop) { return prop + " -> "; })
|
|
145
|
+
.join('');
|
|
146
|
+
var alreadySeen = props[index];
|
|
147
|
+
var circularPart = ' -> ' +
|
|
148
|
+
props
|
|
149
|
+
.slice(index + 1, props.length - 1)
|
|
150
|
+
.map(function (prop) { return prop + " -> "; })
|
|
151
|
+
.join('');
|
|
152
|
+
var current = props[props.length - 1];
|
|
153
|
+
var leadingSpace = ' '.repeat(leadingPart.length + alreadySeen.length / 2);
|
|
154
|
+
var dashes = '-'.repeat(circularPart.length + (alreadySeen.length + current.length) / 2 - 1);
|
|
155
|
+
throw new TypeError('Converting circular structure to EJSON:\n' +
|
|
156
|
+
(" " + leadingPart + alreadySeen + circularPart + current + "\n") +
|
|
157
|
+
(" " + leadingSpace + "\\" + dashes + "/"));
|
|
158
|
+
}
|
|
159
|
+
options.seenObjects[options.seenObjects.length - 1].obj = value;
|
|
160
|
+
}
|
|
129
161
|
if (Array.isArray(value))
|
|
130
162
|
return serializeArray(value, options);
|
|
131
163
|
if (value === undefined)
|
|
132
164
|
return null;
|
|
133
|
-
if (value instanceof Date) {
|
|
134
|
-
|
|
165
|
+
if (value instanceof Date || utils_1.isDate(value)) {
|
|
166
|
+
var dateNum = value.getTime(),
|
|
135
167
|
// is it in year range 1970-9999?
|
|
136
168
|
inRange = dateNum > -1 && dateNum < 253402318800000;
|
|
137
169
|
if (options.legacy) {
|
|
@@ -143,10 +175,10 @@ function serializeValue(value, options) {
|
|
|
143
175
|
? { $date: getISOString(value) }
|
|
144
176
|
: { $date: { $numberLong: value.getTime().toString() } };
|
|
145
177
|
}
|
|
146
|
-
if (typeof value === 'number' && !options.relaxed) {
|
|
178
|
+
if (typeof value === 'number' && (!options.relaxed || !isFinite(value))) {
|
|
147
179
|
// it's an integer
|
|
148
180
|
if (Math.floor(value) === value) {
|
|
149
|
-
|
|
181
|
+
var int32Range = value >= BSON_INT32_MIN && value <= BSON_INT32_MAX, int64Range = value >= BSON_INT64_MIN && value <= BSON_INT64_MAX;
|
|
150
182
|
// interpret as being of the smallest BSON integer type that can represent the number exactly
|
|
151
183
|
if (int32Range)
|
|
152
184
|
return { $numberInt: value.toString() };
|
|
@@ -155,62 +187,70 @@ function serializeValue(value, options) {
|
|
|
155
187
|
}
|
|
156
188
|
return { $numberDouble: value.toString() };
|
|
157
189
|
}
|
|
158
|
-
if (value instanceof RegExp) {
|
|
159
|
-
|
|
190
|
+
if (value instanceof RegExp || utils_1.isRegExp(value)) {
|
|
191
|
+
var flags = value.flags;
|
|
160
192
|
if (flags === undefined) {
|
|
161
|
-
|
|
193
|
+
var match = value.toString().match(/[gimuy]*$/);
|
|
162
194
|
if (match) {
|
|
163
195
|
flags = match[0];
|
|
164
196
|
}
|
|
165
197
|
}
|
|
166
|
-
|
|
198
|
+
var rx = new regexp_1.BSONRegExp(value.source, flags);
|
|
167
199
|
return rx.toExtendedJSON(options);
|
|
168
200
|
}
|
|
169
201
|
if (value != null && typeof value === 'object')
|
|
170
202
|
return serializeDocument(value, options);
|
|
171
203
|
return value;
|
|
172
204
|
}
|
|
173
|
-
|
|
174
|
-
Binary: (o)
|
|
175
|
-
Code: (o)
|
|
176
|
-
DBRef: (o)
|
|
177
|
-
Decimal128: (o)
|
|
178
|
-
Double: (o)
|
|
179
|
-
Int32: (o)
|
|
180
|
-
Long: (o)
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
205
|
+
var BSON_TYPE_MAPPINGS = {
|
|
206
|
+
Binary: function (o) { return new binary_1.Binary(o.value(), o.sub_type); },
|
|
207
|
+
Code: function (o) { return new code_1.Code(o.code, o.scope); },
|
|
208
|
+
DBRef: function (o) { return new db_ref_1.DBRef(o.collection || o.namespace, o.oid, o.db, o.fields); },
|
|
209
|
+
Decimal128: function (o) { return new decimal128_1.Decimal128(o.bytes); },
|
|
210
|
+
Double: function (o) { return new double_1.Double(o.value); },
|
|
211
|
+
Int32: function (o) { return new int_32_1.Int32(o.value); },
|
|
212
|
+
Long: function (o) {
|
|
213
|
+
return long_1.Long.fromBits(
|
|
214
|
+
// underscore variants for 1.x backwards compatibility
|
|
215
|
+
o.low != null ? o.low : o.low_, o.low != null ? o.high : o.high_, o.low != null ? o.unsigned : o.unsigned_);
|
|
216
|
+
},
|
|
217
|
+
MaxKey: function () { return new max_key_1.MaxKey(); },
|
|
218
|
+
MinKey: function () { return new min_key_1.MinKey(); },
|
|
219
|
+
ObjectID: function (o) { return new objectid_1.ObjectId(o); },
|
|
220
|
+
ObjectId: function (o) { return new objectid_1.ObjectId(o); },
|
|
221
|
+
BSONRegExp: function (o) { return new regexp_1.BSONRegExp(o.pattern, o.options); },
|
|
222
|
+
Symbol: function (o) { return new symbol_1.BSONSymbol(o.value); },
|
|
223
|
+
Timestamp: function (o) { return timestamp_1.Timestamp.fromBits(o.low, o.high); }
|
|
190
224
|
};
|
|
191
225
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
192
226
|
function serializeDocument(doc, options) {
|
|
193
227
|
if (doc == null || typeof doc !== 'object')
|
|
194
228
|
throw new Error('not an object instance');
|
|
195
|
-
|
|
229
|
+
var bsontype = doc._bsontype;
|
|
196
230
|
if (typeof bsontype === 'undefined') {
|
|
197
231
|
// It's a regular object. Recursively serialize its property values.
|
|
198
|
-
|
|
199
|
-
for (
|
|
200
|
-
|
|
232
|
+
var _doc = {};
|
|
233
|
+
for (var name in doc) {
|
|
234
|
+
options.seenObjects.push({ propertyName: name, obj: null });
|
|
235
|
+
try {
|
|
236
|
+
_doc[name] = serializeValue(doc[name], options);
|
|
237
|
+
}
|
|
238
|
+
finally {
|
|
239
|
+
options.seenObjects.pop();
|
|
240
|
+
}
|
|
201
241
|
}
|
|
202
242
|
return _doc;
|
|
203
243
|
}
|
|
204
244
|
else if (isBSONType(doc)) {
|
|
205
245
|
// the "document" is really just a BSON type object
|
|
206
246
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
207
|
-
|
|
247
|
+
var outDoc = doc;
|
|
208
248
|
if (typeof outDoc.toExtendedJSON !== 'function') {
|
|
209
249
|
// There's no EJSON serialization function on the object. It's probably an
|
|
210
250
|
// object created by a previous version of this library (or another library)
|
|
211
251
|
// that's duck-typing objects to look like they were generated by this library).
|
|
212
252
|
// Copy the object into this library's version of that type.
|
|
213
|
-
|
|
253
|
+
var mapper = BSON_TYPE_MAPPINGS[doc._bsontype];
|
|
214
254
|
if (!mapper) {
|
|
215
255
|
throw new TypeError('Unrecognized or invalid _bsontype: ' + doc._bsontype);
|
|
216
256
|
}
|
|
@@ -221,7 +261,7 @@ function serializeDocument(doc, options) {
|
|
|
221
261
|
outDoc = new code_1.Code(outDoc.code, serializeValue(outDoc.scope, options));
|
|
222
262
|
}
|
|
223
263
|
else if (bsontype === 'DBRef' && outDoc.oid) {
|
|
224
|
-
outDoc = new db_ref_1.DBRef(outDoc.collection, serializeValue(outDoc.oid, options), outDoc.db, outDoc.fields);
|
|
264
|
+
outDoc = new db_ref_1.DBRef(serializeValue(outDoc.collection, options), serializeValue(outDoc.oid, options), serializeValue(outDoc.db, options), serializeValue(outDoc.fields, options));
|
|
225
265
|
}
|
|
226
266
|
return outDoc.toExtendedJSON(options);
|
|
227
267
|
}
|
|
@@ -255,13 +295,13 @@ var EJSON;
|
|
|
255
295
|
* ```
|
|
256
296
|
*/
|
|
257
297
|
function parse(text, options) {
|
|
258
|
-
|
|
298
|
+
var finalOptions = Object.assign({}, { relaxed: true, legacy: false }, options);
|
|
259
299
|
// relaxed implies not strict
|
|
260
300
|
if (typeof finalOptions.relaxed === 'boolean')
|
|
261
301
|
finalOptions.strict = !finalOptions.relaxed;
|
|
262
302
|
if (typeof finalOptions.strict === 'boolean')
|
|
263
303
|
finalOptions.relaxed = !finalOptions.strict;
|
|
264
|
-
return JSON.parse(text, (_key, value)
|
|
304
|
+
return JSON.parse(text, function (_key, value) { return deserializeValue(value, finalOptions); });
|
|
265
305
|
}
|
|
266
306
|
EJSON.parse = parse;
|
|
267
307
|
/**
|
|
@@ -299,8 +339,10 @@ var EJSON;
|
|
|
299
339
|
replacer = undefined;
|
|
300
340
|
space = 0;
|
|
301
341
|
}
|
|
302
|
-
|
|
303
|
-
|
|
342
|
+
var serializeOptions = Object.assign({ relaxed: true, legacy: false }, options, {
|
|
343
|
+
seenObjects: [{ propertyName: '(root)', obj: null }]
|
|
344
|
+
});
|
|
345
|
+
var doc = serializeValue(value, serializeOptions);
|
|
304
346
|
return JSON.stringify(doc, replacer, space);
|
|
305
347
|
}
|
|
306
348
|
EJSON.stringify = stringify;
|
package/lib/extended_json.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extended_json.js","sourceRoot":"","sources":["../src/extended_json.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"extended_json.js","sourceRoot":"","sources":["../src/extended_json.ts"],"names":[],"mappings":"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"}
|
package/lib/float_parser.js
CHANGED
|
@@ -33,16 +33,16 @@
|
|
|
33
33
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
34
|
exports.writeIEEE754 = exports.readIEEE754 = void 0;
|
|
35
35
|
function readIEEE754(buffer, offset, endian, mLen, nBytes) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
36
|
+
var e;
|
|
37
|
+
var m;
|
|
38
|
+
var bBE = endian === 'big';
|
|
39
|
+
var eLen = nBytes * 8 - mLen - 1;
|
|
40
|
+
var eMax = (1 << eLen) - 1;
|
|
41
|
+
var eBias = eMax >> 1;
|
|
42
|
+
var nBits = -7;
|
|
43
|
+
var i = bBE ? 0 : nBytes - 1;
|
|
44
|
+
var d = bBE ? 1 : -1;
|
|
45
|
+
var s = buffer[offset + i];
|
|
46
46
|
i += d;
|
|
47
47
|
e = s & ((1 << -nBits) - 1);
|
|
48
48
|
s >>= -nBits;
|
|
@@ -68,17 +68,17 @@ function readIEEE754(buffer, offset, endian, mLen, nBytes) {
|
|
|
68
68
|
}
|
|
69
69
|
exports.readIEEE754 = readIEEE754;
|
|
70
70
|
function writeIEEE754(buffer, value, offset, endian, mLen, nBytes) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
71
|
+
var e;
|
|
72
|
+
var m;
|
|
73
|
+
var c;
|
|
74
|
+
var bBE = endian === 'big';
|
|
75
|
+
var eLen = nBytes * 8 - mLen - 1;
|
|
76
|
+
var eMax = (1 << eLen) - 1;
|
|
77
|
+
var eBias = eMax >> 1;
|
|
78
|
+
var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;
|
|
79
|
+
var i = bBE ? nBytes - 1 : 0;
|
|
80
|
+
var d = bBE ? -1 : 1;
|
|
81
|
+
var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;
|
|
82
82
|
value = Math.abs(value);
|
|
83
83
|
if (isNaN(value) || value === Infinity) {
|
|
84
84
|
m = isNaN(value) ? 1 : 0;
|
package/lib/float_parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"float_parser.js","sourceRoot":"","sources":["../src/float_parser.ts"],"names":[],"mappings":";AAAA,2CAA2C;AAC3C,uBAAuB;AACvB,EAAE;AACF,qEAAqE;AACrE,8EAA8E;AAC9E,EAAE;AACF,4EAA4E;AAC5E,2DAA2D;AAC3D,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,4DAA4D;AAC5D,EAAE;AACF,gFAAgF;AAChF,2EAA2E;AAC3E,gDAAgD;AAChD,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,6EAA6E;AAC7E,4EAA4E;AAC5E,sEAAsE;AACtE,uEAAuE;AACvE,2EAA2E;AAC3E,0EAA0E;AAC1E,0EAA0E;AAC1E,6EAA6E;AAC7E,8BAA8B;AAC9B,EAAE;AACF,EAAE;AACF,+EAA+E;;;AAI/E,SAAgB,WAAW,CACzB,MAAyB,EACzB,MAAc,EACd,MAAwB,EACxB,IAAY,EACZ,MAAc;IAEd,IAAI,CAAS,CAAC;IACd,IAAI,CAAS,CAAC;IACd,
|
|
1
|
+
{"version":3,"file":"float_parser.js","sourceRoot":"","sources":["../src/float_parser.ts"],"names":[],"mappings":"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"}
|