@spica-devkit/database 0.9.11 → 0.9.15

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/dist/index.d.ts CHANGED
@@ -1,2 +1 @@
1
- /// <amd-module name="@spica-devkit/database" />
2
1
  export * from "./src/index";
package/dist/index.js CHANGED
@@ -1,10 +1,44 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var util = require('util');
4
+ var require$$0 = require('mongodb');
5
+
6
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
7
+
8
+ var util__default = /*#__PURE__*/_interopDefaultLegacy(util);
9
+ var require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0);
10
+
11
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
6
12
 
7
- let mongodb = globalThis[Symbol.for("kDatabaseDevkit")] = globalThis[Symbol.for("kDatabaseDevkit")] || require("mongodb");
13
+ function getDefaultExportFromCjs (x) {
14
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
15
+ }
16
+
17
+ function createCommonjsModule(fn, basedir, module) {
18
+ return module = {
19
+ path: basedir,
20
+ exports: {},
21
+ require: function (path, base) {
22
+ return commonjsRequire(path, (base === undefined || base === null) ? module.path : base);
23
+ }
24
+ }, fn(module, module.exports), module.exports;
25
+ }
26
+
27
+ function commonjsRequire () {
28
+ throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');
29
+ }
30
+
31
+ var mongo = createCommonjsModule(function (module, exports) {
32
+ Object.defineProperty(exports, "__esModule", { value: true });
33
+ exports.mongodb = void 0;
34
+ let mongodb = globalThis[Symbol.for("kDatabaseDevkit")] = globalThis[Symbol.for("kDatabaseDevkit")] || require$$0__default['default'];
35
+ exports.mongodb = mongodb;
36
+
37
+ });
38
+
39
+ var check = createCommonjsModule(function (module, exports) {
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.checkDocuments = exports.checkDocument = void 0;
8
42
 
9
43
  function emitWarning(path) {
10
44
  process.emitWarning(`Property in the document path '${path}' contains an ObjectId value.\n` +
@@ -12,8 +46,7 @@ function emitWarning(path) {
12
46
  `You may want to cast it to string before using it.`);
13
47
  }
14
48
  function checkDocument(document, path = undefined) {
15
- if (document instanceof mongodb.ObjectId) {
16
- // Check if the path is alike 0._id or _id or $set._id
49
+ if (document instanceof mongo.mongodb.ObjectId) {
17
50
  if (/^(\d\._id|_id|\$.*?\._id)$/.test(path)) {
18
51
  return;
19
52
  }
@@ -33,26 +66,35 @@ function checkDocument(document, path = undefined) {
33
66
  }
34
67
  }
35
68
  }
69
+ exports.checkDocument = checkDocument;
36
70
  function checkDocuments(documents) {
37
71
  for (const [index, document] of documents.entries()) {
38
72
  checkDocument(document, String(index));
39
73
  }
40
74
  }
75
+ exports.checkDocuments = checkDocuments;
76
+
77
+ });
41
78
 
42
- const objectId = util.deprecate((id) => {
43
- return new mongodb.ObjectId(id);
79
+ var objectid = createCommonjsModule(function (module, exports) {
80
+ Object.defineProperty(exports, "__esModule", { value: true });
81
+ exports.ObjectId = exports.objectId = void 0;
82
+
83
+
84
+ exports.objectId = util__default['default'].deprecate((id) => {
85
+ return new mongo.mongodb.ObjectId(id);
44
86
  }, "objectId is deprecated, please replace it with ObjectId class.");
45
- const ObjectId = mongodb.ObjectId;
46
-
47
- var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
48
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
49
- return new (P || (P = Promise))(function (resolve, reject) {
50
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
51
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
52
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
53
- step((generator = generator.apply(thisArg, _arguments || [])).next());
54
- });
55
- };
87
+ exports.ObjectId = mongo.mongodb.ObjectId;
88
+
89
+ });
90
+
91
+ var database_1 = createCommonjsModule(function (module, exports) {
92
+ Object.defineProperty(exports, "__esModule", { value: true });
93
+ exports.connected = exports.close = exports.database = void 0;
94
+
95
+
96
+
97
+
56
98
  process.once("SIGTERM", () => {
57
99
  close(false, () => process.exit());
58
100
  });
@@ -70,109 +112,105 @@ function checkEnvironment() {
70
112
  throw new Error(`The <__INTERNAL__SPICA__MONGOURL__> or <__INTERNAL__SPICA__MONGODBNAME__> variables was not given.`);
71
113
  }
72
114
  }
73
- function connect() {
74
- return __awaiter(this, void 0, void 0, function* () {
75
- if (!connected()) {
76
- connection = new mongodb.MongoClient(process.env.__INTERNAL__SPICA__MONGOURL__, {
77
- replicaSet: process.env.__INTERNAL__SPICA__MONGOREPL__,
78
- appname: `Functions on ${process.env.RUNTIME || "unknown"} runtime.`,
79
- useNewUrlParser: true,
80
- // @ts-ignore
81
- useUnifiedTopology: true
82
- });
83
- }
84
- if (!connection.isConnected()) {
85
- yield connection.connect();
86
- }
87
- return connection;
88
- });
115
+ async function connect() {
116
+ if (!connected()) {
117
+ connection = new mongo.mongodb.MongoClient(process.env.__INTERNAL__SPICA__MONGOURL__, {
118
+ replicaSet: process.env.__INTERNAL__SPICA__MONGOREPL__,
119
+ appname: `Functions on ${process.env.RUNTIME || "unknown"} runtime.`,
120
+ useNewUrlParser: true,
121
+ useUnifiedTopology: true
122
+ });
123
+ }
124
+ if (!connection.isConnected()) {
125
+ await connection.connect();
126
+ }
127
+ return connection;
89
128
  }
90
- function database() {
91
- return __awaiter(this, void 0, void 0, function* () {
92
- checkEnvironment();
93
- const connection = (globalThis[Symbol.for("kDatabaseDevkitConn")] = yield connect());
94
- if (!ignoreWarnings() && "TIMEOUT" in process.env) {
95
- process.emitWarning(`As the structure of the data in the database is subject to change in any future release, we encourage you not to interact with the database directly.\n` +
96
- `As an alternative, we recommend you to interact with the APIs through an API Key to do the same. \n` +
97
- `Set NO_DEVKIT_DATABASE_WARNING environment variable to ignore this warning.`, "FootgunWarning");
98
- }
99
- const db = connection.db(process.env.__INTERNAL__SPICA__MONGODBNAME__);
100
- const collection = db.collection;
101
- db.collection = (...args) => {
102
- const coll = collection.call(db, ...args);
103
- coll.watch = util.deprecate(coll.watch, `It is not advised to use 'watch' under spica/functions environment. I hope that you know what you are doing.`);
104
- const findById = coll.findOne;
105
- coll["findById"] = (id, ...args) => {
106
- const objectId = new ObjectId(id);
107
- return findById.bind(coll)({ _id: objectId }, ...args);
108
- };
109
- const findOne = coll.findOne;
110
- coll.findOne = (filter, ...args) => {
111
- validateDocs(filter);
112
- return findOne.bind(coll)(filter, ...args);
113
- };
114
- const find = coll.find;
115
- coll.find = (filter, ...args) => {
116
- validateDocs(filter);
117
- return find.bind(coll)(filter, ...args);
118
- };
119
- const findOneAndUpdate = coll.findOneAndUpdate;
120
- coll.findOneAndUpdate = (filter, update, ...args) => {
121
- validateDocs(filter);
122
- validateDocs(update);
123
- return findOneAndUpdate.bind(coll)(filter, update, ...args);
124
- };
125
- const findOneAndReplace = coll.findOneAndReplace;
126
- coll.findOneAndReplace = (filter, update, ...args) => {
127
- validateDocs(filter);
128
- validateDocs(update);
129
- return findOneAndReplace.bind(coll)(filter, update, ...args);
130
- };
131
- const findOneAndDelete = coll.findOneAndDelete;
132
- coll.findOneAndDelete = (filter, ...args) => {
133
- validateDocs(filter);
134
- return findOneAndDelete.bind(coll)(filter, ...args);
135
- };
136
- const insertOne = coll.insertOne;
137
- coll.insertOne = (doc, ...args) => {
138
- validateDocs(doc);
139
- return insertOne.bind(coll)(doc, ...args);
140
- };
141
- const insertMany = coll.insertMany;
142
- coll.insertMany = (docs, ...args) => {
143
- validateDocs(docs);
144
- return insertMany.bind(coll)(docs, ...args);
145
- };
146
- const updateOne = coll.updateOne;
147
- coll.updateOne = (filter, update, ...args) => {
148
- validateDocs(filter);
149
- validateDocs(update);
150
- return updateOne.bind(coll)(filter, update, ...args);
151
- };
152
- const updateMany = coll.updateMany;
153
- coll.updateMany = (filter, update, ...args) => {
154
- validateDocs(filter);
155
- validateDocs(update);
156
- return updateMany.bind(coll)(filter, update, ...args);
157
- };
158
- const deleteOne = coll.deleteOne;
159
- coll.deleteOne = (filter, ...args) => {
160
- validateDocs(filter);
161
- return deleteOne.bind(coll)(filter, ...args);
162
- };
163
- const deleteMany = coll.deleteMany;
164
- coll.deleteMany = (filter, ...args) => {
165
- validateDocs(filter);
166
- return deleteMany.bind(coll)(filter, ...args);
167
- };
168
- return coll;
129
+ async function database() {
130
+ checkEnvironment();
131
+ const connection = (globalThis[Symbol.for("kDatabaseDevkitConn")] = await connect());
132
+ if (!ignoreWarnings() && "TIMEOUT" in process.env) {
133
+ process.emitWarning(`As the structure of the data in the database is subject to change in any future release, we encourage you not to interact with the database directly.\n` +
134
+ `As an alternative, we recommend you to interact with the APIs through an API Key to do the same. \n` +
135
+ `Set NO_DEVKIT_DATABASE_WARNING environment variable to ignore this warning.`, "FootgunWarning");
136
+ }
137
+ const db = connection.db(process.env.__INTERNAL__SPICA__MONGODBNAME__);
138
+ const collection = db.collection;
139
+ db.collection = (...args) => {
140
+ const coll = collection.call(db, ...args);
141
+ coll.watch = util__default['default'].deprecate(coll.watch, `It is not advised to use 'watch' under spica/functions environment. I hope that you know what you are doing.`);
142
+ const findById = coll.findOne;
143
+ coll["findById"] = (id, ...args) => {
144
+ const objectId = new objectid.ObjectId(id);
145
+ return findById.bind(coll)({ _id: objectId }, ...args);
146
+ };
147
+ const findOne = coll.findOne;
148
+ coll.findOne = (filter, ...args) => {
149
+ validateDocs(filter);
150
+ return findOne.bind(coll)(filter, ...args);
151
+ };
152
+ const find = coll.find;
153
+ coll.find = (filter, ...args) => {
154
+ validateDocs(filter);
155
+ return find.bind(coll)(filter, ...args);
156
+ };
157
+ const findOneAndUpdate = coll.findOneAndUpdate;
158
+ coll.findOneAndUpdate = (filter, update, ...args) => {
159
+ validateDocs(filter);
160
+ validateDocs(update);
161
+ return findOneAndUpdate.bind(coll)(filter, update, ...args);
162
+ };
163
+ const findOneAndReplace = coll.findOneAndReplace;
164
+ coll.findOneAndReplace = (filter, update, ...args) => {
165
+ validateDocs(filter);
166
+ validateDocs(update);
167
+ return findOneAndReplace.bind(coll)(filter, update, ...args);
168
+ };
169
+ const findOneAndDelete = coll.findOneAndDelete;
170
+ coll.findOneAndDelete = (filter, ...args) => {
171
+ validateDocs(filter);
172
+ return findOneAndDelete.bind(coll)(filter, ...args);
173
+ };
174
+ const insertOne = coll.insertOne;
175
+ coll.insertOne = (doc, ...args) => {
176
+ validateDocs(doc);
177
+ return insertOne.bind(coll)(doc, ...args);
178
+ };
179
+ const insertMany = coll.insertMany;
180
+ coll.insertMany = (docs, ...args) => {
181
+ validateDocs(docs);
182
+ return insertMany.bind(coll)(docs, ...args);
169
183
  };
170
- return db;
171
- });
184
+ const updateOne = coll.updateOne;
185
+ coll.updateOne = (filter, update, ...args) => {
186
+ validateDocs(filter);
187
+ validateDocs(update);
188
+ return updateOne.bind(coll)(filter, update, ...args);
189
+ };
190
+ const updateMany = coll.updateMany;
191
+ coll.updateMany = (filter, update, ...args) => {
192
+ validateDocs(filter);
193
+ validateDocs(update);
194
+ return updateMany.bind(coll)(filter, update, ...args);
195
+ };
196
+ const deleteOne = coll.deleteOne;
197
+ coll.deleteOne = (filter, ...args) => {
198
+ validateDocs(filter);
199
+ return deleteOne.bind(coll)(filter, ...args);
200
+ };
201
+ const deleteMany = coll.deleteMany;
202
+ coll.deleteMany = (filter, ...args) => {
203
+ validateDocs(filter);
204
+ return deleteMany.bind(coll)(filter, ...args);
205
+ };
206
+ return coll;
207
+ };
208
+ return db;
172
209
  }
210
+ exports.database = database;
173
211
  function validateDocs(doc) {
174
212
  if (!ignoreWarnings()) {
175
- Array.isArray(doc) ? checkDocuments(doc) : checkDocument(doc);
213
+ Array.isArray(doc) ? check.checkDocuments(doc) : check.checkDocument(doc);
176
214
  }
177
215
  }
178
216
  function close(force, cb) {
@@ -182,13 +220,48 @@ function close(force, cb) {
182
220
  }
183
221
  return typeof cb == "function" ? cb() : Promise.resolve();
184
222
  }
223
+ exports.close = close;
185
224
  function connected() {
186
225
  return connection && connection.isConnected();
187
226
  }
188
-
189
- exports.ObjectId = ObjectId;
190
- exports.close = close;
191
227
  exports.connected = connected;
192
- exports.database = database;
193
- exports.objectId = objectId;
228
+
229
+ });
230
+
231
+ var src = createCommonjsModule(function (module, exports) {
232
+ var __createBinding = (commonjsGlobal && commonjsGlobal.__createBinding) || (Object.create ? (function(o, m, k, k2) {
233
+ if (k2 === undefined) k2 = k;
234
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
235
+ }) : (function(o, m, k, k2) {
236
+ if (k2 === undefined) k2 = k;
237
+ o[k2] = m[k];
238
+ }));
239
+ var __exportStar = (commonjsGlobal && commonjsGlobal.__exportStar) || function(m, exports) {
240
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
241
+ };
242
+ Object.defineProperty(exports, "__esModule", { value: true });
243
+ __exportStar(database_1, exports);
244
+ __exportStar(objectid, exports);
245
+
246
+ });
247
+
248
+ var database = createCommonjsModule(function (module, exports) {
249
+ var __createBinding = (commonjsGlobal && commonjsGlobal.__createBinding) || (Object.create ? (function(o, m, k, k2) {
250
+ if (k2 === undefined) k2 = k;
251
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
252
+ }) : (function(o, m, k, k2) {
253
+ if (k2 === undefined) k2 = k;
254
+ o[k2] = m[k];
255
+ }));
256
+ var __exportStar = (commonjsGlobal && commonjsGlobal.__exportStar) || function(m, exports) {
257
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
258
+ };
259
+ Object.defineProperty(exports, "__esModule", { value: true });
260
+ __exportStar(src, exports);
261
+
262
+ });
263
+
264
+ var index = /*@__PURE__*/getDefaultExportFromCjs(database);
265
+
266
+ module.exports = index;
194
267
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/mongo.mjs","../src/check.mjs","../src/objectid.mjs","../src/database.mjs"],"sourcesContent":["let mongodb = globalThis[Symbol.for(\"kDatabaseDevkit\")] = globalThis[Symbol.for(\"kDatabaseDevkit\")] || require(\"mongodb\");\n;\nexport { mongodb };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ28uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zdGFja3MvYXBpL2Z1bmN0aW9uL3BhY2thZ2VzL2RhdGFiYXNlL3NyYy9tb25nby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxJQUFJLE9BQU8sR0FBNkIsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFBQSxDQUFDO0FBQ3JKLE9BQU8sRUFBQyxPQUFPLEVBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlICogYXMgX21vbmdvZGIgZnJvbSBcIm1vbmdvZGJcIjtcblxubGV0IG1vbmdvZGI6IHR5cGVvZiBpbXBvcnQoXCJtb25nb2RiXCIpID0gZ2xvYmFsVGhpc1tTeW1ib2wuZm9yKFwia0RhdGFiYXNlRGV2a2l0XCIpXSA9IGdsb2JhbFRoaXNbU3ltYm9sLmZvcihcImtEYXRhYmFzZURldmtpdFwiKV0gfHzCoHJlcXVpcmUoXCJtb25nb2RiXCIpOztcbmV4cG9ydCB7bW9uZ29kYiwgX21vbmdvZGJ9O1xuXG5cbiJdfQ==","import { mongodb } from \"./mongo\";\nfunction emitWarning(path) {\n process.emitWarning(`Property in the document path '${path}' contains an ObjectId value.\\n` +\n `This may lead to some inconsistencies within the system.\\n` +\n `You may want to cast it to string before using it.`);\n}\nexport function checkDocument(document, path = undefined) {\n if (document instanceof mongodb.ObjectId) {\n // Check if the path is alike 0._id or _id or $set._id\n if (/^(\\d\\._id|_id|\\$.*?\\._id)$/.test(path)) {\n return;\n }\n emitWarning(path);\n }\n else if (Array.isArray(document)) {\n for (const [index, subDocument] of document.entries()) {\n const subPath = [path, index].filter(r => r != undefined).join(\".\");\n checkDocument(subDocument, subPath);\n }\n }\n else if (typeof document == \"object\") {\n for (const key in document) {\n const subDocument = document[key];\n const subPath = [path, key].filter(r => r != undefined).join(\".\");\n checkDocument(subDocument, subPath);\n }\n }\n}\nexport function checkDocuments(documents) {\n for (const [index, document] of documents.entries()) {\n checkDocument(document, String(index));\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zdGFja3MvYXBpL2Z1bmN0aW9uL3BhY2thZ2VzL2RhdGFiYXNlL3NyYy9jaGVjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBRWhDLFNBQVMsV0FBVyxDQUFDLElBQVk7SUFDL0IsT0FBTyxDQUFDLFdBQVcsQ0FDakIsa0NBQWtDLElBQUksaUNBQWlDO1FBQ3JFLDREQUE0RDtRQUM1RCxvREFBb0QsQ0FDdkQsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLFFBQWdCLEVBQUUsT0FBZSxTQUFTO0lBQ3RFLElBQUksUUFBUSxZQUFZLE9BQU8sQ0FBQyxRQUFRLEVBQUU7UUFDeEMsc0RBQXNEO1FBQ3RELElBQUksNEJBQTRCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzNDLE9BQU87U0FDUjtRQUNELFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNuQjtTQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtRQUNsQyxLQUFLLE1BQU0sQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3JELE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEUsYUFBYSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNyQztLQUNGO1NBQU0sSUFBSSxPQUFPLFFBQVEsSUFBSSxRQUFRLEVBQUU7UUFDdEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxRQUFRLEVBQUU7WUFDMUIsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2xDLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEUsYUFBYSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNyQztLQUNGO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsU0FBbUI7SUFDaEQsS0FBSyxNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNuRCxhQUFhLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0tBQ3hDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7bW9uZ29kYn0gZnJvbSBcIi4vbW9uZ29cIjtcblxuZnVuY3Rpb24gZW1pdFdhcm5pbmcocGF0aDogc3RyaW5nKSB7XG4gIHByb2Nlc3MuZW1pdFdhcm5pbmcoXG4gICAgYFByb3BlcnR5IGluIHRoZSBkb2N1bWVudCBwYXRoICcke3BhdGh9JyBjb250YWlucyBhbiBPYmplY3RJZCB2YWx1ZS5cXG5gICtcbiAgICAgIGBUaGlzIG1heSBsZWFkIHRvIHNvbWUgaW5jb25zaXN0ZW5jaWVzIHdpdGhpbiB0aGUgc3lzdGVtLlxcbmAgK1xuICAgICAgYFlvdSBtYXkgd2FudCB0byBjYXN0IGl0IHRvIHN0cmluZyBiZWZvcmUgdXNpbmcgaXQuYFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tEb2N1bWVudChkb2N1bWVudDogb2JqZWN0LCBwYXRoOiBzdHJpbmcgPSB1bmRlZmluZWQpOiB2b2lkIHtcbiAgaWYgKGRvY3VtZW50IGluc3RhbmNlb2YgbW9uZ29kYi5PYmplY3RJZCkge1xuICAgIC8vIENoZWNrIGlmIHRoZSBwYXRoIGlzIGFsaWtlIDAuX2lkIG9yIF9pZCBvciAkc2V0Ll9pZFxuICAgIGlmICgvXihcXGRcXC5faWR8X2lkfFxcJC4qP1xcLl9pZCkkLy50ZXN0KHBhdGgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGVtaXRXYXJuaW5nKHBhdGgpO1xuICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoZG9jdW1lbnQpKSB7XG4gICAgZm9yIChjb25zdCBbaW5kZXgsIHN1YkRvY3VtZW50XSBvZiBkb2N1bWVudC5lbnRyaWVzKCkpIHtcbiAgICAgIGNvbnN0IHN1YlBhdGggPSBbcGF0aCwgaW5kZXhdLmZpbHRlcihyID0+IHIgIT0gdW5kZWZpbmVkKS5qb2luKFwiLlwiKTtcbiAgICAgIGNoZWNrRG9jdW1lbnQoc3ViRG9jdW1lbnQsIHN1YlBhdGgpO1xuICAgIH1cbiAgfSBlbHNlIGlmICh0eXBlb2YgZG9jdW1lbnQgPT0gXCJvYmplY3RcIikge1xuICAgIGZvciAoY29uc3Qga2V5IGluIGRvY3VtZW50KSB7XG4gICAgICBjb25zdCBzdWJEb2N1bWVudCA9IGRvY3VtZW50W2tleV07XG4gICAgICBjb25zdCBzdWJQYXRoID0gW3BhdGgsIGtleV0uZmlsdGVyKHIgPT4gciAhPSB1bmRlZmluZWQpLmpvaW4oXCIuXCIpO1xuICAgICAgY2hlY2tEb2N1bWVudChzdWJEb2N1bWVudCwgc3ViUGF0aCk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0RvY3VtZW50cyhkb2N1bWVudHM6IG9iamVjdFtdKTogdm9pZCB7XG4gIGZvciAoY29uc3QgW2luZGV4LCBkb2N1bWVudF0gb2YgZG9jdW1lbnRzLmVudHJpZXMoKSkge1xuICAgIGNoZWNrRG9jdW1lbnQoZG9jdW1lbnQsIFN0cmluZyhpbmRleCkpO1xuICB9XG59XG4iXX0=","import * as util from \"util\";\nimport { mongodb } from \"./mongo\";\nexport const objectId = util.deprecate((id) => {\n return new mongodb.ObjectId(id);\n}, \"objectId is deprecated, please replace it with ObjectId class.\");\nexport const ObjectId = mongodb.ObjectId;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0aWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zdGFja3MvYXBpL2Z1bmN0aW9uL3BhY2thZ2VzL2RhdGFiYXNlL3NyYy9vYmplY3RpZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUMsT0FBTyxFQUFXLE1BQU0sU0FBUyxDQUFDO0FBRTFDLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBd0MsRUFBRSxFQUFFO0lBQ2xGLE9BQU8sSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2xDLENBQUMsRUFBRSxnRUFBZ0UsQ0FBQyxDQUFDO0FBRXJFLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXRpbCBmcm9tIFwidXRpbFwiO1xuaW1wb3J0IHttb25nb2RiLCBfbW9uZ29kYn0gZnJvbSBcIi4vbW9uZ29cIjtcblxuZXhwb3J0IGNvbnN0IG9iamVjdElkID0gdXRpbC5kZXByZWNhdGUoKGlkPzogc3RyaW5nIHwgbnVtYmVyIHwgX21vbmdvZGIuT2JqZWN0SWQpID0+IHtcbiAgcmV0dXJuIG5ldyBtb25nb2RiLk9iamVjdElkKGlkKTtcbn0sIFwib2JqZWN0SWQgaXMgZGVwcmVjYXRlZCwgcGxlYXNlIHJlcGxhY2UgaXQgd2l0aCBPYmplY3RJZCBjbGFzcy5cIik7XG5cbmV4cG9ydCBjb25zdCBPYmplY3RJZCA9IG1vbmdvZGIuT2JqZWN0SWQ7XG4iXX0=","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport * as util from \"util\";\nimport { checkDocument, checkDocuments } from \"./check\";\nimport { mongodb } from \"./mongo\";\nimport { ObjectId } from \"./objectid\";\nprocess.once(\"SIGTERM\", () => {\n close(false, () => process.exit());\n});\nlet connection = globalThis[Symbol.for(\"kDatabaseDevkitConn\")];\nfunction ignoreWarnings() {\n return \"NO_DEVKIT_DATABASE_WARNING\" in process.env;\n}\nfunction checkEnvironment() {\n if (!process.env.RUNTIME) {\n process.emitWarning(`Seems like you are not under spica/functions environment.` +\n `This module is only designed to work with spica/functions.`);\n }\n const { __INTERNAL__SPICA__MONGOURL__: url, __INTERNAL__SPICA__MONGODBNAME__: dbName } = process.env;\n if (!url || !dbName) {\n throw new Error(`The <__INTERNAL__SPICA__MONGOURL__> or <__INTERNAL__SPICA__MONGODBNAME__> variables was not given.`);\n }\n}\nfunction connect() {\n return __awaiter(this, void 0, void 0, function* () {\n if (!connected()) {\n connection = new mongodb.MongoClient(process.env.__INTERNAL__SPICA__MONGOURL__, {\n replicaSet: process.env.__INTERNAL__SPICA__MONGOREPL__,\n appname: `Functions on ${process.env.RUNTIME || \"unknown\"} runtime.`,\n useNewUrlParser: true,\n // @ts-ignore\n useUnifiedTopology: true\n });\n }\n if (!connection.isConnected()) {\n yield connection.connect();\n }\n return connection;\n });\n}\nexport function database() {\n return __awaiter(this, void 0, void 0, function* () {\n checkEnvironment();\n const connection = (globalThis[Symbol.for(\"kDatabaseDevkitConn\")] = yield connect());\n if (!ignoreWarnings() && \"TIMEOUT\" in process.env) {\n process.emitWarning(`As the structure of the data in the database is subject to change in any future release, we encourage you not to interact with the database directly.\\n` +\n `As an alternative, we recommend you to interact with the APIs through an API Key to do the same. \\n` +\n `Set NO_DEVKIT_DATABASE_WARNING environment variable to ignore this warning.`, \"FootgunWarning\");\n }\n const db = connection.db(process.env.__INTERNAL__SPICA__MONGODBNAME__);\n const collection = db.collection;\n db.collection = (...args) => {\n const coll = collection.call(db, ...args);\n coll.watch = util.deprecate(coll.watch, `It is not advised to use 'watch' under spica/functions environment. I hope that you know what you are doing.`);\n const findById = coll.findOne;\n coll[\"findById\"] = (id, ...args) => {\n const objectId = new ObjectId(id);\n return findById.bind(coll)({ _id: objectId }, ...args);\n };\n const findOne = coll.findOne;\n coll.findOne = (filter, ...args) => {\n validateDocs(filter);\n return findOne.bind(coll)(filter, ...args);\n };\n const find = coll.find;\n coll.find = (filter, ...args) => {\n validateDocs(filter);\n return find.bind(coll)(filter, ...args);\n };\n const findOneAndUpdate = coll.findOneAndUpdate;\n coll.findOneAndUpdate = (filter, update, ...args) => {\n validateDocs(filter);\n validateDocs(update);\n return findOneAndUpdate.bind(coll)(filter, update, ...args);\n };\n const findOneAndReplace = coll.findOneAndReplace;\n coll.findOneAndReplace = (filter, update, ...args) => {\n validateDocs(filter);\n validateDocs(update);\n return findOneAndReplace.bind(coll)(filter, update, ...args);\n };\n const findOneAndDelete = coll.findOneAndDelete;\n coll.findOneAndDelete = (filter, ...args) => {\n validateDocs(filter);\n return findOneAndDelete.bind(coll)(filter, ...args);\n };\n const insertOne = coll.insertOne;\n coll.insertOne = (doc, ...args) => {\n validateDocs(doc);\n return insertOne.bind(coll)(doc, ...args);\n };\n const insertMany = coll.insertMany;\n coll.insertMany = (docs, ...args) => {\n validateDocs(docs);\n return insertMany.bind(coll)(docs, ...args);\n };\n const updateOne = coll.updateOne;\n coll.updateOne = (filter, update, ...args) => {\n validateDocs(filter);\n validateDocs(update);\n return updateOne.bind(coll)(filter, update, ...args);\n };\n const updateMany = coll.updateMany;\n coll.updateMany = (filter, update, ...args) => {\n validateDocs(filter);\n validateDocs(update);\n return updateMany.bind(coll)(filter, update, ...args);\n };\n const deleteOne = coll.deleteOne;\n coll.deleteOne = (filter, ...args) => {\n validateDocs(filter);\n return deleteOne.bind(coll)(filter, ...args);\n };\n const deleteMany = coll.deleteMany;\n coll.deleteMany = (filter, ...args) => {\n validateDocs(filter);\n return deleteMany.bind(coll)(filter, ...args);\n };\n return coll;\n };\n return db;\n });\n}\nfunction validateDocs(doc) {\n if (!ignoreWarnings()) {\n Array.isArray(doc) ? checkDocuments(doc) : checkDocument(doc);\n }\n}\nexport function close(force, cb) {\n if (connection) {\n globalThis[Symbol.for(\"kDatabaseDevkitConn\")] = undefined;\n return connection.close(force, cb);\n }\n return typeof cb == \"function\" ? cb() : Promise.resolve();\n}\nexport function connected() {\n return connection && connection.isConnected();\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zdGFja3MvYXBpL2Z1bmN0aW9uL3BhY2thZ2VzL2RhdGFiYXNlL3NyYy9kYXRhYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUMsYUFBYSxFQUFFLGNBQWMsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUN0RCxPQUFPLEVBQUMsT0FBTyxFQUFXLE1BQU0sU0FBUyxDQUFDO0FBQzFDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFFcEMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO0lBQzNCLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7QUFDckMsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLFVBQVUsR0FBeUIsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDO0FBRXJGLFNBQVMsY0FBYztJQUNyQixPQUFPLDRCQUE0QixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUM7QUFDckQsQ0FBQztBQUVELFNBQVMsZ0JBQWdCO0lBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRTtRQUN4QixPQUFPLENBQUMsV0FBVyxDQUNqQiwyREFBMkQ7WUFDekQsNERBQTRELENBQy9ELENBQUM7S0FDSDtJQUVELE1BQU0sRUFDSiw2QkFBNkIsRUFBRSxHQUFHLEVBQ2xDLGdDQUFnQyxFQUFFLE1BQU0sRUFDekMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDO0lBRWhCLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDbkIsTUFBTSxJQUFJLEtBQUss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LEVBQUUsQ0FBQyxDQUFDO0tBQ3BDO0lBQ0QsT0FBTyxPQUFPLEVBQUUsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7QUFDNUQsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTO0lBQ3ZCLE9BQU8sVUFBVSxJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUNoRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXRpbCBmcm9tIFwidXRpbFwiO1xuaW1wb3J0IHtjaGVja0RvY3VtZW50LCBjaGVja0RvY3VtZW50c30gZnJvbSBcIi4vY2hlY2tcIjtcbmltcG9ydCB7bW9uZ29kYiwgX21vbmdvZGJ9IGZyb20gXCIuL21vbmdvXCI7XG5pbXBvcnQge09iamVjdElkfSBmcm9tIFwiLi9vYmplY3RpZFwiO1xuXG5wcm9jZXNzLm9uY2UoXCJTSUdURVJNXCIsICgpID0+IHtcbiAgY2xvc2UoZmFsc2UsICgpID0+IHByb2Nlc3MuZXhpdCgpKTtcbn0pO1xuXG5sZXQgY29ubmVjdGlvbjogX21vbmdvZGIuTW9uZ29DbGllbnQgPSBnbG9iYWxUaGlzW1N5bWJvbC5mb3IoXCJrRGF0YWJhc2VEZXZraXRDb25uXCIpXTtcblxuZnVuY3Rpb24gaWdub3JlV2FybmluZ3MoKSB7XG4gIHJldHVybiBcIk5PX0RFVktJVF9EQVRBQkFTRV9XQVJOSU5HXCIgaW4gcHJvY2Vzcy5lbnY7XG59XG5cbmZ1bmN0aW9uIGNoZWNrRW52aXJvbm1lbnQoKSB7XG4gIGlmICghcHJvY2Vzcy5lbnYuUlVOVElNRSkge1xuICAgIHByb2Nlc3MuZW1pdFdhcm5pbmcoXG4gICAgICBgU2VlbXMgbGlrZSB5b3UgYXJlIG5vdCB1bmRlciBzcGljYS9mdW5jdGlvbnMgZW52aXJvbm1lbnQuYCArXG4gICAgICAgIGBUaGlzIG1vZHVsZSBpcyBvbmx5IGRlc2lnbmVkIHRvIHdvcmsgd2l0aCBzcGljYS9mdW5jdGlvbnMuYFxuICAgICk7XG4gIH1cblxuICBjb25zdCB7XG4gICAgX19JTlRFUk5BTF9fU1BJQ0FfX01PTkdPVVJMX186IHVybCxcbiAgICBfX0lOVEVSTkFMX19TUElDQV9fTU9OR09EQk5BTUVfXzogZGJOYW1lXG4gIH0gPSBwcm9jZXNzLmVudjtcblxuICBpZiAoIXVybCB8fCAhZGJOYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYFRoZSA8X19JTlRFUk5BTF9fU1BJQ0FfX01PTkdPVVJMX18+IG9yIDxfX0lOVEVSTkFMX19TUElDQV9fTU9OR09EQk5BTUVfXz4gdmFyaWFibGVzIHdhcyBub3QgZ2l2ZW4uYFxuICAgICk7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gY29ubmVjdCgpOiBQcm9taXNlPF9tb25nb2RiLk1vbmdvQ2xpZW50PiB7XG4gIGlmICghY29ubmVjdGVkKCkpIHtcbiAgICBjb25uZWN0aW9uID0gbmV3IG1vbmdvZGIuTW9uZ29DbGllbnQocHJvY2Vzcy5lbnYuX19JTlRFUk5BTF9fU1BJQ0FfX01PTkdPVVJMX18sIHtcbiAgICAgIHJlcGxpY2FTZXQ6IHByb2Nlc3MuZW52Ll9fSU5URVJOQUxfX1NQSUNBX19NT05HT1JFUExfXyxcbiAgICAgIGFwcG5hbWU6IGBGdW5jdGlvbnMgb24gJHtwcm9jZXNzLmVudi5SVU5USU1FIHx8IFwidW5rbm93blwifSBydW50aW1lLmAsXG4gICAgICB1c2VOZXdVcmxQYXJzZXI6IHRydWUsXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICB1c2VVbmlmaWVkVG9wb2xvZ3k6IHRydWVcbiAgICB9KTtcbiAgfVxuICBpZiAoIWNvbm5lY3Rpb24uaXNDb25uZWN0ZWQoKSkge1xuICAgIGF3YWl0IGNvbm5lY3Rpb24uY29ubmVjdCgpO1xuICB9XG4gIHJldHVybiBjb25uZWN0aW9uO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGF0YWJhc2UoKTogUHJvbWlzZTxfbW9uZ29kYi5EYj4ge1xuICBjaGVja0Vudmlyb25tZW50KCk7XG5cbiAgY29uc3QgY29ubmVjdGlvbiA9IChnbG9iYWxUaGlzW1N5bWJvbC5mb3IoXCJrRGF0YWJhc2VEZXZraXRDb25uXCIpXSA9IGF3YWl0IGNvbm5lY3QoKSk7XG5cbiAgaWYgKCFpZ25vcmVXYXJuaW5ncygpICYmIFwiVElNRU9VVFwiIGluIHByb2Nlc3MuZW52KSB7XG4gICAgcHJvY2Vzcy5lbWl0V2FybmluZyhcbiAgICAgIGBBcyB0aGUgc3RydWN0dXJlIG9mIHRoZSBkYXRhIGluIHRoZSBkYXRhYmFzZSBpcyBzdWJqZWN0IHRvIGNoYW5nZSBpbiBhbnkgZnV0dXJlIHJlbGVhc2UsIHdlIGVuY291cmFnZSB5b3Ugbm90IHRvIGludGVyYWN0IHdpdGggdGhlIGRhdGFiYXNlIGRpcmVjdGx5LlxcbmAgK1xuICAgICAgICBgQXMgYW4gYWx0ZXJuYXRpdmUsIHdlIHJlY29tbWVuZCB5b3UgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgQVBJcyB0aHJvdWdoIGFuIEFQSSBLZXkgdG8gZG8gdGhlIHNhbWUuIFxcbmAgK1xuICAgICAgICBgU2V0IE5PX0RFVktJVF9EQVRBQkFTRV9XQVJOSU5HIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIGlnbm9yZSB0aGlzIHdhcm5pbmcuYCxcbiAgICAgIFwiRm9vdGd1bldhcm5pbmdcIlxuICAgICk7XG4gIH1cblxuICBjb25zdCBkYiA9IGNvbm5lY3Rpb24uZGIocHJvY2Vzcy5lbnYuX19JTlRFUk5BTF9fU1BJQ0FfX01PTkdPREJOQU1FX18pO1xuXG4gIGNvbnN0IGNvbGxlY3Rpb24gPSBkYi5jb2xsZWN0aW9uO1xuXG4gIGRiLmNvbGxlY3Rpb24gPSAoLi4uYXJncykgPT4ge1xuICAgIGNvbnN0IGNvbGw6IF9tb25nb2RiLkNvbGxlY3Rpb24gPSBjb2xsZWN0aW9uLmNhbGwoZGIsIC4uLmFyZ3MpO1xuICAgIGNvbGwud2F0Y2ggPSB1dGlsLmRlcHJlY2F0ZShcbiAgICAgIGNvbGwud2F0Y2gsXG4gICAgICBgSXQgaXMgbm90IGFkdmlzZWQgdG8gdXNlICd3YXRjaCcgdW5kZXIgc3BpY2EvZnVuY3Rpb25zIGVudmlyb25tZW50LiBJIGhvcGUgdGhhdCB5b3Uga25vdyB3aGF0IHlvdSBhcmUgZG9pbmcuYFxuICAgICk7XG5cbiAgICBjb25zdCBmaW5kQnlJZCA9IGNvbGwuZmluZE9uZTtcbiAgICBjb2xsW1wiZmluZEJ5SWRcIl0gPSAoaWQsIC4uLmFyZ3MpID0+IHtcbiAgICAgIGNvbnN0IG9iamVjdElkID0gbmV3IE9iamVjdElkKGlkKTtcbiAgICAgIHJldHVybiBmaW5kQnlJZC5iaW5kKGNvbGwpKHtfaWQ6IG9iamVjdElkfSwgLi4uYXJncyk7XG4gICAgfTtcblxuICAgIGNvbnN0IGZpbmRPbmUgPSBjb2xsLmZpbmRPbmU7XG4gICAgY29sbC5maW5kT25lID0gKGZpbHRlciwgLi4uYXJncykgPT4ge1xuICAgICAgdmFsaWRhdGVEb2NzKGZpbHRlcik7XG4gICAgICByZXR1cm4gZmluZE9uZS5iaW5kKGNvbGwpKGZpbHRlciwgLi4uYXJncyk7XG4gICAgfTtcbiAgICBjb25zdCBmaW5kID0gY29sbC5maW5kO1xuICAgIGNvbGwuZmluZCA9IChmaWx0ZXIsIC4uLmFyZ3MpID0+IHtcbiAgICAgIHZhbGlkYXRlRG9jcyhmaWx0ZXIpO1xuICAgICAgcmV0dXJuIGZpbmQuYmluZChjb2xsKShmaWx0ZXIsIC4uLmFyZ3MpO1xuICAgIH07XG4gICAgY29uc3QgZmluZE9uZUFuZFVwZGF0ZSA9IGNvbGwuZmluZE9uZUFuZFVwZGF0ZTtcbiAgICBjb2xsLmZpbmRPbmVBbmRVcGRhdGUgPSAoZmlsdGVyLCB1cGRhdGUsIC4uLmFyZ3MpID0+IHtcbiAgICAgIHZhbGlkYXRlRG9jcyhmaWx0ZXIpO1xuICAgICAgdmFsaWRhdGVEb2NzKHVwZGF0ZSk7XG4gICAgICByZXR1cm4gZmluZE9uZUFuZFVwZGF0ZS5iaW5kKGNvbGwpKGZpbHRlciwgdXBkYXRlLCAuLi5hcmdzKTtcbiAgICB9O1xuXG4gICAgY29uc3QgZmluZE9uZUFuZFJlcGxhY2UgPSBjb2xsLmZpbmRPbmVBbmRSZXBsYWNlO1xuICAgIGNvbGwuZmluZE9uZUFuZFJlcGxhY2UgPSAoZmlsdGVyLCB1cGRhdGUsIC4uLmFyZ3MpID0+IHtcbiAgICAgIHZhbGlkYXRlRG9jcyhmaWx0ZXIpO1xuICAgICAgdmFsaWRhdGVEb2NzKHVwZGF0ZSk7XG4gICAgICByZXR1cm4gZmluZE9uZUFuZFJlcGxhY2UuYmluZChjb2xsKShmaWx0ZXIsIHVwZGF0ZSwgLi4uYXJncyk7XG4gICAgfTtcblxuICAgIGNvbnN0IGZpbmRPbmVBbmREZWxldGUgPSBjb2xsLmZpbmRPbmVBbmREZWxldGU7XG4gICAgY29sbC5maW5kT25lQW5kRGVsZXRlID0gKGZpbHRlciwgLi4uYXJncykgPT4ge1xuICAgICAgdmFsaWRhdGVEb2NzKGZpbHRlcik7XG4gICAgICByZXR1cm4gZmluZE9uZUFuZERlbGV0ZS5iaW5kKGNvbGwpKGZpbHRlciwgLi4uYXJncyk7XG4gICAgfTtcblxuICAgIGNvbnN0IGluc2VydE9uZSA9IGNvbGwuaW5zZXJ0T25lO1xuICAgIGNvbGwuaW5zZXJ0T25lID0gKGRvYywgLi4uYXJncykgPT4ge1xuICAgICAgdmFsaWRhdGVEb2NzKGRvYyk7XG4gICAgICByZXR1cm4gaW5zZXJ0T25lLmJpbmQoY29sbCkoZG9jLCAuLi5hcmdzKTtcbiAgICB9O1xuICAgIGNvbnN0IGluc2VydE1hbnkgPSBjb2xsLmluc2VydE1hbnk7XG4gICAgY29sbC5pbnNlcnRNYW55ID0gKGRvY3MsIC4uLmFyZ3MpID0+IHtcbiAgICAgIHZhbGlkYXRlRG9jcyhkb2NzKTtcbiAgICAgIHJldHVybiBpbnNlcnRNYW55LmJpbmQoY29sbCkoZG9jcywgLi4uYXJncyk7XG4gICAgfTtcbiAgICBjb25zdCB1cGRhdGVPbmUgPSBjb2xsLnVwZGF0ZU9uZTtcbiAgICBjb2xsLnVwZGF0ZU9uZSA9IChmaWx0ZXIsIHVwZGF0ZSwgLi4uYXJncykgPT4ge1xuICAgICAgdmFsaWRhdGVEb2NzKGZpbHRlcik7XG4gICAgICB2YWxpZGF0ZURvY3ModXBkYXRlKTtcbiAgICAgIHJldHVybiB1cGRhdGVPbmUuYmluZChjb2xsKShmaWx0ZXIsIHVwZGF0ZSwgLi4uYXJncyk7XG4gICAgfTtcblxuICAgIGNvbnN0IHVwZGF0ZU1hbnkgPSBjb2xsLnVwZGF0ZU1hbnk7XG4gICAgY29sbC51cGRhdGVNYW55ID0gKGZpbHRlciwgdXBkYXRlLCAuLi5hcmdzKSA9PiB7XG4gICAgICB2YWxpZGF0ZURvY3MoZmlsdGVyKTtcbiAgICAgIHZhbGlkYXRlRG9jcyh1cGRhdGUpO1xuICAgICAgcmV0dXJuIHVwZGF0ZU1hbnkuYmluZChjb2xsKShmaWx0ZXIsIHVwZGF0ZSwgLi4uYXJncyk7XG4gICAgfTtcblxuICAgIGNvbnN0IGRlbGV0ZU9uZSA9IGNvbGwuZGVsZXRlT25lO1xuICAgIGNvbGwuZGVsZXRlT25lID0gKGZpbHRlciwgLi4uYXJncykgPT4ge1xuICAgICAgdmFsaWRhdGVEb2NzKGZpbHRlcik7XG4gICAgICByZXR1cm4gZGVsZXRlT25lLmJpbmQoY29sbCkoZmlsdGVyLCAuLi5hcmdzKTtcbiAgICB9O1xuXG4gICAgY29uc3QgZGVsZXRlTWFueSA9IGNvbGwuZGVsZXRlTWFueTtcbiAgICBjb2xsLmRlbGV0ZU1hbnkgPSAoZmlsdGVyLCAuLi5hcmdzKSA9PiB7XG4gICAgICB2YWxpZGF0ZURvY3MoZmlsdGVyKTtcbiAgICAgIHJldHVybiBkZWxldGVNYW55LmJpbmQoY29sbCkoZmlsdGVyLCAuLi5hcmdzKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGNvbGw7XG4gIH07XG5cbiAgcmV0dXJuIGRiO1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZURvY3MoZG9jOiBvYmplY3QgfCBvYmplY3RbXSkge1xuICBpZiAoIWlnbm9yZVdhcm5pbmdzKCkpIHtcbiAgICBBcnJheS5pc0FycmF5KGRvYykgPyBjaGVja0RvY3VtZW50cyhkb2MpIDogY2hlY2tEb2N1bWVudChkb2MpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbG9zZShmb3JjZT86IGJvb2xlYW4sIGNiPzogKC4uLmFyZ3M6IGFueSkgPT4gdm9pZCk6IFByb21pc2U8dm9pZD4gfCB2b2lkIHtcbiAgaWYgKGNvbm5lY3Rpb24pIHtcbiAgICBnbG9iYWxUaGlzW1N5bWJvbC5mb3IoXCJrRGF0YWJhc2VEZXZraXRDb25uXCIpXSA9IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gY29ubmVjdGlvbi5jbG9zZShmb3JjZSwgY2IpO1xuICB9XG4gIHJldHVybiB0eXBlb2YgY2IgPT0gXCJmdW5jdGlvblwiID8gY2IoKSA6IFByb21pc2UucmVzb2x2ZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29ubmVjdGVkKCkge1xuICByZXR1cm4gY29ubmVjdGlvbiAmJiBjb25uZWN0aW9uLmlzQ29ubmVjdGVkKCk7XG59XG4iXX0="],"names":["util.deprecate","this"],"mappings":";;;;;;AAAA,IAAI,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC;;ACCzH,SAAS,WAAW,CAAC,IAAI,EAAE;AAC3B,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,+BAA+B,EAAE,IAAI,CAAC,+BAA+B,CAAC;AAC/F,QAAQ,CAAC,0DAA0D,CAAC;AACpE,QAAQ,CAAC,kDAAkD,CAAC,CAAC,CAAC;AAC9D,CAAC;AACM,SAAS,aAAa,CAAC,QAAQ,EAAE,IAAI,GAAG,SAAS,EAAE;AAC1D,IAAI,IAAI,QAAQ,YAAY,OAAO,CAAC,QAAQ,EAAE;AAC9C;AACA,QAAQ,IAAI,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACrD,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC;AAC1B,KAAK;AACL,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AACtC,QAAQ,KAAK,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE;AAC/D,YAAY,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChF,YAAY,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAChD,SAAS;AACT,KAAK;AACL,SAAS,IAAI,OAAO,QAAQ,IAAI,QAAQ,EAAE;AAC1C,QAAQ,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;AACpC,YAAY,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC9C,YAAY,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9E,YAAY,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAChD,SAAS;AACT,KAAK;AACL,CAAC;AACM,SAAS,cAAc,CAAC,SAAS,EAAE;AAC1C,IAAI,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE;AACzD,QAAQ,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/C,KAAK;AACL;;AC9BY,MAAC,QAAQ,GAAGA,cAAc,CAAC,CAAC,EAAE,KAAK;AAC/C,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACpC,CAAC,EAAE,gEAAgE,EAAE;AACzD,MAAC,QAAQ,GAAG,OAAO,CAAC;;ACLhC,IAAI,SAAS,GAAG,CAACC,SAAI,IAAIA,SAAI,CAAC,SAAS,KAAK,UAAU,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE;AACzF,IAAI,SAAS,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;AAChH,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAE;AAC/D,QAAQ,SAAS,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;AACnG,QAAQ,SAAS,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;AACtG,QAAQ,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;AACtH,QAAQ,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9E,KAAK,CAAC,CAAC;AACP,CAAC,CAAC;AAKF,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM;AAC9B,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AACH,IAAI,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAC/D,SAAS,cAAc,GAAG;AAC1B,IAAI,OAAO,4BAA4B,IAAI,OAAO,CAAC,GAAG,CAAC;AACvD,CAAC;AACD,SAAS,gBAAgB,GAAG;AAC5B,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE;AAC9B,QAAQ,OAAO,CAAC,WAAW,CAAC,CAAC,yDAAyD,CAAC;AACvF,YAAY,CAAC,0DAA0D,CAAC,CAAC,CAAC;AAC1E,KAAK;AACL,IAAI,MAAM,EAAE,6BAA6B,EAAE,GAAG,EAAE,gCAAgC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AACzG,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;AACzB,QAAQ,MAAM,IAAI,KAAK,CAAC,CAAC,kGAAkG,CAAC,CAAC,CAAC;AAC9H,KAAK;AACL,CAAC;AACD,SAAS,OAAO,GAAG;AACnB,IAAI,OAAO,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,aAAa;AACxD,QAAQ,IAAI,CAAC,SAAS,EAAE,EAAE;AAC1B,YAAY,UAAU,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE;AAC5F,gBAAgB,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B;AACtE,gBAAgB,OAAO,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC,SAAS,CAAC;AACpF,gBAAgB,eAAe,EAAE,IAAI;AACrC;AACA,gBAAgB,kBAAkB,EAAE,IAAI;AACxC,aAAa,CAAC,CAAC;AACf,SAAS;AACT,QAAQ,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE;AACvC,YAAY,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;AACvC,SAAS;AACT,QAAQ,OAAO,UAAU,CAAC;AAC1B,KAAK,CAAC,CAAC;AACP,CAAC;AACM,SAAS,QAAQ,GAAG;AAC3B,IAAI,OAAO,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,aAAa;AACxD,QAAQ,gBAAgB,EAAE,CAAC;AAC3B,QAAQ,MAAM,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC;AAC7F,QAAQ,IAAI,CAAC,cAAc,EAAE,IAAI,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE;AAC3D,YAAY,OAAO,CAAC,WAAW,CAAC,CAAC,uJAAuJ,CAAC;AACzL,gBAAgB,CAAC,mGAAmG,CAAC;AACrH,gBAAgB,CAAC,2EAA2E,CAAC,EAAE,gBAAgB,CAAC,CAAC;AACjH,SAAS;AACT,QAAQ,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;AAC/E,QAAQ,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;AACzC,QAAQ,EAAE,CAAC,UAAU,GAAG,CAAC,GAAG,IAAI,KAAK;AACrC,YAAY,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;AACtD,YAAY,IAAI,CAAC,KAAK,GAAGD,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,4GAA4G,CAAC,CAAC,CAAC;AACpK,YAAY,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;AAC1C,YAAY,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,KAAK;AAChD,gBAAgB,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC;AAClD,gBAAgB,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;AACvE,aAAa,CAAC;AACd,YAAY,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AACzC,YAAY,IAAI,CAAC,OAAO,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,KAAK;AAChD,gBAAgB,YAAY,CAAC,MAAM,CAAC,CAAC;AACrC,gBAAgB,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;AAC3D,aAAa,CAAC;AACd,YAAY,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AACnC,YAAY,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,KAAK;AAC7C,gBAAgB,YAAY,CAAC,MAAM,CAAC,CAAC;AACrC,gBAAgB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;AACxD,aAAa,CAAC;AACd,YAAY,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAC3D,YAAY,IAAI,CAAC,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,KAAK;AACjE,gBAAgB,YAAY,CAAC,MAAM,CAAC,CAAC;AACrC,gBAAgB,YAAY,CAAC,MAAM,CAAC,CAAC;AACrC,gBAAgB,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;AAC5E,aAAa,CAAC;AACd,YAAY,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;AAC7D,YAAY,IAAI,CAAC,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,KAAK;AAClE,gBAAgB,YAAY,CAAC,MAAM,CAAC,CAAC;AACrC,gBAAgB,YAAY,CAAC,MAAM,CAAC,CAAC;AACrC,gBAAgB,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;AAC7E,aAAa,CAAC;AACd,YAAY,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAC3D,YAAY,IAAI,CAAC,gBAAgB,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,KAAK;AACzD,gBAAgB,YAAY,CAAC,MAAM,CAAC,CAAC;AACrC,gBAAgB,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;AACpE,aAAa,CAAC;AACd,YAAY,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AAC7C,YAAY,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,KAAK;AAC/C,gBAAgB,YAAY,CAAC,GAAG,CAAC,CAAC;AAClC,gBAAgB,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AAC1D,aAAa,CAAC;AACd,YAAY,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AAC/C,YAAY,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,KAAK;AACjD,gBAAgB,YAAY,CAAC,IAAI,CAAC,CAAC;AACnC,gBAAgB,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;AAC5D,aAAa,CAAC;AACd,YAAY,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AAC7C,YAAY,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,KAAK;AAC1D,gBAAgB,YAAY,CAAC,MAAM,CAAC,CAAC;AACrC,gBAAgB,YAAY,CAAC,MAAM,CAAC,CAAC;AACrC,gBAAgB,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;AACrE,aAAa,CAAC;AACd,YAAY,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AAC/C,YAAY,IAAI,CAAC,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,KAAK;AAC3D,gBAAgB,YAAY,CAAC,MAAM,CAAC,CAAC;AACrC,gBAAgB,YAAY,CAAC,MAAM,CAAC,CAAC;AACrC,gBAAgB,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;AACtE,aAAa,CAAC;AACd,YAAY,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AAC7C,YAAY,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,KAAK;AAClD,gBAAgB,YAAY,CAAC,MAAM,CAAC,CAAC;AACrC,gBAAgB,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;AAC7D,aAAa,CAAC;AACd,YAAY,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AAC/C,YAAY,IAAI,CAAC,UAAU,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,KAAK;AACnD,gBAAgB,YAAY,CAAC,MAAM,CAAC,CAAC;AACrC,gBAAgB,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;AAC9D,aAAa,CAAC;AACd,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS,CAAC;AACV,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK,CAAC,CAAC;AACP,CAAC;AACD,SAAS,YAAY,CAAC,GAAG,EAAE;AAC3B,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;AAC3B,QAAQ,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;AACtE,KAAK;AACL,CAAC;AACM,SAAS,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE;AACjC,IAAI,IAAI,UAAU,EAAE;AACpB,QAAQ,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,GAAG,SAAS,CAAC;AAClE,QAAQ,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC3C,KAAK;AACL,IAAI,OAAO,OAAO,EAAE,IAAI,UAAU,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;AAC9D,CAAC;AACM,SAAS,SAAS,GAAG;AAC5B,IAAI,OAAO,UAAU,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;AAClD;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/mongo.js","../src/check.js","../src/objectid.js","../src/database.js","../src/index.js","../index.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mongodb = void 0;\nlet mongodb = globalThis[Symbol.for(\"kDatabaseDevkit\")] = globalThis[Symbol.for(\"kDatabaseDevkit\")] || require(\"mongodb\");\nexports.mongodb = mongodb;\n;\n//# sourceMappingURL=mongo.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.checkDocuments = exports.checkDocument = void 0;\nconst mongo_1 = require(\"./mongo\");\nfunction emitWarning(path) {\n process.emitWarning(`Property in the document path '${path}' contains an ObjectId value.\\n` +\n `This may lead to some inconsistencies within the system.\\n` +\n `You may want to cast it to string before using it.`);\n}\nfunction checkDocument(document, path = undefined) {\n if (document instanceof mongo_1.mongodb.ObjectId) {\n if (/^(\\d\\._id|_id|\\$.*?\\._id)$/.test(path)) {\n return;\n }\n emitWarning(path);\n }\n else if (Array.isArray(document)) {\n for (const [index, subDocument] of document.entries()) {\n const subPath = [path, index].filter(r => r != undefined).join(\".\");\n checkDocument(subDocument, subPath);\n }\n }\n else if (typeof document == \"object\") {\n for (const key in document) {\n const subDocument = document[key];\n const subPath = [path, key].filter(r => r != undefined).join(\".\");\n checkDocument(subDocument, subPath);\n }\n }\n}\nexports.checkDocument = checkDocument;\nfunction checkDocuments(documents) {\n for (const [index, document] of documents.entries()) {\n checkDocument(document, String(index));\n }\n}\nexports.checkDocuments = checkDocuments;\n//# sourceMappingURL=check.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ObjectId = exports.objectId = void 0;\nconst util = require(\"util\");\nconst mongo_1 = require(\"./mongo\");\nexports.objectId = util.deprecate((id) => {\n return new mongo_1.mongodb.ObjectId(id);\n}, \"objectId is deprecated, please replace it with ObjectId class.\");\nexports.ObjectId = mongo_1.mongodb.ObjectId;\n//# sourceMappingURL=objectid.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.connected = exports.close = exports.database = void 0;\nconst util = require(\"util\");\nconst check_1 = require(\"./check\");\nconst mongo_1 = require(\"./mongo\");\nconst objectid_1 = require(\"./objectid\");\nprocess.once(\"SIGTERM\", () => {\n close(false, () => process.exit());\n});\nlet connection = globalThis[Symbol.for(\"kDatabaseDevkitConn\")];\nfunction ignoreWarnings() {\n return \"NO_DEVKIT_DATABASE_WARNING\" in process.env;\n}\nfunction checkEnvironment() {\n if (!process.env.RUNTIME) {\n process.emitWarning(`Seems like you are not under spica/functions environment.` +\n `This module is only designed to work with spica/functions.`);\n }\n const { __INTERNAL__SPICA__MONGOURL__: url, __INTERNAL__SPICA__MONGODBNAME__: dbName } = process.env;\n if (!url || !dbName) {\n throw new Error(`The <__INTERNAL__SPICA__MONGOURL__> or <__INTERNAL__SPICA__MONGODBNAME__> variables was not given.`);\n }\n}\nasync function connect() {\n if (!connected()) {\n connection = new mongo_1.mongodb.MongoClient(process.env.__INTERNAL__SPICA__MONGOURL__, {\n replicaSet: process.env.__INTERNAL__SPICA__MONGOREPL__,\n appname: `Functions on ${process.env.RUNTIME || \"unknown\"} runtime.`,\n useNewUrlParser: true,\n useUnifiedTopology: true\n });\n }\n if (!connection.isConnected()) {\n await connection.connect();\n }\n return connection;\n}\nasync function database() {\n checkEnvironment();\n const connection = (globalThis[Symbol.for(\"kDatabaseDevkitConn\")] = await connect());\n if (!ignoreWarnings() && \"TIMEOUT\" in process.env) {\n process.emitWarning(`As the structure of the data in the database is subject to change in any future release, we encourage you not to interact with the database directly.\\n` +\n `As an alternative, we recommend you to interact with the APIs through an API Key to do the same. \\n` +\n `Set NO_DEVKIT_DATABASE_WARNING environment variable to ignore this warning.`, \"FootgunWarning\");\n }\n const db = connection.db(process.env.__INTERNAL__SPICA__MONGODBNAME__);\n const collection = db.collection;\n db.collection = (...args) => {\n const coll = collection.call(db, ...args);\n coll.watch = util.deprecate(coll.watch, `It is not advised to use 'watch' under spica/functions environment. I hope that you know what you are doing.`);\n const findById = coll.findOne;\n coll[\"findById\"] = (id, ...args) => {\n const objectId = new objectid_1.ObjectId(id);\n return findById.bind(coll)({ _id: objectId }, ...args);\n };\n const findOne = coll.findOne;\n coll.findOne = (filter, ...args) => {\n validateDocs(filter);\n return findOne.bind(coll)(filter, ...args);\n };\n const find = coll.find;\n coll.find = (filter, ...args) => {\n validateDocs(filter);\n return find.bind(coll)(filter, ...args);\n };\n const findOneAndUpdate = coll.findOneAndUpdate;\n coll.findOneAndUpdate = (filter, update, ...args) => {\n validateDocs(filter);\n validateDocs(update);\n return findOneAndUpdate.bind(coll)(filter, update, ...args);\n };\n const findOneAndReplace = coll.findOneAndReplace;\n coll.findOneAndReplace = (filter, update, ...args) => {\n validateDocs(filter);\n validateDocs(update);\n return findOneAndReplace.bind(coll)(filter, update, ...args);\n };\n const findOneAndDelete = coll.findOneAndDelete;\n coll.findOneAndDelete = (filter, ...args) => {\n validateDocs(filter);\n return findOneAndDelete.bind(coll)(filter, ...args);\n };\n const insertOne = coll.insertOne;\n coll.insertOne = (doc, ...args) => {\n validateDocs(doc);\n return insertOne.bind(coll)(doc, ...args);\n };\n const insertMany = coll.insertMany;\n coll.insertMany = (docs, ...args) => {\n validateDocs(docs);\n return insertMany.bind(coll)(docs, ...args);\n };\n const updateOne = coll.updateOne;\n coll.updateOne = (filter, update, ...args) => {\n validateDocs(filter);\n validateDocs(update);\n return updateOne.bind(coll)(filter, update, ...args);\n };\n const updateMany = coll.updateMany;\n coll.updateMany = (filter, update, ...args) => {\n validateDocs(filter);\n validateDocs(update);\n return updateMany.bind(coll)(filter, update, ...args);\n };\n const deleteOne = coll.deleteOne;\n coll.deleteOne = (filter, ...args) => {\n validateDocs(filter);\n return deleteOne.bind(coll)(filter, ...args);\n };\n const deleteMany = coll.deleteMany;\n coll.deleteMany = (filter, ...args) => {\n validateDocs(filter);\n return deleteMany.bind(coll)(filter, ...args);\n };\n return coll;\n };\n return db;\n}\nexports.database = database;\nfunction validateDocs(doc) {\n if (!ignoreWarnings()) {\n Array.isArray(doc) ? check_1.checkDocuments(doc) : check_1.checkDocument(doc);\n }\n}\nfunction close(force, cb) {\n if (connection) {\n globalThis[Symbol.for(\"kDatabaseDevkitConn\")] = undefined;\n return connection.close(force, cb);\n }\n return typeof cb == \"function\" ? cb() : Promise.resolve();\n}\nexports.close = close;\nfunction connected() {\n return connection && connection.isConnected();\n}\nexports.connected = connected;\n//# sourceMappingURL=database.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./database\"), exports);\n__exportStar(require(\"./objectid\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./src/index\"), exports);\n//# sourceMappingURL=index.js.map"],"names":["require$$0","mongo_1","util","objectid_1","check_1","this","require$$1"],"mappings":"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"}