UNPKG

@abaplint/runtime

Version:
35 lines 941 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.strlen = strlen; const integer_factory_1 = require("../integer_factory"); const types_1 = require("../types"); function strlen(input) { let source; if (input.val instanceof types_1.FieldSymbol) { const pointer = input.val.getPointer(); if (pointer === undefined) { throw new Error("GETWA_NOT_ASSIGNED"); } source = pointer; } else { source = input.val; } let str = ""; if (typeof source === "string") { str = source; } else if (source instanceof types_1.Character) { str = source.getTrimEnd(); } else { str = source.get(); } if (str.length <= 200) { return integer_factory_1.IntegerFactory.get(str.length); } else { return new types_1.Integer().set(str.length); } } //# sourceMappingURL=strlen.js.map