1 |
- {"ast":null,"code":"\"use strict\";\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.UnsetOp = exports.SetOp = exports.RemoveOp = exports.RelationOp = exports.Op = exports.IncrementOp = exports.AddUniqueOp = exports.AddOp = void 0;\nexports.opFromJSON = opFromJSON;\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/defineProperty\"));\nvar _isArray = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/array/is-array\"));\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\nvar _splice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/splice\"));\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\nvar _arrayContainsObject = _interopRequireDefault(require(\"./arrayContainsObject\"));\nvar _decode = _interopRequireDefault(require(\"./decode\"));\nvar _encode = _interopRequireDefault(require(\"./encode\"));\nvar _CoreManager = _interopRequireDefault(require(\"./CoreManager\"));\nvar _ParseRelation = _interopRequireDefault(require(\"./ParseRelation\"));\nvar _unique = _interopRequireDefault(require(\"./unique\"));\nfunction opFromJSON(json) {\n if (!json || !json.__op) {\n return null;\n }\n switch (json.__op) {\n case 'Delete':\n return new UnsetOp();\n case 'Increment':\n return new IncrementOp(json.amount);\n case 'Add':\n return new AddOp((0, _decode.default)(json.objects));\n case 'AddUnique':\n return new AddUniqueOp((0, _decode.default)(json.objects));\n case 'Remove':\n return new RemoveOp((0, _decode.default)(json.objects));\n case 'AddRelation':\n {\n const toAdd = (0, _decode.default)(json.objects);\n if (!(0, _isArray.default)(toAdd)) {\n return new RelationOp([], []);\n }\n return new RelationOp(toAdd, []);\n }\n case 'RemoveRelation':\n {\n const toRemove = (0, _decode.default)(json.objects);\n if (!(0, _isArray.default)(toRemove)) {\n return new RelationOp([], []);\n }\n return new RelationOp([], toRemove);\n }\n case 'Batch':\n {\n let toAdd = [];\n let toRemove = [];\n for (let i = 0; i < json.ops.length; i++) {\n if (json.ops[i].__op === 'AddRelation') {\n toAdd = (0, _concat.default)(toAdd).call(toAdd, (0, _decode.default)(json.ops[i].objects));\n } else if (json.ops[i].__op === 'RemoveRelation') {\n toRemove = (0, _concat.default)(toRemove).call(toRemove, (0, _decode.default)(json.ops[i].objects));\n }\n }\n return new RelationOp(toAdd, toRemove);\n }\n }\n return null;\n}\nclass Op {\n // Empty parent class\n applyTo() {} /* eslint-disable-line @typescript-eslint/no-unused-vars */\n mergeWith() {} /* eslint-disable-line @typescript-eslint/no-unused-vars */\n toJSON() {} /* eslint-disable-line @typescript-eslint/no-unused-vars */\n}\nexports.Op = Op;\nclass SetOp extends Op {\n constructor(value) {\n super();\n (0, _defineProperty2.default)(this, \"_value\", void 0);\n this._value = value;\n }\n applyTo() {\n return this._value;\n }\n mergeWith() {\n return new SetOp(this._value);\n }\n toJSON(offline) {\n return (0, _encode.default)(this._value, false, true, undefined, offline);\n }\n}\nexports.SetOp = SetOp;\nclass UnsetOp extends Op {\n applyTo() {\n return undefined;\n }\n mergeWith() {\n return new UnsetOp();\n }\n toJSON() {\n return {\n __op: 'Delete'\n };\n }\n}\nexports.UnsetOp = UnsetOp;\nclass IncrementOp extends Op {\n constructor(amount) {\n super();\n (0, _defineProperty2.default)(this, \"_amount\", void 0);\n if (typeof amount !== 'number') {\n throw new TypeError('Increment Op must be initialized with a numeric amount.');\n }\n this._amount = amount;\n }\n applyTo(value) {\n if (typeof value === 'undefined') {\n return this._amount;\n }\n if (typeof value !== 'number') {\n throw new TypeError('Cannot increment a non-numeric value.');\n }\n return this._amount + value;\n }\n mergeWith(previous) {\n if (!previous) {\n return this;\n }\n if (previous instanceof SetOp) {\n return new SetOp(this.applyTo(previous._value));\n }\n if (previous instanceof UnsetOp) {\n return new SetOp(this._amount);\n }\n if (previous instanceof IncrementOp) {\n return new IncrementOp(this.applyTo(previous._amount));\n }\n throw new Error('Cannot merge Increment Op with the previous Op');\n }\n toJSON() {\n return {\n __op: 'Increment',\n amount: this._amount\n };\n }\n}\nexports.IncrementOp = IncrementOp;\nclass AddOp extends Op {\n constructor(value) {\n super();\n (0, _defineProperty2.default)(this, \"_value\", void 0);\n this._value = (0, _isArray.default)(value) ? value : [value];\n }\n applyTo(value) {\n if (value == null) {\n return this._value;\n }\n if ((0, _isArray.default)(value)) {\n return (0, _concat.default)(value).call(value, this._value);\n }\n throw new Error('Cannot add elements to a non-array value');\n }\n mergeWith(previous) {\n if (!previous) {\n return this;\n }\n if (previous instanceof SetOp) {\n return new SetOp(this.applyTo(previous._value));\n }\n if (previous instanceof UnsetOp) {\n return new SetOp(this._value);\n }\n if (previous instanceof AddOp) {\n return new AddOp(this.applyTo(previous._value));\n }\n throw new Error('Cannot merge Add Op with the previous Op');\n }\n toJSON() {\n return {\n __op: 'Add',\n objects: (0, _encode.default)(this._value, false, true)\n };\n }\n}\nexports.AddOp = AddOp;\nclass AddUniqueOp extends Op {\n constructor(value) {\n super();\n (0, _defineProperty2.default)(this, \"_value\", void 0);\n this._value = (0, _unique.default)((0, _isArray.default)(value) ? value : [value]);\n }\n applyTo(value) {\n if (value == null) {\n return this._value || [];\n }\n if ((0, _isArray.default)(value)) {\n var _context;\n const ParseObject = _CoreManager.default.getParseObject();\n const toAdd = [];\n (0, _forEach.default)(_context = this._value).call(_context, v => {\n if (v instanceof ParseObject) {\n if (!(0, _arrayContainsObject.default)(value, v)) {\n toAdd.push(v);\n }\n } else {\n if ((0, _indexOf.default)(value).call(value, v) < 0) {\n toAdd.push(v);\n }\n }\n });\n return (0, _concat.default)(value).call(value, toAdd);\n }\n throw new Error('Cannot add elements to a non-array value');\n }\n mergeWith(previous) {\n if (!previous) {\n return this;\n }\n if (previous instanceof SetOp) {\n return new SetOp(this.applyTo(previous._value));\n }\n if (previous instanceof UnsetOp) {\n return new SetOp(this._value);\n }\n if (previous instanceof AddUniqueOp) {\n return new AddUniqueOp(this.applyTo(previous._value));\n }\n throw new Error('Cannot merge AddUnique Op with the previous Op');\n }\n toJSON() {\n return {\n __op: 'AddUnique',\n objects: (0, _encode.default)(this._value, false, true)\n };\n }\n}\nexports.AddUniqueOp = AddUniqueOp;\nclass RemoveOp extends Op {\n constructor(value) {\n super();\n (0, _defineProperty2.default)(this, \"_value\", void 0);\n this._value = (0, _unique.default)((0, _isArray.default)(value) ? value : [value]);\n }\n applyTo(value) {\n if (value == null) {\n return [];\n }\n if ((0, _isArray.default)(value)) {\n const ParseObject = _CoreManager.default.getParseObject();\n // var i = value.indexOf(this._value);\n const removed = (0, _concat.default)(value).call(value, []);\n for (let i = 0; i < this._value.length; i++) {\n let index = (0, _indexOf.default)(removed).call(removed, this._value[i]);\n while (index > -1) {\n (0, _splice.default)(removed).call(removed, index, 1);\n index = (0, _indexOf.default)(removed).call(removed, this._value[i]);\n }\n if (this._value[i] instanceof ParseObject && this._value[i].id) {\n for (let j = 0; j < removed.length; j++) {\n if (removed[j] instanceof ParseObject && this._value[i].id === removed[j].id) {\n (0, _splice.default)(removed).call(removed, j, 1);\n j--;\n }\n }\n }\n }\n return removed;\n }\n throw new Error('Cannot remove elements from a non-array value');\n }\n mergeWith(previous) {\n if (!previous) {\n return this;\n }\n if (previous instanceof SetOp) {\n return new SetOp(this.applyTo(previous._value));\n }\n if (previous instanceof UnsetOp) {\n return new UnsetOp();\n }\n if (previous instanceof RemoveOp) {\n var _context2;\n const ParseObject = _CoreManager.default.getParseObject();\n const uniques = (0, _concat.default)(_context2 = previous._value).call(_context2, []);\n for (let i = 0; i < this._value.length; i++) {\n if (this._value[i] instanceof ParseObject) {\n if (!(0, _arrayContainsObject.default)(uniques, this._value[i])) {\n uniques.push(this._value[i]);\n }\n } else {\n if ((0, _indexOf.default)(uniques).call(uniques, this._value[i]) < 0) {\n uniques.push(this._value[i]);\n }\n }\n }\n return new RemoveOp(uniques);\n }\n throw new Error('Cannot merge Remove Op with the previous Op');\n }\n toJSON() {\n return {\n __op: 'Remove',\n objects: (0, _encode.default)(this._value, false, true)\n };\n }\n}\nexports.RemoveOp = RemoveOp;\nclass RelationOp extends Op {\n constructor(adds, removes) {\n super();\n (0, _defineProperty2.default)(this, \"_targetClassName\", void 0);\n (0, _defineProperty2.default)(this, \"relationsToAdd\", void 0);\n (0, _defineProperty2.default)(this, \"relationsToRemove\", void 0);\n this._targetClassName = null;\n if ((0, _isArray.default)(adds)) {\n this.relationsToAdd = (0, _unique.default)((0, _map.default)(adds).call(adds, this._extractId, this));\n }\n if ((0, _isArray.default)(removes)) {\n this.relationsToRemove = (0, _unique.default)((0, _map.default)(removes).call(removes, this._extractId, this));\n }\n }\n _extractId(obj) {\n if (typeof obj === 'string') {\n return obj;\n }\n if (!obj.id) {\n throw new Error('You cannot add or remove an unsaved Parse Object from a relation');\n }\n if (!this._targetClassName) {\n this._targetClassName = obj.className;\n }\n if (this._targetClassName !== obj.className) {\n throw new Error('Tried to create a Relation with 2 different object types: ' + this._targetClassName + ' and ' + obj.className + '.');\n }\n return obj.id;\n }\n applyTo(value, parent, key) {\n if (!value) {\n if (!parent || !key) {\n throw new Error('Cannot apply a RelationOp without either a previous value, or an object and a key');\n }\n const relation = new _ParseRelation.default(parent, key);\n relation.targetClassName = this._targetClassName;\n return relation;\n }\n if (value instanceof _ParseRelation.default) {\n if (this._targetClassName) {\n if (value.targetClassName) {\n if (this._targetClassName !== value.targetClassName) {\n throw new Error('Related object must be a ' + value.targetClassName + ', but a ' + this._targetClassName + ' was passed in.');\n }\n } else {\n value.targetClassName = this._targetClassName;\n }\n }\n return value;\n } else {\n throw new Error('Relation cannot be applied to a non-relation field');\n }\n }\n mergeWith(previous) {\n if (!previous) {\n return this;\n } else if (previous instanceof UnsetOp) {\n throw new Error('You cannot modify a relation after deleting it.');\n } else if (previous instanceof SetOp && previous._value instanceof _ParseRelation.default) {\n return this;\n } else if (previous instanceof RelationOp) {\n var _context3, _context4, _context5, _context6, _context7, _context8;\n if (previous._targetClassName && previous._targetClassName !== this._targetClassName) {\n throw new Error('Related object must be of class ' + previous._targetClassName + ', but ' + (this._targetClassName || 'null') + ' was passed in.');\n }\n const newAdd = (0, _concat.default)(_context3 = previous.relationsToAdd).call(_context3, []);\n (0, _forEach.default)(_context4 = this.relationsToRemove).call(_context4, r => {\n const index = (0, _indexOf.default)(newAdd).call(newAdd, r);\n if (index > -1) {\n (0, _splice.default)(newAdd).call(newAdd, index, 1);\n }\n });\n (0, _forEach.default)(_context5 = this.relationsToAdd).call(_context5, r => {\n const index = (0, _indexOf.default)(newAdd).call(newAdd, r);\n if (index < 0) {\n newAdd.push(r);\n }\n });\n const newRemove = (0, _concat.default)(_context6 = previous.relationsToRemove).call(_context6, []);\n (0, _forEach.default)(_context7 = this.relationsToAdd).call(_context7, r => {\n const index = (0, _indexOf.default)(newRemove).call(newRemove, r);\n if (index > -1) {\n (0, _splice.default)(newRemove).call(newRemove, index, 1);\n }\n });\n (0, _forEach.default)(_context8 = this.relationsToRemove).call(_context8, r => {\n const index = (0, _indexOf.default)(newRemove).call(newRemove, r);\n if (index < 0) {\n newRemove.push(r);\n }\n });\n const newRelation = new RelationOp(newAdd, newRemove);\n newRelation._targetClassName = this._targetClassName;\n return newRelation;\n }\n throw new Error('Cannot merge Relation Op with the previous Op');\n }\n toJSON() {\n const idToPointer = id => {\n return {\n __type: 'Pointer',\n className: this._targetClassName,\n objectId: id\n };\n };\n let pointers = null;\n let adds = null;\n let removes = null;\n if (this.relationsToAdd.length > 0) {\n var _context9;\n pointers = (0, _map.default)(_context9 = this.relationsToAdd).call(_context9, idToPointer);\n adds = {\n __op: 'AddRelation',\n objects: pointers\n };\n }\n if (this.relationsToRemove.length > 0) {\n var _context10;\n pointers = (0, _map.default)(_context10 = this.relationsToRemove).call(_context10, idToPointer);\n removes = {\n __op: 'RemoveRelation',\n objects: pointers\n };\n }\n if (adds && removes) {\n return {\n __op: 'Batch',\n ops: [adds, removes]\n };\n }\n return adds || removes || {};\n }\n}\nexports.RelationOp = RelationOp;\n_CoreManager.default.setParseOp({\n Op,\n opFromJSON,\n SetOp,\n UnsetOp,\n IncrementOp,\n AddOp,\n RelationOp,\n RemoveOp,\n AddUniqueOp\n});","map":{"version":3,"names":["_Object$defineProperty","require","_interopRequireDefault","exports","value","UnsetOp","SetOp","RemoveOp","RelationOp","Op","IncrementOp","AddUniqueOp","AddOp","opFromJSON","_defineProperty2","_isArray","_concat","_forEach","_indexOf","_splice","_map","_arrayContainsObject","_decode","_encode","_CoreManager","_ParseRelation","_unique","json","__op","amount","default","objects","toAdd","toRemove","i","ops","length","call","applyTo","mergeWith","toJSON","constructor","_value","offline","undefined","TypeError","_amount","previous","Error","_context","ParseObject","getParseObject","v","push","removed","index","id","j","_context2","uniques","adds","removes","_targetClassName","relationsToAdd","_extractId","relationsToRemove","obj","className","parent","key","relation","targetClassName","_context3","_context4","_context5","_context6","_context7","_context8","newAdd","r","newRemove","newRelation","idToPointer","__type","objectId","pointers","_context9","_context10","setParseOp"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/parse/lib/browser/ParseOp.js"],"sourcesContent":["\"use strict\";\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.UnsetOp = exports.SetOp = exports.RemoveOp = exports.RelationOp = exports.Op = exports.IncrementOp = exports.AddUniqueOp = exports.AddOp = void 0;\nexports.opFromJSON = opFromJSON;\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/defineProperty\"));\nvar _isArray = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/array/is-array\"));\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\nvar _splice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/splice\"));\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\nvar _arrayContainsObject = _interopRequireDefault(require(\"./arrayContainsObject\"));\nvar _decode = _interopRequireDefault(require(\"./decode\"));\nvar _encode = _interopRequireDefault(require(\"./encode\"));\nvar _CoreManager = _interopRequireDefault(require(\"./CoreManager\"));\nvar _ParseRelation = _interopRequireDefault(require(\"./ParseRelation\"));\nvar _unique = _interopRequireDefault(require(\"./unique\"));\nfunction opFromJSON(json) {\n if (!json || !json.__op) {\n return null;\n }\n switch (json.__op) {\n case 'Delete':\n return new UnsetOp();\n case 'Increment':\n return new IncrementOp(json.amount);\n case 'Add':\n return new AddOp((0, _decode.default)(json.objects));\n case 'AddUnique':\n return new AddUniqueOp((0, _decode.default)(json.objects));\n case 'Remove':\n return new RemoveOp((0, _decode.default)(json.objects));\n case 'AddRelation':\n {\n const toAdd = (0, _decode.default)(json.objects);\n if (!(0, _isArray.default)(toAdd)) {\n return new RelationOp([], []);\n }\n return new RelationOp(toAdd, []);\n }\n case 'RemoveRelation':\n {\n const toRemove = (0, _decode.default)(json.objects);\n if (!(0, _isArray.default)(toRemove)) {\n return new RelationOp([], []);\n }\n return new RelationOp([], toRemove);\n }\n case 'Batch':\n {\n let toAdd = [];\n let toRemove = [];\n for (let i = 0; i < json.ops.length; i++) {\n if (json.ops[i].__op === 'AddRelation') {\n toAdd = (0, _concat.default)(toAdd).call(toAdd, (0, _decode.default)(json.ops[i].objects));\n } else if (json.ops[i].__op === 'RemoveRelation') {\n toRemove = (0, _concat.default)(toRemove).call(toRemove, (0, _decode.default)(json.ops[i].objects));\n }\n }\n return new RelationOp(toAdd, toRemove);\n }\n }\n return null;\n}\nclass Op {\n // Empty parent class\n applyTo() {} /* eslint-disable-line @typescript-eslint/no-unused-vars */\n mergeWith() {} /* eslint-disable-line @typescript-eslint/no-unused-vars */\n toJSON() {} /* eslint-disable-line @typescript-eslint/no-unused-vars */\n}\nexports.Op = Op;\nclass SetOp extends Op {\n constructor(value) {\n super();\n (0, _defineProperty2.default)(this, \"_value\", void 0);\n this._value = value;\n }\n applyTo() {\n return this._value;\n }\n mergeWith() {\n return new SetOp(this._value);\n }\n toJSON(offline) {\n return (0, _encode.default)(this._value, false, true, undefined, offline);\n }\n}\nexports.SetOp = SetOp;\nclass UnsetOp extends Op {\n applyTo() {\n return undefined;\n }\n mergeWith() {\n return new UnsetOp();\n }\n toJSON() {\n return {\n __op: 'Delete'\n };\n }\n}\nexports.UnsetOp = UnsetOp;\nclass IncrementOp extends Op {\n constructor(amount) {\n super();\n (0, _defineProperty2.default)(this, \"_amount\", void 0);\n if (typeof amount !== 'number') {\n throw new TypeError('Increment Op must be initialized with a numeric amount.');\n }\n this._amount = amount;\n }\n applyTo(value) {\n if (typeof value === 'undefined') {\n return this._amount;\n }\n if (typeof value !== 'number') {\n throw new TypeError('Cannot increment a non-numeric value.');\n }\n return this._amount + value;\n }\n mergeWith(previous) {\n if (!previous) {\n return this;\n }\n if (previous instanceof SetOp) {\n return new SetOp(this.applyTo(previous._value));\n }\n if (previous instanceof UnsetOp) {\n return new SetOp(this._amount);\n }\n if (previous instanceof IncrementOp) {\n return new IncrementOp(this.applyTo(previous._amount));\n }\n throw new Error('Cannot merge Increment Op with the previous Op');\n }\n toJSON() {\n return {\n __op: 'Increment',\n amount: this._amount\n };\n }\n}\nexports.IncrementOp = IncrementOp;\nclass AddOp extends Op {\n constructor(value) {\n super();\n (0, _defineProperty2.default)(this, \"_value\", void 0);\n this._value = (0, _isArray.default)(value) ? value : [value];\n }\n applyTo(value) {\n if (value == null) {\n return this._value;\n }\n if ((0, _isArray.default)(value)) {\n return (0, _concat.default)(value).call(value, this._value);\n }\n throw new Error('Cannot add elements to a non-array value');\n }\n mergeWith(previous) {\n if (!previous) {\n return this;\n }\n if (previous instanceof SetOp) {\n return new SetOp(this.applyTo(previous._value));\n }\n if (previous instanceof UnsetOp) {\n return new SetOp(this._value);\n }\n if (previous instanceof AddOp) {\n return new AddOp(this.applyTo(previous._value));\n }\n throw new Error('Cannot merge Add Op with the previous Op');\n }\n toJSON() {\n return {\n __op: 'Add',\n objects: (0, _encode.default)(this._value, false, true)\n };\n }\n}\nexports.AddOp = AddOp;\nclass AddUniqueOp extends Op {\n constructor(value) {\n super();\n (0, _defineProperty2.default)(this, \"_value\", void 0);\n this._value = (0, _unique.default)((0, _isArray.default)(value) ? value : [value]);\n }\n applyTo(value) {\n if (value == null) {\n return this._value || [];\n }\n if ((0, _isArray.default)(value)) {\n var _context;\n const ParseObject = _CoreManager.default.getParseObject();\n const toAdd = [];\n (0, _forEach.default)(_context = this._value).call(_context, v => {\n if (v instanceof ParseObject) {\n if (!(0, _arrayContainsObject.default)(value, v)) {\n toAdd.push(v);\n }\n } else {\n if ((0, _indexOf.default)(value).call(value, v) < 0) {\n toAdd.push(v);\n }\n }\n });\n return (0, _concat.default)(value).call(value, toAdd);\n }\n throw new Error('Cannot add elements to a non-array value');\n }\n mergeWith(previous) {\n if (!previous) {\n return this;\n }\n if (previous instanceof SetOp) {\n return new SetOp(this.applyTo(previous._value));\n }\n if (previous instanceof UnsetOp) {\n return new SetOp(this._value);\n }\n if (previous instanceof AddUniqueOp) {\n return new AddUniqueOp(this.applyTo(previous._value));\n }\n throw new Error('Cannot merge AddUnique Op with the previous Op');\n }\n toJSON() {\n return {\n __op: 'AddUnique',\n objects: (0, _encode.default)(this._value, false, true)\n };\n }\n}\nexports.AddUniqueOp = AddUniqueOp;\nclass RemoveOp extends Op {\n constructor(value) {\n super();\n (0, _defineProperty2.default)(this, \"_value\", void 0);\n this._value = (0, _unique.default)((0, _isArray.default)(value) ? value : [value]);\n }\n applyTo(value) {\n if (value == null) {\n return [];\n }\n if ((0, _isArray.default)(value)) {\n const ParseObject = _CoreManager.default.getParseObject();\n // var i = value.indexOf(this._value);\n const removed = (0, _concat.default)(value).call(value, []);\n for (let i = 0; i < this._value.length; i++) {\n let index = (0, _indexOf.default)(removed).call(removed, this._value[i]);\n while (index > -1) {\n (0, _splice.default)(removed).call(removed, index, 1);\n index = (0, _indexOf.default)(removed).call(removed, this._value[i]);\n }\n if (this._value[i] instanceof ParseObject && this._value[i].id) {\n for (let j = 0; j < removed.length; j++) {\n if (removed[j] instanceof ParseObject && this._value[i].id === removed[j].id) {\n (0, _splice.default)(removed).call(removed, j, 1);\n j--;\n }\n }\n }\n }\n return removed;\n }\n throw new Error('Cannot remove elements from a non-array value');\n }\n mergeWith(previous) {\n if (!previous) {\n return this;\n }\n if (previous instanceof SetOp) {\n return new SetOp(this.applyTo(previous._value));\n }\n if (previous instanceof UnsetOp) {\n return new UnsetOp();\n }\n if (previous instanceof RemoveOp) {\n var _context2;\n const ParseObject = _CoreManager.default.getParseObject();\n const uniques = (0, _concat.default)(_context2 = previous._value).call(_context2, []);\n for (let i = 0; i < this._value.length; i++) {\n if (this._value[i] instanceof ParseObject) {\n if (!(0, _arrayContainsObject.default)(uniques, this._value[i])) {\n uniques.push(this._value[i]);\n }\n } else {\n if ((0, _indexOf.default)(uniques).call(uniques, this._value[i]) < 0) {\n uniques.push(this._value[i]);\n }\n }\n }\n return new RemoveOp(uniques);\n }\n throw new Error('Cannot merge Remove Op with the previous Op');\n }\n toJSON() {\n return {\n __op: 'Remove',\n objects: (0, _encode.default)(this._value, false, true)\n };\n }\n}\nexports.RemoveOp = RemoveOp;\nclass RelationOp extends Op {\n constructor(adds, removes) {\n super();\n (0, _defineProperty2.default)(this, \"_targetClassName\", void 0);\n (0, _defineProperty2.default)(this, \"relationsToAdd\", void 0);\n (0, _defineProperty2.default)(this, \"relationsToRemove\", void 0);\n this._targetClassName = null;\n if ((0, _isArray.default)(adds)) {\n this.relationsToAdd = (0, _unique.default)((0, _map.default)(adds).call(adds, this._extractId, this));\n }\n if ((0, _isArray.default)(removes)) {\n this.relationsToRemove = (0, _unique.default)((0, _map.default)(removes).call(removes, this._extractId, this));\n }\n }\n _extractId(obj) {\n if (typeof obj === 'string') {\n return obj;\n }\n if (!obj.id) {\n throw new Error('You cannot add or remove an unsaved Parse Object from a relation');\n }\n if (!this._targetClassName) {\n this._targetClassName = obj.className;\n }\n if (this._targetClassName !== obj.className) {\n throw new Error('Tried to create a Relation with 2 different object types: ' + this._targetClassName + ' and ' + obj.className + '.');\n }\n return obj.id;\n }\n applyTo(value, parent, key) {\n if (!value) {\n if (!parent || !key) {\n throw new Error('Cannot apply a RelationOp without either a previous value, or an object and a key');\n }\n const relation = new _ParseRelation.default(parent, key);\n relation.targetClassName = this._targetClassName;\n return relation;\n }\n if (value instanceof _ParseRelation.default) {\n if (this._targetClassName) {\n if (value.targetClassName) {\n if (this._targetClassName !== value.targetClassName) {\n throw new Error('Related object must be a ' + value.targetClassName + ', but a ' + this._targetClassName + ' was passed in.');\n }\n } else {\n value.targetClassName = this._targetClassName;\n }\n }\n return value;\n } else {\n throw new Error('Relation cannot be applied to a non-relation field');\n }\n }\n mergeWith(previous) {\n if (!previous) {\n return this;\n } else if (previous instanceof UnsetOp) {\n throw new Error('You cannot modify a relation after deleting it.');\n } else if (previous instanceof SetOp && previous._value instanceof _ParseRelation.default) {\n return this;\n } else if (previous instanceof RelationOp) {\n var _context3, _context4, _context5, _context6, _context7, _context8;\n if (previous._targetClassName && previous._targetClassName !== this._targetClassName) {\n throw new Error('Related object must be of class ' + previous._targetClassName + ', but ' + (this._targetClassName || 'null') + ' was passed in.');\n }\n const newAdd = (0, _concat.default)(_context3 = previous.relationsToAdd).call(_context3, []);\n (0, _forEach.default)(_context4 = this.relationsToRemove).call(_context4, r => {\n const index = (0, _indexOf.default)(newAdd).call(newAdd, r);\n if (index > -1) {\n (0, _splice.default)(newAdd).call(newAdd, index, 1);\n }\n });\n (0, _forEach.default)(_context5 = this.relationsToAdd).call(_context5, r => {\n const index = (0, _indexOf.default)(newAdd).call(newAdd, r);\n if (index < 0) {\n newAdd.push(r);\n }\n });\n const newRemove = (0, _concat.default)(_context6 = previous.relationsToRemove).call(_context6, []);\n (0, _forEach.default)(_context7 = this.relationsToAdd).call(_context7, r => {\n const index = (0, _indexOf.default)(newRemove).call(newRemove, r);\n if (index > -1) {\n (0, _splice.default)(newRemove).call(newRemove, index, 1);\n }\n });\n (0, _forEach.default)(_context8 = this.relationsToRemove).call(_context8, r => {\n const index = (0, _indexOf.default)(newRemove).call(newRemove, r);\n if (index < 0) {\n newRemove.push(r);\n }\n });\n const newRelation = new RelationOp(newAdd, newRemove);\n newRelation._targetClassName = this._targetClassName;\n return newRelation;\n }\n throw new Error('Cannot merge Relation Op with the previous Op');\n }\n toJSON() {\n const idToPointer = id => {\n return {\n __type: 'Pointer',\n className: this._targetClassName,\n objectId: id\n };\n };\n let pointers = null;\n let adds = null;\n let removes = null;\n if (this.relationsToAdd.length > 0) {\n var _context9;\n pointers = (0, _map.default)(_context9 = this.relationsToAdd).call(_context9, idToPointer);\n adds = {\n __op: 'AddRelation',\n objects: pointers\n };\n }\n if (this.relationsToRemove.length > 0) {\n var _context10;\n pointers = (0, _map.default)(_context10 = this.relationsToRemove).call(_context10, idToPointer);\n removes = {\n __op: 'RemoveRelation',\n objects: pointers\n };\n }\n if (adds && removes) {\n return {\n __op: 'Batch',\n ops: [adds, removes]\n };\n }\n return adds || removes || {};\n }\n}\nexports.RelationOp = RelationOp;\n_CoreManager.default.setParseOp({\n Op,\n opFromJSON,\n SetOp,\n UnsetOp,\n IncrementOp,\n AddOp,\n RelationOp,\n RemoveOp,\n AddUniqueOp\n});"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}
|