@payloadcms/db-mongodb 1.1.0 → 1.1.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.
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAS9C,eAAO,MAAM,MAAM,EAAE,MAmCpB,CAAA"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAQ9C,eAAO,MAAM,MAAM,EAAE,MAwBpB,CAAA"}
package/dist/create.js CHANGED
@@ -8,9 +8,13 @@ Object.defineProperty(exports, "create", {
8
8
  return create;
9
9
  }
10
10
  });
11
+ const _handleError = /*#__PURE__*/ _interop_require_default(require("./utilities/handleError"));
11
12
  const _withSession = require("./withSession");
12
- const _errors = require("payload/errors");
13
- const _utilities = require("payload/utilities");
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
14
18
  const create = async function create({ collection, data, req = {} }) {
15
19
  const Model = this.collections[collection];
16
20
  const options = (0, _withSession.withSession)(this, req.transactionID);
@@ -20,13 +24,7 @@ const create = async function create({ collection, data, req = {} }) {
20
24
  data
21
25
  ], options);
22
26
  } catch (error) {
23
- // Handle uniqueness error from MongoDB
24
- throw error.code === 11000 && error.keyValue ? new _errors.ValidationError([
25
- {
26
- field: Object.keys(error.keyValue)[0],
27
- message: req.t('error:valueMustBeUnique')
28
- }
29
- ], req?.t ?? (0, _utilities.i18nInit)(this.payload.config.i18n).t) : error;
27
+ (0, _handleError.default)(error, req);
30
28
  }
31
29
  // doc.toJSON does not do stuff like converting ObjectIds to string, or date strings to date objects. That's why we use JSON.parse/stringify here
32
30
  const result = JSON.parse(JSON.stringify(doc));
@@ -39,4 +37,4 @@ const create = async function create({ collection, data, req = {} }) {
39
37
  return result;
40
38
  };
