simple-pure-utils
Version:
Funciones puras para manipulación de objetos, arreglos, promesas y observables
51 lines • 3.11 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const regex_1 = require("./regex");
test("regex parse", () => {
/**Regex de un parametro de la formula en la forma [ABC.01] o [ABC].[01] donde ABC es el código de estudio y 01 el numero de parametro */
const paramRegex = /\[([a-z]+)(?:(?:\.)|(?:\]\.\[))([\d]+)\]/i;
/**Regex de un operador o parentesis */
const operatorRegex = /\(|\)|\*|\/|\+|\-/;
/**Regex de una constante numerica */
const numRegex = /[\d]+(?:\.[\d]+)?/;
const text = "([EGO].[44]) + [EGO.45]*5";
debugger;
const ret = (0, regex_1.regexParse)(text, [paramRegex, numRegex, operatorRegex]);
const expected = [
{
value: "(",
regex: operatorRegex,
groups: []
}, {
value: "[EGO].[44]",
regex: paramRegex,
groups: ["EGO", "44"]
}, {
value: ")",
regex: operatorRegex,
groups: []
}, {
value: " "
}, {
value: "+",
regex: operatorRegex,
groups: []
}, {
value: " ",
}, {
value: "[EGO.45]",
regex: paramRegex,
groups: ["EGO", "45"]
}, {
value: "*",
regex: operatorRegex,
groups: []
}, {
value: "5",
regex: numRegex,
groups: []
}
];
expect(ret).toEqual(expected);
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXgudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdHJpbmdzL3JlZ2V4LnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtQ0FBaUQ7QUFFakQsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7SUFDckIseUlBQXlJO0lBQ3pJLE1BQU0sVUFBVSxHQUFHLDJDQUEyQyxDQUFDO0lBRS9ELHVDQUF1QztJQUN2QyxNQUFNLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQztJQUUxQyxxQ0FBcUM7SUFDckMsTUFBTSxRQUFRLEdBQUcsbUJBQW1CLENBQUM7SUFFckMsTUFBTSxJQUFJLEdBQUcsMkJBQTJCLENBQUM7SUFDekMsUUFBUSxDQUFDO0lBQ1QsTUFBTSxHQUFHLEdBQUcsSUFBQSxrQkFBVSxFQUFDLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUVwRSxNQUFNLFFBQVEsR0FBaUI7UUFDM0I7WUFDSSxLQUFLLEVBQUUsR0FBRztZQUNWLEtBQUssRUFBRSxhQUFhO1lBQ3BCLE1BQU0sRUFBRSxFQUFFO1NBQ2IsRUFBRTtZQUNDLEtBQUssRUFBRSxZQUFZO1lBQ25CLEtBQUssRUFBRSxVQUFVO1lBQ2pCLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUM7U0FDeEIsRUFBRTtZQUNDLEtBQUssRUFBRSxHQUFHO1lBQ1YsS0FBSyxFQUFFLGFBQWE7WUFDcEIsTUFBTSxFQUFFLEVBQUU7U0FDYixFQUFFO1lBQ0MsS0FBSyxFQUFFLEdBQUc7U0FDYixFQUFFO1lBQ0MsS0FBSyxFQUFFLEdBQUc7WUFDVixLQUFLLEVBQUUsYUFBYTtZQUNwQixNQUFNLEVBQUUsRUFBRTtTQUNiLEVBQUU7WUFDQyxLQUFLLEVBQUUsR0FBRztTQUNiLEVBQUU7WUFDQyxLQUFLLEVBQUUsVUFBVTtZQUNqQixLQUFLLEVBQUUsVUFBVTtZQUNqQixNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDO1NBQ3hCLEVBQUU7WUFDQyxLQUFLLEVBQUUsR0FBRztZQUNWLEtBQUssRUFBRSxhQUFhO1lBQ3BCLE1BQU0sRUFBRSxFQUFFO1NBQ2IsRUFBRTtZQUNDLEtBQUssRUFBRSxHQUFHO1lBQ1YsS0FBSyxFQUFFLFFBQVE7WUFDZixNQUFNLEVBQUUsRUFBRTtTQUNiO0tBQ0osQ0FBQztJQUVGLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDbEMsQ0FBQyxDQUFDLENBQUEifQ==
;