UNPKG

simple-pure-utils

Version:

Funciones puras para manipulación de objetos, arreglos, promesas y observables

49 lines 3.04 kB
import { regexParse } from "./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 = 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXgudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdHJpbmdzL3JlZ2V4LnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYyxNQUFNLFNBQVMsQ0FBQztBQUVqRCxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtJQUNyQix5SUFBeUk7SUFDekksTUFBTSxVQUFVLEdBQUcsMkNBQTJDLENBQUM7SUFFL0QsdUNBQXVDO0lBQ3ZDLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDO0lBRTFDLHFDQUFxQztJQUNyQyxNQUFNLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQztJQUVyQyxNQUFNLElBQUksR0FBRywyQkFBMkIsQ0FBQztJQUN6QyxRQUFRLENBQUM7SUFDVCxNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBRXBFLE1BQU0sUUFBUSxHQUFpQjtRQUMzQjtZQUNJLEtBQUssRUFBRSxHQUFHO1lBQ1YsS0FBSyxFQUFFLGFBQWE7WUFDcEIsTUFBTSxFQUFFLEVBQUU7U0FDYixFQUFFO1lBQ0MsS0FBSyxFQUFFLFlBQVk7WUFDbkIsS0FBSyxFQUFFLFVBQVU7WUFDakIsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQztTQUN4QixFQUFFO1lBQ0MsS0FBSyxFQUFFLEdBQUc7WUFDVixLQUFLLEVBQUUsYUFBYTtZQUNwQixNQUFNLEVBQUUsRUFBRTtTQUNiLEVBQUU7WUFDQyxLQUFLLEVBQUUsR0FBRztTQUNiLEVBQUU7WUFDQyxLQUFLLEVBQUUsR0FBRztZQUNWLEtBQUssRUFBRSxhQUFhO1lBQ3BCLE1BQU0sRUFBRSxFQUFFO1NBQ2IsRUFBRTtZQUNDLEtBQUssRUFBRSxHQUFHO1NBQ2IsRUFBRTtZQUNDLEtBQUssRUFBRSxVQUFVO1lBQ2pCLEtBQUssRUFBRSxVQUFVO1lBQ2pCLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUM7U0FDeEIsRUFBRTtZQUNDLEtBQUssRUFBRSxHQUFHO1lBQ1YsS0FBSyxFQUFFLGFBQWE7WUFDcEIsTUFBTSxFQUFFLEVBQUU7U0FDYixFQUFFO1lBQ0MsS0FBSyxFQUFFLEdBQUc7WUFDVixLQUFLLEVBQUUsUUFBUTtZQUNmLE1BQU0sRUFBRSxFQUFFO1NBQ2I7S0FDSixDQUFDO0lBRUYsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNsQyxDQUFDLENBQUMsQ0FBQSJ9