All files / tr8-script/frontend regex.ts

100% Statements 13/13
100% Branches 0/0
100% Functions 0/0
100% Lines 13/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 322x   2x 2x   2x   2x   2x   2x   2x       2x       2x       2x 2x   2x      
export const num = `\\d{1,16}(\\.\\d{1,16})?`;
 
export const book = `#?[a-zA-Z0-9][a-zA-Z0-9\\.\\_\\-]*`;
export const acc = `[a-zA-Z0-9][a-zA-Z0-9\\.\\_\\-]*`;
 
export const con = `(limit|keep|overdraft)\\s+(${num}|${num}%|${num}/${num}|unbounded)`;
 
export const mark = `[A-Z][A-Z0-9\\_]*`;
 
export const markRegex = new RegExp(`^${mark}$`);
 
export const absRefValueRegex = new RegExp(`^${num}$`);
 
export const relRefValueRegex = new RegExp(
  `^(${num}%|${num}/${num})<-(${book}):(${acc})$`,
);
 
export const sourceRegex = new RegExp(
  `^\\s*(\\s*(max\\s+)?(${num}|${num}%|${num}/${num})|remaining)\\s+(\\[\\s*((${con}\\s*)(,\\s*${con})*)\\s*\\]\\s+)?(\\{\\s*(ext)\\s*\\}\\s+)?(${book}):(${acc})((\\s+mark\\s+${mark})?(\\s+as\\s+[A-Z][A-Z0-9\\_]*)?)$`,
);
 
export const destRegex = new RegExp(
  `^\\s*(${num}|${num}%|${num}/${num}|remaining)\\s+(${book}):(${acc})((\\s+mark\\s+${mark})?(\\s+as\\s+[A-Z][A-Z0-9\\_]*)?)$`,
);
 
export const bookMetric = `[a-zA-Z0-9#\\.\\-]+`;
export const accMetric = `[a-zA-Z0-9][a-zA-Z0-9\\.\\_\\-]*`;
 
export const metricsRegex = new RegExp(
  `^(${bookMetric}):(${accMetric})\\s+(add|ADD|sub|SUB|replace|REPLACE)\\s+(.+)$`,
);