UNPKG

@abaplint/runtime

Version:
39 lines 1.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.substring_before = substring_before; const abap_regex_1 = require("../abap_regex"); const types_1 = require("../types"); const string_1 = require("../types/string"); function substring_before(input) { let val = ""; if (typeof input.val === "string") { val = input.val; } else if (input.val instanceof types_1.Character) { val = input.val.getTrimEnd(); } else { val = input.val.get(); } let reg = ""; if (typeof input.regex === "string") { reg = input.regex; } else if (input?.regex) { reg = input.regex.get(); } else if (typeof input.sub === "string") { reg = abap_regex_1.ABAPRegExp.escapeRegExp(input.sub); } else if (input?.sub) { reg = abap_regex_1.ABAPRegExp.escapeRegExp(input.sub.get()); } const r = new RegExp("(.*?)" + reg); const res = val.match(r); let ret = ""; if (res && res[1]) { ret = res[1]; } return new string_1.String().set(ret); } //# sourceMappingURL=substring_before.js.map