backendless
Version:
Backendless JavaScript SDK for Node.js and the browser
110 lines (109 loc) • 3.19 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.OpResult = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _constants = require("./constants");
var _opResultValueReference = require("./op-result-value-reference");
var OpResult = /*#__PURE__*/function () {
function OpResult(uow, _ref) {
var operationType = _ref.operationType,
table = _ref.table,
payload = _ref.payload;
(0, _classCallCheck2["default"])(this, OpResult);
this.uow = uow;
this.operationType = operationType;
this.table = table;
this.payload = payload;
var stackName = this.uow.getOpStackName(operationType, table);
var resultIndex = this.uow.getNextOpResultIndex(stackName);
this.opResultId = "".concat(stackName).concat(resultIndex);
this.result = null;
}
(0, _createClass2["default"])(OpResult, [{
key: "setResult",
value: function setResult(result) {
this.result = result;
}
}, {
key: "getResult",
value: function getResult() {
return this.result;
}
}, {
key: "setError",
value: function setError(error) {
this.error = error;
}
}, {
key: "getError",
value: function getError() {
return this.error;
}
}, {
key: "getType",
value: function getType() {
return this.operationType;
}
}, {
key: "isFindRef",
value: function isFindRef() {
return this.operationType === _constants.OperationType.FIND;
}
}, {
key: "isCollectionRef",
value: function isCollectionRef() {
return this.operationType === _constants.OperationType.FIND || this.operationType === _constants.OperationType.CREATE_BULK;
}
}, {
key: "isObjectRef",
value: function isObjectRef() {
return this.operationType === _constants.OperationType.CREATE || this.operationType === _constants.OperationType.UPDATE || this.operationType === _constants.OperationType.UPSERT;
}
}, {
key: "setOpResultId",
value: function setOpResultId(opResultId) {
this.opResultId = opResultId;
return this;
}
}, {
key: "getOpResultId",
value: function getOpResultId() {
return this.opResultId;
}
}, {
key: "getTableName",
value: function getTableName() {
return this.table;
}
}, {
key: "resolveTo",
value: function resolveTo(resultIndex, propName) {
if (typeof resultIndex === 'string') {
propName = resultIndex;
resultIndex = undefined;
}
return new _opResultValueReference.OpResultValueReference(this, {
resultIndex: resultIndex,
propName: propName
});
}
}, {
key: "toJSON",
value: function toJSON() {
var result = {
___ref: true,
opResultId: this.opResultId
};
if (this.isObjectRef()) {
result.propName = 'objectId';
}
return result;
}
}]);
return OpResult;
}();
exports.OpResult = OpResult;