@abaplint/core
Version:
abaplint - Core API
29 lines • 1.87 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.OpenDataset = void 0;
const combi_1 = require("../combi");
const expressions_1 = require("../expressions");
const version_1 = require("../../../version");
class OpenDataset {
getMatcher() {
const mode = (0, combi_1.seq)("IN", (0, combi_1.opt)("LEGACY"), (0, combi_1.altPrio)("BINARY MODE", "TEXT MODE"));
const code = (0, combi_1.seq)("CODE PAGE", expressions_1.Source);
const direction = (0, combi_1.seq)("FOR", (0, combi_1.altPrio)("OUTPUT", "INPUT", "UPDATE", "APPENDING"));
const encoding = (0, combi_1.seq)("ENCODING", (0, combi_1.altPrio)("DEFAULT", "UTF-8", "NON-UNICODE"));
const pos = (0, combi_1.seq)("AT POSITION", expressions_1.Source);
const message = (0, combi_1.seq)("MESSAGE", expressions_1.Target);
const ignoring = (0, combi_1.str)("IGNORING CONVERSION ERRORS");
const replacement = (0, combi_1.seq)("REPLACEMENT CHARACTER", expressions_1.Source);
const bom = (0, combi_1.str)("SKIPPING BYTE-ORDER MARK");
const wbom = (0, combi_1.str)("WITH BYTE-ORDER MARK");
const type = (0, combi_1.seq)("TYPE", expressions_1.Source);
const filter = (0, combi_1.seq)("FILTER", expressions_1.Source);
const linetype = (0, combi_1.altPrio)("SMART", "NATIVE", "UNIX");
const feed = (0, combi_1.seq)("WITH", linetype, "LINEFEED");
const windows = (0, combi_1.str)("WITH WINDOWS LINEFEED");
const ret = (0, combi_1.seq)("OPEN DATASET", expressions_1.Source, (0, combi_1.opt)((0, combi_1.per)(direction, type, mode, wbom, replacement, filter, encoding, pos, message, ignoring, bom, code, feed, windows)));
return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
}
}
exports.OpenDataset = OpenDataset;
//# sourceMappingURL=open_dataset.js.map