41
39
 
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDcmVhdGUgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHR5cGUgeyBEb2N1bWVudCwgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgdHlwZSB7IE1vbmdvb3NlQWRhcHRlciB9IGZyb20gJy4nXG5cbmltcG9ydCB7IHdpdGhTZXNzaW9uIH0gZnJvbSAnLi93aXRoU2Vzc2lvbidcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvciB9IGZyb20gJ3BheWxvYWQvZXJyb3JzJ1xuaW1wb3J0IHsgaTE4bkluaXQgfSBmcm9tICdwYXlsb2FkL3V0aWxpdGllcydcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZTogQ3JlYXRlID0gYXN5bmMgZnVuY3Rpb24gY3JlYXRlKFxuICB0aGlzOiBNb25nb29zZUFkYXB0ZXIsXG4gIHsgY29sbGVjdGlvbiwgZGF0YSwgcmVxID0ge30gYXMgUGF5bG9hZFJlcXVlc3QgfSxcbikge1xuICBjb25zdCBNb2RlbCA9IHRoaXMuY29sbGVjdGlvbnNbY29sbGVjdGlvbl1cbiAgY29uc3Qgb3B0aW9ucyA9IHdpdGhTZXNzaW9uKHRoaXMsIHJlcS50cmFuc2FjdGlvbklEKVxuICBsZXQgZG9jXG4gIHRyeSB7XG4gICAgO1tkb2NdID0gYXdhaXQgTW9kZWwuY3JlYXRlKFtkYXRhXSwgb3B0aW9ucylcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAvLyBIYW5kbGUgdW5pcXVlbmVzcyBlcnJvciBmcm9tIE1vbmdvREJcbiAgICB0aHJvdyBlcnJvci5jb2RlID09PSAxMTAwMCAmJiBlcnJvci5rZXlWYWx1ZVxuICAgICAgPyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAgIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZmllbGQ6IE9iamVjdC5rZXlzKGVycm9yLmtleVZhbHVlKVswXSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogcmVxLnQoJ2Vycm9yOnZhbHVlTXVzdEJlVW5pcXVlJyksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcmVxPy50ID8/IGkxOG5Jbml0KHRoaXMucGF5bG9hZC5jb25maWcuaTE4bikudCxcbiAgICAgICAgKVxuICAgICAgOiBlcnJvclxuICB9XG5cbiAgLy8gZG9jLnRvSlNPTiBkb2VzIG5vdCBkbyBzdHVmZiBsaWtlIGNvbnZlcnRpbmcgT2JqZWN0SWRzIHRvIHN0cmluZywgb3IgZGF0ZSBzdHJpbmdzIHRvIGRhdGUgb2JqZWN0cy4gVGhhdCdzIHdoeSB3ZSB1c2UgSlNPTi5wYXJzZS9zdHJpbmdpZnkgaGVyZVxuICBjb25zdCByZXN1bHQ6IERvY3VtZW50ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkb2MpKVxuICBjb25zdCB2ZXJpZmljYXRpb25Ub2tlbiA9IGRvYy5fdmVyaWZpY2F0aW9uVG9rZW5cblxuICAvLyBjdXN0b20gaWQgdHlwZSByZXNldFxuICByZXN1bHQuaWQgPSByZXN1bHQuX2lkXG4gIGlmICh2ZXJpZmljYXRpb25Ub2tlbikge1xuICAgIHJlc3VsdC5fdmVyaWZpY2F0aW9uVG9rZW4gPSB2ZXJpZmljYXRpb25Ub2tlblxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZSIsImNvbGxlY3Rpb24iLCJkYXRhIiwicmVxIiwiTW9kZWwiLCJjb2xsZWN0aW9ucyIsIm9wdGlvbnMiLCJ3aXRoU2Vzc2lvbiIsInRyYW5zYWN0aW9uSUQiLCJkb2MiLCJlcnJvciIsImNvZGUiLCJrZXlWYWx1ZSIsIlZhbGlkYXRpb25FcnJvciIsImZpZWxkIiwiT2JqZWN0Iiwia2V5cyIsIm1lc3NhZ2UiLCJ0IiwiaTE4bkluaXQiLCJwYXlsb2FkIiwiY29uZmlnIiwiaTE4biIsInJlc3VsdCIsIkpTT04iLCJwYXJzZSIsInN0cmluZ2lmeSIsInZlcmlmaWNhdGlvblRva2VuIiwiX3ZlcmlmaWNhdGlvblRva2VuIiwiaWQiLCJfaWQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBU2FBOzs7ZUFBQUE7Ozs2QkFKZTt3QkFDSTsyQkFDUDtBQUVsQixNQUFNQSxTQUFpQixlQUFlQSxPQUUzQyxFQUFFQyxVQUFVLEVBQUVDLElBQUksRUFBRUMsTUFBTSxDQUFDLENBQW1CLEVBQUU7SUFFaEQsTUFBTUMsUUFBUSxJQUFJLENBQUNDLFdBQVcsQ0FBQ0osV0FBVztJQUMxQyxNQUFNSyxVQUFVQyxJQUFBQSx3QkFBVyxFQUFDLElBQUksRUFBRUosSUFBSUssYUFBYTtJQUNuRCxJQUFJQztJQUNKLElBQUk7UUFDRCxDQUFDQSxJQUFJLEdBQUcsTUFBTUwsTUFBTUosTUFBTSxDQUFDO1lBQUNFO1NBQUssRUFBRUk7SUFDdEMsRUFBRSxPQUFPSSxPQUFPO1FBQ2QsdUNBQXVDO1FBQ3ZDLE1BQU1BLE1BQU1DLElBQUksS0FBSyxTQUFTRCxNQUFNRSxRQUFRLEdBQ3hDLElBQUlDLHVCQUFlLENBQ2pCO1lBQ0U7Z0JBQ0VDLE9BQU9DLE9BQU9DLElBQUksQ0FBQ04sTUFBTUUsUUFBUSxDQUFDLENBQUMsRUFBRTtnQkFDckNLLFNBQVNkLElBQUllLENBQUMsQ0FBQztZQUNqQjtTQUNELEVBQ0RmLEtBQUtlLEtBQUtDLElBQUFBLG1CQUFRLEVBQUMsSUFBSSxDQUFDQyxPQUFPLENBQUNDLE1BQU0sQ0FBQ0MsSUFBSSxFQUFFSixDQUFDLElBRWhEUjtJQUNOO0lBRUEsaUpBQWlKO0lBQ2pKLE1BQU1hLFNBQW1CQyxLQUFLQyxLQUFLLENBQUNELEtBQUtFLFNBQVMsQ0FBQ2pCO0lBQ25ELE1BQU1rQixvQkFBb0JsQixJQUFJbUIsa0JBQWtCO0lBRWhELHVCQUF1QjtJQUN2QkwsT0FBT00sRUFBRSxHQUFHTixPQUFPTyxHQUFHO0lBQ3RCLElBQUlILG1CQUFtQjtRQUNyQkosT0FBT0ssa0JBQWtCLEdBQUdEO0lBQzlCO0lBRUEsT0FBT0o7QUFDVCJ9
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDcmVhdGUgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHR5cGUgeyBEb2N1bWVudCwgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgdHlwZSB7IE1vbmdvb3NlQWRhcHRlciB9IGZyb20gJy4nXG5cbmltcG9ydCBoYW5kbGVFcnJvciBmcm9tICcuL3V0aWxpdGllcy9oYW5kbGVFcnJvcidcbmltcG9ydCB7IHdpdGhTZXNzaW9uIH0gZnJvbSAnLi93aXRoU2Vzc2lvbidcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZTogQ3JlYXRlID0gYXN5bmMgZnVuY3Rpb24gY3JlYXRlKFxuICB0aGlzOiBNb25nb29zZUFkYXB0ZXIsXG4gIHsgY29sbGVjdGlvbiwgZGF0YSwgcmVxID0ge30gYXMgUGF5bG9hZFJlcXVlc3QgfSxcbikge1xuICBjb25zdCBNb2RlbCA9IHRoaXMuY29sbGVjdGlvbnNbY29sbGVjdGlvbl1cbiAgY29uc3Qgb3B0aW9ucyA9IHdpdGhTZXNzaW9uKHRoaXMsIHJlcS50cmFuc2FjdGlvbklEKVxuICBsZXQgZG9jXG4gIHRyeSB7XG4gICAgO1tkb2NdID0gYXdhaXQgTW9kZWwuY3JlYXRlKFtkYXRhXSwgb3B0aW9ucylcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBoYW5kbGVFcnJvcihlcnJvciwgcmVxKVxuICB9XG5cbiAgLy8gZG9jLnRvSlNPTiBkb2VzIG5vdCBkbyBzdHVmZiBsaWtlIGNvbnZlcnRpbmcgT2JqZWN0SWRzIHRvIHN0cmluZywgb3IgZGF0ZSBzdHJpbmdzIHRvIGRhdGUgb2JqZWN0cy4gVGhhdCdzIHdoeSB3ZSB1c2UgSlNPTi5wYXJzZS9zdHJpbmdpZnkgaGVyZVxuICBjb25zdCByZXN1bHQ6IERvY3VtZW50ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkb2MpKVxuICBjb25zdCB2ZXJpZmljYXRpb25Ub2tlbiA9IGRvYy5fdmVyaWZpY2F0aW9uVG9rZW5cblxuICAvLyBjdXN0b20gaWQgdHlwZSByZXNldFxuICByZXN1bHQuaWQgPSByZXN1bHQuX2lkXG4gIGlmICh2ZXJpZmljYXRpb25Ub2tlbikge1xuICAgIHJlc3VsdC5fdmVyaWZpY2F0aW9uVG9rZW4gPSB2ZXJpZmljYXRpb25Ub2tlblxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZSIsImNvbGxlY3Rpb24iLCJkYXRhIiwicmVxIiwiTW9kZWwiLCJjb2xsZWN0aW9ucyIsIm9wdGlvbnMiLCJ3aXRoU2Vzc2lvbiIsInRyYW5zYWN0aW9uSUQiLCJkb2MiLCJlcnJvciIsImhhbmRsZUVycm9yIiwicmVzdWx0IiwiSlNPTiIsInBhcnNlIiwic3RyaW5naWZ5IiwidmVyaWZpY2F0aW9uVG9rZW4iLCJfdmVyaWZpY2F0aW9uVG9rZW4iLCJpZCIsIl9pZCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFRYUE7OztlQUFBQTs7O29FQUhXOzZCQUNJOzs7Ozs7QUFFckIsTUFBTUEsU0FBaUIsZUFBZUEsT0FFM0MsRUFBRUMsVUFBVSxFQUFFQyxJQUFJLEVBQUVDLE1BQU0sQ0FBQyxDQUFtQixFQUFFO0lBRWhELE1BQU1DLFFBQVEsSUFBSSxDQUFDQyxXQUFXLENBQUNKLFdBQVc7SUFDMUMsTUFBTUssVUFBVUMsSUFBQUEsd0JBQVcsRUFBQyxJQUFJLEVBQUVKLElBQUlLLGFBQWE7SUFDbkQsSUFBSUM7SUFDSixJQUFJO1FBQ0QsQ0FBQ0EsSUFBSSxHQUFHLE1BQU1MLE1BQU1KLE1BQU0sQ0FBQztZQUFDRTtTQUFLLEVBQUVJO0lBQ3RDLEVBQUUsT0FBT0ksT0FBTztRQUNkQyxJQUFBQSxvQkFBVyxFQUFDRCxPQUFPUDtJQUNyQjtJQUVBLGlKQUFpSjtJQUNqSixNQUFNUyxTQUFtQkMsS0FBS0MsS0FBSyxDQUFDRCxLQUFLRSxTQUFTLENBQUNOO0lBQ25ELE1BQU1PLG9CQUFvQlAsSUFBSVEsa0JBQWtCO0lBRWhELHVCQUF1QjtJQUN2QkwsT0FBT00sRUFBRSxHQUFHTixPQUFPTyxHQUFHO0lBQ3RCLElBQUlILG1CQUFtQjtRQUNyQkosT0FBT0ssa0JBQWtCLEdBQUdEO0lBQzlCO0lBRUEsT0FBT0o7QUFDVCJ9
@@ -59,7 +59,7 @@ async function buildSearchParam({ collectionSlug, fields, globalSlug, incomingPa
59
59
  }
60
60
  const [{ field, path }] = paths;
61
61
  if (path) {
62
- const formattedValue = (0, _sanitizeQueryValue.sanitizeQueryValue)({
62
+ const { operator: formattedOperator, val: formattedValue } = (0, _sanitizeQueryValue.sanitizeQueryValue)({
63
63
  field,
64
64
  hasCustomID,
65
65
  operator,
@@ -86,7 +86,7 @@ async function buildSearchParam({ collectionSlug, fields, globalSlug, incomingPa
86
86
  payload,
87
87
  where: {
88
88
  [subPath]: {
89
- [operator]: val
89
+ [formattedOperator]: val
90
90
  }
91
91
  }
92
92
  });
@@ -139,8 +139,8 @@ async function buildSearchParam({ collectionSlug, fields, globalSlug, incomingPa
139
139
  }, Promise.resolve(initialRelationshipQuery));
140
140
  return relationshipQuery;
141
141
  }
142
- if (operator && _types.validOperators.includes(operator)) {
143
- const operatorKey = _operatorMap.operatorMap[operator];
142
+ if (formattedOperator && _types.validOperators.includes(formattedOperator)) {
143
+ const operatorKey = _operatorMap.operatorMap[formattedOperator];
144
144
  if (field.type === 'relationship' || field.type === 'upload') {
145
145
  let hasNumberIDRelation;
146
146
  const result = {
@@ -183,7 +183,7 @@ async function buildSearchParam({ collectionSlug, fields, globalSlug, incomingPa
183
183
  return result;
184
184
  }
185
185
  }
186
- if (operator === 'like' && typeof formattedValue === 'string') {
186
+ if (formattedOperator === 'like' && typeof formattedValue === 'string') {
187
187
  const words = formattedValue.split(' ');
188
188
  const result = {
189
189
  value: {
@@ -216,4 +216,4 @@ async function buildSearchParam({ collectionSlug, fields, globalSlug, incomingPa
216
216
  return undefined;
217
217
  }
218
218
 
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyaWVzL2J1aWxkU2VhcmNoUGFyYW1zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGF5bG9hZCB9IGZyb20gJ3BheWxvYWQnXG5pbXBvcnQgdHlwZSB7IFBhdGhUb1F1ZXJ5IH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBPcGVyYXRvciB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCBvYmplY3RJRCBmcm9tICdic29uLW9iamVjdGlkJ1xuaW1wb3J0IG1vbmdvb3NlIGZyb20gJ21vbmdvb3NlJ1xuaW1wb3J0IHsgZ2V0TG9jYWxpemVkUGF0aHMgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgeyB2YWxpZE9wZXJhdG9ycyB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgTW9uZ29vc2VBZGFwdGVyIH0gZnJvbSAnLi4nXG5cbmltcG9ydCB7IG9wZXJhdG9yTWFwIH0gZnJvbSAnLi9vcGVyYXRvck1hcCdcbmltcG9ydCB7IHNhbml0aXplUXVlcnlWYWx1ZSB9IGZyb20gJy4vc2FuaXRpemVRdWVyeVZhbHVlJ1xuXG50eXBlIFNlYXJjaFBhcmFtID0ge1xuICBwYXRoPzogc3RyaW5nXG4gIHZhbHVlOiB1bmtub3duXG59XG5cbmNvbnN0IHN1YlF1ZXJ5T3B0aW9ucyA9IHtcbiAgbGVhbjogdHJ1ZSxcbiAgbGltaXQ6IDUwLFxufVxuXG4vKipcbiAqIENvbnZlcnQgdGhlIFBheWxvYWQga2V5IC8gdmFsdWUgLyBvcGVyYXRvciBpbnRvIGEgTW9uZ29EQiBxdWVyeVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYnVpbGRTZWFyY2hQYXJhbSh7XG4gIGNvbGxlY3Rpb25TbHVnLFxuICBmaWVsZHMsXG4gIGdsb2JhbFNsdWcsXG4gIGluY29taW5nUGF0aCxcbiAgbG9jYWxlLFxuICBvcGVyYXRvcixcbiAgcGF5bG9hZCxcbiAgdmFsLFxufToge1xuICBjb2xsZWN0aW9uU2x1Zz86IHN0cmluZ1xuICBmaWVsZHM6IEZpZWxkW11cbiAgZ2xvYmFsU2x1Zz86IHN0cmluZ1xuICBpbmNvbWluZ1BhdGg6IHN0cmluZ1xuICBsb2NhbGU/OiBzdHJpbmdcbiAgb3BlcmF0b3I6IHN0cmluZ1xuICBwYXlsb2FkOiBQYXlsb2FkXG4gIHZhbDogdW5rbm93blxufSk6IFByb21pc2U8U2VhcmNoUGFyYW0+IHtcbiAgLy8gUmVwbGFjZSBHcmFwaFFMIG5lc3RlZCBmaWVsZCBkb3VibGUgdW5kZXJzY29yZSBmb3JtYXR0aW5nXG4gIGxldCBzYW5pdGl6ZWRQYXRoID0gaW5jb21pbmdQYXRoLnJlcGxhY2UoL19fL2csICcuJylcbiAgaWYgKHNhbml0aXplZFBhdGggPT09ICdpZCcpIHNhbml0aXplZFBhdGggPSAnX2lkJ1xuXG4gIGxldCBwYXRoczogUGF0aFRvUXVlcnlbXSA9IFtdXG5cbiAgbGV0IGhhc0N1c3RvbUlEID0gZmFsc2VcblxuICBpZiAoc2FuaXRpemVkUGF0aCA9PT0gJ19pZCcpIHtcbiAgICBjb25zdCBjdXN0b21JRGZpZWxkID0gcGF5bG9hZC5jb2xsZWN0aW9uc1tjb2xsZWN0aW9uU2x1Z10/LmNvbmZpZy5maWVsZHMuZmluZChcbiAgICAgIChmaWVsZCkgPT4gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubmFtZSA9PT0gJ2lkJyxcbiAgICApXG5cbiAgICBsZXQgaWRGaWVsZFR5cGU6ICdudW1iZXInIHwgJ3RleHQnID0gJ3RleHQnXG5cbiAgICBpZiAoY3VzdG9tSURmaWVsZCkge1xuICAgICAgaWYgKGN1c3RvbUlEZmllbGQ/LnR5cGUgPT09ICd0ZXh0JyB8fCBjdXN0b21JRGZpZWxkPy50eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgICBpZEZpZWxkVHlwZSA9IGN1c3RvbUlEZmllbGQudHlwZVxuICAgICAgfVxuXG4gICAgICBoYXNDdXN0b21JRCA9IHRydWVcbiAgICB9XG5cbiAgICBwYXRocy5wdXNoKHtcbiAgICAgIGNvbGxlY3Rpb25TbHVnLFxuICAgICAgY29tcGxldGU6IHRydWUsXG4gICAgICBmaWVsZDoge1xuICAgICAgICBuYW1lOiAnaWQnLFxuICAgICAgICB0eXBlOiBpZEZpZWxkVHlwZSxcbiAgICAgIH0gYXMgRmllbGQsXG4gICAgICBwYXRoOiAnX2lkJyxcbiAgICB9KVxuICB9IGVsc2Uge1xuICAgIHBhdGhzID0gYXdhaXQgZ2V0TG9jYWxpemVkUGF0aHMoe1xuICAgICAgY29sbGVjdGlvblNsdWcsXG4gICAgICBmaWVsZHMsXG4gICAgICBnbG9iYWxTbHVnLFxuICAgICAgaW5jb21pbmdQYXRoOiBzYW5pdGl6ZWRQYXRoLFxuICAgICAgbG9jYWxlLFxuICAgICAgcGF5bG9hZCxcbiAgICB9KVxuICB9XG5cbiAgY29uc3QgW3sgZmllbGQsIHBhdGggfV0gPSBwYXRoc1xuXG4gIGlmIChwYXRoKSB7XG4gICAgY29uc3QgZm9ybWF0dGVkVmFsdWUgPSBzYW5pdGl6ZVF1ZXJ5VmFsdWUoe1xuICAgICAgZmllbGQsXG4gICAgICBoYXNDdXN0b21JRCxcbiAgICAgIG9wZXJhdG9yLFxuICAgICAgcGF0aCxcbiAgICAgIHZhbCxcbiAgICB9KVxuXG4gICAgLy8gSWYgdGhlcmUgYXJlIG11bHRpcGxlIGNvbGxlY3Rpb25zIHRvIHNlYXJjaCB0aHJvdWdoLFxuICAgIC8vIFJlY3Vyc2l2ZWx5IGJ1aWxkIHVwIGEgbGlzdCBvZiBxdWVyeSBjb25zdHJhaW50c1xuICAgIGlmIChwYXRocy5sZW5ndGggPiAxKSB7XG4gICAgICAvLyBSZW1vdmUgdG9wIGNvbGxlY3Rpb24gYW5kIHJldmVyc2UgYXJyYXlcbiAgICAgIC8vIHRvIHdvcmsgYmFja3dhcmRzIGZyb20gdG9wXG4gICAgICBjb25zdCBwYXRoc1RvUXVlcnkgPSBwYXRocy5zbGljZSgxKS5yZXZlcnNlKClcblxuICAgICAgY29uc3QgaW5pdGlhbFJlbGF0aW9uc2hpcFF1ZXJ5ID0ge1xuICAgICAgICB2YWx1ZToge30sXG4gICAgICB9IGFzIFNlYXJjaFBhcmFtXG5cbiAgICAgIGNvbnN0IHJlbGF0aW9uc2hpcFF1ZXJ5ID0gYXdhaXQgcGF0aHNUb1F1ZXJ5LnJlZHVjZShcbiAgICAgICAgYXN5bmMgKHByaW9yUXVlcnksIHsgY29sbGVjdGlvblNsdWc6IHNsdWcsIHBhdGg6IHN1YlBhdGggfSwgaSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHByaW9yUXVlcnlSZXN1bHQgPSBhd2FpdCBwcmlvclF1ZXJ5XG5cbiAgICAgICAgICBjb25zdCBTdWJNb2RlbCA9IChwYXlsb2FkLmRiIGFzIE1vbmdvb3NlQWRhcHRlcikuY29sbGVjdGlvbnNbc2x1Z11cblxuICAgICAgICAgIC8vIE9uIHRoZSBcImRlZXBlc3RcIiBjb2xsZWN0aW9uLFxuICAgICAgICAgIC8vIFNlYXJjaCBvbiB0aGUgdmFsdWUgcGFzc2VkIHRocm91Z2ggdGhlIHF1ZXJ5XG4gICAgICAgICAgaWYgKGkgPT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHN1YlF1ZXJ5ID0gYXdhaXQgU3ViTW9kZWwuYnVpbGRRdWVyeSh7XG4gICAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICAgICAgICBbc3ViUGF0aF06IHtcbiAgICAgICAgICAgICAgICAgIFtvcGVyYXRvcl06IHZhbCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgU3ViTW9kZWwuZmluZChzdWJRdWVyeSwgc3ViUXVlcnlPcHRpb25zKVxuXG4gICAgICAgICAgICBjb25zdCAkaW46IHVua25vd25bXSA9IFtdXG5cbiAgICAgICAgICAgIHJlc3VsdC5mb3JFYWNoKChkb2MpID0+IHtcbiAgICAgICAgICAgICAgY29uc3Qgc3RyaW5nSUQgPSBkb2MuX2lkLnRvU3RyaW5nKClcbiAgICAgICAgICAgICAgJGluLnB1c2goc3RyaW5nSUQpXG5cbiAgICAgICAgICAgICAgaWYgKG1vbmdvb3NlLlR5cGVzLk9iamVjdElkLmlzVmFsaWQoc3RyaW5nSUQpKSB7XG4gICAgICAgICAgICAgICAgJGluLnB1c2goZG9jLl9pZClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgaWYgKHBhdGhzVG9RdWVyeS5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICAgIHZhbHVlOiB7ICRpbiB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IG5leHRTdWJQYXRoID0gcGF0aHNUb1F1ZXJ5W2kgKyAxXS5wYXRoXG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIHZhbHVlOiB7IFtuZXh0U3ViUGF0aF06IHsgJGluIH0gfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBzdWJRdWVyeSA9IHByaW9yUXVlcnlSZXN1bHQudmFsdWVcbiAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBTdWJNb2RlbC5maW5kKHN1YlF1ZXJ5LCBzdWJRdWVyeU9wdGlvbnMpXG5cbiAgICAgICAgICBjb25zdCAkaW4gPSByZXN1bHQubWFwKChkb2MpID0+IGRvYy5faWQudG9TdHJpbmcoKSlcblxuICAgICAgICAgIC8vIElmIGl0IGlzIHRoZSBsYXN0IHJlY3Vyc2lvblxuICAgICAgICAgIC8vIHRoZW4gcGFzcyB0aHJvdWdoIHRoZSBzZWFyY2ggcGFyYW1cbiAgICAgICAgICBpZiAoaSArIDEgPT09IHBhdGhzVG9RdWVyeS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgIHZhbHVlOiB7ICRpbiB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICBfaWQ6IHsgJGluIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKGluaXRpYWxSZWxhdGlvbnNoaXBRdWVyeSksXG4gICAgICApXG5cbiAgICAgIHJldHVybiByZWxhdGlvbnNoaXBRdWVyeVxuICAgIH1cblxuICAgIGlmIChvcGVyYXRvciAmJiB2YWxpZE9wZXJhdG9ycy5pbmNsdWRlcyhvcGVyYXRvciBhcyBPcGVyYXRvcikpIHtcbiAgICAgIGNvbnN0IG9wZXJhdG9yS2V5ID0gb3BlcmF0b3JNYXBbb3BlcmF0b3JdXG5cbiAgICAgIGlmIChmaWVsZC50eXBlID09PSAncmVsYXRpb25zaGlwJyB8fCBmaWVsZC50eXBlID09PSAndXBsb2FkJykge1xuICAgICAgICBsZXQgaGFzTnVtYmVySURSZWxhdGlvblxuXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgJG9yOiBbeyBbcGF0aF06IHsgW29wZXJhdG9yS2V5XTogZm9ybWF0dGVkVmFsdWUgfSB9XSxcbiAgICAgICAgICB9LFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiBmb3JtYXR0ZWRWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBpZiAobW9uZ29vc2UuVHlwZXMuT2JqZWN0SWQuaXNWYWxpZChmb3JtYXR0ZWRWYWx1ZSkpIHtcbiAgICAgICAgICAgIHJlc3VsdC52YWx1ZS4kb3IucHVzaCh7IFtwYXRoXTogeyBbb3BlcmF0b3JLZXldOiBvYmplY3RJRChmb3JtYXR0ZWRWYWx1ZSkgfSB9KVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICA7KEFycmF5LmlzQXJyYXkoZmllbGQucmVsYXRpb25UbykgPyBmaWVsZC5yZWxhdGlvblRvIDogW2ZpZWxkLnJlbGF0aW9uVG9dKS5mb3JFYWNoKFxuICAgICAgICAgICAgICAocmVsYXRpb25UbykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzUmVsYXRlZFRvQ3VzdG9tTnVtYmVySUQgPSBwYXlsb2FkLmNvbGxlY3Rpb25zW1xuICAgICAgICAgICAgICAgICAgcmVsYXRpb25Ub1xuICAgICAgICAgICAgICAgIF0/LmNvbmZpZz8uZmllbGRzLmZpbmQoKHJlbGF0ZWRGaWVsZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgZmllbGRBZmZlY3RzRGF0YShyZWxhdGVkRmllbGQpICYmXG4gICAgICAgICAgICAgICAgICAgIHJlbGF0ZWRGaWVsZC5uYW1lID09PSAnaWQnICYmXG4gICAgICAgICAgICAgICAgICAgIHJlbGF0ZWRGaWVsZC50eXBlID09PSAnbnVtYmVyJ1xuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgICBpZiAoaXNSZWxhdGVkVG9DdXN0b21OdW1iZXJJRCkge1xuICAgICAgICAgICAgICAgICAgaWYgKGlzUmVsYXRlZFRvQ3VzdG9tTnVtYmVySUQudHlwZSA9PT0gJ251bWJlcicpIGhhc051bWJlcklEUmVsYXRpb24gPSB0cnVlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICBpZiAoaGFzTnVtYmVySURSZWxhdGlvbilcbiAgICAgICAgICAgICAgcmVzdWx0LnZhbHVlLiRvci5wdXNoKHsgW3BhdGhdOiB7IFtvcGVyYXRvcktleV06IHBhcnNlRmxvYXQoZm9ybWF0dGVkVmFsdWUpIH0gfSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVzdWx0LnZhbHVlLiRvci5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChvcGVyYXRvciA9PT0gJ2xpa2UnICYmIHR5cGVvZiBmb3JtYXR0ZWRWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3Qgd29yZHMgPSBmb3JtYXR0ZWRWYWx1ZS5zcGxpdCgnICcpXG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0ge1xuICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAkYW5kOiB3b3Jkcy5tYXAoKHdvcmQpID0+ICh7XG4gICAgICAgICAgICAgIFtwYXRoXToge1xuICAgICAgICAgICAgICAgICRvcHRpb25zOiAnaScsXG4gICAgICAgICAgICAgICAgJHJlZ2V4OiB3b3JkLnJlcGxhY2UoL1tcXFxcXiQqKz8uKCl8W1xcXXt9XS9nLCAnXFxcXCQmJyksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgfSxcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgIH1cblxuICAgICAgLy8gU29tZSBvcGVyYXRvcnMgbGlrZSAnbmVhcicgbmVlZCB0byBkZWZpbmUgYSBmdWxsIHF1ZXJ5XG4gICAgICAvLyBzbyBpZiB0aGVyZSBpcyBubyBvcGVyYXRvciBrZXksIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgICAgaWYgKCFvcGVyYXRvcktleSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgdmFsdWU6IGZvcm1hdHRlZFZhbHVlLFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBhdGgsXG4gICAgICAgIHZhbHVlOiB7IFtvcGVyYXRvcktleV06IGZvcm1hdHRlZFZhbHVlIH0sXG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiB1bmRlZmluZWRcbn1cbiJdLCJuYW1lcyI6WyJidWlsZFNlYXJjaFBhcmFtIiwic3ViUXVlcnlPcHRpb25zIiwibGVhbiIsImxpbWl0IiwiY29sbGVjdGlvblNsdWciLCJmaWVsZHMiLCJnbG9iYWxTbHVnIiwiaW5jb21pbmdQYXRoIiwibG9jYWxlIiwib3BlcmF0b3IiLCJwYXlsb2FkIiwidmFsIiwic2FuaXRpemVkUGF0aCIsInJlcGxhY2UiLCJwYXRocyIsImhhc0N1c3RvbUlEIiwiY3VzdG9tSURmaWVsZCIsImNvbGxlY3Rpb25zIiwiY29uZmlnIiwiZmluZCIsImZpZWxkIiwiZmllbGRBZmZlY3RzRGF0YSIsIm5hbWUiLCJpZEZpZWxkVHlwZSIsInR5cGUiLCJwdXNoIiwiY29tcGxldGUiLCJwYXRoIiwiZ2V0TG9jYWxpemVkUGF0aHMiLCJmb3JtYXR0ZWRWYWx1ZSIsInNhbml0aXplUXVlcnlWYWx1ZSIsImxlbmd0aCIsInBhdGhzVG9RdWVyeSIsInNsaWNlIiwicmV2ZXJzZSIsImluaXRpYWxSZWxhdGlvbnNoaXBRdWVyeSIsInZhbHVlIiwicmVsYXRpb25zaGlwUXVlcnkiLCJyZWR1Y2UiLCJwcmlvclF1ZXJ5Iiwic2x1ZyIsInN1YlBhdGgiLCJpIiwicHJpb3JRdWVyeVJlc3VsdCIsIlN1Yk1vZGVsIiwiZGIiLCJzdWJRdWVyeSIsImJ1aWxkUXVlcnkiLCJ3aGVyZSIsInJlc3VsdCIsIiRpbiIsImZvckVhY2giLCJkb2MiLCJzdHJpbmdJRCIsIl9pZCIsInRvU3RyaW5nIiwibW9uZ29vc2UiLCJUeXBlcyIsIk9iamVjdElkIiwiaXNWYWxpZCIsIm5leHRTdWJQYXRoIiwibWFwIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ2YWxpZE9wZXJhdG9ycyIsImluY2x1ZGVzIiwib3BlcmF0b3JLZXkiLCJvcGVyYXRvck1hcCIsImhhc051bWJlcklEUmVsYXRpb24iLCIkb3IiLCJvYmplY3RJRCIsIkFycmF5IiwiaXNBcnJheSIsInJlbGF0aW9uVG8iLCJpc1JlbGF0ZWRUb0N1c3RvbU51bWJlcklEIiwicmVsYXRlZEZpZWxkIiwicGFyc2VGbG9h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
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyaWVzL2J1aWxkU2VhcmNoUGFyYW1zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGF5bG9hZCB9IGZyb20gJ3BheWxvYWQnXG5pbXBvcnQgdHlwZSB7IFBhdGhUb1F1ZXJ5IH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBPcGVyYXRvciB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCBvYmplY3RJRCBmcm9tICdic29uLW9iamVjdGlkJ1xuaW1wb3J0IG1vbmdvb3NlIGZyb20gJ21vbmdvb3NlJ1xuaW1wb3J0IHsgZ2V0TG9jYWxpemVkUGF0aHMgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgeyB2YWxpZE9wZXJhdG9ycyB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgTW9uZ29vc2VBZGFwdGVyIH0gZnJvbSAnLi4nXG5cbmltcG9ydCB7IG9wZXJhdG9yTWFwIH0gZnJvbSAnLi9vcGVyYXRvck1hcCdcbmltcG9ydCB7IHNhbml0aXplUXVlcnlWYWx1ZSB9IGZyb20gJy4vc2FuaXRpemVRdWVyeVZhbHVlJ1xuXG50eXBlIFNlYXJjaFBhcmFtID0ge1xuICBwYXRoPzogc3RyaW5nXG4gIHZhbHVlOiB1bmtub3duXG59XG5cbmNvbnN0IHN1YlF1ZXJ5T3B0aW9ucyA9IHtcbiAgbGVhbjogdHJ1ZSxcbiAgbGltaXQ6IDUwLFxufVxuXG4vKipcbiAqIENvbnZlcnQgdGhlIFBheWxvYWQga2V5IC8gdmFsdWUgLyBvcGVyYXRvciBpbnRvIGEgTW9uZ29EQiBxdWVyeVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYnVpbGRTZWFyY2hQYXJhbSh7XG4gIGNvbGxlY3Rpb25TbHVnLFxuICBmaWVsZHMsXG4gIGdsb2JhbFNsdWcsXG4gIGluY29taW5nUGF0aCxcbiAgbG9jYWxlLFxuICBvcGVyYXRvcixcbiAgcGF5bG9hZCxcbiAgdmFsLFxufToge1xuICBjb2xsZWN0aW9uU2x1Zz86IHN0cmluZ1xuICBmaWVsZHM6IEZpZWxkW11cbiAgZ2xvYmFsU2x1Zz86IHN0cmluZ1xuICBpbmNvbWluZ1BhdGg6IHN0cmluZ1xuICBsb2NhbGU/OiBzdHJpbmdcbiAgb3BlcmF0b3I6IHN0cmluZ1xuICBwYXlsb2FkOiBQYXlsb2FkXG4gIHZhbDogdW5rbm93blxufSk6IFByb21pc2U8U2VhcmNoUGFyYW0+IHtcbiAgLy8gUmVwbGFjZSBHcmFwaFFMIG5lc3RlZCBmaWVsZCBkb3VibGUgdW5kZXJzY29yZSBmb3JtYXR0aW5nXG4gIGxldCBzYW5pdGl6ZWRQYXRoID0gaW5jb21pbmdQYXRoLnJlcGxhY2UoL19fL2csICcuJylcbiAgaWYgKHNhbml0aXplZFBhdGggPT09ICdpZCcpIHNhbml0aXplZFBhdGggPSAnX2lkJ1xuXG4gIGxldCBwYXRoczogUGF0aFRvUXVlcnlbXSA9IFtdXG5cbiAgbGV0IGhhc0N1c3RvbUlEID0gZmFsc2VcblxuICBpZiAoc2FuaXRpemVkUGF0aCA9PT0gJ19pZCcpIHtcbiAgICBjb25zdCBjdXN0b21JRGZpZWxkID0gcGF5bG9hZC5jb2xsZWN0aW9uc1tjb2xsZWN0aW9uU2x1Z10/LmNvbmZpZy5maWVsZHMuZmluZChcbiAgICAgIChmaWVsZCkgPT4gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubmFtZSA9PT0gJ2lkJyxcbiAgICApXG5cbiAgICBsZXQgaWRGaWVsZFR5cGU6ICdudW1iZXInIHwgJ3RleHQnID0gJ3RleHQnXG5cbiAgICBpZiAoY3VzdG9tSURmaWVsZCkge1xuICAgICAgaWYgKGN1c3RvbUlEZmllbGQ/LnR5cGUgPT09ICd0ZXh0JyB8fCBjdXN0b21JRGZpZWxkPy50eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgICBpZEZpZWxkVHlwZSA9IGN1c3RvbUlEZmllbGQudHlwZVxuICAgICAgfVxuXG4gICAgICBoYXNDdXN0b21JRCA9IHRydWVcbiAgICB9XG5cbiAgICBwYXRocy5wdXNoKHtcbiAgICAgIGNvbGxlY3Rpb25TbHVnLFxuICAgICAgY29tcGxldGU6IHRydWUsXG4gICAgICBmaWVsZDoge1xuICAgICAgICBuYW1lOiAnaWQnLFxuICAgICAgICB0eXBlOiBpZEZpZWxkVHlwZSxcbiAgICAgIH0gYXMgRmllbGQsXG4gICAgICBwYXRoOiAnX2lkJyxcbiAgICB9KVxuICB9IGVsc2Uge1xuICAgIHBhdGhzID0gYXdhaXQgZ2V0TG9jYWxpemVkUGF0aHMoe1xuICAgICAgY29sbGVjdGlvblNsdWcsXG4gICAgICBmaWVsZHMsXG4gICAgICBnbG9iYWxTbHVnLFxuICAgICAgaW5jb21pbmdQYXRoOiBzYW5pdGl6ZWRQYXRoLFxuICAgICAgbG9jYWxlLFxuICAgICAgcGF5bG9hZCxcbiAgICB9KVxuICB9XG5cbiAgY29uc3QgW3sgZmllbGQsIHBhdGggfV0gPSBwYXRoc1xuXG4gIGlmIChwYXRoKSB7XG4gICAgY29uc3QgeyBvcGVyYXRvcjogZm9ybWF0dGVkT3BlcmF0b3IsIHZhbDogZm9ybWF0dGVkVmFsdWUgfSA9IHNhbml0aXplUXVlcnlWYWx1ZSh7XG4gICAgICBmaWVsZCxcbiAgICAgIGhhc0N1c3RvbUlELFxuICAgICAgb3BlcmF0b3IsXG4gICAgICBwYXRoLFxuICAgICAgdmFsLFxuICAgIH0pXG5cbiAgICAvLyBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgY29sbGVjdGlvbnMgdG8gc2VhcmNoIHRocm91Z2gsXG4gICAgLy8gUmVjdXJzaXZlbHkgYnVpbGQgdXAgYSBsaXN0IG9mIHF1ZXJ5IGNvbnN0cmFpbnRzXG4gICAgaWYgKHBhdGhzLmxlbmd0aCA+IDEpIHtcbiAgICAgIC8vIFJlbW92ZSB0b3AgY29sbGVjdGlvbiBhbmQgcmV2ZXJzZSBhcnJheVxuICAgICAgLy8gdG8gd29yayBiYWNrd2FyZHMgZnJvbSB0b3BcbiAgICAgIGNvbnN0IHBhdGhzVG9RdWVyeSA9IHBhdGhzLnNsaWNlKDEpLnJldmVyc2UoKVxuXG4gICAgICBjb25zdCBpbml0aWFsUmVsYXRpb25zaGlwUXVlcnkgPSB7XG4gICAgICAgIHZhbHVlOiB7fSxcbiAgICAgIH0gYXMgU2VhcmNoUGFyYW1cblxuICAgICAgY29uc3QgcmVsYXRpb25zaGlwUXVlcnkgPSBhd2FpdCBwYXRoc1RvUXVlcnkucmVkdWNlKFxuICAgICAgICBhc3luYyAocHJpb3JRdWVyeSwgeyBjb2xsZWN0aW9uU2x1Zzogc2x1ZywgcGF0aDogc3ViUGF0aCB9LCBpKSA9PiB7XG4gICAgICAgICAgY29uc3QgcHJpb3JRdWVyeVJlc3VsdCA9IGF3YWl0IHByaW9yUXVlcnlcblxuICAgICAgICAgIGNvbnN0IFN1Yk1vZGVsID0gKHBheWxvYWQuZGIgYXMgTW9uZ29vc2VBZGFwdGVyKS5jb2xsZWN0aW9uc1tzbHVnXVxuXG4gICAgICAgICAgLy8gT24gdGhlIFwiZGVlcGVzdFwiIGNvbGxlY3Rpb24sXG4gICAgICAgICAgLy8gU2VhcmNoIG9uIHRoZSB2YWx1ZSBwYXNzZWQgdGhyb3VnaCB0aGUgcXVlcnlcbiAgICAgICAgICBpZiAoaSA9PT0gMCkge1xuICAgICAgICAgICAgY29uc3Qgc3ViUXVlcnkgPSBhd2FpdCBTdWJNb2RlbC5idWlsZFF1ZXJ5KHtcbiAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICBwYXlsb2FkLFxuICAgICAgICAgICAgICB3aGVyZToge1xuICAgICAgICAgICAgICAgIFtzdWJQYXRoXToge1xuICAgICAgICAgICAgICAgICAgW2Zvcm1hdHRlZE9wZXJhdG9yXTogdmFsLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBTdWJNb2RlbC5maW5kKHN1YlF1ZXJ5LCBzdWJRdWVyeU9wdGlvbnMpXG5cbiAgICAgICAgICAgIGNvbnN0ICRpbjogdW5rbm93bltdID0gW11cblxuICAgICAgICAgICAgcmVzdWx0LmZvckVhY2goKGRvYykgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBzdHJpbmdJRCA9IGRvYy5faWQudG9TdHJpbmcoKVxuICAgICAgICAgICAgICAkaW4ucHVzaChzdHJpbmdJRClcblxuICAgICAgICAgICAgICBpZiAobW9uZ29vc2UuVHlwZXMuT2JqZWN0SWQuaXNWYWxpZChzdHJpbmdJRCkpIHtcbiAgICAgICAgICAgICAgICAkaW4ucHVzaChkb2MuX2lkKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICBpZiAocGF0aHNUb1F1ZXJ5Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHsgJGluIH0sXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgbmV4dFN1YlBhdGggPSBwYXRoc1RvUXVlcnlbaSArIDFdLnBhdGhcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgdmFsdWU6IHsgW25leHRTdWJQYXRoXTogeyAkaW4gfSB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHN1YlF1ZXJ5ID0gcHJpb3JRdWVyeVJlc3VsdC52YWx1ZVxuICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFN1Yk1vZGVsLmZpbmQoc3ViUXVlcnksIHN1YlF1ZXJ5T3B0aW9ucylcblxuICAgICAgICAgIGNvbnN0ICRpbiA9IHJlc3VsdC5tYXAoKGRvYykgPT4gZG9jLl9pZC50b1N0cmluZygpKVxuXG4gICAgICAgICAgLy8gSWYgaXQgaXMgdGhlIGxhc3QgcmVjdXJzaW9uXG4gICAgICAgICAgLy8gdGhlbiBwYXNzIHRocm91Z2ggdGhlIHNlYXJjaCBwYXJhbVxuICAgICAgICAgIGlmIChpICsgMSA9PT0gcGF0aHNUb1F1ZXJ5Lmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgICAgdmFsdWU6IHsgJGluIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgIF9pZDogeyAkaW4gfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBQcm9taXNlLnJlc29sdmUoaW5pdGlhbFJlbGF0aW9uc2hpcFF1ZXJ5KSxcbiAgICAgIClcblxuICAgICAgcmV0dXJuIHJlbGF0aW9uc2hpcFF1ZXJ5XG4gICAgfVxuXG4gICAgaWYgKGZvcm1hdHRlZE9wZXJhdG9yICYmIHZhbGlkT3BlcmF0b3JzLmluY2x1ZGVzKGZvcm1hdHRlZE9wZXJhdG9yIGFzIE9wZXJhdG9yKSkge1xuICAgICAgY29uc3Qgb3BlcmF0b3JLZXkgPSBvcGVyYXRvck1hcFtmb3JtYXR0ZWRPcGVyYXRvcl1cblxuICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdyZWxhdGlvbnNoaXAnIHx8IGZpZWxkLnR5cGUgPT09ICd1cGxvYWQnKSB7XG4gICAgICAgIGxldCBoYXNOdW1iZXJJRFJlbGF0aW9uXG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0ge1xuICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAkb3I6IFt7IFtwYXRoXTogeyBbb3BlcmF0b3JLZXldOiBmb3JtYXR0ZWRWYWx1ZSB9IH1dLFxuICAgICAgICAgIH0sXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIGZvcm1hdHRlZFZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIGlmIChtb25nb29zZS5UeXBlcy5PYmplY3RJZC5pc1ZhbGlkKGZvcm1hdHRlZFZhbHVlKSkge1xuICAgICAgICAgICAgcmVzdWx0LnZhbHVlLiRvci5wdXNoKHsgW3BhdGhdOiB7IFtvcGVyYXRvcktleV06IG9iamVjdElEKGZvcm1hdHRlZFZhbHVlKSB9IH0pXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIDsoQXJyYXkuaXNBcnJheShmaWVsZC5yZWxhdGlvblRvKSA/IGZpZWxkLnJlbGF0aW9uVG8gOiBbZmllbGQucmVsYXRpb25Ub10pLmZvckVhY2goXG4gICAgICAgICAgICAgIChyZWxhdGlvblRvKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNSZWxhdGVkVG9DdXN0b21OdW1iZXJJRCA9IHBheWxvYWQuY29sbGVjdGlvbnNbXG4gICAgICAgICAgICAgICAgICByZWxhdGlvblRvXG4gICAgICAgICAgICAgICAgXT8uY29uZmlnPy5maWVsZHMuZmluZCgocmVsYXRlZEZpZWxkKSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICBmaWVsZEFmZmVjdHNEYXRhKHJlbGF0ZWRGaWVsZCkgJiZcbiAgICAgICAgICAgICAgICAgICAgcmVsYXRlZEZpZWxkLm5hbWUgPT09ICdpZCcgJiZcbiAgICAgICAgICAgICAgICAgICAgcmVsYXRlZEZpZWxkLnR5cGUgPT09ICdudW1iZXInXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICAgIGlmIChpc1JlbGF0ZWRUb0N1c3RvbU51bWJlcklEKSB7XG4gICAgICAgICAgICAgICAgICBpZiAoaXNSZWxhdGVkVG9DdXN0b21OdW1iZXJJRC50eXBlID09PSAnbnVtYmVyJykgaGFzTnVtYmVySURSZWxhdGlvbiA9IHRydWVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG5cbiAgICAgICAgICAgIGlmIChoYXNOdW1iZXJJRFJlbGF0aW9uKVxuICAgICAgICAgICAgICByZXN1bHQudmFsdWUuJG9yLnB1c2goeyBbcGF0aF06IHsgW29wZXJhdG9yS2V5XTogcGFyc2VGbG9hdChmb3JtYXR0ZWRWYWx1ZSkgfSB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZXN1bHQudmFsdWUuJG9yLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGZvcm1hdHRlZE9wZXJhdG9yID09PSAnbGlrZScgJiYgdHlwZW9mIGZvcm1hdHRlZFZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICBjb25zdCB3b3JkcyA9IGZvcm1hdHRlZFZhbHVlLnNwbGl0KCcgJylcblxuICAgICAgICBjb25zdCByZXN1bHQgPSB7XG4gICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICRhbmQ6IHdvcmRzLm1hcCgod29yZCkgPT4gKHtcbiAgICAgICAgICAgICAgW3BhdGhdOiB7XG4gICAgICAgICAgICAgICAgJG9wdGlvbnM6ICdpJyxcbiAgICAgICAgICAgICAgICAkcmVnZXg6IHdvcmQucmVwbGFjZSgvW1xcXFxeJCorPy4oKXxbXFxde31dL2csICdcXFxcJCYnKSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgfVxuXG4gICAgICAvLyBTb21lIG9wZXJhdG9ycyBsaWtlICduZWFyJyBuZWVkIHRvIGRlZmluZSBhIGZ1bGwgcXVlcnlcbiAgICAgIC8vIHNvIGlmIHRoZXJlIGlzIG5vIG9wZXJhdG9yIGtleSwganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgICBpZiAoIW9wZXJhdG9yS2V5KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICB2YWx1ZTogZm9ybWF0dGVkVmFsdWUsXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGF0aCxcbiAgICAgICAgdmFsdWU6IHsgW29wZXJhdG9yS2V5XTogZm9ybWF0dGVkVmFsdWUgfSxcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZFxufVxuIl0sIm5hbWVzIjpbImJ1aWxkU2VhcmNoUGFyYW0iLCJzdWJRdWVyeU9wdGlvbnMiLCJsZWFuIiwibGltaXQiLCJjb2xsZWN0aW9uU2x1ZyIsImZpZWxkcyIsImdsb2JhbFNsdWciLCJpbmNvbWluZ1BhdGgiLCJsb2NhbGUiLCJvcGVyYXRvciIsInBheWxvYWQiLCJ2YWwiLCJzYW5pdGl6ZWRQYXRoIiwicmVwbGFjZSIsInBhdGhzIiwiaGFzQ3VzdG9tSUQiLCJjdXN0b21JRGZpZWxkIiwiY29sbGVjdGlvbnMiLCJjb25maWciLCJmaW5kIiwiZmllbGQiLCJmaWVsZEFmZmVjdHNEYXRhIiwibmFtZSIsImlkRmllbGRUeXBlIiwidHlwZSIsInB1c2giLCJjb21wbGV0ZSIsInBhdGgiLCJnZXRMb2NhbGl6ZWRQYXRocyIsImZvcm1hdHRlZE9wZXJhdG9yIiwiZm9ybWF0dGVkVmFsdWUiLCJzYW5pdGl6ZVF1ZXJ5VmFsdWUiLCJsZW5ndGgiLCJwYXRoc1RvUXVlcnkiLCJzbGljZSIsInJldmVyc2UiLCJpbml0aWFsUmVsYXRpb25zaGlwUXVlcnkiLCJ2YWx1ZSIsInJlbGF0aW9uc2hpcFF1ZXJ5IiwicmVkdWNlIiwicHJpb3JRdWVyeSIsInNsdWciLCJzdWJQYXRoIiwiaSIsInByaW9yUXVlcnlSZXN1bHQiLCJTdWJNb2RlbCIsImRiIiwic3ViUXVlcnkiLCJidWlsZFF1ZXJ5Iiwid2hlcmUiLCJyZXN1bHQiLCIkaW4iLCJmb3JFYWNoIiwiZG9jIiwic3RyaW5nSUQiLCJfaWQiLCJ0b1N0cmluZyIsIm1vbmdvb3NlIiwiVHlwZXMiLCJPYmplY3RJZCIsImlzVmFsaWQiLCJuZXh0U3ViUGF0aCIsIm1hcCIsIlByb21pc2UiLCJyZXNvbHZlIiwidmFsaWRPcGVyYXRvcnMiLCJpbmNsdWRlcyIsIm9wZXJhdG9yS2V5Iiwib3BlcmF0b3JNYXAiLCJoYXNOdW1iZXJJRFJlbGF0aW9uIiwiJG9yIiwib2JqZWN0SUQiLCJBcnJheSIsImlzQXJyYXkiLCJyZWxhdGlvblRvIiwiaXNSZWxhdGVkVG9DdXN0b21OdW1iZXJJRCIsInJlbGF0ZWRGaWVsZCIsInBhcnNlRmxvYXQiLCJ3b3JkcyIsInNwbGl0IiwiJGFuZCIsIndvcmQiLCIkb3B0aW9ucyIsIiRyZWdleCIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkE2QnNCQTs7O2VBQUFBOzs7cUVBeEJEO2lFQUNBOzBCQUNhO3VCQUNEOzZCQUtMO29DQUNPOzs7Ozs7QUFPbkMsTUFBTUMsa0JBQWtCO0lBQ3RCQyxNQUFNO0lBQ05DLE9BQU87QUFDVDtBQUtPLGVBQWVILGlCQUFpQixFQUNyQ0ksY0FBYyxFQUNkQyxNQUFNLEVBQ05DLFVBQVUsRUFDVkMsWUFBWSxFQUNaQyxNQUFNLEVBQ05DLFFBQVEsRUFDUkMsT0FBTyxFQUNQQyxHQUFHLEVBVUo7SUFDQyw0REFBNEQ7SUFDNUQsSUFBSUMsZ0JBQWdCTCxhQUFhTSxPQUFPLENBQUMsT0FBTztJQUNoRCxJQUFJRCxrQkFBa0IsTUFBTUEsZ0JBQWdCO0lBRTVDLElBQUlFLFFBQXVCLEVBQUU7SUFFN0IsSUFBSUMsY0FBYztJQUVsQixJQUFJSCxrQkFBa0IsT0FBTztRQUMzQixNQUFNSSxnQkFBZ0JOLFFBQVFPLFdBQVcsQ0FBQ2IsZUFBZSxFQUFFYyxPQUFPYixPQUFPYyxLQUN2RSxDQUFDQyxRQUFVQyxJQUFBQSx1QkFBZ0IsRUFBQ0QsVUFBVUEsTUFBTUUsSUFBSSxLQUFLO1FBR3ZELElBQUlDLGNBQWlDO1FBRXJDLElBQUlQLGVBQWU7WUFDakIsSUFBSUEsZUFBZVEsU0FBUyxVQUFVUixlQUFlUSxTQUFTLFVBQVU7Z0JBQ3RFRCxjQUFjUCxjQUFjUSxJQUFJO1lBQ2xDO1lBRUFULGNBQWM7UUFDaEI7UUFFQUQsTUFBTVcsSUFBSSxDQUFDO1lBQ1RyQjtZQUNBc0IsVUFBVTtZQUNWTixPQUFPO2dCQUNMRSxNQUFNO2dCQUNORSxNQUFNRDtZQUNSO1lBQ0FJLE1BQU07UUFDUjtJ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
@@ -6,6 +6,9 @@ type SanitizeQueryValueArgs = {
6
6
  path: string;
7
7
  val: any;
8
8
  };
9
- export declare const sanitizeQueryValue: ({ field, hasCustomID, operator, path, val, }: SanitizeQueryValueArgs) => unknown;
9
+ export declare const sanitizeQueryValue: ({ field, hasCustomID, operator, path, val, }: SanitizeQueryValueArgs) => {
10
+ operator: string;
11
+ val: unknown;
12
+ };
10
13
  export {};
11
14
  //# sourceMappingURL=sanitizeQueryValue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sanitizeQueryValue.d.ts","sourceRoot":"","sources":["../../src/queries/sanitizeQueryValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAKtD,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,KAAK,GAAG,UAAU,CAAA;IACzB,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,GAAG,CAAA;CACT,CAAA;AAED,eAAO,MAAM,kBAAkB,iDAM5B,sBAAsB,KAAG,OA+G3B,CAAA"}
1
+ {"version":3,"file":"sanitizeQueryValue.d.ts","sourceRoot":"","sources":["../../src/queries/sanitizeQueryValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAKtD,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,KAAK,GAAG,UAAU,CAAA;IACzB,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,GAAG,CAAA;CACT,CAAA;AAED,eAAO,MAAM,kBAAkB,iDAM5B,sBAAsB;cAAe,MAAM;SAAO,OAAO;CAyH3D,CAAA"}
@@ -17,18 +17,25 @@ function _interop_require_default(obj) {
17
17
  }
18
18
  const sanitizeQueryValue = ({ field, hasCustomID, operator, path, val })=>{
19
19
  let formattedValue = val;
20
+ let formattedOperator = operator;
20
21
  // Disregard invalid _ids
21
22
  if (path === '_id' && typeof val === 'string' && val.split(',').length === 1) {
22
23
  if (!hasCustomID) {
23
24
  const isValid = _mongoose.default.Types.ObjectId.isValid(val);
24
25
  if (!isValid) {
25
- return undefined;
26
+ return {
27
+ operator: formattedOperator,
28
+ val: undefined
29
+ };
26
30
  }
27
31
  }
28
32
  if (field.type === 'number') {
29
33
  const parsedNumber = parseFloat(val);
30
34
  if (Number.isNaN(parsedNumber)) {
31
- return undefined;
35
+ return {
36
+ operator: formattedOperator,
37
+ val: undefined
38
+ };
32
39
  }
33
40
  }
34
41
  }
@@ -119,10 +126,16 @@ const sanitizeQueryValue = ({ field, hasCustomID, operator, path, val })=>{
119
126
  };
120
127
  }
121
128
  }
129
+ if ((path === '_id' || path === 'parent') && operator === 'like' && formattedValue.length === 24 && !hasCustomID) {
130
+ formattedOperator = 'equals';
131
+ }
122
132
  if (operator === 'exists') {
123
133
  formattedValue = formattedValue === 'true' || formattedValue === true;
124
134
  }
125
- return formattedValue;
135
+ return {
136
+ operator: formattedOperator,
137
+ val: formattedValue
138
+ };
126
139
  };
127
140
 
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyaWVzL3Nhbml0aXplUXVlcnlWYWx1ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZpZWxkLCBUYWJBc0ZpZWxkIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IG1vbmdvb3NlIGZyb20gJ21vbmdvb3NlJ1xuaW1wb3J0IHsgY3JlYXRlQXJyYXlGcm9tQ29tbWFEZWxpbmVhdGVkIH0gZnJvbSAncGF5bG9hZC91dGlsaXRpZXMnXG5cbnR5cGUgU2FuaXRpemVRdWVyeVZhbHVlQXJncyA9IHtcbiAgZmllbGQ6IEZpZWxkIHwgVGFiQXNGaWVsZFxuICBoYXNDdXN0b21JRDogYm9vbGVhblxuICBvcGVyYXRvcjogc3RyaW5nXG4gIHBhdGg6IHN0cmluZ1xuICB2YWw6IGFueVxufVxuXG5leHBvcnQgY29uc3Qgc2FuaXRpemVRdWVyeVZhbHVlID0gKHtcbiAgZmllbGQsXG4gIGhhc0N1c3RvbUlELFxuICBvcGVyYXRvcixcbiAgcGF0aCxcbiAgdmFsLFxufTogU2FuaXRpemVRdWVyeVZhbHVlQXJncyk6IHVua25vd24gPT4ge1xuICBsZXQgZm9ybWF0dGVkVmFsdWUgPSB2YWxcblxuICAvLyBEaXNyZWdhcmQgaW52YWxpZCBfaWRzXG4gIGlmIChwYXRoID09PSAnX2lkJyAmJiB0eXBlb2YgdmFsID09PSAnc3RyaW5nJyAmJiB2YWwuc3BsaXQoJywnKS5sZW5ndGggPT09IDEpIHtcbiAgICBpZiAoIWhhc0N1c3RvbUlEKSB7XG4gICAgICBjb25zdCBpc1ZhbGlkID0gbW9uZ29vc2UuVHlwZXMuT2JqZWN0SWQuaXNWYWxpZCh2YWwpXG5cbiAgICAgIGlmICghaXNWYWxpZCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICdudW1iZXInKSB7XG4gICAgICBjb25zdCBwYXJzZWROdW1iZXIgPSBwYXJzZUZsb2F0KHZhbClcblxuICAgICAgaWYgKE51bWJlci5pc05hTihwYXJzZWROdW1iZXIpKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDYXN0IGluY29taW5nIHZhbHVlcyBhcyBwcm9wZXIgc2VhcmNoYWJsZSB0eXBlc1xuICBpZiAoZmllbGQudHlwZSA9PT0gJ2NoZWNrYm94JyAmJiB0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgIGlmICh2YWwudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnKSBmb3JtYXR0ZWRWYWx1ZSA9IHRydWVcbiAgICBpZiAodmFsLnRvTG93ZXJDYXNlKCkgPT09ICdmYWxzZScpIGZvcm1hdHRlZFZhbHVlID0gZmFsc2VcbiAgfVxuXG4gIGlmIChbJ2FsbCcsICdpbicsICdub3RfaW4nXS5pbmNsdWRlcyhvcGVyYXRvcikgJiYgdHlwZW9mIGZvcm1hdHRlZFZhbHVlID09PSAnc3RyaW5nJykge1xuICAgIGZvcm1hdHRlZFZhbHVlID0gY3JlYXRlQXJyYXlGcm9tQ29tbWFEZWxpbmVhdGVkKGZvcm1hdHRlZFZhbHVlKVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICdudW1iZXInKSB7XG4gICAgICBmb3JtYXR0ZWRWYWx1ZSA9IGZvcm1hdHRlZFZhbHVlLm1hcCgoYXJyYXlWYWwpID0+IHBhcnNlRmxvYXQoYXJyYXlWYWwpKVxuICAgIH1cbiAgfVxuXG4gIGlmIChmaWVsZC50eXBlID09PSAnbnVtYmVyJyAmJiB0eXBlb2YgZm9ybWF0dGVkVmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgZm9ybWF0dGVkVmFsdWUgPSBOdW1iZXIodmFsKVxuICB9XG5cbiAgaWYgKGZpZWxkLnR5cGUgPT09ICdkYXRlJyAmJiB0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgIGZvcm1hdHRlZFZhbHVlID0gbmV3IERhdGUodmFsKVxuICAgIGlmIChOdW1iZXIuaXNOYU4oRGF0ZS5wYXJzZShmb3JtYXR0ZWRWYWx1ZSkpKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuICB9XG5cbiAgaWYgKFsncmVsYXRpb25zaGlwJywgJ3VwbG9hZCddLmluY2x1ZGVzKGZpZWxkLnR5cGUpKSB7XG4gICAgaWYgKHZhbCA9PT0gJ251bGwnKSB7XG4gICAgICBmb3JtYXR0ZWRWYWx1ZSA9IG51bGxcbiAgICB9XG5cbiAgICBpZiAob3BlcmF0b3IgPT09ICdpbicgJiYgQXJyYXkuaXNBcnJheShmb3JtYXR0ZWRWYWx1ZSkpIHtcbiAgICAgIGZvcm1hdHRlZFZhbHVlID0gZm9ybWF0dGVkVmFsdWUucmVkdWNlKChmb3JtYXR0ZWRWYWx1ZXMsIGluVmFsKSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlcyA9IFtpblZhbF1cbiAgICAgICAgaWYgKG1vbmdvb3NlLlR5cGVzLk9iamVjdElkLmlzVmFsaWQoaW5WYWwpKVxuICAgICAgICAgIG5ld1ZhbHVlcy5wdXNoKG5ldyBtb25nb29zZS5UeXBlcy5PYmplY3RJZChpblZhbCkpXG5cbiAgICAgICAgY29uc3QgcGFyc2VkTnVtYmVyID0gcGFyc2VGbG9hdChpblZhbClcbiAgICAgICAgaWYgKCFOdW1iZXIuaXNOYU4ocGFyc2VkTnVtYmVyKSkgbmV3VmFsdWVzLnB1c2gocGFyc2VkTnVtYmVyKVxuXG4gICAgICAgIHJldHVybiBbLi4uZm9ybWF0dGVkVmFsdWVzLCAuLi5uZXdWYWx1ZXNdXG4gICAgICB9LCBbXSlcbiAgICB9XG4gIH1cblxuICAvLyBTZXQgdXAgc3BlY2lmaWMgZm9ybWF0dGluZyBuZWNlc3NhcnkgYnkgb3BlcmF0b3JzXG5cbiAgaWYgKG9wZXJhdG9yID09PSAnbmVhcicpIHtcbiAgICBsZXQgbG5nXG4gICAgbGV0IGxhdFxuICAgIGxldCBtYXhEaXN0YW5jZVxuICAgIGxldCBtaW5EaXN0YW5jZVxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZm9ybWF0dGVkVmFsdWUpKSB7XG4gICAgICA7W2xuZywgbGF0LCBtYXhEaXN0YW5jZSwgbWluRGlzdGFuY2VdID0gZm9ybWF0dGVkVmFsdWVcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGZvcm1hdHRlZFZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgO1tsbmcsIGxhdCwgbWF4RGlzdGFuY2UsIG1pbkRpc3RhbmNlXSA9IGNyZWF0ZUFycmF5RnJvbUNvbW1hRGVsaW5lYXRlZChmb3JtYXR0ZWRWYWx1ZSlcbiAgICB9XG5cbiAgICBpZiAobG5nID09IG51bGwgfHwgbGF0ID09IG51bGwgfHwgKG1heERpc3RhbmNlID09IG51bGwgJiYgbWluRGlzdGFuY2UgPT0gbnVsbCkpIHtcbiAgICAgIGZvcm1hdHRlZFZhbHVlID0gdW5kZWZpbmVkXG4gICAgfSBlbHNlIHtcbiAgICAgIGZvcm1hdHRlZFZhbHVlID0ge1xuICAgICAgICAkZ2VvbWV0cnk6IHsgY29vcmRpbmF0ZXM6IFtwYXJzZUZsb2F0KGxuZyksIHBhcnNlRmxvYXQobGF0KV0sIHR5cGU6ICdQb2ludCcgfSxcbiAgICAgIH1cblxuICAgICAgaWYgKG1heERpc3RhbmNlKSBmb3JtYXR0ZWRWYWx1ZS4kbWF4RGlzdGFuY2UgPSBwYXJzZUZsb2F0KG1heERpc3RhbmNlKVxuICAgICAgaWYgKG1pbkRpc3RhbmNlKSBmb3JtYXR0ZWRWYWx1ZS4kbWluRGlzdGFuY2UgPSBwYXJzZUZsb2F0KG1pbkRpc3RhbmNlKVxuICAgIH1cbiAgfVxuXG4gIGlmIChvcGVyYXRvciA9PT0gJ3dpdGhpbicgfHwgb3BlcmF0b3IgPT09ICdpbnRlcnNlY3RzJykge1xuICAgIGZvcm1hdHRlZFZhbHVlID0ge1xuICAgICAgJGdlb21ldHJ5OiBmb3JtYXR0ZWRWYWx1ZSxcbiAgICB9XG4gIH1cblxuICBpZiAocGF0aCAhPT0gJ19pZCcgfHwgKHBhdGggPT09ICdfaWQnICYmIGhhc0N1c3RvbUlEICYmIGZpZWxkLnR5cGUgPT09ICd0ZXh0JykpIHtcbiAgICBpZiAob3BlcmF0b3IgPT09ICdjb250YWlucycpIHtcbiAgICAgIGZvcm1hdHRlZFZhbHVlID0geyAkb3B0aW9uczogJ2knLCAkcmVnZXg6IGZvcm1hdHRlZFZhbHVlIH1cbiAgICB9XG4gIH1cblxuICBpZiAob3BlcmF0b3IgPT09ICdleGlzdHMnKSB7XG4gICAgZm9ybWF0dGVkVmFsdWUgPSBmb3JtYXR0ZWRWYWx1ZSA9PT0gJ3RydWUnIHx8IGZvcm1hdHRlZFZhbHVlID09PSB0cnVlXG4gIH1cblxuICByZXR1cm4gZm9ybWF0dGVkVmFsdWVcbn1cbiJdLCJuYW1lcyI6WyJzYW5pdGl6ZVF1ZXJ5VmFsdWUiLCJmaWVsZCIsImhhc0N1c3RvbUlEIiwib3BlcmF0b3IiLCJwYXRoIiwidmFsIiwiZm9ybWF0dGVkVmFsdWUiLCJzcGxpdCIsImxlbmd0aCIsImlzVmFsaWQiLCJtb25nb29zZSIsIlR5cGVzIiwiT2JqZWN0SWQiLCJ1bmRlZmluZWQiLCJ0eXBlIiwicGFyc2VkTnVtYmVyIiwicGFyc2VGbG9hdCIsIk51bWJlciIsImlzTmFOIiwidG9Mb3dlckNhc2UiLCJpbmNsdWRlcyIsImNyZWF0ZUFycmF5RnJvbUNvbW1hRGVsaW5lYXRlZCIsIm1hcCIsImFycmF5VmFsIiwiRGF0ZSIsInBhcnNlIiwiQXJyYXkiLCJpc0FycmF5IiwicmVkdWNlIiwiZm9ybWF0dGVkVmFsdWVzIiwiaW5WYWwiLCJuZXdWYWx1ZXMiLCJwdXNoIiwibG5nIiwibGF0IiwibWF4RGlzdGFuY2UiLCJtaW5EaXN0YW5jZSIsIiRnZW9tZXRyeSIsImNvb3JkaW5hdGVzIiwiJG1heERpc3RhbmNlIiwiJG1pbkRpc3RhbmNlIiwiJG9wdGlvbnMiLCIkcmVnZXgiXSwibWFwcGluZ3MiOiI7Ozs7K0JBYWFBOzs7ZUFBQUE7OztpRUFYUTsyQkFDMEI7Ozs7OztBQVV4QyxNQUFNQSxxQkFBcUIsQ0FBQyxFQUNqQ0MsS0FBSyxFQUNMQyxXQUFXLEVBQ1hDLFFBQVEsRUFDUkMsSUFBSSxFQUNKQyxHQUFHLEVBQ29CO0lBQ3ZCLElBQUlDLGlCQUFpQkQ7SUFFckIseUJBQXlCO0lBQ3pCLElBQUlELFNBQVMsU0FBUyxPQUFPQyxRQUFRLFlBQVlBLElBQUlFLEtBQUssQ0FBQyxLQUFLQyxNQUFN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
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyaWVzL3Nhbml0aXplUXVlcnlWYWx1ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZpZWxkLCBUYWJBc0ZpZWxkIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IG1vbmdvb3NlIGZyb20gJ21vbmdvb3NlJ1xuaW1wb3J0IHsgY3JlYXRlQXJyYXlGcm9tQ29tbWFEZWxpbmVhdGVkIH0gZnJvbSAncGF5bG9hZC91dGlsaXRpZXMnXG5cbnR5cGUgU2FuaXRpemVRdWVyeVZhbHVlQXJncyA9IHtcbiAgZmllbGQ6IEZpZWxkIHwgVGFiQXNGaWVsZFxuICBoYXNDdXN0b21JRDogYm9vbGVhblxuICBvcGVyYXRvcjogc3RyaW5nXG4gIHBhdGg6IHN0cmluZ1xuICB2YWw6IGFueVxufVxuXG5leHBvcnQgY29uc3Qgc2FuaXRpemVRdWVyeVZhbHVlID0gKHtcbiAgZmllbGQsXG4gIGhhc0N1c3RvbUlELFxuICBvcGVyYXRvcixcbiAgcGF0aCxcbiAgdmFsLFxufTogU2FuaXRpemVRdWVyeVZhbHVlQXJncyk6IHsgb3BlcmF0b3I6IHN0cmluZzsgdmFsOiB1bmtub3duIH0gPT4ge1xuICBsZXQgZm9ybWF0dGVkVmFsdWUgPSB2YWxcbiAgbGV0IGZvcm1hdHRlZE9wZXJhdG9yID0gb3BlcmF0b3JcblxuICAvLyBEaXNyZWdhcmQgaW52YWxpZCBfaWRzXG4gIGlmIChwYXRoID09PSAnX2lkJyAmJiB0eXBlb2YgdmFsID09PSAnc3RyaW5nJyAmJiB2YWwuc3BsaXQoJywnKS5sZW5ndGggPT09IDEpIHtcbiAgICBpZiAoIWhhc0N1c3RvbUlEKSB7XG4gICAgICBjb25zdCBpc1ZhbGlkID0gbW9uZ29vc2UuVHlwZXMuT2JqZWN0SWQuaXNWYWxpZCh2YWwpXG5cbiAgICAgIGlmICghaXNWYWxpZCkge1xuICAgICAgICByZXR1cm4geyBvcGVyYXRvcjogZm9ybWF0dGVkT3BlcmF0b3IsIHZhbDogdW5kZWZpbmVkIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIGNvbnN0IHBhcnNlZE51bWJlciA9IHBhcnNlRmxvYXQodmFsKVxuXG4gICAgICBpZiAoTnVtYmVyLmlzTmFOKHBhcnNlZE51bWJlcikpIHtcbiAgICAgICAgcmV0dXJuIHsgb3BlcmF0b3I6IGZvcm1hdHRlZE9wZXJhdG9yLCB2YWw6IHVuZGVmaW5lZCB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ2FzdCBpbmNvbWluZyB2YWx1ZXMgYXMgcHJvcGVyIHNlYXJjaGFibGUgdHlwZXNcbiAgaWYgKGZpZWxkLnR5cGUgPT09ICdjaGVja2JveCcgJiYgdHlwZW9mIHZhbCA9PT0gJ3N0cmluZycpIHtcbiAgICBpZiAodmFsLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJykgZm9ybWF0dGVkVmFsdWUgPSB0cnVlXG4gICAgaWYgKHZhbC50b0xvd2VyQ2FzZSgpID09PSAnZmFsc2UnKSBmb3JtYXR0ZWRWYWx1ZSA9IGZhbHNlXG4gIH1cblxuICBpZiAoWydhbGwnLCAnaW4nLCAnbm90X2luJ10uaW5jbHVkZXMob3BlcmF0b3IpICYmIHR5cGVvZiBmb3JtYXR0ZWRWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICBmb3JtYXR0ZWRWYWx1ZSA9IGNyZWF0ZUFycmF5RnJvbUNvbW1hRGVsaW5lYXRlZChmb3JtYXR0ZWRWYWx1ZSlcblxuICAgIGlmIChmaWVsZC50eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgZm9ybWF0dGVkVmFsdWUgPSBmb3JtYXR0ZWRWYWx1ZS5tYXAoKGFycmF5VmFsKSA9PiBwYXJzZUZsb2F0KGFycmF5VmFsKSlcbiAgICB9XG4gIH1cblxuICBpZiAoZmllbGQudHlwZSA9PT0gJ251bWJlcicgJiYgdHlwZW9mIGZvcm1hdHRlZFZhbHVlID09PSAnc3RyaW5nJykge1xuICAgIGZvcm1hdHRlZFZhbHVlID0gTnVtYmVyKHZhbClcbiAgfVxuXG4gIGlmIChmaWVsZC50eXBlID09PSAnZGF0ZScgJiYgdHlwZW9mIHZhbCA9PT0gJ3N0cmluZycpIHtcbiAgICBmb3JtYXR0ZWRWYWx1ZSA9IG5ldyBEYXRlKHZhbClcbiAgICBpZiAoTnVtYmVyLmlzTmFOKERhdGUucGFyc2UoZm9ybWF0dGVkVmFsdWUpKSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cbiAgfVxuXG4gIGlmIChbJ3JlbGF0aW9uc2hpcCcsICd1cGxvYWQnXS5pbmNsdWRlcyhmaWVsZC50eXBlKSkge1xuICAgIGlmICh2YWwgPT09ICdudWxsJykge1xuICAgICAgZm9ybWF0dGVkVmFsdWUgPSBudWxsXG4gICAgfVxuXG4gICAgaWYgKG9wZXJhdG9yID09PSAnaW4nICYmIEFycmF5LmlzQXJyYXkoZm9ybWF0dGVkVmFsdWUpKSB7XG4gICAgICBmb3JtYXR0ZWRWYWx1ZSA9IGZvcm1hdHRlZFZhbHVlLnJlZHVjZSgoZm9ybWF0dGVkVmFsdWVzLCBpblZhbCkgPT4ge1xuICAgICAgICBjb25zdCBuZXdWYWx1ZXMgPSBbaW5WYWxdXG4gICAgICAgIGlmIChtb25nb29zZS5UeXBlcy5PYmplY3RJZC5pc1ZhbGlkKGluVmFsKSlcbiAgICAgICAgICBuZXdWYWx1ZXMucHVzaChuZXcgbW9uZ29vc2UuVHlwZXMuT2JqZWN0SWQoaW5WYWwpKVxuXG4gICAgICAgIGNvbnN0IHBhcnNlZE51bWJlciA9IHBhcnNlRmxvYXQoaW5WYWwpXG4gICAgICAgIGlmICghTnVtYmVyLmlzTmFOKHBhcnNlZE51bWJlcikpIG5ld1ZhbHVlcy5wdXNoKHBhcnNlZE51bWJlcilcblxuICAgICAgICByZXR1cm4gWy4uLmZvcm1hdHRlZFZhbHVlcywgLi4ubmV3VmFsdWVzXVxuICAgICAgfSwgW10pXG4gICAgfVxuICB9XG5cbiAgLy8gU2V0IHVwIHNwZWNpZmljIGZvcm1hdHRpbmcgbmVjZXNzYXJ5IGJ5IG9wZXJhdG9yc1xuXG4gIGlmIChvcGVyYXRvciA9PT0gJ25lYXInKSB7XG4gICAgbGV0IGxuZ1xuICAgIGxldCBsYXRcbiAgICBsZXQgbWF4RGlzdGFuY2VcbiAgICBsZXQgbWluRGlzdGFuY2VcblxuICAgIGlmIChBcnJheS5pc0FycmF5KGZvcm1hdHRlZFZhbHVlKSkge1xuICAgICAgO1tsbmcsIGxhdCwgbWF4RGlzdGFuY2UsIG1pbkRpc3RhbmNlXSA9IGZvcm1hdHRlZFZhbHVlXG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBmb3JtYXR0ZWRWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIDtbbG5nLCBsYXQsIG1heERpc3RhbmNlLCBtaW5EaXN0YW5jZV0gPSBjcmVhdGVBcnJheUZyb21Db21tYURlbGluZWF0ZWQoZm9ybWF0dGVkVmFsdWUpXG4gICAgfVxuXG4gICAgaWYgKGxuZyA9PSBudWxsIHx8IGxhdCA9PSBudWxsIHx8IChtYXhEaXN0YW5jZSA9PSBudWxsICYmIG1pbkRpc3RhbmNlID09IG51bGwpKSB7XG4gICAgICBmb3JtYXR0ZWRWYWx1ZSA9IHVuZGVmaW5lZFxuICAgIH0gZWxzZSB7XG4gICAgICBmb3JtYXR0ZWRWYWx1ZSA9IHtcbiAgICAgICAgJGdlb21ldHJ5OiB7IGNvb3JkaW5hdGVzOiBbcGFyc2VGbG9hdChsbmcpLCBwYXJzZUZsb2F0KGxhdCldLCB0eXBlOiAnUG9pbnQnIH0sXG4gICAgICB9XG5cbiAgICAgIGlmIChtYXhEaXN0YW5jZSkgZm9ybWF0dGVkVmFsdWUuJG1heERpc3RhbmNlID0gcGFyc2VGbG9hdChtYXhEaXN0YW5jZSlcbiAgICAgIGlmIChtaW5EaXN0YW5jZSkgZm9ybWF0dGVkVmFsdWUuJG1pbkRpc3RhbmNlID0gcGFyc2VGbG9hdChtaW5EaXN0YW5jZSlcbiAgICB9XG4gIH1cblxuICBpZiAob3BlcmF0b3IgPT09ICd3aXRoaW4nIHx8IG9wZXJhdG9yID09PSAnaW50ZXJzZWN0cycpIHtcbiAgICBmb3JtYXR0ZWRWYWx1ZSA9IHtcbiAgICAgICRnZW9tZXRyeTogZm9ybWF0dGVkVmFsdWUsXG4gICAgfVxuICB9XG5cbiAgaWYgKHBhdGggIT09ICdfaWQnIHx8IChwYXRoID09PSAnX2lkJyAmJiBoYXNDdXN0b21JRCAmJiBmaWVsZC50eXBlID09PSAndGV4dCcpKSB7XG4gICAgaWYgKG9wZXJhdG9yID09PSAnY29udGFpbnMnKSB7XG4gICAgICBmb3JtYXR0ZWRWYWx1ZSA9IHsgJG9wdGlvbnM6ICdpJywgJHJlZ2V4OiBmb3JtYXR0ZWRWYWx1ZSB9XG4gICAgfVxuICB9XG5cbiAgaWYgKFxuICAgIChwYXRoID09PSAnX2lkJyB8fCBwYXRoID09PSAncGFyZW50JykgJiZcbiAgICBvcGVyYXRvciA9PT0gJ2xpa2UnICYmXG4gICAgZm9ybWF0dGVkVmFsdWUubGVuZ3RoID09PSAyNCAmJlxuICAgICFoYXNDdXN0b21JRFxuICApIHtcbiAgICBmb3JtYXR0ZWRPcGVyYXRvciA9ICdlcXVhbHMnXG4gIH1cblxuICBpZiAob3BlcmF0b3IgPT09ICdleGlzdHMnKSB7XG4gICAgZm9ybWF0dGVkVmFsdWUgPSBmb3JtYXR0ZWRWYWx1ZSA9PT0gJ3RydWUnIHx8IGZvcm1hdHRlZFZhbHVlID09PSB0cnVlXG4gIH1cblxuICByZXR1cm4geyBvcGVyYXRvcjogZm9ybWF0dGVkT3BlcmF0b3IsIHZhbDogZm9ybWF0dGVkVmFsdWUgfVxufVxuIl0sIm5hbWVzIjpbInNhbml0aXplUXVlcnlWYWx1ZSIsImZpZWxkIiwiaGFzQ3VzdG9tSUQiLCJvcGVyYXRvciIsInBhdGgiLCJ2YWwiLCJmb3JtYXR0ZWRWYWx1ZSIsImZvcm1hdHRlZE9wZXJhdG9yIiwic3BsaXQiLCJsZW5ndGgiLCJpc1ZhbGlkIiwibW9uZ29vc2UiLCJUeXBlcyIsIk9iamVjdElkIiwidW5kZWZpbmVkIiwidHlwZSIsInBhcnNlZE51bWJlciIsInBhcnNlRmxvYXQiLCJOdW1iZXIiLCJpc05hTiIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJjcmVhdGVBcnJheUZyb21Db21tYURlbGluZWF0ZWQiLCJtYXAiLCJhcnJheVZhbCIsIkRhdGUiLCJwYXJzZSIsIkFycmF5IiwiaXNBcnJheSIsInJlZHVjZSIsImZvcm1hdHRlZFZhbHVlcyIsImluVmFsIiwibmV3VmFsdWVzIiwicHVzaCIsImxuZyIsImxhdCIsIm1heERpc3RhbmNlIiwibWluRGlzdGFuY2UiLCIkZ2VvbWV0cnkiLCJjb29yZGluYXRlcyIsIiRtYXhEaXN0YW5jZSIsIiRtaW5EaXN0YW5jZSIsIiRvcHRpb25zIiwiJHJlZ2V4Il0sIm1hcHBpbmdzIjoiOzs7OytCQWFhQTs7O2VBQUFBOzs7aUVBWFE7MkJBQzBCOzs7Ozs7QUFVeEMsTUFBTUEscUJBQXFCLENBQUMsRUFDakNDLEtBQUssRUFDTEMsV0FBVyxFQUNYQyxRQUFRLEVBQ1JDLElBQUksRUFDSkMsR0FBRyxFQUNvQjtJQUN2QixJQUFJQyxpQkFBaUJEO0lBQ3JCLElBQUlFLG9CQUFvQko7SUFFeEIseUJBQXlCO0lBQ3pCLElBQUlDLFNBQVMsU0FBUyxPQUFPQyxRQUFRLFlBQVlBLElBQUlHLEtBQUssQ0FBQyxLQUFLQyxNQUFNLEtBQUssR0FBRztRQUM1RSxJQUFJLENBQUNQLGFBQWE7WUFDaEIsTUFBTVEsVUFBVUMsaUJBQVEsQ0FBQ0MsS0FBSyxDQUFDQyxRQUFRLENBQUNILE9BQU8sQ0FBQ0w7WUFFaEQsSUFBSSxDQUFDSyxTQUFTO2dCQUNaLE9BQU87b0JBQUVQLFVBQVVJO29CQUFtQkYsS0FBS1M7Z0JBQVU7WUFDdkQ7UUFDRjtRQUVBLElBQUliLE1BQU1jLElBQUksS0FBSyxVQUFVO1lBQzNCLE1BQU1DLGVBQWVDLFdBQVdaO1lBRWhDLElBQUlhLE9BQU9DLEtBQUssQ0FBQ0gsZUFBZTtnQkFDOUIsT0FBTztvQkFBRWIsVUFBVUk7b0JBQW1CRixLQUFLUztnQkFBVTtZQUN2RDtRQUNGO0lBQ0Y7SUFFQSxrREFBa0Q7SUFDbEQsSUFBSWIsTUFBTWMsSUFBSSxLQUFLLGNBQWMsT0FBT1YsUUFBUSxVQUFVO1FBQ3hELElBQUlBLElBQUllLFdBQVcsT0FBTyxRQUFRZCxpQkFBaUI7UUFDbkQsSUFBSUQsSUFBSWUsV0FBVyxPQUFPLFNBQVNkLGlCQUFpQjtJQUN0RDtJQUVBLElBQUk7UUFBQztRQUFPO1FBQU07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
@@ -1 +1 @@
1
- {"version":3,"file":"updateOne.d.ts","sourceRoot":"","sources":["../src/updateOne.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAWjD,eAAO,MAAM,SAAS,EAAE,SAyCvB,CAAA"}
1
+ {"version":3,"file":"updateOne.d.ts","sourceRoot":"","sources":["../src/updateOne.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AASjD,eAAO,MAAM,SAAS,EAAE,SA8BvB,CAAA"}
package/dist/updateOne.js CHANGED
@@ -8,8 +8,7 @@ Object.defineProperty(exports, "updateOne", {
8
8
  return updateOne;
9
9
  }
10
10
  });
11
- const _errors = require("payload/errors");
12
- const _utilities = require("payload/utilities");
11
+ const _handleError = /*#__PURE__*/ _interop_require_default(require("./utilities/handleError"));
13
12
  const _sanitizeInternalFields = /*#__PURE__*/ _interop_require_default(require("./utilities/sanitizeInternalFields"));
14
13
  const _withSession = require("./withSession");
15
14
  function _interop_require_default(obj) {
@@ -38,13 +37,7 @@ const updateOne = async function updateOne({ id, collection, data, locale, req =
38
37
  try {
39
38
  result = await Model.findOneAndUpdate(query, data, options);
40
39
  } catch (error) {
41
- // Handle uniqueness error from MongoDB
42
- throw error.code === 11000 && error.keyValue ? new _errors.ValidationError([
43
- {
44
- field: Object.keys(error.keyValue)[0],
45
- message: 'Value must be unique'
46
- }
47
- ], req?.t ?? (0, _utilities.i18nInit)(this.payload.config.i18n).t) : error;
40
+ (0, _handleError.default)(error, req);
48
41
  }
49
42
  result = JSON.parse(JSON.stringify(result));
50
43
  result.id = result._id;
@@ -52,4 +45,4 @@ const updateOne = async function updateOne({ id, collection, data, locale, req =
52
45
  return result;
53
46
  };
54
47
 
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91cGRhdGVPbmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVcGRhdGVPbmUgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvciB9IGZyb20gJ3BheWxvYWQvZXJyb3JzJ1xuaW1wb3J0IHsgaTE4bkluaXQgfSBmcm9tICdwYXlsb2FkL3V0aWxpdGllcydcblxuaW1wb3J0IHR5cGUgeyBNb25nb29zZUFkYXB0ZXIgfSBmcm9tICcuJ1xuXG5pbXBvcnQgc2FuaXRpemVJbnRlcm5hbEZpZWxkcyBmcm9tICcuL3V0aWxpdGllcy9zYW5pdGl6ZUludGVybmFsRmllbGRzJ1xuaW1wb3J0IHsgd2l0aFNlc3Npb24gfSBmcm9tICcuL3dpdGhTZXNzaW9uJ1xuXG5leHBvcnQgY29uc3QgdXBkYXRlT25lOiBVcGRhdGVPbmUgPSBhc3luYyBmdW5jdGlvbiB1cGRhdGVPbmUoXG4gIHRoaXM6IE1vbmdvb3NlQWRhcHRlcixcbiAgeyBpZCwgY29sbGVjdGlvbiwgZGF0YSwgbG9jYWxlLCByZXEgPSB7fSBhcyBQYXlsb2FkUmVxdWVzdCwgd2hlcmU6IHdoZXJlQXJnIH0sXG4pIHtcbiAgY29uc3Qgd2hlcmUgPSBpZCA/IHsgaWQ6IHsgZXF1YWxzOiBpZCB9IH0gOiB3aGVyZUFyZ1xuICBjb25zdCBNb2RlbCA9IHRoaXMuY29sbGVjdGlvbnNbY29sbGVjdGlvbl1cbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAuLi53aXRoU2Vzc2lvbih0aGlzLCByZXEudHJhbnNhY3Rpb25JRCksXG4gICAgbGVhbjogdHJ1ZSxcbiAgICBuZXc6IHRydWUsXG4gIH1cblxuICBjb25zdCBxdWVyeSA9IGF3YWl0IE1vZGVsLmJ1aWxkUXVlcnkoe1xuICAgIGxvY2FsZSxcbiAgICBwYXlsb2FkOiB0aGlzLnBheWxvYWQsXG4gICAgd2hlcmUsXG4gIH0pXG5cbiAgbGV0IHJlc3VsdFxuICB0cnkge1xuICAgIHJlc3VsdCA9IGF3YWl0IE1vZGVsLmZpbmRPbmVBbmRVcGRhdGUocXVlcnksIGRhdGEsIG9wdGlvbnMpXG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgLy8gSGFuZGxlIHVuaXF1ZW5lc3MgZXJyb3IgZnJvbSBNb25nb0RCXG4gICAgdGhyb3cgZXJyb3IuY29kZSA9PT0gMTEwMDAgJiYgZXJyb3Iua2V5VmFsdWVcbiAgICAgID8gbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgICBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGZpZWxkOiBPYmplY3Qua2V5cyhlcnJvci5rZXlWYWx1ZSlbMF0sXG4gICAgICAgICAgICAgIG1lc3NhZ2U6ICdWYWx1ZSBtdXN0IGJlIHVuaXF1ZScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcmVxPy50ID8/IGkxOG5Jbml0KHRoaXMucGF5bG9hZC5jb25maWcuaTE4bikudCxcbiAgICAgICAgKVxuICAgICAgOiBlcnJvclxuICB9XG5cbiAgcmVzdWx0ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShyZXN1bHQpKVxuICByZXN1bHQuaWQgPSByZXN1bHQuX2lkXG4gIHJlc3VsdCA9IHNhbml0aXplSW50ZXJuYWxGaWVsZHMocmVzdWx0KVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJ1cGRhdGVPbmUiLCJpZCIsImNvbGxlY3Rpb24iLCJkYXRhIiwibG9jYWxlIiwicmVxIiwid2hlcmUiLCJ3aGVyZUFyZyIsImVxdWFscyIsIk1vZGVsIiwiY29sbGVjdGlvbnMiLCJvcHRpb25zIiwid2l0aFNlc3Npb24iLCJ0cmFuc2FjdGlvbklEIiwibGVhbiIsIm5ldyIsInF1ZXJ5IiwiYnVpbGRRdWVyeSIsInBheWxvYWQiLCJyZXN1bHQiLCJmaW5kT25lQW5kVXBkYXRlIiwiZXJyb3IiLCJjb2RlIiwia2V5VmFsdWUiLCJWYWxpZGF0aW9uRXJyb3IiLCJmaWVsZCIsIk9iamVjdCIsImtleXMiLCJtZXNzYWdlIiwidCIsImkxOG5Jbml0IiwiY29uZmlnIiwiaTE4biIsIkpTT04iLCJwYXJzZSIsInN0cmluZ2lmeSIsIl9pZCIsInNhbml0aXplSW50ZXJuYWxGaWVsZHMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBV2FBOzs7ZUFBQUE7Ozt3QkFSbUI7MkJBQ1A7K0VBSVU7NkJBQ1A7Ozs7OztBQUVyQixNQUFNQSxZQUF1QixlQUFlQSxVQUVqRCxFQUFFQyxFQUFFLEVBQUVDLFVBQVUsRUFBRUMsSUFBSSxFQUFFQyxNQUFNLEVBQUVDLE1BQU0sQ0FBQyxDQUFtQixFQUFFQyxPQUFPQyxRQUFRLEVBQUU7SUFFN0UsTUFBTUQsUUFBUUwsS0FBSztRQUFFQSxJQUFJO1lBQUVPLFFBQVFQO1FBQUc7SUFBRSxJQUFJTTtJQUM1QyxNQUFNRSxRQUFRLElBQUksQ0FBQ0MsV0FBVyxDQUFDUixXQUFXO0lBQzFDLE1BQU1TLFVBQVU7UUFDZCxHQUFHQyxJQUFBQSx3QkFBVyxFQUFDLElBQUksRUFBRVAsSUFBSVEsYUFBYSxDQUFDO1FBQ3ZDQyxNQUFNO1FBQ05DLEtBQUs7SUFDUDtJQUVBLE1BQU1DLFFBQVEsTUFBTVAsTUFBTVEsVUFBVSxDQUFDO1FBQ25DYjtRQUNBYyxTQUFTLElBQUksQ0FBQ0EsT0FBTztRQUNyQlo7SUFDRjtJQUVBLElBQUlhO0lBQ0osSUFBSTtRQUNGQSxTQUFTLE1BQU1WLE1BQU1XLGdCQUFnQixDQUFDSixPQUFPYixNQUFNUTtJQUNyRCxFQUFFLE9BQU9VLE9BQU87UUFDZCx1Q0FBdUM7UUFDdkMsTUFBTUEsTUFBTUMsSUFBSSxLQUFLLFNBQVNELE1BQU1FLFFBQVEsR0FDeEMsSUFBSUMsdUJBQWUsQ0FDakI7WUFDRTtnQkFDRUMsT0FBT0MsT0FBT0MsSUFBSSxDQUFDTixNQUFNRSxRQUFRLENBQUMsQ0FBQyxFQUFFO2dCQUNyQ0ssU0FBUztZQUNYO1NBQ0QsRUFDRHZCLEtBQUt3QixLQUFLQyxJQUFBQSxtQkFBUSxFQUFDLElBQUksQ0FBQ1osT0FBTyxDQUFDYSxNQUFNLENBQUNDLElBQUksRUFBRUgsQ0FBQyxJQUVoRFI7SUFDTjtJQUVBRixTQUFTYyxLQUFLQyxLQUFLLENBQUNELEtBQUtFLFNBQVMsQ0FBQ2hCO0lBQ25DQSxPQUFPbEIsRUFBRSxHQUFHa0IsT0FBT2lCLEdBQUc7SUFDdEJqQixTQUFTa0IsSUFBQUEsK0JBQXNCLEVBQUNsQjtJQUVoQyxPQUFPQTtBQUNUIn0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91cGRhdGVPbmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVcGRhdGVPbmUgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgTW9uZ29vc2VBZGFwdGVyIH0gZnJvbSAnLidcblxuaW1wb3J0IGhhbmRsZUVycm9yIGZyb20gJy4vdXRpbGl0aWVzL2hhbmRsZUVycm9yJ1xuaW1wb3J0IHNhbml0aXplSW50ZXJuYWxGaWVsZHMgZnJvbSAnLi91dGlsaXRpZXMvc2FuaXRpemVJbnRlcm5hbEZpZWxkcydcbmltcG9ydCB7IHdpdGhTZXNzaW9uIH0gZnJvbSAnLi93aXRoU2Vzc2lvbidcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZU9uZTogVXBkYXRlT25lID0gYXN5bmMgZnVuY3Rpb24gdXBkYXRlT25lKFxuICB0aGlzOiBNb25nb29zZUFkYXB0ZXIsXG4gIHsgaWQsIGNvbGxlY3Rpb24sIGRhdGEsIGxvY2FsZSwgcmVxID0ge30gYXMgUGF5bG9hZFJlcXVlc3QsIHdoZXJlOiB3aGVyZUFyZyB9LFxuKSB7XG4gIGNvbnN0IHdoZXJlID0gaWQgPyB7IGlkOiB7IGVxdWFsczogaWQgfSB9IDogd2hlcmVBcmdcbiAgY29uc3QgTW9kZWwgPSB0aGlzLmNvbGxlY3Rpb25zW2NvbGxlY3Rpb25dXG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgLi4ud2l0aFNlc3Npb24odGhpcywgcmVxLnRyYW5zYWN0aW9uSUQpLFxuICAgIGxlYW46IHRydWUsXG4gICAgbmV3OiB0cnVlLFxuICB9XG5cbiAgY29uc3QgcXVlcnkgPSBhd2FpdCBNb2RlbC5idWlsZFF1ZXJ5KHtcbiAgICBsb2NhbGUsXG4gICAgcGF5bG9hZDogdGhpcy5wYXlsb2FkLFxuICAgIHdoZXJlLFxuICB9KVxuXG4gIGxldCByZXN1bHRcbiAgdHJ5IHtcbiAgICByZXN1bHQgPSBhd2FpdCBNb2RlbC5maW5kT25lQW5kVXBkYXRlKHF1ZXJ5LCBkYXRhLCBvcHRpb25zKVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGhhbmRsZUVycm9yKGVycm9yLCByZXEpXG4gIH1cblxuICByZXN1bHQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHJlc3VsdCkpXG4gIHJlc3VsdC5pZCA9IHJlc3VsdC5faWRcbiAgcmVzdWx0ID0gc2FuaXRpemVJbnRlcm5hbEZpZWxkcyhyZXN1bHQpXG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuIl0sIm5hbWVzIjpbInVwZGF0ZU9uZSIsImlkIiwiY29sbGVjdGlvbiIsImRhdGEiLCJsb2NhbGUiLCJyZXEiLCJ3aGVyZSIsIndoZXJlQXJnIiwiZXF1YWxzIiwiTW9kZWwiLCJjb2xsZWN0aW9ucyIsIm9wdGlvbnMiLCJ3aXRoU2Vzc2lvbiIsInRyYW5zYWN0aW9uSUQiLCJsZWFuIiwibmV3IiwicXVlcnkiLCJidWlsZFF1ZXJ5IiwicGF5bG9hZCIsInJlc3VsdCIsImZpbmRPbmVBbmRVcGRhdGUiLCJlcnJvciIsImhhbmRsZUVycm9yIiwiSlNPTiIsInBhcnNlIiwic3RyaW5naWZ5IiwiX2lkIiwic2FuaXRpemVJbnRlcm5hbEZpZWxkcyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFTYUE7OztlQUFBQTs7O29FQUpXOytFQUNXOzZCQUNQOzs7Ozs7QUFFckIsTUFBTUEsWUFBdUIsZUFBZUEsVUFFakQsRUFBRUMsRUFBRSxFQUFFQyxVQUFVLEVBQUVDLElBQUksRUFBRUMsTUFBTSxFQUFFQyxNQUFNLENBQUMsQ0FBbUIsRUFBRUMsT0FBT0MsUUFBUSxFQUFFO0lBRTdFLE1BQU1ELFFBQVFMLEtBQUs7UUFBRUEsSUFBSTtZQUFFTyxRQUFRUDtRQUFHO0lBQUUsSUFBSU07SUFDNUMsTUFBTUUsUUFBUSxJQUFJLENBQUNDLFdBQVcsQ0FBQ1IsV0FBVztJQUMxQyxNQUFNUyxVQUFVO1FBQ2QsR0FBR0MsSUFBQUEsd0JBQVcsRUFBQyxJQUFJLEVBQUVQLElBQUlRLGFBQWEsQ0FBQztRQUN2Q0MsTUFBTTtRQUNOQyxLQUFLO0lBQ1A7SUFFQSxNQUFNQyxRQUFRLE1BQU1QLE1BQU1RLFVBQVUsQ0FBQztRQUNuQ2I7UUFDQWMsU0FBUyxJQUFJLENBQUNBLE9BQU87UUFDckJaO0lBQ0Y7SUFFQSxJQUFJYTtJQUNKLElBQUk7UUFDRkEsU0FBUyxNQUFNVixNQUFNVyxnQkFBZ0IsQ0FBQ0osT0FBT2IsTUFBTVE7SUFDckQsRUFBRSxPQUFPVSxPQUFPO1FBQ2RDLElBQUFBLG9CQUFXLEVBQUNELE9BQU9oQjtJQUNyQjtJQUVBYyxTQUFTSSxLQUFLQyxLQUFLLENBQUNELEtBQUtFLFNBQVMsQ0FBQ047SUFDbkNBLE9BQU9sQixFQUFFLEdBQUdrQixPQUFPTyxHQUFHO0lBQ3RCUCxTQUFTUSxJQUFBQSwrQkFBc0IsRUFBQ1I7SUFFaEMsT0FBT0E7QUFDVCJ9
@@ -0,0 +1,3 @@
1
+ declare const handleError: (error: any, req: any) => never;
2
+ export default handleError;
3
+ //# sourceMappingURL=handleError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleError.d.ts","sourceRoot":"","sources":["../../src/utilities/handleError.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,WAAW,iCAiBhB,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ const _httpstatus = /*#__PURE__*/ _interop_require_default(require("http-status"));
12
+ const _errors = require("payload/errors");
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ const handleError = (error, req)=>{
19
+ // Handle uniqueness error from MongoDB
20
+ if (error.code === 11000 && error.keyValue) {
21
+ throw new _errors.ValidationError([
22
+ {
23
+ field: Object.keys(error.keyValue)[0],
24
+ message: req.t('error:valueMustBeUnique')
25
+ }
26
+ ], req.t);
27
+ } else if (error.code === 11000) {
28
+ throw new _errors.APIError(req.t('error:valueMustBeUnique'), _httpstatus.default.BAD_REQUEST);
29
+ } else {
30
+ throw error;
31
+ }
32
+ };
33
+ const _default = handleError;
34
+
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaGFuZGxlRXJyb3IudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGh0dHBTdGF0dXMgZnJvbSAnaHR0cC1zdGF0dXMnXG5pbXBvcnQgeyBBUElFcnJvciwgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAncGF5bG9hZC9lcnJvcnMnXG5cbmNvbnN0IGhhbmRsZUVycm9yID0gKGVycm9yLCByZXEpID0+IHtcbiAgLy8gSGFuZGxlIHVuaXF1ZW5lc3MgZXJyb3IgZnJvbSBNb25nb0RCXG4gIGlmIChlcnJvci5jb2RlID09PSAxMTAwMCAmJiBlcnJvci5rZXlWYWx1ZSkge1xuICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICBbXG4gICAgICAgIHtcbiAgICAgICAgICBmaWVsZDogT2JqZWN0LmtleXMoZXJyb3Iua2V5VmFsdWUpWzBdLFxuICAgICAgICAgIG1lc3NhZ2U6IHJlcS50KCdlcnJvcjp2YWx1ZU11c3RCZVVuaXF1ZScpLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHJlcS50LFxuICAgIClcbiAgfSBlbHNlIGlmIChlcnJvci5jb2RlID09PSAxMTAwMCkge1xuICAgIHRocm93IG5ldyBBUElFcnJvcihyZXEudCgnZXJyb3I6dmFsdWVNdXN0QmVVbmlxdWUnKSwgaHR0cFN0YXR1cy5CQURfUkVRVUVTVClcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBlcnJvclxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGhhbmRsZUVycm9yXG4iXSwibmFtZXMiOlsiaGFuZGxlRXJyb3IiLCJlcnJvciIsInJlcSIsImNvZGUiLCJrZXlWYWx1ZSIsIlZhbGlkYXRpb25FcnJvciIsImZpZWxkIiwiT2JqZWN0Iiwia2V5cyIsIm1lc3NhZ2UiLCJ0IiwiQVBJRXJyb3IiLCJodHRwU3RhdHVzIiwiQkFEX1JFUVVFU1QiXSwibWFwcGluZ3MiOiI7Ozs7K0JBc0JBOzs7ZUFBQTs7O21FQXRCdUI7d0JBQ21COzs7Ozs7QUFFMUMsTUFBTUEsY0FBYyxDQUFDQyxPQUFPQztJQUMxQix1Q0FBdUM7SUFDdkMsSUFBSUQsTUFBTUUsSUFBSSxLQUFLLFNBQVNGLE1BQU1HLFFBQVEsRUFBRTtRQUMxQyxNQUFNLElBQUlDLHVCQUFlLENBQ3ZCO1lBQ0U7Z0JBQ0VDLE9BQU9DLE9BQU9DLElBQUksQ0FBQ1AsTUFBTUcsUUFBUSxDQUFDLENBQUMsRUFBRTtnQkFDckNLLFNBQVNQLElBQUlRLENBQUMsQ0FBQztZQUNqQjtTQUNELEVBQ0RSLElBQUlRLENBQUM7SUFFVCxPQUFPLElBQUlULE1BQU1FLElBQUksS0FBSyxPQUFPO1FBQy9CLE1BQU0sSUFBSVEsZ0JBQVEsQ0FBQ1QsSUFBSVEsQ0FBQyxDQUFDLDRCQUE0QkUsbUJBQVUsQ0FBQ0MsV0FBVztJQUM3RSxPQUFPO1FBQ0wsTUFBTVo7SUFDUjtBQUNGO01BRUEsV0FBZUQifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/db-mongodb",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "The officially supported MongoDB database adapter for Payload",
5
5
  "repository": "https://github.com/payloadcms/payload",
6
6
  "license": "MIT",
@@ -20,13 +20,14 @@
20
20
  "mongoose-aggregate-paginate-v2": "1.0.6",
21
21
  "mongoose-paginate-v2": "1.7.22",
22
22
  "prompts": "2.4.2",
23
+ "http-status": "1.6.2",
23
24
  "uuid": "9.0.0"
24
25
  },
25
26
  "devDependencies": {
26
27
  "@types/mongoose-aggregate-paginate-v2": "1.0.9",
27
28
  "mongodb-memory-server": "8.13.0",
28
- "payload": "2.3.0",
29
- "@payloadcms/eslint-config": "1.0.0"
29
+ "@payloadcms/eslint-config": "1.0.0",
30
+ "payload": "2.5.0"
30
31
  },
31
32
  "peerDependencies": {
32
33
  "payload": "^2.0.0"