AnP

Application/AnP.ecma.js

Esta librería es la encargada de contener todos aquellos elementos: funciones, variables y métodos comunes a todas las librerías del Framework de AnP, la cual representa, en el desarrollo de estructuras comunes, (../../common/application.anp). A mayores de lo que vemos en la documentación general, tenemos las siguientes estructuras específicas para ECMAScript/JavaScript.

AnP.prototype.RE_STACK_TRACE
AnP.RE_STACK_TRACE
RegExpstaticpublicAnP.RE_STACK_TRACE/\s*at\s+(([^\s]+)\s+\()?(([^\(\)\:]+\:)?[^\(\)\:]+)(\:([0-9]+)\:[0-9]+)?\)?|([^\@]+)\@([^:]+\:[^\:]+)\:([0-9]+)\:[0-9]+/
NameRequiredNullableTypedDefault Value
NameRequiredNullableTypedDefault Value

Este valor estático representa un patrón regular para desglosar cada una de las líneas de traza según intérprete Webkit o Gecko. Sin este patrón regular, la extracción de los datos necesarios para visualizar el Print cara la consola y/o terminal sería imposible por el hecho de que las trazas retornan un objeto que está compuesto principalmente de un String que requiere de ser desestructurado para poder extraer los datos que se requieren para el trabajo del mismo unificado a todos los lenguajes que se vayan a trabajar en este proyecto.

Para entender mejor este patrón regular, lo estructuraremos en dos constrantes en el siguiente fragmento de código:

  • typejs
  • characters202
  • lines5
"use strict";

const re_stack_trace_webkit = /\s*at\s+(([^\s]+)\s+\()?(([^\(\)\:]+\:)?[^\(\)\:]+)(\:([0-9]+)\:[0-9]+)?\)?/;
const re_stack_trace_gecko = /([^\@]+)\@([^:]+\:[^\:]+)\:([0-9]+)\:[0-9]+/;