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/binary.js
CHANGED
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Binary = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
var buffer_1 = require("buffer");
|
|
5
|
+
var ensure_buffer_1 = require("./ensure_buffer");
|
|
6
|
+
var uuid_utils_1 = require("./uuid_utils");
|
|
7
|
+
var uuid_1 = require("./uuid");
|
|
7
8
|
/**
|
|
8
9
|
* A class representation of the BSON Binary type.
|
|
9
10
|
* @public
|
|
10
11
|
*/
|
|
11
|
-
|
|
12
|
+
var Binary = /** @class */ (function () {
|
|
12
13
|
/**
|
|
13
14
|
* @param buffer - a buffer object containing the binary data.
|
|
14
15
|
* @param subType - the option binary type.
|
|
15
16
|
*/
|
|
16
|
-
|
|
17
|
+
function Binary(buffer, subType) {
|
|
18
|
+
if (!(this instanceof Binary))
|
|
19
|
+
return new Binary(buffer, subType);
|
|
17
20
|
if (!(buffer == null) &&
|
|
18
21
|
!(typeof buffer === 'string') &&
|
|
19
22
|
!ArrayBuffer.isView(buffer) &&
|
|
@@ -48,7 +51,7 @@ class Binary {
|
|
|
48
51
|
*
|
|
49
52
|
* @param byteValue - a single byte we wish to write.
|
|
50
53
|
*/
|
|
51
|
-
put(byteValue) {
|
|
54
|
+
Binary.prototype.put = function (byteValue) {
|
|
52
55
|
// If it's a string and a has more than one character throw an error
|
|
53
56
|
if (typeof byteValue === 'string' && byteValue.length !== 1) {
|
|
54
57
|
throw new TypeError('only accepts single character String');
|
|
@@ -56,7 +59,7 @@ class Binary {
|
|
|
56
59
|
else if (typeof byteValue !== 'number' && byteValue.length !== 1)
|
|
57
60
|
throw new TypeError('only accepts single character Uint8Array or Array');
|
|
58
61
|
// Decode the byte value once
|
|
59
|
-
|
|
62
|
+
var decodedByte;
|
|
60
63
|
if (typeof byteValue === 'string') {
|
|
61
64
|
decodedByte = byteValue.charCodeAt(0);
|
|
62
65
|
}
|
|
@@ -73,24 +76,24 @@ class Binary {
|
|
|
73
76
|
this.buffer[this.position++] = decodedByte;
|
|
74
77
|
}
|
|
75
78
|
else {
|
|
76
|
-
|
|
79
|
+
var buffer = buffer_1.Buffer.alloc(Binary.BUFFER_SIZE + this.buffer.length);
|
|
77
80
|
// Combine the two buffers together
|
|
78
81
|
this.buffer.copy(buffer, 0, 0, this.buffer.length);
|
|
79
82
|
this.buffer = buffer;
|
|
80
83
|
this.buffer[this.position++] = decodedByte;
|
|
81
84
|
}
|
|
82
|
-
}
|
|
85
|
+
};
|
|
83
86
|
/**
|
|
84
87
|
* Writes a buffer or string to the binary.
|
|
85
88
|
*
|
|
86
89
|
* @param sequence - a string or buffer to be written to the Binary BSON object.
|
|
87
90
|
* @param offset - specify the binary of where to write the content.
|
|
88
91
|
*/
|
|
89
|
-
write(sequence, offset) {
|
|
92
|
+
Binary.prototype.write = function (sequence, offset) {
|
|
90
93
|
offset = typeof offset === 'number' ? offset : this.position;
|
|
91
94
|
// If the buffer is to small let's extend the buffer
|
|
92
95
|
if (this.buffer.length < offset + sequence.length) {
|
|
93
|
-
|
|
96
|
+
var buffer = buffer_1.Buffer.alloc(this.buffer.length + sequence.length);
|
|
94
97
|
this.buffer.copy(buffer, 0, 0, this.buffer.length);
|
|
95
98
|
// Assign the new buffer
|
|
96
99
|
this.buffer = buffer;
|
|
@@ -105,25 +108,25 @@ class Binary {
|
|
|
105
108
|
this.position =
|
|
106
109
|
offset + sequence.length > this.position ? offset + sequence.length : this.position;
|
|
107
110
|
}
|
|
108
|
-
}
|
|
111
|
+
};
|
|
109
112
|
/**
|
|
110
113
|
* Reads **length** bytes starting at **position**.
|
|
111
114
|
*
|
|
112
115
|
* @param position - read from the given position in the Binary.
|
|
113
116
|
* @param length - the number of bytes to read.
|
|
114
117
|
*/
|
|
115
|
-
read(position, length) {
|
|
118
|
+
Binary.prototype.read = function (position, length) {
|
|
116
119
|
length = length && length > 0 ? length : this.position;
|
|
117
120
|
// Let's return the data based on the type we have
|
|
118
121
|
return this.buffer.slice(position, position + length);
|
|
119
|
-
}
|
|
122
|
+
};
|
|
120
123
|
/**
|
|
121
124
|
* Returns the value of this binary as a string.
|
|
122
125
|
* @param asRaw - Will skip converting to a string
|
|
123
126
|
* @remarks
|
|
124
127
|
* This is handy when calling this function conditionally for some key value pairs and not others
|
|
125
128
|
*/
|
|
126
|
-
value(asRaw) {
|
|
129
|
+
Binary.prototype.value = function (asRaw) {
|
|
127
130
|
asRaw = !!asRaw;
|
|
128
131
|
// Optimize to serialize for the situation where the data == size of buffer
|
|
129
132
|
if (asRaw && this.buffer.length === this.position) {
|
|
@@ -134,24 +137,24 @@ class Binary {
|
|
|
134
137
|
return this.buffer.slice(0, this.position);
|
|
135
138
|
}
|
|
136
139
|
return this.buffer.toString('binary', 0, this.position);
|
|
137
|
-
}
|
|
140
|
+
};
|
|
138
141
|
/** the length of the binary sequence */
|
|
139
|
-
length() {
|
|
142
|
+
Binary.prototype.length = function () {
|
|
140
143
|
return this.position;
|
|
141
|
-
}
|
|
144
|
+
};
|
|
142
145
|
/** @internal */
|
|
143
|
-
toJSON() {
|
|
146
|
+
Binary.prototype.toJSON = function () {
|
|
144
147
|
return this.buffer.toString('base64');
|
|
145
|
-
}
|
|
148
|
+
};
|
|
146
149
|
/** @internal */
|
|
147
|
-
toString(format) {
|
|
150
|
+
Binary.prototype.toString = function (format) {
|
|
148
151
|
return this.buffer.toString(format);
|
|
149
|
-
}
|
|
152
|
+
};
|
|
150
153
|
/** @internal */
|
|
151
|
-
toExtendedJSON(options) {
|
|
154
|
+
Binary.prototype.toExtendedJSON = function (options) {
|
|
152
155
|
options = options || {};
|
|
153
|
-
|
|
154
|
-
|
|
156
|
+
var base64String = this.buffer.toString('base64');
|
|
157
|
+
var subType = Number(this.sub_type).toString(16);
|
|
155
158
|
if (options.legacy) {
|
|
156
159
|
return {
|
|
157
160
|
$binary: base64String,
|
|
@@ -164,12 +167,19 @@ class Binary {
|
|
|
164
167
|
subType: subType.length === 1 ? '0' + subType : subType
|
|
165
168
|
}
|
|
166
169
|
};
|
|
167
|
-
}
|
|
170
|
+
};
|
|
168
171
|
/** @internal */
|
|
169
|
-
|
|
172
|
+
Binary.prototype.toUUID = function () {
|
|
173
|
+
if (this.sub_type === Binary.SUBTYPE_UUID) {
|
|
174
|
+
return new uuid_1.UUID(this.buffer.slice(0, this.position));
|
|
175
|
+
}
|
|
176
|
+
throw new Error("Binary sub_type \"" + this.sub_type + "\" is not supported for converting to UUID. Only \"" + Binary.SUBTYPE_UUID + "\" is currently supported.");
|
|
177
|
+
};
|
|
178
|
+
/** @internal */
|
|
179
|
+
Binary.fromExtendedJSON = function (doc, options) {
|
|
170
180
|
options = options || {};
|
|
171
|
-
|
|
172
|
-
|
|
181
|
+
var data;
|
|
182
|
+
var type;
|
|
173
183
|
if ('$binary' in doc) {
|
|
174
184
|
if (options.legacy && typeof doc.$binary === 'string' && '$type' in doc) {
|
|
175
185
|
type = doc.$type ? parseInt(doc.$type, 16) : 0;
|
|
@@ -184,43 +194,44 @@ class Binary {
|
|
|
184
194
|
}
|
|
185
195
|
else if ('$uuid' in doc) {
|
|
186
196
|
type = 4;
|
|
187
|
-
data =
|
|
197
|
+
data = uuid_utils_1.uuidHexStringToBuffer(doc.$uuid);
|
|
188
198
|
}
|
|
189
199
|
if (!data) {
|
|
190
|
-
throw new TypeError(
|
|
200
|
+
throw new TypeError("Unexpected Binary Extended JSON format " + JSON.stringify(doc));
|
|
191
201
|
}
|
|
192
202
|
return new Binary(data, type);
|
|
193
|
-
}
|
|
203
|
+
};
|
|
194
204
|
/** @internal */
|
|
195
|
-
[Symbol.for('nodejs.util.inspect.custom')]() {
|
|
205
|
+
Binary.prototype[Symbol.for('nodejs.util.inspect.custom')] = function () {
|
|
196
206
|
return this.inspect();
|
|
197
|
-
}
|
|
198
|
-
inspect() {
|
|
199
|
-
|
|
200
|
-
return
|
|
201
|
-
}
|
|
202
|
-
|
|
207
|
+
};
|
|
208
|
+
Binary.prototype.inspect = function () {
|
|
209
|
+
var asBuffer = this.value(true);
|
|
210
|
+
return "new Binary(Buffer.from(\"" + asBuffer.toString('hex') + "\", \"hex\"), " + this.sub_type + ")";
|
|
211
|
+
};
|
|
212
|
+
/**
|
|
213
|
+
* Binary default subtype
|
|
214
|
+
* @internal
|
|
215
|
+
*/
|
|
216
|
+
Binary.BSON_BINARY_SUBTYPE_DEFAULT = 0;
|
|
217
|
+
/** Initial buffer default size */
|
|
218
|
+
Binary.BUFFER_SIZE = 256;
|
|
219
|
+
/** Default BSON type */
|
|
220
|
+
Binary.SUBTYPE_DEFAULT = 0;
|
|
221
|
+
/** Function BSON type */
|
|
222
|
+
Binary.SUBTYPE_FUNCTION = 1;
|
|
223
|
+
/** Byte Array BSON type */
|
|
224
|
+
Binary.SUBTYPE_BYTE_ARRAY = 2;
|
|
225
|
+
/** Deprecated UUID BSON type @deprecated Please use SUBTYPE_UUID */
|
|
226
|
+
Binary.SUBTYPE_UUID_OLD = 3;
|
|
227
|
+
/** UUID BSON type */
|
|
228
|
+
Binary.SUBTYPE_UUID = 4;
|
|
229
|
+
/** MD5 BSON type */
|
|
230
|
+
Binary.SUBTYPE_MD5 = 5;
|
|
231
|
+
/** User BSON type */
|
|
232
|
+
Binary.SUBTYPE_USER_DEFINED = 128;
|
|
233
|
+
return Binary;
|
|
234
|
+
}());
|
|
203
235
|
exports.Binary = Binary;
|
|
204
|
-
/**
|
|
205
|
-
* Binary default subtype
|
|
206
|
-
* @internal
|
|
207
|
-
*/
|
|
208
|
-
Binary.BSON_BINARY_SUBTYPE_DEFAULT = 0;
|
|
209
|
-
/** Initial buffer default size */
|
|
210
|
-
Binary.BUFFER_SIZE = 256;
|
|
211
|
-
/** Default BSON type */
|
|
212
|
-
Binary.SUBTYPE_DEFAULT = 0;
|
|
213
|
-
/** Function BSON type */
|
|
214
|
-
Binary.SUBTYPE_FUNCTION = 1;
|
|
215
|
-
/** Byte Array BSON type */
|
|
216
|
-
Binary.SUBTYPE_BYTE_ARRAY = 2;
|
|
217
|
-
/** Deprecated UUID BSON type @deprecated Please use SUBTYPE_UUID */
|
|
218
|
-
Binary.SUBTYPE_UUID_OLD = 3;
|
|
219
|
-
/** UUID BSON type */
|
|
220
|
-
Binary.SUBTYPE_UUID = 4;
|
|
221
|
-
/** MD5 BSON type */
|
|
222
|
-
Binary.SUBTYPE_MD5 = 5;
|
|
223
|
-
/** User BSON type */
|
|
224
|
-
Binary.SUBTYPE_USER_DEFINED = 128;
|
|
225
236
|
Object.defineProperty(Binary.prototype, '_bsontype', { value: 'Binary' });
|
|
226
237
|
//# sourceMappingURL=binary.js.map
|
package/lib/binary.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary.js","sourceRoot":"","sources":["../src/binary.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"binary.js","sourceRoot":"","sources":["../src/binary.ts"],"names":[],"mappings":"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"}
|
package/lib/bson.js
CHANGED
|
@@ -1,42 +1,45 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
exports.ObjectID = exports.Decimal128 = exports.BSONRegExp = exports.MaxKey = exports.MinKey = exports.Int32 = exports.Double = exports.Timestamp = exports.Long = exports.UUID = exports.ObjectId = exports.Binary = exports.DBRef = exports.BSONSymbol = exports.Map = exports.Code = exports.LongWithoutOverridesClass = exports.EJSON = exports.BSON_INT64_MIN = exports.BSON_INT64_MAX = exports.BSON_INT32_MIN = exports.BSON_INT32_MAX = exports.BSON_DATA_UNDEFINED = exports.BSON_DATA_TIMESTAMP = exports.BSON_DATA_SYMBOL = exports.BSON_DATA_STRING = exports.BSON_DATA_REGEXP = exports.BSON_DATA_OID = exports.BSON_DATA_OBJECT = exports.BSON_DATA_NUMBER = exports.BSON_DATA_NULL = exports.BSON_DATA_MIN_KEY = exports.BSON_DATA_MAX_KEY = exports.BSON_DATA_LONG = exports.BSON_DATA_INT = exports.BSON_DATA_DECIMAL128 = exports.BSON_DATA_DBPOINTER = exports.BSON_DATA_DATE = exports.BSON_DATA_CODE_W_SCOPE = exports.BSON_DATA_CODE = exports.BSON_DATA_BOOLEAN = exports.BSON_DATA_BINARY = exports.BSON_DATA_ARRAY = exports.BSON_BINARY_SUBTYPE_UUID_NEW = exports.BSON_BINARY_SUBTYPE_UUID = exports.BSON_BINARY_SUBTYPE_USER_DEFINED = exports.BSON_BINARY_SUBTYPE_MD5 = exports.BSON_BINARY_SUBTYPE_FUNCTION = exports.BSON_BINARY_SUBTYPE_DEFAULT = exports.BSON_BINARY_SUBTYPE_BYTE_ARRAY = void 0;
|
|
4
|
+
exports.deserializeStream = exports.calculateObjectSize = exports.deserialize = exports.serializeWithBufferAndIndex = exports.serialize = exports.setInternalBufferSize = void 0;
|
|
5
|
+
var buffer_1 = require("buffer");
|
|
6
|
+
var binary_1 = require("./binary");
|
|
6
7
|
Object.defineProperty(exports, "Binary", { enumerable: true, get: function () { return binary_1.Binary; } });
|
|
7
|
-
|
|
8
|
+
var code_1 = require("./code");
|
|
8
9
|
Object.defineProperty(exports, "Code", { enumerable: true, get: function () { return code_1.Code; } });
|
|
9
|
-
|
|
10
|
+
var db_ref_1 = require("./db_ref");
|
|
10
11
|
Object.defineProperty(exports, "DBRef", { enumerable: true, get: function () { return db_ref_1.DBRef; } });
|
|
11
|
-
|
|
12
|
+
var decimal128_1 = require("./decimal128");
|
|
12
13
|
Object.defineProperty(exports, "Decimal128", { enumerable: true, get: function () { return decimal128_1.Decimal128; } });
|
|
13
|
-
|
|
14
|
+
var double_1 = require("./double");
|
|
14
15
|
Object.defineProperty(exports, "Double", { enumerable: true, get: function () { return double_1.Double; } });
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
var ensure_buffer_1 = require("./ensure_buffer");
|
|
17
|
+
var extended_json_1 = require("./extended_json");
|
|
18
|
+
var int_32_1 = require("./int_32");
|
|
18
19
|
Object.defineProperty(exports, "Int32", { enumerable: true, get: function () { return int_32_1.Int32; } });
|
|
19
|
-
|
|
20
|
+
var long_1 = require("./long");
|
|
20
21
|
Object.defineProperty(exports, "Long", { enumerable: true, get: function () { return long_1.Long; } });
|
|
21
|
-
|
|
22
|
+
var map_1 = require("./map");
|
|
22
23
|
Object.defineProperty(exports, "Map", { enumerable: true, get: function () { return map_1.Map; } });
|
|
23
|
-
|
|
24
|
+
var max_key_1 = require("./max_key");
|
|
24
25
|
Object.defineProperty(exports, "MaxKey", { enumerable: true, get: function () { return max_key_1.MaxKey; } });
|
|
25
|
-
|
|
26
|
+
var min_key_1 = require("./min_key");
|
|
26
27
|
Object.defineProperty(exports, "MinKey", { enumerable: true, get: function () { return min_key_1.MinKey; } });
|
|
27
|
-
|
|
28
|
+
var objectid_1 = require("./objectid");
|
|
28
29
|
Object.defineProperty(exports, "ObjectId", { enumerable: true, get: function () { return objectid_1.ObjectId; } });
|
|
29
30
|
Object.defineProperty(exports, "ObjectID", { enumerable: true, get: function () { return objectid_1.ObjectId; } });
|
|
30
|
-
|
|
31
|
+
var calculate_size_1 = require("./parser/calculate_size");
|
|
31
32
|
// Parts of the parser
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
var deserializer_1 = require("./parser/deserializer");
|
|
34
|
+
var serializer_1 = require("./parser/serializer");
|
|
35
|
+
var regexp_1 = require("./regexp");
|
|
35
36
|
Object.defineProperty(exports, "BSONRegExp", { enumerable: true, get: function () { return regexp_1.BSONRegExp; } });
|
|
36
|
-
|
|
37
|
+
var symbol_1 = require("./symbol");
|
|
37
38
|
Object.defineProperty(exports, "BSONSymbol", { enumerable: true, get: function () { return symbol_1.BSONSymbol; } });
|
|
38
|
-
|
|
39
|
+
var timestamp_1 = require("./timestamp");
|
|
39
40
|
Object.defineProperty(exports, "Timestamp", { enumerable: true, get: function () { return timestamp_1.Timestamp; } });
|
|
41
|
+
var uuid_1 = require("./uuid");
|
|
42
|
+
Object.defineProperty(exports, "UUID", { enumerable: true, get: function () { return uuid_1.UUID; } });
|
|
40
43
|
var constants_1 = require("./constants");
|
|
41
44
|
Object.defineProperty(exports, "BSON_BINARY_SUBTYPE_BYTE_ARRAY", { enumerable: true, get: function () { return constants_1.BSON_BINARY_SUBTYPE_BYTE_ARRAY; } });
|
|
42
45
|
Object.defineProperty(exports, "BSON_BINARY_SUBTYPE_DEFAULT", { enumerable: true, get: function () { return constants_1.BSON_BINARY_SUBTYPE_DEFAULT; } });
|
|
@@ -76,9 +79,9 @@ var timestamp_2 = require("./timestamp");
|
|
|
76
79
|
Object.defineProperty(exports, "LongWithoutOverridesClass", { enumerable: true, get: function () { return timestamp_2.LongWithoutOverridesClass; } });
|
|
77
80
|
/** @internal */
|
|
78
81
|
// Default Max Size
|
|
79
|
-
|
|
82
|
+
var MAXSIZE = 1024 * 1024 * 17;
|
|
80
83
|
// Current Internal Temporary Serialization Buffer
|
|
81
|
-
|
|
84
|
+
var buffer = buffer_1.Buffer.alloc(MAXSIZE);
|
|
82
85
|
/**
|
|
83
86
|
* Sets the size of the internal serialization buffer.
|
|
84
87
|
*
|
|
@@ -99,20 +102,21 @@ exports.setInternalBufferSize = setInternalBufferSize;
|
|
|
99
102
|
* @returns Buffer object containing the serialized object.
|
|
100
103
|
* @public
|
|
101
104
|
*/
|
|
102
|
-
function serialize(object, options
|
|
105
|
+
function serialize(object, options) {
|
|
106
|
+
if (options === void 0) { options = {}; }
|
|
103
107
|
// Unpack the options
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
+
var checkKeys = typeof options.checkKeys === 'boolean' ? options.checkKeys : false;
|
|
109
|
+
var serializeFunctions = typeof options.serializeFunctions === 'boolean' ? options.serializeFunctions : false;
|
|
110
|
+
var ignoreUndefined = typeof options.ignoreUndefined === 'boolean' ? options.ignoreUndefined : true;
|
|
111
|
+
var minInternalBufferSize = typeof options.minInternalBufferSize === 'number' ? options.minInternalBufferSize : MAXSIZE;
|
|
108
112
|
// Resize the internal serialization buffer if needed
|
|
109
113
|
if (buffer.length < minInternalBufferSize) {
|
|
110
114
|
buffer = buffer_1.Buffer.alloc(minInternalBufferSize);
|
|
111
115
|
}
|
|
112
116
|
// Attempt to serialize
|
|
113
|
-
|
|
117
|
+
var serializationIndex = serializer_1.serializeInto(buffer, object, checkKeys, 0, 0, serializeFunctions, ignoreUndefined, []);
|
|
114
118
|
// Create the final buffer
|
|
115
|
-
|
|
119
|
+
var finishedBuffer = buffer_1.Buffer.alloc(serializationIndex);
|
|
116
120
|
// Copy into the finished buffer
|
|
117
121
|
buffer.copy(finishedBuffer, 0, 0, finishedBuffer.length);
|
|
118
122
|
// Return the buffer
|
|
@@ -128,14 +132,15 @@ exports.serialize = serialize;
|
|
|
128
132
|
* @returns the index pointing to the last written byte in the buffer.
|
|
129
133
|
* @public
|
|
130
134
|
*/
|
|
131
|
-
function serializeWithBufferAndIndex(object, finalBuffer, options
|
|
135
|
+
function serializeWithBufferAndIndex(object, finalBuffer, options) {
|
|
136
|
+
if (options === void 0) { options = {}; }
|
|
132
137
|
// Unpack the options
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
138
|
+
var checkKeys = typeof options.checkKeys === 'boolean' ? options.checkKeys : false;
|
|
139
|
+
var serializeFunctions = typeof options.serializeFunctions === 'boolean' ? options.serializeFunctions : false;
|
|
140
|
+
var ignoreUndefined = typeof options.ignoreUndefined === 'boolean' ? options.ignoreUndefined : true;
|
|
141
|
+
var startIndex = typeof options.index === 'number' ? options.index : 0;
|
|
137
142
|
// Attempt to serialize
|
|
138
|
-
|
|
143
|
+
var serializationIndex = serializer_1.serializeInto(buffer, object, checkKeys, 0, 0, serializeFunctions, ignoreUndefined);
|
|
139
144
|
buffer.copy(finalBuffer, startIndex, 0, serializationIndex);
|
|
140
145
|
// Return the index
|
|
141
146
|
return startIndex + serializationIndex - 1;
|
|
@@ -148,7 +153,8 @@ exports.serializeWithBufferAndIndex = serializeWithBufferAndIndex;
|
|
|
148
153
|
* @returns returns the deserialized Javascript Object.
|
|
149
154
|
* @public
|
|
150
155
|
*/
|
|
151
|
-
function deserialize(buffer, options
|
|
156
|
+
function deserialize(buffer, options) {
|
|
157
|
+
if (options === void 0) { options = {}; }
|
|
152
158
|
return deserializer_1.deserialize(ensure_buffer_1.ensureBuffer(buffer), options);
|
|
153
159
|
}
|
|
154
160
|
exports.deserialize = deserialize;
|
|
@@ -159,10 +165,11 @@ exports.deserialize = deserialize;
|
|
|
159
165
|
* @returns size of BSON object in bytes
|
|
160
166
|
* @public
|
|
161
167
|
*/
|
|
162
|
-
function calculateObjectSize(object, options
|
|
168
|
+
function calculateObjectSize(object, options) {
|
|
169
|
+
if (options === void 0) { options = {}; }
|
|
163
170
|
options = options || {};
|
|
164
|
-
|
|
165
|
-
|
|
171
|
+
var serializeFunctions = typeof options.serializeFunctions === 'boolean' ? options.serializeFunctions : false;
|
|
172
|
+
var ignoreUndefined = typeof options.ignoreUndefined === 'boolean' ? options.ignoreUndefined : true;
|
|
166
173
|
return calculate_size_1.calculateObjectSize(object, serializeFunctions, ignoreUndefined);
|
|
167
174
|
}
|
|
168
175
|
exports.calculateObjectSize = calculateObjectSize;
|
|
@@ -179,13 +186,13 @@ exports.calculateObjectSize = calculateObjectSize;
|
|
|
179
186
|
* @public
|
|
180
187
|
*/
|
|
181
188
|
function deserializeStream(data, startIndex, numberOfDocuments, documents, docStartIndex, options) {
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
189
|
+
var internalOptions = Object.assign({ allowObjectSmallerThanBufferSize: true, index: 0 }, options);
|
|
190
|
+
var bufferData = ensure_buffer_1.ensureBuffer(data);
|
|
191
|
+
var index = startIndex;
|
|
185
192
|
// Loop over all documents
|
|
186
|
-
for (
|
|
193
|
+
for (var i = 0; i < numberOfDocuments; i++) {
|
|
187
194
|
// Find size of the document
|
|
188
|
-
|
|
195
|
+
var size = bufferData[index] |
|
|
189
196
|
(bufferData[index + 1] << 8) |
|
|
190
197
|
(bufferData[index + 2] << 16) |
|
|
191
198
|
(bufferData[index + 3] << 24);
|
|
@@ -208,7 +215,7 @@ exports.deserializeStream = deserializeStream;
|
|
|
208
215
|
* so none of the new TS types are being exported on the default
|
|
209
216
|
* @public
|
|
210
217
|
*/
|
|
211
|
-
|
|
218
|
+
var BSON = {
|
|
212
219
|
Binary: binary_1.Binary,
|
|
213
220
|
Code: code_1.Code,
|
|
214
221
|
DBRef: db_ref_1.DBRef,
|
|
@@ -216,6 +223,7 @@ const BSON = {
|
|
|
216
223
|
Double: double_1.Double,
|
|
217
224
|
Int32: int_32_1.Int32,
|
|
218
225
|
Long: long_1.Long,
|
|
226
|
+
UUID: uuid_1.UUID,
|
|
219
227
|
Map: map_1.Map,
|
|
220
228
|
MaxKey: max_key_1.MaxKey,
|
|
221
229
|
MinKey: min_key_1.MinKey,
|
|
@@ -225,12 +233,12 @@ const BSON = {
|
|
|
225
233
|
BSONSymbol: symbol_1.BSONSymbol,
|
|
226
234
|
Timestamp: timestamp_1.Timestamp,
|
|
227
235
|
EJSON: extended_json_1.EJSON,
|
|
228
|
-
setInternalBufferSize,
|
|
229
|
-
serialize,
|
|
230
|
-
serializeWithBufferAndIndex,
|
|
231
|
-
deserialize,
|
|
232
|
-
calculateObjectSize,
|
|
233
|
-
deserializeStream
|
|
236
|
+
setInternalBufferSize: setInternalBufferSize,
|
|
237
|
+
serialize: serialize,
|
|
238
|
+
serializeWithBufferAndIndex: serializeWithBufferAndIndex,
|
|
239
|
+
deserialize: deserialize,
|
|
240
|
+
calculateObjectSize: calculateObjectSize,
|
|
241
|
+
deserializeStream: deserializeStream
|
|
234
242
|
};
|
|
235
243
|
exports.default = BSON;
|
|
236
244
|
//# sourceMappingURL=bson.js.map
|
package/lib/bson.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bson.js","sourceRoot":"","sources":["../src/bson.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bson.js","sourceRoot":"","sources":["../src/bson.ts"],"names":[],"mappings":";;;;AAAA,iCAAgC;AAChC,mCAAkC;AAiFhC,uFAjFO,eAAM,OAiFP;AAhFR,+BAA8B;AA4E5B,qFA5EO,WAAI,OA4EP;AA3EN,mCAAiC;AA8E/B,sFA9EO,cAAK,OA8EP;AA7EP,2CAA0C;AAwFxC,2FAxFO,uBAAU,OAwFP;AAvFZ,mCAAkC;AAkFhC,uFAlFO,eAAM,OAkFP;AAjFR,iDAA+C;AAC/C,iDAAwC;AACxC,mCAAiC;AAgF/B,sFAhFO,cAAK,OAgFP;AA/EP,+BAA8B;AA4E5B,qFA5EO,WAAI,OA4EP;AA3EN,6BAA4B;AAqE1B,oFArEO,SAAG,OAqEP;AApEL,qCAAmC;AA+EjC,uFA/EO,gBAAM,OA+EP;AA9ER,qCAAmC;AA6EjC,uFA7EO,gBAAM,OA6EP;AA5ER,uCAAsC;AAsEpC,yFAtEO,mBAAQ,OAsEP;AAaI,yFAnFL,mBAAQ,OAmFK;AAlFtB,0DAA6F;AAC7F,sBAAsB;AACtB,sDAA+F;AAC/F,kDAA2F;AAC3F,mCAAsC;AAyEpC,2FAzEO,mBAAU,OAyEP;AAxEZ,mCAAsC;AA6DpC,2FA7DO,mBAAU,OA6DP;AA5DZ,yCAAwC;AAkEtC,0FAlEO,qBAAS,OAkEP;AAjEX,+BAA8B;AA+D5B,qFA/DO,WAAI,OA+DP;AA5DN,yCAiCqB;AAhCnB,2HAAA,8BAA8B,OAAA;AAC9B,wHAAA,2BAA2B,OAAA;AAC3B,yHAAA,4BAA4B,OAAA;AAC5B,oHAAA,uBAAuB,OAAA;AACvB,6HAAA,gCAAgC,OAAA;AAChC,qHAAA,wBAAwB,OAAA;AACxB,yHAAA,4BAA4B,OAAA;AAC5B,4GAAA,eAAe,OAAA;AACf,6GAAA,gBAAgB,OAAA;AAChB,8GAAA,iBAAiB,OAAA;AACjB,2GAAA,cAAc,OAAA;AACd,mHAAA,sBAAsB,OAAA;AACtB,2GAAA,cAAc,OAAA;AACd,gHAAA,mBAAmB,OAAA;AACnB,iHAAA,oBAAoB,OAAA;AACpB,0GAAA,aAAa,OAAA;AACb,2GAAA,cAAc,OAAA;AACd,8GAAA,iBAAiB,OAAA;AACjB,8GAAA,iBAAiB,OAAA;AACjB,2GAAA,cAAc,OAAA;AACd,6GAAA,gBAAgB,OAAA;AAChB,6GAAA,gBAAgB,OAAA;AAChB,0GAAA,aAAa,OAAA;AACb,6GAAA,gBAAgB,OAAA;AAChB,6GAAA,gBAAgB,OAAA;AAChB,6GAAA,gBAAgB,OAAA;AAChB,gHAAA,mBAAmB,OAAA;AACnB,gHAAA,mBAAmB,OAAA;AACnB,2GAAA,cAAc,OAAA;AACd,2GAAA,cAAc,OAAA;AACd,2GAAA,cAAc,OAAA;AACd,2GAAA,cAAc,OAAA;AAKhB,iDAAsD;AAA7C,sGAAA,KAAK,OAAA;AAQd,yCAKqB;AAHnB,sHAAA,yBAAyB,OAAA;AAkC3B,gBAAgB;AAChB,mBAAmB;AACnB,IAAM,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;AAEjC,kDAAkD;AAClD,IAAI,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAEnC;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,IAAY;IAChD,qDAAqD;IACrD,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE;QACxB,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KAC7B;AACH,CAAC;AALD,sDAKC;AAED;;;;;;GAMG;AACH,SAAgB,SAAS,CAAC,MAAgB,EAAE,OAA8B;IAA9B,wBAAA,EAAA,YAA8B;IACxE,qBAAqB;IACrB,IAAM,SAAS,GAAG,OAAO,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IACrF,IAAM,kBAAkB,GACtB,OAAO,OAAO,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC;IACvF,IAAM,eAAe,GACnB,OAAO,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;IAChF,IAAM,qBAAqB,GACzB,OAAO,OAAO,CAAC,qBAAqB,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC;IAE9F,qDAAqD;IACrD,IAAI,MAAM,CAAC,MAAM,GAAG,qBAAqB,EAAE;QACzC,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;KAC9C;IAED,uBAAuB;IACvB,IAAM,kBAAkB,GAAG,0BAAiB,CAC1C,MAAM,EACN,MAAM,EACN,SAAS,EACT,CAAC,EACD,CAAC,EACD,kBAAkB,EAClB,eAAe,EACf,EAAE,CACH,CAAC;IAEF,0BAA0B;IAC1B,IAAM,cAAc,GAAG,eAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAExD,gCAAgC;IAChC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAEzD,oBAAoB;IACpB,OAAO,cAAc,CAAC;AACxB,CAAC;AAnCD,8BAmCC;AAED;;;;;;;;GAQG;AACH,SAAgB,2BAA2B,CACzC,MAAgB,EAChB,WAAmB,EACnB,OAA8B;IAA9B,wBAAA,EAAA,YAA8B;IAE9B,qBAAqB;IACrB,IAAM,SAAS,GAAG,OAAO,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IACrF,IAAM,kBAAkB,GACtB,OAAO,OAAO,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC;IACvF,IAAM,eAAe,GACnB,OAAO,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;IAChF,IAAM,UAAU,GAAG,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzE,uBAAuB;IACvB,IAAM,kBAAkB,GAAG,0BAAiB,CAC1C,MAAM,EACN,MAAM,EACN,SAAS,EACT,CAAC,EACD,CAAC,EACD,kBAAkB,EAClB,eAAe,CAChB,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAE5D,mBAAmB;IACnB,OAAO,UAAU,GAAG,kBAAkB,GAAG,CAAC,CAAC;AAC7C,CAAC;AA3BD,kEA2BC;AAED;;;;;;GAMG;AACH,SAAgB,WAAW,CACzB,MAA8C,EAC9C,OAAgC;IAAhC,wBAAA,EAAA,YAAgC;IAEhC,OAAO,0BAAmB,CAAC,4BAAY,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC;AALD,kCAKC;AAQD;;;;;;GAMG;AACH,SAAgB,mBAAmB,CACjC,MAAgB,EAChB,OAAwC;IAAxC,wBAAA,EAAA,YAAwC;IAExC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IAExB,IAAM,kBAAkB,GACtB,OAAO,OAAO,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC;IACvF,IAAM,eAAe,GACnB,OAAO,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;IAEhF,OAAO,oCAA2B,CAAC,MAAM,EAAE,kBAAkB,EAAE,eAAe,CAAC,CAAC;AAClF,CAAC;AAZD,kDAYC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,iBAAiB,CAC/B,IAA4C,EAC5C,UAAkB,EAClB,iBAAyB,EACzB,SAAqB,EACrB,aAAqB,EACrB,OAA2B;IAE3B,IAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CACnC,EAAE,gCAAgC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EACpD,OAAO,CACR,CAAC;IACF,IAAM,UAAU,GAAG,4BAAY,CAAC,IAAI,CAAC,CAAC;IAEtC,IAAI,KAAK,GAAG,UAAU,CAAC;IACvB,0BAA0B;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,EAAE,CAAC,EAAE,EAAE;QAC1C,4BAA4B;QAC5B,IAAM,IAAI,GACR,UAAU,CAAC,KAAK,CAAC;YACjB,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7B,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAChC,4BAA4B;QAC5B,eAAe,CAAC,KAAK,GAAG,KAAK,CAAC;QAC9B,mCAAmC;QACnC,SAAS,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,0BAAmB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QAChF,oCAAoC;QACpC,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;KACtB;IAED,sEAAsE;IACtE,OAAO,KAAK,CAAC;AACf,CAAC;AAjCD,8CAiCC;AAED;;;;;;;GAOG;AACH,IAAM,IAAI,GAAG;IACX,MAAM,iBAAA;IACN,IAAI,aAAA;IACJ,KAAK,gBAAA;IACL,UAAU,yBAAA;IACV,MAAM,iBAAA;IACN,KAAK,gBAAA;IACL,IAAI,aAAA;IACJ,IAAI,aAAA;IACJ,GAAG,WAAA;IACH,MAAM,kBAAA;IACN,MAAM,kBAAA;IACN,QAAQ,qBAAA;IACR,QAAQ,EAAE,mBAAQ;IAClB,UAAU,qBAAA;IACV,UAAU,qBAAA;IACV,SAAS,uBAAA;IACT,KAAK,uBAAA;IACL,qBAAqB,uBAAA;IACrB,SAAS,WAAA;IACT,2BAA2B,6BAAA;IAC3B,WAAW,aAAA;IACX,mBAAmB,qBAAA;IACnB,iBAAiB,mBAAA;CAClB,CAAC;AACF,kBAAe,IAAI,CAAC"}
|
package/lib/code.js
CHANGED
|
@@ -5,39 +5,42 @@ exports.Code = void 0;
|
|
|
5
5
|
* A class representation of the BSON Code type.
|
|
6
6
|
* @public
|
|
7
7
|
*/
|
|
8
|
-
|
|
8
|
+
var Code = /** @class */ (function () {
|
|
9
9
|
/**
|
|
10
10
|
* @param code - a string or function.
|
|
11
11
|
* @param scope - an optional scope for the function.
|
|
12
12
|
*/
|
|
13
|
-
|
|
13
|
+
function Code(code, scope) {
|
|
14
|
+
if (!(this instanceof Code))
|
|
15
|
+
return new Code(code, scope);
|
|
14
16
|
this.code = code;
|
|
15
17
|
this.scope = scope;
|
|
16
18
|
}
|
|
17
19
|
/** @internal */
|
|
18
|
-
toJSON() {
|
|
20
|
+
Code.prototype.toJSON = function () {
|
|
19
21
|
return { code: this.code, scope: this.scope };
|
|
20
|
-
}
|
|
22
|
+
};
|
|
21
23
|
/** @internal */
|
|
22
|
-
toExtendedJSON() {
|
|
24
|
+
Code.prototype.toExtendedJSON = function () {
|
|
23
25
|
if (this.scope) {
|
|
24
26
|
return { $code: this.code, $scope: this.scope };
|
|
25
27
|
}
|
|
26
28
|
return { $code: this.code };
|
|
27
|
-
}
|
|
29
|
+
};
|
|
28
30
|
/** @internal */
|
|
29
|
-
|
|
31
|
+
Code.fromExtendedJSON = function (doc) {
|
|
30
32
|
return new Code(doc.$code, doc.$scope);
|
|
31
|
-
}
|
|
33
|
+
};
|
|
32
34
|
/** @internal */
|
|
33
|
-
[Symbol.for('nodejs.util.inspect.custom')]() {
|
|
35
|
+
Code.prototype[Symbol.for('nodejs.util.inspect.custom')] = function () {
|
|
34
36
|
return this.inspect();
|
|
35
|
-
}
|
|
36
|
-
inspect() {
|
|
37
|
-
|
|
38
|
-
return
|
|
39
|
-
}
|
|
40
|
-
|
|
37
|
+
};
|
|
38
|
+
Code.prototype.inspect = function () {
|
|
39
|
+
var codeJson = this.toJSON();
|
|
40
|
+
return "new Code(\"" + codeJson.code + "\"" + (codeJson.scope ? ", " + JSON.stringify(codeJson.scope) : '') + ")";
|
|
41
|
+
};
|
|
42
|
+
return Code;
|
|
43
|
+
}());
|
|
41
44
|
exports.Code = Code;
|
|
42
45
|
Object.defineProperty(Code.prototype, '_bsontype', { value: 'Code' });
|
|
43
46
|
//# sourceMappingURL=code.js.map
|
package/lib/code.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code.js","sourceRoot":"","sources":["../src/code.ts"],"names":[],"mappings":";;;AAQA;;;GAGG;AACH
|
|
1
|
+
{"version":3,"file":"code.js","sourceRoot":"","sources":["../src/code.ts"],"names":[],"mappings":";;;AAQA;;;GAGG;AACH;IAKE;;;OAGG;IACH,cAAY,IAAuB,EAAE,KAAgB;QACnD,IAAI,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC;YAAE,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAE1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,gBAAgB;IAChB,qBAAM,GAAN;QACE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IAChD,CAAC;IAED,gBAAgB;IAChB,6BAAc,GAAd;QACE,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;SACjD;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,gBAAgB;IACT,qBAAgB,GAAvB,UAAwB,GAAiB;QACvC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,gBAAgB;IAChB,eAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,GAA1C;QACE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,sBAAO,GAAP;QACE,IAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC/B,OAAO,gBAAa,QAAQ,CAAC,IAAI,WAC/B,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,OAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAG,CAAC,CAAC,CAAC,EAAE,OAC1D,CAAC;IACN,CAAC;IACH,WAAC;AAAD,CAAC,AA9CD,IA8CC;AA9CY,oBAAI;AAgDjB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC"}
|