parse-server 8.0.0-alpha.2 → 8.0.0-alpha.4

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.
@@ -11,10 +11,18 @@ var _path = _interopRequireDefault(require("path"));
11
11
  var _fs = _interopRequireDefault(require("fs"));
12
12
  var _querystring = _interopRequireDefault(require("querystring"));
13
13
  var _node = require("parse/node");
14
+ var _Deprecator = _interopRequireDefault(require("../Deprecator/Deprecator"));
14
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
16
  const public_html = _path.default.resolve(__dirname, '../../public_html');
16
17
  const views = _path.default.resolve(__dirname, '../../views');
17
18
  class PublicAPIRouter extends _PromiseRouter.default {
19
+ constructor() {
20
+ super();
21
+ _Deprecator.default.logRuntimeDeprecation({
22
+ usage: 'PublicAPIRouter',
23
+ solution: 'pages.enableRouter'
24
+ });
25
+ }
18
26
  verifyEmail(req) {
19
27
  const {
20
28
  username,
@@ -259,4 +267,4 @@ class PublicAPIRouter extends _PromiseRouter.default {
259
267
  }
260
268
  exports.PublicAPIRouter = PublicAPIRouter;
261
269
  var _default = exports.default = PublicAPIRouter;
262
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfUHJvbWlzZVJvdXRlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX0NvbmZpZyIsIl9leHByZXNzIiwiX3BhdGgiLCJfZnMiLCJfcXVlcnlzdHJpbmciLCJfbm9kZSIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsInB1YmxpY19odG1sIiwicGF0aCIsInJlc29sdmUiLCJfX2Rpcm5hbWUiLCJ2aWV3cyIsIlB1YmxpY0FQSVJvdXRlciIsIlByb21pc2VSb3V0ZXIiLCJ2ZXJpZnlFbWFpbCIsInJlcSIsInVzZXJuYW1lIiwidG9rZW4iLCJyYXdUb2tlbiIsInF1ZXJ5IiwidG9TdHJpbmciLCJhcHBJZCIsInBhcmFtcyIsImNvbmZpZyIsIkNvbmZpZyIsImdldCIsImludmFsaWRSZXF1ZXN0IiwicHVibGljU2VydmVyVVJMIiwibWlzc2luZ1B1YmxpY1NlcnZlclVSTCIsImludmFsaWRMaW5rIiwidXNlckNvbnRyb2xsZXIiLCJ0aGVuIiwicXMiLCJzdHJpbmdpZnkiLCJQcm9taXNlIiwic3RhdHVzIiwibG9jYXRpb24iLCJ2ZXJpZnlFbWFpbFN1Y2Nlc3NVUkwiLCJpbnZhbGlkVmVyaWZpY2F0aW9uTGluayIsInJlc2VuZFZlcmlmaWNhdGlvbkVtYWlsIiwiYm9keSIsImxpbmtTZW5kU3VjY2Vzc1VSTCIsImxpbmtTZW5kRmFpbFVSTCIsImNoYW5nZVBhc3N3b3JkIiwicmVqZWN0IiwiaWQiLCJ0ZXh0IiwiZnMiLCJyZWFkRmlsZSIsImVyciIsImRhdGEiLCJyZXBsYWNlIiwicmVxdWVzdFJlc2V0UGFzc3dvcmQiLCJjaGVja1Jlc2V0VG9rZW5WYWxpZGl0eSIsImFwcGxpY2F0aW9uSWQiLCJhcHAiLCJhcHBOYW1lIiwiY2hvb3NlUGFzc3dvcmRVUkwiLCJyZXNldFBhc3N3b3JkIiwibmV3X3Bhc3N3b3JkIiwieGhyIiwiUGFyc2UiLCJFcnJvciIsIlVTRVJOQU1FX01JU1NJTkciLCJPVEhFUl9DQVVTRSIsIlBBU1NXT1JEX01JU1NJTkciLCJ1cGRhdGVQYXNzd29yZCIsInN1Y2Nlc3MiLCJyZXN1bHQiLCJlcnJvciIsInJlc3BvbnNlIiwiZW5jb2RlZFVzZXJuYW1lIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwicGFzc3dvcmRSZXNldFN1Y2Nlc3NVUkwiLCJpbnZhbGlkTGlua1VSTCIsImludmFsaWRWZXJpZmljYXRpb25MaW5rVVJMIiwibWVzc2FnZSIsInNldENvbmZpZyIsIm1vdW50Um91dGVzIiwicm91dGUiLCJleHByZXNzUm91dGVyIiwicm91dGVyIiwiZXhwcmVzcyIsIlJvdXRlciIsInVzZSIsInN0YXRpYyIsImV4cG9ydHMiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Sb3V0ZXJzL1B1YmxpY0FQSVJvdXRlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUHJvbWlzZVJvdXRlciBmcm9tICcuLi9Qcm9taXNlUm91dGVyJztcbmltcG9ydCBDb25maWcgZnJvbSAnLi4vQ29uZmlnJztcbmltcG9ydCBleHByZXNzIGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHFzIGZyb20gJ3F1ZXJ5c3RyaW5nJztcbmltcG9ydCB7IFBhcnNlIH0gZnJvbSAncGFyc2Uvbm9kZSc7XG5cbmNvbnN0IHB1YmxpY19odG1sID0gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4uLy4uL3B1YmxpY19odG1sJyk7XG5jb25zdCB2aWV3cyA9IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLi8uLi92aWV3cycpO1xuXG5leHBvcnQgY2xhc3MgUHVibGljQVBJUm91dGVyIGV4dGVuZHMgUHJvbWlzZVJvdXRlciB7XG4gIHZlcmlmeUVtYWlsKHJlcSkge1xuICAgIGNvbnN0IHsgdXNlcm5hbWUsIHRva2VuOiByYXdUb2tlbiB9ID0gcmVxLnF1ZXJ5O1xuICAgIGNvbnN0IHRva2VuID0gcmF3VG9rZW4gJiYgdHlwZW9mIHJhd1Rva2VuICE9PSAnc3RyaW5nJyA/IHJhd1Rva2VuLnRvU3RyaW5nKCkgOiByYXdUb2tlbjtcblxuICAgIGNvbnN0IGFwcElkID0gcmVxLnBhcmFtcy5hcHBJZDtcbiAgICBjb25zdCBjb25maWcgPSBDb25maWcuZ2V0KGFwcElkKTtcblxuICAgIGlmICghY29uZmlnKSB7XG4gICAgICB0aGlzLmludmFsaWRSZXF1ZXN0KCk7XG4gICAgfVxuXG4gICAgaWYgKCFjb25maWcucHVibGljU2VydmVyVVJMKSB7XG4gICAgICByZXR1cm4gdGhpcy5taXNzaW5nUHVibGljU2VydmVyVVJMKCk7XG4gICAgfVxuXG4gICAgaWYgKCF0b2tlbiB8fCAhdXNlcm5hbWUpIHtcbiAgICAgIHJldHVybiB0aGlzLmludmFsaWRMaW5rKHJlcSk7XG4gICAgfVxuXG4gICAgY29uc3QgdXNlckNvbnRyb2xsZXIgPSBjb25maWcudXNlckNvbnRyb2xsZXI7XG4gICAgcmV0dXJuIHVzZXJDb250cm9sbGVyLnZlcmlmeUVtYWlsKHVzZXJuYW1lLCB0b2tlbikudGhlbihcbiAgICAgICgpID0+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gcXMuc3RyaW5naWZ5KHsgdXNlcm5hbWUgfSk7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICAgIHN0YXR1czogMzAyLFxuICAgICAgICAgIGxvY2F0aW9uOiBgJHtjb25maWcudmVyaWZ5RW1haWxTdWNjZXNzVVJMfT8ke3BhcmFtc31gLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmludmFsaWRWZXJpZmljYXRpb25MaW5rKHJlcSk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHJlc2VuZFZlcmlmaWNhdGlvbkVtYWlsKHJlcSkge1xuICAgIGNvbnN0IHVzZXJuYW1lID0gcmVxLmJvZHkudXNlcm5hbWU7XG4gICAgY29uc3QgYXBwSWQgPSByZXEucGFyYW1zLmFwcElkO1xuICAgIGNvbnN0IGNvbmZpZyA9IENvbmZpZy5nZXQoYXBwSWQpO1xuXG4gICAgaWYgKCFjb25maWcpIHtcbiAgICAgIHRoaXMuaW52YWxpZFJlcXVlc3QoKTtcbiAgICB9XG5cbiAgICBpZiAoIWNvbmZpZy5wdWJsaWNTZXJ2ZXJVUkwpIHtcbiAgICAgIHJldHVybiB0aGlzLm1pc3NpbmdQdWJsaWNTZXJ2ZXJVUkwoKTtcbiAgICB9XG5cbiAgICBpZiAoIXVzZXJuYW1lKSB7XG4gICAgICByZXR1cm4gdGhpcy5pbnZhbGlkTGluayhyZXEpO1xuICAgIH1cblxuICAgIGNvbnN0IHVzZXJDb250cm9sbGVyID0gY29uZmlnLnVzZXJDb250cm9sbGVyO1xuXG4gICAgcmV0dXJuIHVzZXJDb250cm9sbGVyLnJlc2VuZFZlcmlmaWNhdGlvbkVtYWlsKHVzZXJuYW1lLCByZXEpLnRoZW4oXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICAgIHN0YXR1czogMzAyLFxuICAgICAgICAgIGxvY2F0aW9uOiBgJHtjb25maWcubGlua1NlbmRTdWNjZXNzVVJMfWAsXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgICgpID0+IHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAgICAgc3RhdHVzOiAzMDIsXG4gICAgICAgICAgbG9jYXRpb246IGAke2NvbmZpZy5saW5rU2VuZEZhaWxVUkx9YCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIGNoYW5nZVBhc3N3b3JkKHJlcSkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBjb25maWcgPSBDb25maWcuZ2V0KHJlcS5xdWVyeS5pZCk7XG5cbiAgICAgIGlmICghY29uZmlnKSB7XG4gICAgICAgIHRoaXMuaW52YWxpZFJlcXVlc3QoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFjb25maWcucHVibGljU2VydmVyVVJMKSB7XG4gICAgICAgIHJldHVybiByZXNvbHZlKHtcbiAgICAgICAgICBzdGF0dXM6IDQwNCxcbiAgICAgICAgICB0ZXh0OiAnTm90IGZvdW5kLicsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgLy8gU2hvdWxkIHdlIGtlZXAgdGhlIGZpbGUgaW4gbWVtb3J5IG9yIGxlYXZlIGxpa2UgdGhhdD9cbiAgICAgIGZzLnJlYWRGaWxlKHBhdGgucmVzb2x2ZSh2aWV3cywgJ2Nob29zZV9wYXNzd29yZCcpLCAndXRmLTgnLCAoZXJyLCBkYXRhKSA9PiB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICByZXR1cm4gcmVqZWN0KGVycik7XG4gICAgICAgIH1cbiAgICAgICAgZGF0YSA9IGRhdGEucmVwbGFjZSgnUEFSU0VfU0VSVkVSX1VSTCcsIGAnJHtjb25maWcucHVibGljU2VydmVyVVJMfSdgKTtcbiAgICAgICAgcmVzb2x2ZSh7XG4gICAgICAgICAgdGV4dDogZGF0YSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlcXVlc3RSZXNldFBhc3N3b3JkKHJlcSkge1xuICAgIGNvbnN0IGNvbmZpZyA9IHJlcS5jb25maWc7XG5cbiAgICBpZiAoIWNvbmZpZykge1xuICAgICAgdGhpcy5pbnZhbGlkUmVxdWVzdCgpO1xuICAgIH1cblxuICAgIGlmICghY29uZmlnLnB1YmxpY1NlcnZlclVSTCkge1xuICAgICAgcmV0dXJuIHRoaXMubWlzc2luZ1B1YmxpY1NlcnZlclVSTCgpO1xuICAgIH1cblxuICAgIGNvbnN0IHsgdXNlcm5hbWUsIHRva2VuOiByYXdUb2tlbiB9ID0gcmVxLnF1ZXJ5O1xuICAgIGNvbnN0IHRva2VuID0gcmF3VG9rZW4gJiYgdHlwZW9mIHJhd1Rva2VuICE9PSAnc3RyaW5nJyA/IHJhd1Rva2VuLnRvU3RyaW5nKCkgOiByYXdUb2tlbjtcblxuICAgIGlmICghdXNlcm5hbWUgfHwgIXRva2VuKSB7XG4gICAgICByZXR1cm4gdGhpcy5pbnZhbGlkTGluayhyZXEpO1xuICAgIH1cblxuICAgIHJldHVybiBjb25maWcudXNlckNvbnRyb2xsZXIuY2hlY2tSZXNldFRva2VuVmFsaWRpdHkodXNlcm5hbWUsIHRva2VuKS50aGVuKFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBxcy5zdHJpbmdpZnkoe1xuICAgICAgICAgIHRva2VuLFxuICAgICAgICAgIGlkOiBjb25maWcuYXBwbGljYXRpb25JZCxcbiAgICAgICAgICB1c2VybmFtZSxcbiAgICAgICAgICBhcHA6IGNvbmZpZy5hcHBOYW1lLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAgICAgc3RhdHVzOiAzMDIsXG4gICAgICAgICAgbG9jYXRpb246IGAke2NvbmZpZy5jaG9vc2VQYXNzd29yZFVSTH0/JHtwYXJhbXN9YCxcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnZhbGlkTGluayhyZXEpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICByZXNldFBhc3N3b3JkKHJlcSkge1xuICAgIGNvbnN0IGNvbmZpZyA9IHJlcS5jb25maWc7XG5cbiAgICBpZiAoIWNvbmZpZykge1xuICAgICAgdGhpcy5pbnZhbGlkUmVxdWVzdCgpO1xuICAgIH1cblxuICAgIGlmICghY29uZmlnLnB1YmxpY1NlcnZlclVSTCkge1xuICAgICAgcmV0dXJuIHRoaXMubWlzc2luZ1B1YmxpY1NlcnZlclVSTCgpO1xuICAgIH1cblxuICAgIGNvbnN0IHsgdXNlcm5hbWUsIG5ld19wYXNzd29yZCwgdG9rZW46IHJhd1Rva2VuIH0gPSByZXEuYm9keTtcbiAgICBjb25zdCB0b2tlbiA9IHJhd1Rva2VuICYmIHR5cGVvZiByYXdUb2tlbiAhPT0gJ3N0cmluZycgPyByYXdUb2tlbi50b1N0cmluZygpIDogcmF3VG9rZW47XG5cbiAgICBpZiAoKCF1c2VybmFtZSB8fCAhdG9rZW4gfHwgIW5ld19wYXNzd29yZCkgJiYgcmVxLnhociA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiB0aGlzLmludmFsaWRMaW5rKHJlcSk7XG4gICAgfVxuXG4gICAgaWYgKCF1c2VybmFtZSkge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLlVTRVJOQU1FX01JU1NJTkcsICdNaXNzaW5nIHVzZXJuYW1lJyk7XG4gICAgfVxuXG4gICAgaWYgKCF0b2tlbikge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLk9USEVSX0NBVVNFLCAnTWlzc2luZyB0b2tlbicpO1xuICAgIH1cblxuICAgIGlmICghbmV3X3Bhc3N3b3JkKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuUEFTU1dPUkRfTUlTU0lORywgJ01pc3NpbmcgcGFzc3dvcmQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29uZmlnLnVzZXJDb250cm9sbGVyXG4gICAgICAudXBkYXRlUGFzc3dvcmQodXNlcm5hbWUsIHRva2VuLCBuZXdfcGFzc3dvcmQpXG4gICAgICAudGhlbihcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICAgICAgZXJyLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICApXG4gICAgICAudGhlbihyZXN1bHQgPT4ge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBxcy5zdHJpbmdpZnkoe1xuICAgICAgICAgIHVzZXJuYW1lOiB1c2VybmFtZSxcbiAgICAgICAgICB0b2tlbjogdG9rZW4sXG4gICAgICAgICAgaWQ6IGNvbmZpZy5hcHBsaWNhdGlvbklkLFxuICAgICAgICAgIGVycm9yOiByZXN1bHQuZXJyLFxuICAgICAgICAgIGFwcDogY29uZmlnLmFwcE5hbWUsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChyZXEueGhyKSB7XG4gICAgICAgICAgaWYgKHJlc3VsdC5zdWNjZXNzKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgICAgICAgICAgc3RhdHVzOiAyMDAsXG4gICAgICAgICAgICAgIHJlc3BvbnNlOiAnUGFzc3dvcmQgc3VjY2Vzc2Z1bGx5IHJlc2V0JyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAocmVzdWx0LmVycikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLk9USEVSX0NBVVNFLCBgJHtyZXN1bHQuZXJyfWApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVuY29kZWRVc2VybmFtZSA9IGVuY29kZVVSSUNvbXBvbmVudCh1c2VybmFtZSk7XG4gICAgICAgIGNvbnN0IGxvY2F0aW9uID0gcmVzdWx0LnN1Y2Nlc3NcbiAgICAgICAgICA/IGAke2NvbmZpZy5wYXNzd29yZFJlc2V0U3VjY2Vzc1VSTH0/dXNlcm5hbWU9JHtlbmNvZGVkVXNlcm5hbWV9YFxuICAgICAgICAgIDogYCR7Y29uZmlnLmNob29zZVBhc3N3b3JkVVJMfT8ke3BhcmFtc31gO1xuXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICAgIHN0YXR1czogMzAyLFxuICAgICAgICAgIGxvY2F0aW9uLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgaW52YWxpZExpbmsocmVxKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICBzdGF0dXM6IDMwMixcbiAgICAgIGxvY2F0aW9uOiByZXEuY29uZmlnLmludmFsaWRMaW5rVVJMLFxuICAgIH0pO1xuICB9XG5cbiAgaW52YWxpZFZlcmlmaWNhdGlvbkxpbmsocmVxKSB7XG4gICAgY29uc3QgY29uZmlnID0gcmVxLmNvbmZpZztcbiAgICBpZiAocmVxLnF1ZXJ5LnVzZXJuYW1lICYmIHJlcS5wYXJhbXMuYXBwSWQpIHtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHFzLnN0cmluZ2lmeSh7XG4gICAgICAgIHVzZXJuYW1lOiByZXEucXVlcnkudXNlcm5hbWUsXG4gICAgICAgIGFwcElkOiByZXEucGFyYW1zLmFwcElkLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgICAgc3RhdHVzOiAzMDIsXG4gICAgICAgIGxvY2F0aW9uOiBgJHtjb25maWcuaW52YWxpZFZlcmlmaWNhdGlvbkxpbmtVUkx9PyR7cGFyYW1zfWAsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuaW52YWxpZExpbmsocmVxKTtcbiAgICB9XG4gIH1cblxuICBtaXNzaW5nUHVibGljU2VydmVyVVJMKCkge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgdGV4dDogJ05vdCBmb3VuZC4nLFxuICAgICAgc3RhdHVzOiA0MDQsXG4gICAgfSk7XG4gIH1cblxuICBpbnZhbGlkUmVxdWVzdCgpIHtcbiAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcigpO1xuICAgIGVycm9yLnN0YXR1cyA9IDQwMztcbiAgICBlcnJvci5tZXNzYWdlID0gJ3VuYXV0aG9yaXplZCc7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cblxuICBzZXRDb25maWcocmVxKSB7XG4gICAgcmVxLmNvbmZpZyA9IENvbmZpZy5nZXQocmVxLnBhcmFtcy5hcHBJZCk7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICB9XG5cbiAgbW91bnRSb3V0ZXMoKSB7XG4gICAgdGhpcy5yb3V0ZShcbiAgICAgICdHRVQnLFxuICAgICAgJy9hcHBzLzphcHBJZC92ZXJpZnlfZW1haWwnLFxuICAgICAgcmVxID0+IHtcbiAgICAgICAgdGhpcy5zZXRDb25maWcocmVxKTtcbiAgICAgIH0sXG4gICAgICByZXEgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy52ZXJpZnlFbWFpbChyZXEpO1xuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLnJvdXRlKFxuICAgICAgJ1BPU1QnLFxuICAgICAgJy9hcHBzLzphcHBJZC9yZXNlbmRfdmVyaWZpY2F0aW9uX2VtYWlsJyxcbiAgICAgIHJlcSA9PiB7XG4gICAgICAgIHRoaXMuc2V0Q29uZmlnKHJlcSk7XG4gICAgICB9LFxuICAgICAgcmVxID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVzZW5kVmVyaWZpY2F0aW9uRW1haWwocmVxKTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5yb3V0ZSgnR0VUJywgJy9hcHBzL2Nob29zZV9wYXNzd29yZCcsIHJlcSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5jaGFuZ2VQYXNzd29yZChyZXEpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5yb3V0ZShcbiAgICAgICdQT1NUJyxcbiAgICAgICcvYXBwcy86YXBwSWQvcmVxdWVzdF9wYXNzd29yZF9yZXNldCcsXG4gICAgICByZXEgPT4ge1xuICAgICAgICB0aGlzLnNldENvbmZpZyhyZXEpO1xuICAgICAgfSxcbiAgICAgIHJlcSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlc2V0UGFzc3dvcmQocmVxKTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5yb3V0ZShcbiAgICAgICdHRVQnLFxuICAgICAgJy9hcHBzLzphcHBJZC9yZXF1ZXN0X3Bhc3N3b3JkX3Jlc2V0JyxcbiAgICAgIHJlcSA9PiB7XG4gICAgICAgIHRoaXMuc2V0Q29uZmlnKHJlcSk7XG4gICAgICB9LFxuICAgICAgcmVxID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVxdWVzdFJlc2V0UGFzc3dvcmQocmVxKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgZXhwcmVzc1JvdXRlcigpIHtcbiAgICBjb25zdCByb3V0ZXIgPSBleHByZXNzLlJvdXRlcigpO1xuICAgIHJvdXRlci51c2UoJy9hcHBzJywgZXhwcmVzcy5zdGF0aWMocHVibGljX2h0bWwpKTtcbiAgICByb3V0ZXIudXNlKCcvJywgc3VwZXIuZXhwcmVzc1JvdXRlcigpKTtcbiAgICByZXR1cm4gcm91dGVyO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFB1YmxpY0FQSVJvdXRlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsY0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsUUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsS0FBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksR0FBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUssWUFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU0sS0FBQSxHQUFBTixPQUFBO0FBQW1DLFNBQUFELHVCQUFBUSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBRW5DLE1BQU1HLFdBQVcsR0FBR0MsYUFBSSxDQUFDQyxPQUFPLENBQUNDLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQztBQUNoRSxNQUFNQyxLQUFLLEdBQUdILGFBQUksQ0FBQ0MsT0FBTyxDQUFDQyxTQUFTLEVBQUUsYUFBYSxDQUFDO0FBRTdDLE1BQU1FLGVBQWUsU0FBU0Msc0JBQWEsQ0FBQztFQUNqREMsV0FBV0EsQ0FBQ0MsR0FBRyxFQUFFO0lBQ2YsTUFBTTtNQUFFQyxRQUFRO01BQUVDLEtBQUssRUFBRUM7SUFBUyxDQUFDLEdBQUdILEdBQUcsQ0FBQ0ksS0FBSztJQUMvQyxNQUFNRixLQUFLLEdBQUdDLFFBQVEsSUFBSSxPQUFPQSxRQUFRLEtBQUss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
270
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfUHJvbWlzZVJvdXRlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX0NvbmZpZyIsIl9leHByZXNzIiwiX3BhdGgiLCJfZnMiLCJfcXVlcnlzdHJpbmciLCJfbm9kZSIsIl9EZXByZWNhdG9yIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwicHVibGljX2h0bWwiLCJwYXRoIiwicmVzb2x2ZSIsIl9fZGlybmFtZSIsInZpZXdzIiwiUHVibGljQVBJUm91dGVyIiwiUHJvbWlzZVJvdXRlciIsImNvbnN0cnVjdG9yIiwiRGVwcmVjYXRvciIsImxvZ1J1bnRpbWVEZXByZWNhdGlvbiIsInVzYWdlIiwic29sdXRpb24iLCJ2ZXJpZnlFbWFpbCIsInJlcSIsInVzZXJuYW1lIiwidG9rZW4iLCJyYXdUb2tlbiIsInF1ZXJ5IiwidG9TdHJpbmciLCJhcHBJZCIsInBhcmFtcyIsImNvbmZpZyIsIkNvbmZpZyIsImdldCIsImludmFsaWRSZXF1ZXN0IiwicHVibGljU2VydmVyVVJMIiwibWlzc2luZ1B1YmxpY1NlcnZlclVSTCIsImludmFsaWRMaW5rIiwidXNlckNvbnRyb2xsZXIiLCJ0aGVuIiwicXMiLCJzdHJpbmdpZnkiLCJQcm9taXNlIiwic3RhdHVzIiwibG9jYXRpb24iLCJ2ZXJpZnlFbWFpbFN1Y2Nlc3NVUkwiLCJpbnZhbGlkVmVyaWZpY2F0aW9uTGluayIsInJlc2VuZFZlcmlmaWNhdGlvbkVtYWlsIiwiYm9keSIsImxpbmtTZW5kU3VjY2Vzc1VSTCIsImxpbmtTZW5kRmFpbFVSTCIsImNoYW5nZVBhc3N3b3JkIiwicmVqZWN0IiwiaWQiLCJ0ZXh0IiwiZnMiLCJyZWFkRmlsZSIsImVyciIsImRhdGEiLCJyZXBsYWNlIiwicmVxdWVzdFJlc2V0UGFzc3dvcmQiLCJjaGVja1Jlc2V0VG9rZW5WYWxpZGl0eSIsImFwcGxpY2F0aW9uSWQiLCJhcHAiLCJhcHBOYW1lIiwiY2hvb3NlUGFzc3dvcmRVUkwiLCJyZXNldFBhc3N3b3JkIiwibmV3X3Bhc3N3b3JkIiwieGhyIiwiUGFyc2UiLCJFcnJvciIsIlVTRVJOQU1FX01JU1NJTkciLCJPVEhFUl9DQVVTRSIsIlBBU1NXT1JEX01JU1NJTkciLCJ1cGRhdGVQYXNzd29yZCIsInN1Y2Nlc3MiLCJyZXN1bHQiLCJlcnJvciIsInJlc3BvbnNlIiwiZW5jb2RlZFVzZXJuYW1lIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwicGFzc3dvcmRSZXNldFN1Y2Nlc3NVUkwiLCJpbnZhbGlkTGlua1VSTCIsImludmFsaWRWZXJpZmljYXRpb25MaW5rVVJMIiwibWVzc2FnZSIsInNldENvbmZpZyIsIm1vdW50Um91dGVzIiwicm91dGUiLCJleHByZXNzUm91dGVyIiwicm91dGVyIiwiZXhwcmVzcyIsIlJvdXRlciIsInVzZSIsInN0YXRpYyIsImV4cG9ydHMiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Sb3V0ZXJzL1B1YmxpY0FQSVJvdXRlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUHJvbWlzZVJvdXRlciBmcm9tICcuLi9Qcm9taXNlUm91dGVyJztcbmltcG9ydCBDb25maWcgZnJvbSAnLi4vQ29uZmlnJztcbmltcG9ydCBleHByZXNzIGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHFzIGZyb20gJ3F1ZXJ5c3RyaW5nJztcbmltcG9ydCB7IFBhcnNlIH0gZnJvbSAncGFyc2Uvbm9kZSc7XG5pbXBvcnQgRGVwcmVjYXRvciBmcm9tICcuLi9EZXByZWNhdG9yL0RlcHJlY2F0b3InO1xuXG5jb25zdCBwdWJsaWNfaHRtbCA9IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLi8uLi9wdWJsaWNfaHRtbCcpO1xuY29uc3Qgdmlld3MgPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4vLi4vdmlld3MnKTtcblxuZXhwb3J0IGNsYXNzIFB1YmxpY0FQSVJvdXRlciBleHRlbmRzIFByb21pc2VSb3V0ZXIge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIERlcHJlY2F0b3IubG9nUnVudGltZURlcHJlY2F0aW9uKHtcbiAgICAgIHVzYWdlOiAnUHVibGljQVBJUm91dGVyJyxcbiAgICAgIHNvbHV0aW9uOiAncGFnZXMuZW5hYmxlUm91dGVyJ1xuICAgIH0pO1xuICB9XG4gIHZlcmlmeUVtYWlsKHJlcSkge1xuICAgIGNvbnN0IHsgdXNlcm5hbWUsIHRva2VuOiByYXdUb2tlbiB9ID0gcmVxLnF1ZXJ5O1xuICAgIGNvbnN0IHRva2VuID0gcmF3VG9rZW4gJiYgdHlwZW9mIHJhd1Rva2VuICE9PSAnc3RyaW5nJyA/IHJhd1Rva2VuLnRvU3RyaW5nKCkgOiByYXdUb2tlbjtcblxuICAgIGNvbnN0IGFwcElkID0gcmVxLnBhcmFtcy5hcHBJZDtcbiAgICBjb25zdCBjb25maWcgPSBDb25maWcuZ2V0KGFwcElkKTtcblxuICAgIGlmICghY29uZmlnKSB7XG4gICAgICB0aGlzLmludmFsaWRSZXF1ZXN0KCk7XG4gICAgfVxuXG4gICAgaWYgKCFjb25maWcucHVibGljU2VydmVyVVJMKSB7XG4gICAgICByZXR1cm4gdGhpcy5taXNzaW5nUHVibGljU2VydmVyVVJMKCk7XG4gICAgfVxuXG4gICAgaWYgKCF0b2tlbiB8fCAhdXNlcm5hbWUpIHtcbiAgICAgIHJldHVybiB0aGlzLmludmFsaWRMaW5rKHJlcSk7XG4gICAgfVxuXG4gICAgY29uc3QgdXNlckNvbnRyb2xsZXIgPSBjb25maWcudXNlckNvbnRyb2xsZXI7XG4gICAgcmV0dXJuIHVzZXJDb250cm9sbGVyLnZlcmlmeUVtYWlsKHVzZXJuYW1lLCB0b2tlbikudGhlbihcbiAgICAgICgpID0+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gcXMuc3RyaW5naWZ5KHsgdXNlcm5hbWUgfSk7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICAgIHN0YXR1czogMzAyLFxuICAgICAgICAgIGxvY2F0aW9uOiBgJHtjb25maWcudmVyaWZ5RW1haWxTdWNjZXNzVVJMfT8ke3BhcmFtc31gLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmludmFsaWRWZXJpZmljYXRpb25MaW5rKHJlcSk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHJlc2VuZFZlcmlmaWNhdGlvbkVtYWlsKHJlcSkge1xuICAgIGNvbnN0IHVzZXJuYW1lID0gcmVxLmJvZHkudXNlcm5hbWU7XG4gICAgY29uc3QgYXBwSWQgPSByZXEucGFyYW1zLmFwcElkO1xuICAgIGNvbnN0IGNvbmZpZyA9IENvbmZpZy5nZXQoYXBwSWQpO1xuXG4gICAgaWYgKCFjb25maWcpIHtcbiAgICAgIHRoaXMuaW52YWxpZFJlcXVlc3QoKTtcbiAgICB9XG5cbiAgICBpZiAoIWNvbmZpZy5wdWJsaWNTZXJ2ZXJVUkwpIHtcbiAgICAgIHJldHVybiB0aGlzLm1pc3NpbmdQdWJsaWNTZXJ2ZXJVUkwoKTtcbiAgICB9XG5cbiAgICBpZiAoIXVzZXJuYW1lKSB7XG4gICAgICByZXR1cm4gdGhpcy5pbnZhbGlkTGluayhyZXEpO1xuICAgIH1cblxuICAgIGNvbnN0IHVzZXJDb250cm9sbGVyID0gY29uZmlnLnVzZXJDb250cm9sbGVyO1xuXG4gICAgcmV0dXJuIHVzZXJDb250cm9sbGVyLnJlc2VuZFZlcmlmaWNhdGlvbkVtYWlsKHVzZXJuYW1lLCByZXEpLnRoZW4oXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICAgIHN0YXR1czogMzAyLFxuICAgICAgICAgIGxvY2F0aW9uOiBgJHtjb25maWcubGlua1NlbmRTdWNjZXNzVVJMfWAsXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgICgpID0+IHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAgICAgc3RhdHVzOiAzMDIsXG4gICAgICAgICAgbG9jYXRpb246IGAke2NvbmZpZy5saW5rU2VuZEZhaWxVUkx9YCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIGNoYW5nZVBhc3N3b3JkKHJlcSkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBjb25maWcgPSBDb25maWcuZ2V0KHJlcS5xdWVyeS5pZCk7XG5cbiAgICAgIGlmICghY29uZmlnKSB7XG4gICAgICAgIHRoaXMuaW52YWxpZFJlcXVlc3QoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFjb25maWcucHVibGljU2VydmVyVVJMKSB7XG4gICAgICAgIHJldHVybiByZXNvbHZlKHtcbiAgICAgICAgICBzdGF0dXM6IDQwNCxcbiAgICAgICAgICB0ZXh0OiAnTm90IGZvdW5kLicsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgLy8gU2hvdWxkIHdlIGtlZXAgdGhlIGZpbGUgaW4gbWVtb3J5IG9yIGxlYXZlIGxpa2UgdGhhdD9cbiAgICAgIGZzLnJlYWRGaWxlKHBhdGgucmVzb2x2ZSh2aWV3cywgJ2Nob29zZV9wYXNzd29yZCcpLCAndXRmLTgnLCAoZXJyLCBkYXRhKSA9PiB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICByZXR1cm4gcmVqZWN0KGVycik7XG4gICAgICAgIH1cbiAgICAgICAgZGF0YSA9IGRhdGEucmVwbGFjZSgnUEFSU0VfU0VSVkVSX1VSTCcsIGAnJHtjb25maWcucHVibGljU2VydmVyVVJMfSdgKTtcbiAgICAgICAgcmVzb2x2ZSh7XG4gICAgICAgICAgdGV4dDogZGF0YSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlcXVlc3RSZXNldFBhc3N3b3JkKHJlcSkge1xuICAgIGNvbnN0IGNvbmZpZyA9IHJlcS5jb25maWc7XG5cbiAgICBpZiAoIWNvbmZpZykge1xuICAgICAgdGhpcy5pbnZhbGlkUmVxdWVzdCgpO1xuICAgIH1cblxuICAgIGlmICghY29uZmlnLnB1YmxpY1NlcnZlclVSTCkge1xuICAgICAgcmV0dXJuIHRoaXMubWlzc2luZ1B1YmxpY1NlcnZlclVSTCgpO1xuICAgIH1cblxuICAgIGNvbnN0IHsgdXNlcm5hbWUsIHRva2VuOiByYXdUb2tlbiB9ID0gcmVxLnF1ZXJ5O1xuICAgIGNvbnN0IHRva2VuID0gcmF3VG9rZW4gJiYgdHlwZW9mIHJhd1Rva2VuICE9PSAnc3RyaW5nJyA/IHJhd1Rva2VuLnRvU3RyaW5nKCkgOiByYXdUb2tlbjtcblxuICAgIGlmICghdXNlcm5hbWUgfHwgIXRva2VuKSB7XG4gICAgICByZXR1cm4gdGhpcy5pbnZhbGlkTGluayhyZXEpO1xuICAgIH1cblxuICAgIHJldHVybiBjb25maWcudXNlckNvbnRyb2xsZXIuY2hlY2tSZXNldFRva2VuVmFsaWRpdHkodXNlcm5hbWUsIHRva2VuKS50aGVuKFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBxcy5zdHJpbmdpZnkoe1xuICAgICAgICAgIHRva2VuLFxuICAgICAgICAgIGlkOiBjb25maWcuYXBwbGljYXRpb25JZCxcbiAgICAgICAgICB1c2VybmFtZSxcbiAgICAgICAgICBhcHA6IGNvbmZpZy5hcHBOYW1lLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAgICAgc3RhdHVzOiAzMDIsXG4gICAgICAgICAgbG9jYXRpb246IGAke2NvbmZpZy5jaG9vc2VQYXNzd29yZFVSTH0/JHtwYXJhbXN9YCxcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnZhbGlkTGluayhyZXEpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICByZXNldFBhc3N3b3JkKHJlcSkge1xuICAgIGNvbnN0IGNvbmZpZyA9IHJlcS5jb25maWc7XG5cbiAgICBpZiAoIWNvbmZpZykge1xuICAgICAgdGhpcy5pbnZhbGlkUmVxdWVzdCgpO1xuICAgIH1cblxuICAgIGlmICghY29uZmlnLnB1YmxpY1NlcnZlclVSTCkge1xuICAgICAgcmV0dXJuIHRoaXMubWlzc2luZ1B1YmxpY1NlcnZlclVSTCgpO1xuICAgIH1cblxuICAgIGNvbnN0IHsgdXNlcm5hbWUsIG5ld19wYXNzd29yZCwgdG9rZW46IHJhd1Rva2VuIH0gPSByZXEuYm9keTtcbiAgICBjb25zdCB0b2tlbiA9IHJhd1Rva2VuICYmIHR5cGVvZiByYXdUb2tlbiAhPT0gJ3N0cmluZycgPyByYXdUb2tlbi50b1N0cmluZygpIDogcmF3VG9rZW47XG5cbiAgICBpZiAoKCF1c2VybmFtZSB8fCAhdG9rZW4gfHwgIW5ld19wYXNzd29yZCkgJiYgcmVxLnhociA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiB0aGlzLmludmFsaWRMaW5rKHJlcSk7XG4gICAgfVxuXG4gICAgaWYgKCF1c2VybmFtZSkge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLlVTRVJOQU1FX01JU1NJTkcsICdNaXNzaW5nIHVzZXJuYW1lJyk7XG4gICAgfVxuXG4gICAgaWYgKCF0b2tlbikge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLk9USEVSX0NBVVNFLCAnTWlzc2luZyB0b2tlbicpO1xuICAgIH1cblxuICAgIGlmICghbmV3X3Bhc3N3b3JkKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuUEFTU1dPUkRfTUlTU0lORywgJ01pc3NpbmcgcGFzc3dvcmQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29uZmlnLnVzZXJDb250cm9sbGVyXG4gICAgICAudXBkYXRlUGFzc3dvcmQodXNlcm5hbWUsIHRva2VuLCBuZXdfcGFzc3dvcmQpXG4gICAgICAudGhlbihcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICAgICAgZXJyLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICApXG4gICAgICAudGhlbihyZXN1bHQgPT4ge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBxcy5zdHJpbmdpZnkoe1xuICAgICAgICAgIHVzZXJuYW1lOiB1c2VybmFtZSxcbiAgICAgICAgICB0b2tlbjogdG9rZW4sXG4gICAgICAgICAgaWQ6IGNvbmZpZy5hcHBsaWNhdGlvbklkLFxuICAgICAgICAgIGVycm9yOiByZXN1bHQuZXJyLFxuICAgICAgICAgIGFwcDogY29uZmlnLmFwcE5hbWUsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChyZXEueGhyKSB7XG4gICAgICAgICAgaWYgKHJlc3VsdC5zdWNjZXNzKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgICAgICAgICAgc3RhdHVzOiAyMDAsXG4gICAgICAgICAgICAgIHJlc3BvbnNlOiAnUGFzc3dvcmQgc3VjY2Vzc2Z1bGx5IHJlc2V0JyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAocmVzdWx0LmVycikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLk9USEVSX0NBVVNFLCBgJHtyZXN1bHQuZXJyfWApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVuY29kZWRVc2VybmFtZSA9IGVuY29kZVVSSUNvbXBvbmVudCh1c2VybmFtZSk7XG4gICAgICAgIGNvbnN0IGxvY2F0aW9uID0gcmVzdWx0LnN1Y2Nlc3NcbiAgICAgICAgICA/IGAke2NvbmZpZy5wYXNzd29yZFJlc2V0U3VjY2Vzc1VSTH0/dXNlcm5hbWU9JHtlbmNvZGVkVXNlcm5hbWV9YFxuICAgICAgICAgIDogYCR7Y29uZmlnLmNob29zZVBhc3N3b3JkVVJMfT8ke3BhcmFtc31gO1xuXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICAgIHN0YXR1czogMzAyLFxuICAgICAgICAgIGxvY2F0aW9uLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgaW52YWxpZExpbmsocmVxKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICBzdGF0dXM6IDMwMixcbiAgICAgIGxvY2F0aW9uOiByZXEuY29uZmlnLmludmFsaWRMaW5rVVJMLFxuICAgIH0pO1xuICB9XG5cbiAgaW52YWxpZFZlcmlmaWNhdGlvbkxpbmsocmVxKSB7XG4gICAgY29uc3QgY29uZmlnID0gcmVxLmNvbmZpZztcbiAgICBpZiAocmVxLnF1ZXJ5LnVzZXJuYW1lICYmIHJlcS5wYXJhbXMuYXBwSWQpIHtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHFzLnN0cmluZ2lmeSh7XG4gICAgICAgIHVzZXJuYW1lOiByZXEucXVlcnkudXNlcm5hbWUsXG4gICAgICAgIGFwcElkOiByZXEucGFyYW1zLmFwcElkLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgICAgc3RhdHVzOiAzMDIsXG4gICAgICAgIGxvY2F0aW9uOiBgJHtjb25maWcuaW52YWxpZFZlcmlmaWNhdGlvbkxpbmtVUkx9PyR7cGFyYW1zfWAsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuaW52YWxpZExpbmsocmVxKTtcbiAgICB9XG4gIH1cblxuICBtaXNzaW5nUHVibGljU2VydmVyVVJMKCkge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgdGV4dDogJ05vdCBmb3VuZC4nLFxuICAgICAgc3RhdHVzOiA0MDQsXG4gICAgfSk7XG4gIH1cblxuICBpbnZhbGlkUmVxdWVzdCgpIHtcbiAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcigpO1xuICAgIGVycm9yLnN0YXR1cyA9IDQwMztcbiAgICBlcnJvci5tZXNzYWdlID0gJ3VuYXV0aG9yaXplZCc7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cblxuICBzZXRDb25maWcocmVxKSB7XG4gICAgcmVxLmNvbmZpZyA9IENvbmZpZy5nZXQocmVxLnBhcmFtcy5hcHBJZCk7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICB9XG5cbiAgbW91bnRSb3V0ZXMoKSB7XG4gICAgdGhpcy5yb3V0ZShcbiAgICAgICdHRVQnLFxuICAgICAgJy9hcHBzLzphcHBJZC92ZXJpZnlfZW1haWwnLFxuICAgICAgcmVxID0+IHtcbiAgICAgICAgdGhpcy5zZXRDb25maWcocmVxKTtcbiAgICAgIH0sXG4gICAgICByZXEgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy52ZXJpZnlFbWFpbChyZXEpO1xuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLnJvdXRlKFxuICAgICAgJ1BPU1QnLFxuICAgICAgJy9hcHBzLzphcHBJZC9yZXNlbmRfdmVyaWZpY2F0aW9uX2VtYWlsJyxcbiAgICAgIHJlcSA9PiB7XG4gICAgICAgIHRoaXMuc2V0Q29uZmlnKHJlcSk7XG4gICAgICB9LFxuICAgICAgcmVxID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVzZW5kVmVyaWZpY2F0aW9uRW1haWwocmVxKTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5yb3V0ZSgnR0VUJywgJy9hcHBzL2Nob29zZV9wYXNzd29yZCcsIHJlcSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5jaGFuZ2VQYXNzd29yZChyZXEpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5yb3V0ZShcbiAgICAgICdQT1NUJyxcbiAgICAgICcvYXBwcy86YXBwSWQvcmVxdWVzdF9wYXNzd29yZF9yZXNldCcsXG4gICAgICByZXEgPT4ge1xuICAgICAgICB0aGlzLnNldENvbmZpZyhyZXEpO1xuICAgICAgfSxcbiAgICAgIHJlcSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlc2V0UGFzc3dvcmQocmVxKTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5yb3V0ZShcbiAgICAgICdHRVQnLFxuICAgICAgJy9hcHBzLzphcHBJZC9yZXF1ZXN0X3Bhc3N3b3JkX3Jlc2V0JyxcbiAgICAgIHJlcSA9PiB7XG4gICAgICAgIHRoaXMuc2V0Q29uZmlnKHJlcSk7XG4gICAgICB9LFxuICAgICAgcmVxID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVxdWVzdFJlc2V0UGFzc3dvcmQocmVxKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgZXhwcmVzc1JvdXRlcigpIHtcbiAgICBjb25zdCByb3V0ZXIgPSBleHByZXNzLlJvdXRlcigpO1xuICAgIHJvdXRlci51c2UoJy9hcHBzJywgZXhwcmVzcy5zdGF0aWMocHVibGljX2h0bWwpKTtcbiAgICByb3V0ZXIudXNlKCcvJywgc3VwZXIuZXhwcmVzc1JvdXRlcigpKTtcbiAgICByZXR1cm4gcm91dGVyO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFB1YmxpY0FQSVJvdXRlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsY0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsUUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsS0FBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksR0FBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUssWUFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU0sS0FBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sV0FBQSxHQUFBUixzQkFBQSxDQUFBQyxPQUFBO0FBQWtELFNBQUFELHVCQUFBUyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "parse-server",
3
- "version": "8.0.0-alpha.2",
3
+ "version": "8.0.0-alpha.4",
4
4
  "description": "An express module providing a Parse-compatible API server",
5
5
  "main": "lib/index.js",
6
6
  "repository": {
@@ -121,18 +121,15 @@
121
121
  "test:mongodb:runnerstart": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=$npm_config_dbversion} MONGODB_TOPOLOGY=${MONGODB_TOPOLOGY:=standalone} mongodb-runner start -t ${MONGODB_TOPOLOGY} --version ${MONGODB_VERSION} -- --port 27017",
122
122
  "test:mongodb:testonly": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=$npm_config_dbversion} MONGODB_TOPOLOGY=${MONGODB_TOPOLOGY:=standalone} TESTING=1 jasmine",
123
123
  "test:mongodb": "npm run test:mongodb:runnerstart --dbversion=$npm_config_dbversion && npm run test:mongodb:testonly --dbversion=$npm_config_dbversion",
124
- "test:mongodb:4.2.19": "npm run test:mongodb --dbversion=4.2.19",
125
- "test:mongodb:4.4.13": "npm run test:mongodb --dbversion=4.4.13",
126
- "test:mongodb:5.3.2": "npm run test:mongodb --dbversion=5.3.2",
127
- "test:mongodb:6.0.2": "npm run test:mongodb --dbversion=6.0.2",
128
- "test:mongodb:7.0.1": "npm run test:mongodb --dbversion=7.0.1",
129
- "test:mongodb:8.0.3": "npm run test:mongodb --dbversion=8.0.3",
124
+ "test:mongodb:6.0.19": "npm run test:mongodb --dbversion=6.0.19",
125
+ "test:mongodb:7.0.16": "npm run test:mongodb --dbversion=7.0.16",
126
+ "test:mongodb:8.0.4": "npm run test:mongodb --dbversion=8.0.4",
130
127
  "test:postgres:testonly": "cross-env PARSE_SERVER_TEST_DB=postgres PARSE_SERVER_TEST_DATABASE_URI=postgres://postgres:password@localhost:5432/parse_server_postgres_adapter_test_database npm run testonly",
131
- "pretest": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=5.3.2} MONGODB_TOPOLOGY=${MONGODB_TOPOLOGY:=standalone} mongodb-runner start -t ${MONGODB_TOPOLOGY} --version ${MONGODB_VERSION} -- --port 27017",
132
- "testonly": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=5.3.2} MONGODB_TOPOLOGY=${MONGODB_TOPOLOGY:=standalone} TESTING=1 jasmine",
128
+ "pretest": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=8.0.4} MONGODB_TOPOLOGY=${MONGODB_TOPOLOGY:=standalone} mongodb-runner start -t ${MONGODB_TOPOLOGY} --version ${MONGODB_VERSION} -- --port 27017",
129
+ "testonly": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=8.0.4} MONGODB_TOPOLOGY=${MONGODB_TOPOLOGY:=standalone} TESTING=1 jasmine",
133
130
  "test": "npm run testonly",
134
131
  "posttest": "cross-env mongodb-runner stop --all",
135
- "coverage": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=5.3.2} MONGODB_TOPOLOGY=${MONGODB_TOPOLOGY:=standalone} TESTING=1 nyc jasmine",
132
+ "coverage": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=8.0.4} MONGODB_TOPOLOGY=${MONGODB_TOPOLOGY:=standalone} TESTING=1 nyc jasmine",
136
133
  "start": "node ./bin/parse-server",
137
134
  "prettier": "prettier --write {src,spec}/{**/*,*}.js",
138
135
  "prepare": "npm run build",