@abaplint/core
Version:
abaplint - Core API
23 lines • 1.59 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Communication = void 0;
const combi_1 = require("../combi");
const expressions_1 = require("../expressions");
const version_1 = require("../../../version");
class Communication {
getMatcher() {
const length = (0, combi_1.seq)("LENGTH", expressions_1.Target);
const returncode = (0, combi_1.seq)("RETURNCODE", expressions_1.Source);
const buffer = (0, combi_1.seq)("BUFFER", expressions_1.Target);
const init = (0, combi_1.seq)("INIT ID", expressions_1.Source, "DESTINATION", expressions_1.Target);
const allocate = (0, combi_1.seq)("ALLOCATE ID", expressions_1.Source, (0, combi_1.opt)(returncode));
const send = (0, combi_1.seq)("SEND ID", expressions_1.Source, (0, combi_1.opt)((0, combi_1.per)(buffer, length)), (0, combi_1.opt)(returncode));
const deallocate = (0, combi_1.seq)("DEALLOCATE ID", expressions_1.Source, (0, combi_1.opt)(returncode));
const accept = (0, combi_1.seq)("ACCEPT ID", expressions_1.Source);
const receive = (0, combi_1.seq)("RECEIVE ID", expressions_1.Source, "BUFFER", expressions_1.Source, (0, combi_1.opt)(length), "DATAINFO", expressions_1.Target, "STATUSINFO", expressions_1.Target, "RECEIVED", expressions_1.Target);
const ret = (0, combi_1.seq)("COMMUNICATION", (0, combi_1.alt)(init, allocate, send, deallocate, receive, accept));
return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
}
}
exports.Communication = Communication;
//# sourceMappingURL=communication.js.map