@abaplint/core
Version:
abaplint - Core API
27 lines • 1.76 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Convert = void 0;
const combi_1 = require("../combi");
const expressions_1 = require("../expressions");
const version_1 = require("../../../version");
class Convert {
getMatcher() {
const intoTime = (0, combi_1.seq)("TIME", expressions_1.Target);
const intoDate = (0, combi_1.seq)("DATE", expressions_1.Target);
const into = (0, combi_1.seq)("INTO", (0, combi_1.per)(intoTime, intoDate));
const daylight = (0, combi_1.seq)("DAYLIGHT SAVING TIME", expressions_1.Source);
const zone = (0, combi_1.seq)("TIME ZONE", expressions_1.Source);
const time = (0, combi_1.seq)("TIME STAMP", expressions_1.Source, (0, combi_1.per)(zone, into, daylight));
const dat = (0, combi_1.seq)("DATE", expressions_1.Source);
const tim = (0, combi_1.seq)("TIME", expressions_1.Source);
const stamp = (0, combi_1.seq)("INTO TIME STAMP", expressions_1.Target);
const intoutc = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)("INTO UTCLONG", expressions_1.Target));
const invert = (0, combi_1.seq)("INTO INVERTED-DATE", expressions_1.Target);
const date = (0, combi_1.seq)((0, combi_1.per)(dat, tim), (0, combi_1.per)(daylight, stamp, zone, invert, intoutc));
const inv = (0, combi_1.seq)("INVERTED-DATE", expressions_1.Source, "INTO DATE", expressions_1.Target);
const utclong = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)("UTCLONG", expressions_1.Source, (0, combi_1.per)(zone, into, daylight)));
return (0, combi_1.seq)("CONVERT", (0, combi_1.alt)(time, date, inv, utclong));
}
}
exports.Convert = Convert;
//# sourceMappingURL=convert.js.map