, key: ResultPoint): void {
- const value = table.get(key);
- table.set(key, value == null ? 1 : value + 1);
+ private isValid(p: ResultPoint): boolean {
+ return p.getX() >= 0 && p.getX() < this.image.getWidth() && p.getY() > 0 && p.getY() < this.image.getHeight();
}
private static sampleGrid(image: BitMatrix,
- topLeft: ResultPoint,
- bottomLeft: ResultPoint,
- bottomRight: ResultPoint,
- topRight: ResultPoint,
- dimensionX: number,
- dimensionY: number): BitMatrix {
+ topLeft: ResultPoint,
+ bottomLeft: ResultPoint,
+ bottomRight: ResultPoint,
+ topRight: ResultPoint,
+ dimensionX: int,
+ dimensionY: int): BitMatrix {
const sampler = GridSamplerInstance.getInstance();
return sampler.sampleGrid(image,
- dimensionX,
- dimensionY,
- 0.5,
- 0.5,
- dimensionX - 0.5,
- 0.5,
- dimensionX - 0.5,
- dimensionY - 0.5,
- 0.5,
- dimensionY - 0.5,
- topLeft.getX(),
- topLeft.getY(),
- topRight.getX(),
- topRight.getY(),
- bottomRight.getX(),
- bottomRight.getY(),
- bottomLeft.getX(),
- bottomLeft.getY()
- );
+ dimensionX,
+ dimensionY,
+ 0.5,
+ 0.5,
+ dimensionX - 0.5,
+ 0.5,
+ dimensionX - 0.5,
+ dimensionY - 0.5,
+ 0.5,
+ dimensionY - 0.5,
+ topLeft.getX(),
+ topLeft.getY(),
+ topRight.getX(),
+ topRight.getY(),
+ bottomRight.getX(),
+ bottomRight.getY(),
+ bottomLeft.getX(),
+ bottomLeft.getY());
}
/**
* Counts the number of black/white transitions between two points, using something like Bresenham's algorithm.
*/
- private transitionsBetween(from: ResultPoint, to: ResultPoint): ResultPointsAndTransitions {
+ private transitionsBetween(from: ResultPoint, to: ResultPoint): int {
// See QR Code Detector, sizeOfBlackWhiteBlackRun()
- let fromX = from.getX() | 0;
- let fromY = from.getY() | 0;
- let toX = to.getX() | 0;
- let toY = to.getY() | 0;
- const steep = Math.abs(toY - fromY) > Math.abs(toX - fromX);
+ let fromX = Math.trunc(from.getX());
+ let fromY = Math.trunc(from.getY());
+ let toX = Math.trunc(to.getX());
+ let toY = Math.trunc(to.getY());
+ let steep: boolean = Math.abs(toY - fromY) > Math.abs(toX - fromX);
if (steep) {
let temp = fromX;
fromX = fromY;
@@ -357,15 +355,15 @@ export default class Detector {
toY = temp;
}
- const dx = Math.abs(toX - fromX);
- const dy = Math.abs(toY - fromY);
+ let dx = Math.abs(toX - fromX);
+ let dy = Math.abs(toY - fromY);
let error = -dx / 2;
- const ystep = fromY < toY ? 1 : -1;
- const xstep = fromX < toX ? 1 : -1;
+ let ystep = fromY < toY ? 1 : -1;
+ let xstep = fromX < toX ? 1 : -1;
let transitions = 0;
- let inBlack = this.image.get(steep ? fromY : fromX, steep ? fromX : fromY);
- for (let x = fromX, y = fromY; x !== toX; x += xstep) {
- const isBlack = this.image.get(steep ? y : x, steep ? x : y);
+ let inBlack: boolean = this.image.get(steep ? fromY : fromX, steep ? fromX : fromY);
+ for (let x: int = fromX, y = fromY; x !== toX; x += xstep) {
+ let isBlack: boolean = this.image.get(steep ? y : x, steep ? x : y);
if (isBlack !== inBlack) {
transitions++;
inBlack = isBlack;
@@ -379,48 +377,6 @@ export default class Detector {
error -= dx;
}
}
- return new ResultPointsAndTransitions(from, to, transitions);
- }
-
- /**
- * Simply encapsulates two points and a number of transitions between them.
- */
-
- /**
- * Orders ResultPointsAndTransitions by number of transitions, ascending.
- */
-}
-
-class ResultPointsAndTransitions {
-
- private from: ResultPoint;
- private to: ResultPoint;
- private transitions: number;
-
- constructor(from: ResultPoint, to: ResultPoint, transitions: number) {
- this.from = from;
- this.to = to;
- this.transitions = transitions;
- }
-
- getFrom(): ResultPoint {
- return this.from;
- }
-
- getTo(): ResultPoint {
- return this.to;
- }
-
- getTransitions(): number {
- return this.transitions;
- }
-
- // @Override
- public toString() {
- return this.from + '/' + this.to + '/' + this.transitions;
- }
-
- public static resultPointsAndTransitionsComparator(o1: ResultPointsAndTransitions, o2: ResultPointsAndTransitions): number {
- return o1.getTransitions() - o2.getTransitions();
+ return transitions;
}
}
diff --git a/src/core/oned/AbstractUPCEANReader.ts b/src/core/oned/AbstractUPCEANReader.ts
index 962332e9..9cdcac78 100644
--- a/src/core/oned/AbstractUPCEANReader.ts
+++ b/src/core/oned/AbstractUPCEANReader.ts
@@ -21,6 +21,7 @@ import Result from '../Result';
import OneDReader from './OneDReader';
import NotFoundException from '../NotFoundException';
import FormatException from '../FormatException';
+import { int } from 'src/customTypings';
/**
* Encapsulates functionality and implementation that is common to UPC and EAN families
@@ -40,36 +41,36 @@ export default abstract class AbstractUPCEANReader extends OneDReader {
/**
* Start/end guard pattern.
*/
- public static START_END_PATTERN: number[] = [1, 1, 1];
+ public static START_END_PATTERN: Int32Array = Int32Array.from([1, 1, 1]);
/**
* Pattern marking the middle of a UPC/EAN pattern, separating the two halves.
*/
- public static MIDDLE_PATTERN: number[] = [1, 1, 1, 1, 1];
+ public static MIDDLE_PATTERN: Int32Array = Int32Array.from([1, 1, 1, 1, 1]);
/**
* end guard pattern.
*/
- public static END_PATTERN: number[] = [1, 1, 1, 1, 1, 1];
+ public static END_PATTERN: Int32Array = Int32Array.from([1, 1, 1, 1, 1, 1]);
/**
* "Odd", or "L" patterns used to encode UPC/EAN digits.
*/
- public static L_PATTERNS: number[][] = [
- [3, 2, 1, 1], // 0
- [2, 2, 2, 1], // 1
- [2, 1, 2, 2], // 2
- [1, 4, 1, 1], // 3
- [1, 1, 3, 2], // 4
- [1, 2, 3, 1], // 5
- [1, 1, 1, 4], // 6
- [1, 3, 1, 2], // 7
- [1, 2, 1, 3], // 8
- [3, 1, 1, 2], // 9
+ public static L_PATTERNS: Int32Array[] = [
+ Int32Array.from([3, 2, 1, 1]), // 0
+ Int32Array.from([2, 2, 2, 1]), // 1
+ Int32Array.from([2, 1, 2, 2]), // 2
+ Int32Array.from([1, 4, 1, 1]), // 3
+ Int32Array.from([1, 1, 3, 2]), // 4
+ Int32Array.from([1, 2, 3, 1]), // 5
+ Int32Array.from([1, 1, 1, 4]), // 6
+ Int32Array.from([1, 3, 1, 2]), // 7
+ Int32Array.from([1, 2, 1, 3]), // 8
+ Int32Array.from([3, 1, 1, 2]), // 9
];
/**
* As above but also including the "even", or "G" patterns used to encode UPC/EAN digits.
*/
- public static L_AND_G_PATTERNS: number[][];
+ public static L_AND_G_PATTERNS: Int32Array[];
protected decodeRowStringBuffer = '';
// private final UPCEANExtensionSupport extensionReader;
@@ -84,13 +85,13 @@ export default abstract class AbstractUPCEANReader extends OneDReader {
}
*/
- static findStartGuardPattern(row: BitArray): number[] {
+ static findStartGuardPattern(row: BitArray): Int32Array {
let foundStart = false;
- let startRange: number[] = null;
+ let startRange: Int32Array;
let nextStart = 0;
- let counters = [0, 0, 0];
+ let counters = Int32Array.from([0, 0, 0]);
while (!foundStart) {
- counters = [0, 0, 0];
+ counters = Int32Array.from([0, 0, 0]);
startRange = AbstractUPCEANReader.findGuardPattern(row, nextStart, false, this.START_END_PATTERN, counters);
let start = startRange[0];
nextStart = startRange[1];
@@ -122,7 +123,7 @@ export default abstract class AbstractUPCEANReader extends OneDReader {
for (let i = length - 1; i >= 0; i -= 2) {
let digit = s.charAt(i).charCodeAt(0) - '0'.charCodeAt(0);
if (digit < 0 || digit > 9) {
- throw new FormatException();
+ throw new FormatException();
}
sum += digit;
}
@@ -137,11 +138,34 @@ export default abstract class AbstractUPCEANReader extends OneDReader {
return (1000 - sum) % 10;
}
- static decodeEnd(row: BitArray, endStart: number): number[] {
- return AbstractUPCEANReader.findGuardPattern(row, endStart, false, AbstractUPCEANReader.START_END_PATTERN, new Array(AbstractUPCEANReader.START_END_PATTERN.length).fill(0));
+ static decodeEnd(row: BitArray, endStart: number): Int32Array {
+ return AbstractUPCEANReader.findGuardPattern(row, endStart, false, AbstractUPCEANReader.START_END_PATTERN, new Int32Array(AbstractUPCEANReader.START_END_PATTERN.length).fill(0));
+ }
+
+ /**
+ * @throws NotFoundException
+ */
+ static findGuardPatternWithoutCounters(
+ row: BitArray,
+ rowOffset: int,
+ whiteFirst: boolean,
+ pattern: Int32Array,
+ ): Int32Array {
+ return this.findGuardPattern(row, rowOffset, whiteFirst, pattern, new Int32Array(pattern.length));
}
- static findGuardPattern(row: BitArray, rowOffset: number, whiteFirst: boolean, pattern: number[], counters: number[]) {
+ /**
+ * @param row row of black/white values to search
+ * @param rowOffset position to start search
+ * @param whiteFirst if true, indicates that the pattern specifies white/black/white/...
+ * pixel counts, otherwise, it is interpreted as black/white/black/...
+ * @param pattern pattern of counts of number of black and white pixels that are being
+ * searched for as a pattern
+ * @param counters array of counters, as long as pattern, to re-use
+ * @return start/end horizontal offset of guard pattern, as an array of two ints
+ * @throws NotFoundException if pattern is not found
+ */
+ static findGuardPattern(row: BitArray, rowOffset: number, whiteFirst: boolean, pattern: Int32Array, counters: Int32Array): Int32Array {
let width = row.getSize();
rowOffset = whiteFirst ? row.getNextUnset(rowOffset) : row.getNextSet(rowOffset);
let counterPosition = 0;
@@ -154,11 +178,11 @@ export default abstract class AbstractUPCEANReader extends OneDReader {
} else {
if (counterPosition === patternLength - 1) {
if (OneDReader.patternMatchVariance(counters, pattern, AbstractUPCEANReader.MAX_INDIVIDUAL_VARIANCE) < AbstractUPCEANReader.MAX_AVG_VARIANCE) {
- return [patternStart, x];
+ return Int32Array.from([patternStart, x]);
}
patternStart += counters[0] + counters[1];
- let slice = counters.slice(2, counters.length);
+ let slice = counters.slice(2, counters.length - 1);
for (let i = 0; i < counterPosition - 1; i++) {
counters[i] = slice[i];
}
@@ -176,7 +200,7 @@ export default abstract class AbstractUPCEANReader extends OneDReader {
throw new NotFoundException();
}
- static decodeDigit(row: BitArray, counters: number[], rowOffset: number, patterns: number[][]) {
+ static decodeDigit(row: BitArray, counters: Int32Array, rowOffset: int, patterns: Int32Array[]) {
this.recordPattern(row, rowOffset, counters);
let bestVariance = this.MAX_AVG_VARIANCE;
let bestMatch = -1;
@@ -213,5 +237,5 @@ export default abstract class AbstractUPCEANReader extends OneDReader {
* @return horizontal offset of first pixel after the "middle" that was decoded
* @throws NotFoundException if decoding could not complete successfully
*/
- public abstract decodeMiddle(row: BitArray, startRange: number[], resultString: string);
+ public abstract decodeMiddle(row: BitArray, startRange: Int32Array, resultString: /*StringBuilder*/string);
}
diff --git a/src/core/oned/Code128Reader.ts b/src/core/oned/Code128Reader.ts
index a0b56921..72c5bb68 100644
--- a/src/core/oned/Code128Reader.ts
+++ b/src/core/oned/Code128Reader.ts
@@ -37,114 +37,115 @@ import OneDReader from './OneDReader';
*/
export default class Code128Reader extends OneDReader {
- private static CODE_PATTERNS: number[][] = [
- [2, 1, 2, 2, 2, 2],
- [2, 2, 2, 1, 2, 2],
- [2, 2, 2, 2, 2, 1],
- [1, 2, 1, 2, 2, 3],
- [1, 2, 1, 3, 2, 2],
- [1, 3, 1, 2, 2, 2],
- [1, 2, 2, 2, 1, 3],
- [1, 2, 2, 3, 1, 2],
- [1, 3, 2, 2, 1, 2],
- [2, 2, 1, 2, 1, 3],
- [2, 2, 1, 3, 1, 2],
- [2, 3, 1, 2, 1, 2],
- [1, 1, 2, 2, 3, 2],
- [1, 2, 2, 1, 3, 2],
- [1, 2, 2, 2, 3, 1],
- [1, 1, 3, 2, 2, 2],
- [1, 2, 3, 1, 2, 2],
- [1, 2, 3, 2, 2, 1],
- [2, 2, 3, 2, 1, 1],
- [2, 2, 1, 1, 3, 2],
- [2, 2, 1, 2, 3, 1],
- [2, 1, 3, 2, 1, 2],
- [2, 2, 3, 1, 1, 2],
- [3, 1, 2, 1, 3, 1],
- [3, 1, 1, 2, 2, 2],
- [3, 2, 1, 1, 2, 2],
- [3, 2, 1, 2, 2, 1],
- [3, 1, 2, 2, 1, 2],
- [3, 2, 2, 1, 1, 2],
- [3, 2, 2, 2, 1, 1],
- [2, 1, 2, 1, 2, 3],
- [2, 1, 2, 3, 2, 1],
- [2, 3, 2, 1, 2, 1],
- [1, 1, 1, 3, 2, 3],
- [1, 3, 1, 1, 2, 3],
- [1, 3, 1, 3, 2, 1],
- [1, 1, 2, 3, 1, 3],
- [1, 3, 2, 1, 1, 3],
- [1, 3, 2, 3, 1, 1],
- [2, 1, 1, 3, 1, 3],
- [2, 3, 1, 1, 1, 3],
- [2, 3, 1, 3, 1, 1],
- [1, 1, 2, 1, 3, 3],
- [1, 1, 2, 3, 3, 1],
- [1, 3, 2, 1, 3, 1],
- [1, 1, 3, 1, 2, 3],
- [1, 1, 3, 3, 2, 1],
- [1, 3, 3, 1, 2, 1],
- [3, 1, 3, 1, 2, 1],
- [2, 1, 1, 3, 3, 1],
- [2, 3, 1, 1, 3, 1],
- [2, 1, 3, 1, 1, 3],
- [2, 1, 3, 3, 1, 1],
- [2, 1, 3, 1, 3, 1],
- [3, 1, 1, 1, 2, 3],
- [3, 1, 1, 3, 2, 1],
- [3, 3, 1, 1, 2, 1],
- [3, 1, 2, 1, 1, 3],
- [3, 1, 2, 3, 1, 1],
- [3, 3, 2, 1, 1, 1],
- [3, 1, 4, 1, 1, 1],
- [2, 2, 1, 4, 1, 1],
- [4, 3, 1, 1, 1, 1],
- [1, 1, 1, 2, 2, 4],
- [1, 1, 1, 4, 2, 2],
- [1, 2, 1, 1, 2, 4],
- [1, 2, 1, 4, 2, 1],
- [1, 4, 1, 1, 2, 2],
- [1, 4, 1, 2, 2, 1],
- [1, 1, 2, 2, 1, 4],
- [1, 1, 2, 4, 1, 2],
- [1, 2, 2, 1, 1, 4],
- [1, 2, 2, 4, 1, 1],
- [1, 4, 2, 1, 1, 2],
- [1, 4, 2, 2, 1, 1],
- [2, 4, 1, 2, 1, 1],
- [2, 2, 1, 1, 1, 4],
- [4, 1, 3, 1, 1, 1],
- [2, 4, 1, 1, 1, 2],
- [1, 3, 4, 1, 1, 1],
- [1, 1, 1, 2, 4, 2],
- [1, 2, 1, 1, 4, 2],
- [1, 2, 1, 2, 4, 1],
- [1, 1, 4, 2, 1, 2],
- [1, 2, 4, 1, 1, 2],
- [1, 2, 4, 2, 1, 1],
- [4, 1, 1, 2, 1, 2],
- [4, 2, 1, 1, 1, 2],
- [4, 2, 1, 2, 1, 1],
- [2, 1, 2, 1, 4, 1],
- [2, 1, 4, 1, 2, 1],
- [4, 1, 2, 1, 2, 1],
- [1, 1, 1, 1, 4, 3],
- [1, 1, 1, 3, 4, 1],
- [1, 3, 1, 1, 4, 1],
- [1, 1, 4, 1, 1, 3],
- [1, 1, 4, 3, 1, 1],
- [4, 1, 1, 1, 1, 3],
- [4, 1, 1, 3, 1, 1],
- [1, 1, 3, 1, 4, 1],
- [1, 1, 4, 1, 3, 1],
- [3, 1, 1, 1, 4, 1],
- [4, 1, 1, 1, 3, 1],
- [2, 1, 1, 4, 1, 2],
- [2, 1, 1, 2, 1, 4],
- [2, 1, 1, 2, 3, 2],
- [2, 3, 3, 1, 1, 1, 2]];
+ private static CODE_PATTERNS: Int32Array[] = [
+ Int32Array.from([2, 1, 2, 2, 2, 2]),
+ Int32Array.from([2, 2, 2, 1, 2, 2]),
+ Int32Array.from([2, 2, 2, 2, 2, 1]),
+ Int32Array.from([1, 2, 1, 2, 2, 3]),
+ Int32Array.from([1, 2, 1, 3, 2, 2]),
+ Int32Array.from([1, 3, 1, 2, 2, 2]),
+ Int32Array.from([1, 2, 2, 2, 1, 3]),
+ Int32Array.from([1, 2, 2, 3, 1, 2]),
+ Int32Array.from([1, 3, 2, 2, 1, 2]),
+ Int32Array.from([2, 2, 1, 2, 1, 3]),
+ Int32Array.from([2, 2, 1, 3, 1, 2]),
+ Int32Array.from([2, 3, 1, 2, 1, 2]),
+ Int32Array.from([1, 1, 2, 2, 3, 2]),
+ Int32Array.from([1, 2, 2, 1, 3, 2]),
+ Int32Array.from([1, 2, 2, 2, 3, 1]),
+ Int32Array.from([1, 1, 3, 2, 2, 2]),
+ Int32Array.from([1, 2, 3, 1, 2, 2]),
+ Int32Array.from([1, 2, 3, 2, 2, 1]),
+ Int32Array.from([2, 2, 3, 2, 1, 1]),
+ Int32Array.from([2, 2, 1, 1, 3, 2]),
+ Int32Array.from([2, 2, 1, 2, 3, 1]),
+ Int32Array.from([2, 1, 3, 2, 1, 2]),
+ Int32Array.from([2, 2, 3, 1, 1, 2]),
+ Int32Array.from([3, 1, 2, 1, 3, 1]),
+ Int32Array.from([3, 1, 1, 2, 2, 2]),
+ Int32Array.from([3, 2, 1, 1, 2, 2]),
+ Int32Array.from([3, 2, 1, 2, 2, 1]),
+ Int32Array.from([3, 1, 2, 2, 1, 2]),
+ Int32Array.from([3, 2, 2, 1, 1, 2]),
+ Int32Array.from([3, 2, 2, 2, 1, 1]),
+ Int32Array.from([2, 1, 2, 1, 2, 3]),
+ Int32Array.from([2, 1, 2, 3, 2, 1]),
+ Int32Array.from([2, 3, 2, 1, 2, 1]),
+ Int32Array.from([1, 1, 1, 3, 2, 3]),
+ Int32Array.from([1, 3, 1, 1, 2, 3]),
+ Int32Array.from([1, 3, 1, 3, 2, 1]),
+ Int32Array.from([1, 1, 2, 3, 1, 3]),
+ Int32Array.from([1, 3, 2, 1, 1, 3]),
+ Int32Array.from([1, 3, 2, 3, 1, 1]),
+ Int32Array.from([2, 1, 1, 3, 1, 3]),
+ Int32Array.from([2, 3, 1, 1, 1, 3]),
+ Int32Array.from([2, 3, 1, 3, 1, 1]),
+ Int32Array.from([1, 1, 2, 1, 3, 3]),
+ Int32Array.from([1, 1, 2, 3, 3, 1]),
+ Int32Array.from([1, 3, 2, 1, 3, 1]),
+ Int32Array.from([1, 1, 3, 1, 2, 3]),
+ Int32Array.from([1, 1, 3, 3, 2, 1]),
+ Int32Array.from([1, 3, 3, 1, 2, 1]),
+ Int32Array.from([3, 1, 3, 1, 2, 1]),
+ Int32Array.from([2, 1, 1, 3, 3, 1]),
+ Int32Array.from([2, 3, 1, 1, 3, 1]),
+ Int32Array.from([2, 1, 3, 1, 1, 3]),
+ Int32Array.from([2, 1, 3, 3, 1, 1]),
+ Int32Array.from([2, 1, 3, 1, 3, 1]),
+ Int32Array.from([3, 1, 1, 1, 2, 3]),
+ Int32Array.from([3, 1, 1, 3, 2, 1]),
+ Int32Array.from([3, 3, 1, 1, 2, 1]),
+ Int32Array.from([3, 1, 2, 1, 1, 3]),
+ Int32Array.from([3, 1, 2, 3, 1, 1]),
+ Int32Array.from([3, 3, 2, 1, 1, 1]),
+ Int32Array.from([3, 1, 4, 1, 1, 1]),
+ Int32Array.from([2, 2, 1, 4, 1, 1]),
+ Int32Array.from([4, 3, 1, 1, 1, 1]),
+ Int32Array.from([1, 1, 1, 2, 2, 4]),
+ Int32Array.from([1, 1, 1, 4, 2, 2]),
+ Int32Array.from([1, 2, 1, 1, 2, 4]),
+ Int32Array.from([1, 2, 1, 4, 2, 1]),
+ Int32Array.from([1, 4, 1, 1, 2, 2]),
+ Int32Array.from([1, 4, 1, 2, 2, 1]),
+ Int32Array.from([1, 1, 2, 2, 1, 4]),
+ Int32Array.from([1, 1, 2, 4, 1, 2]),
+ Int32Array.from([1, 2, 2, 1, 1, 4]),
+ Int32Array.from([1, 2, 2, 4, 1, 1]),
+ Int32Array.from([1, 4, 2, 1, 1, 2]),
+ Int32Array.from([1, 4, 2, 2, 1, 1]),
+ Int32Array.from([2, 4, 1, 2, 1, 1]),
+ Int32Array.from([2, 2, 1, 1, 1, 4]),
+ Int32Array.from([4, 1, 3, 1, 1, 1]),
+ Int32Array.from([2, 4, 1, 1, 1, 2]),
+ Int32Array.from([1, 3, 4, 1, 1, 1]),
+ Int32Array.from([1, 1, 1, 2, 4, 2]),
+ Int32Array.from([1, 2, 1, 1, 4, 2]),
+ Int32Array.from([1, 2, 1, 2, 4, 1]),
+ Int32Array.from([1, 1, 4, 2, 1, 2]),
+ Int32Array.from([1, 2, 4, 1, 1, 2]),
+ Int32Array.from([1, 2, 4, 2, 1, 1]),
+ Int32Array.from([4, 1, 1, 2, 1, 2]),
+ Int32Array.from([4, 2, 1, 1, 1, 2]),
+ Int32Array.from([4, 2, 1, 2, 1, 1]),
+ Int32Array.from([2, 1, 2, 1, 4, 1]),
+ Int32Array.from([2, 1, 4, 1, 2, 1]),
+ Int32Array.from([4, 1, 2, 1, 2, 1]),
+ Int32Array.from([1, 1, 1, 1, 4, 3]),
+ Int32Array.from([1, 1, 1, 3, 4, 1]),
+ Int32Array.from([1, 3, 1, 1, 4, 1]),
+ Int32Array.from([1, 1, 4, 1, 1, 3]),
+ Int32Array.from([1, 1, 4, 3, 1, 1]),
+ Int32Array.from([4, 1, 1, 1, 1, 3]),
+ Int32Array.from([4, 1, 1, 3, 1, 1]),
+ Int32Array.from([1, 1, 3, 1, 4, 1]),
+ Int32Array.from([1, 1, 4, 1, 3, 1]),
+ Int32Array.from([3, 1, 1, 1, 4, 1]),
+ Int32Array.from([4, 1, 1, 1, 3, 1]),
+ Int32Array.from([2, 1, 1, 4, 1, 2]),
+ Int32Array.from([2, 1, 1, 2, 1, 4]),
+ Int32Array.from([2, 1, 1, 2, 3, 2]),
+ Int32Array.from([2, 3, 3, 1, 1, 1, 2]),
+ ];
private static MAX_AVG_VARIANCE = 0.25;
private static MAX_INDIVIDUAL_VARIANCE = 0.7;
@@ -166,15 +167,15 @@ export default class Code128Reader extends OneDReader {
private static CODE_START_C = 105;
private static CODE_STOP = 106;
- private static findStartPattern(row: BitArray): number[] {
+ private static findStartPattern(row: BitArray): Int32Array {
const width = row.getSize();
const rowOffset = row.getNextSet(0);
- let counterPosition = 0;
- const counters = [0, 0, 0, 0, 0, 0];
- let patternStart = rowOffset;
- let isWhite = false;
- const patternLength = 6;
+ let counterPosition = 0;
+ let counters = Int32Array.from([0, 0, 0, 0, 0, 0]);
+ let patternStart = rowOffset;
+ let isWhite = false;
+ const patternLength = 6;
for (let i = rowOffset; i < width; i++) {
if (row.get(i) !== isWhite) {
@@ -194,11 +195,11 @@ export default class Code128Reader extends OneDReader {
// Look for whitespace before start pattern, >= 50% of width of start pattern
if (bestMatch >= 0 &&
row.isRange(Math.max(0, patternStart - (i - patternStart) / 2), patternStart, false)) {
- return [patternStart, i, bestMatch];
+ return Int32Array.from([patternStart, i, bestMatch]);
}
patternStart += counters[0] + counters[1];
- counters.splice(0, 2);
+ counters = counters.slice(2, counters.length - 1);
counters[counterPosition - 1] = 0;
counters[counterPosition] = 0;
counterPosition--;
@@ -212,7 +213,7 @@ export default class Code128Reader extends OneDReader {
throw new NotFoundException();
}
- private static decodeCode(row: BitArray, counters: number[], rowOffset: number): number {
+ private static decodeCode(row: BitArray, counters: Int32Array, rowOffset: number): number {
OneDReader.recordPattern(row, rowOffset, counters);
let bestVariance = Code128Reader.MAX_AVG_VARIANCE; // worst variance we'll accept
let bestMatch = -1;
@@ -264,7 +265,7 @@ export default class Code128Reader extends OneDReader {
let lastStart = startPatternInfo[0];
let nextStart = startPatternInfo[1];
- const counters: number[] = [0, 0, 0, 0, 0, 0];
+ const counters: Int32Array = Int32Array.from([0, 0, 0, 0, 0, 0]);
let lastCode = 0;
let code = 0;
diff --git a/src/core/oned/Code39Reader.ts b/src/core/oned/Code39Reader.ts
index bef1a3aa..4a2c91af 100644
--- a/src/core/oned/Code39Reader.ts
+++ b/src/core/oned/Code39Reader.ts
@@ -54,7 +54,7 @@ export default class Code39Reader extends OneDReader {
private usingCheckDigit: boolean;
private extendedMode: boolean;
private decodeRowResult: string;
- private counters: number[];
+ private counters: Int32Array;
/**
* Creates a reader that assumes all encoded data is data, and does not treat the final
@@ -90,7 +90,7 @@ export default class Code39Reader extends OneDReader {
this.usingCheckDigit = usingCheckDigit;
this.extendedMode = extendedMode;
this.decodeRowResult = '';
- this.counters = new Array(9);
+ this.counters = new Int32Array(9);
}
public decodeRow(rowNumber: number, row: BitArray, hints?: Map): Result {
@@ -170,7 +170,7 @@ export default class Code39Reader extends OneDReader {
}
- private static findAsteriskPattern(row: BitArray, counters: number[]): number[] {
+ private static findAsteriskPattern(row: BitArray, counters: Int32Array): number[] {
let width = row.getSize();
let rowOffset = row.getNextSet(0);
@@ -206,7 +206,7 @@ export default class Code39Reader extends OneDReader {
// For efficiency, returns -1 on failure. Not throwing here saved as many as 700 exceptions
// per image when using some of our blackbox images.
- private static toNarrowWidePattern(counters: number[]): number {
+ private static toNarrowWidePattern(counters: Int32Array): number {
let numCounters = counters.length;
let maxNarrowCounter = 0;
let wideCounters: number;
diff --git a/src/core/oned/EAN13Reader.ts b/src/core/oned/EAN13Reader.ts
index afd486fb..6412285e 100644
--- a/src/core/oned/EAN13Reader.ts
+++ b/src/core/oned/EAN13Reader.ts
@@ -30,14 +30,14 @@ import NotFoundException from '../NotFoundException';
export default class EAN13Reader extends UPCEANReader {
private static FIRST_DIGIT_ENCODINGS: number[] = [0x00, 0x0B, 0x0D, 0xE, 0x13, 0x19, 0x1C, 0x15, 0x16, 0x1A];
- private decodeMiddleCounters: number[];
+ private decodeMiddleCounters: Int32Array;
public constructor() {
super();
- this.decodeMiddleCounters = [0, 0, 0, 0];
+ this.decodeMiddleCounters = Int32Array.from([0, 0, 0, 0]);
}
- public decodeMiddle(row: BitArray, startRange: number[], resultString: string) {
+ public decodeMiddle(row: BitArray, startRange: Int32Array, resultString: string) {
let counters = this.decodeMiddleCounters;
counters[0] = 0;
counters[1] = 0;
@@ -61,7 +61,7 @@ export default class EAN13Reader extends UPCEANReader {
resultString = EAN13Reader.determineFirstDigit(resultString, lgPatternFound);
- let middleRange = UPCEANReader.findGuardPattern(row, rowOffset, true, UPCEANReader.MIDDLE_PATTERN, new Array(UPCEANReader.MIDDLE_PATTERN.length).fill(0));
+ let middleRange = UPCEANReader.findGuardPattern(row, rowOffset, true, UPCEANReader.MIDDLE_PATTERN, new Int32Array(UPCEANReader.MIDDLE_PATTERN.length).fill(0));
rowOffset = middleRange[1];
for (let x = 0; x < 6 && rowOffset < end; x++) {
diff --git a/src/core/oned/EAN8Reader.ts b/src/core/oned/EAN8Reader.ts
index 90d3ac30..c49e55d5 100644
--- a/src/core/oned/EAN8Reader.ts
+++ b/src/core/oned/EAN8Reader.ts
@@ -25,15 +25,15 @@ import UPCEANReader from './UPCEANReader';
* @author Sean Owen
*/
export default class EAN8Reader extends UPCEANReader {
- private decodeMiddleCounters: number[];
+ private decodeMiddleCounters: Int32Array;
public constructor() {
super();
- this.decodeMiddleCounters = [0, 0, 0, 0];
+ this.decodeMiddleCounters = Int32Array.from([0, 0, 0, 0]);
}
- public decodeMiddle(row: BitArray, startRange: number[], resultString: string) {
- let counters = this.decodeMiddleCounters;
+ public decodeMiddle(row: BitArray, startRange: Int32Array, resultString: string) {
+ const counters = this.decodeMiddleCounters;
counters[0] = 0;
counters[1] = 0;
counters[2] = 0;
@@ -50,7 +50,7 @@ export default class EAN8Reader extends UPCEANReader {
}
}
- let middleRange = UPCEANReader.findGuardPattern(row, rowOffset, true, UPCEANReader.MIDDLE_PATTERN, new Array(UPCEANReader.MIDDLE_PATTERN.length).fill(0));
+ let middleRange = UPCEANReader.findGuardPattern(row, rowOffset, true, UPCEANReader.MIDDLE_PATTERN, new Int32Array(UPCEANReader.MIDDLE_PATTERN.length).fill(0));
rowOffset = middleRange[1];
for (let x = 0; x < 4 && rowOffset < end; x++) {
diff --git a/src/core/oned/ITFReader.ts b/src/core/oned/ITFReader.ts
index d049b8e8..2cf1b234 100644
--- a/src/core/oned/ITFReader.ts
+++ b/src/core/oned/ITFReader.ts
@@ -39,28 +39,28 @@ export default class ITFReader extends OneDReader {
// private static w = 2; // Pixel width of a 2x wide line
// private static N = 1; // Pixed width of a narrow line
- private static PATTERNS: number[][] = [
- [1, 1, 2, 2, 1], // 0
- [2, 1, 1, 1, 2], // 1
- [1, 2, 1, 1, 2], // 2
- [2, 2, 1, 1, 1], // 3
- [1, 1, 2, 1, 2], // 4
- [2, 1, 2, 1, 1], // 5
- [1, 2, 2, 1, 1], // 6
- [1, 1, 1, 2, 2], // 7
- [2, 1, 1, 2, 1], // 8
- [1, 2, 1, 2, 1], // 9
- [1, 1, 3, 3, 1], // 0
- [3, 1, 1, 1, 3], // 1
- [1, 3, 1, 1, 3], // 2
- [3, 3, 1, 1, 1], // 3
- [1, 1, 3, 1, 3], // 4
- [3, 1, 3, 1, 1], // 5
- [1, 3, 3, 1, 1], // 6
- [1, 1, 1, 3, 3], // 7
- [3, 1, 1, 3, 1], // 8
- [1, 3, 1, 3, 1] // 9
- ];
+ private static PATTERNS: Int32Array[] = [
+ Int32Array.from([1, 1, 2, 2, 1]), // 0
+ Int32Array.from([2, 1, 1, 1, 2]), // 1
+ Int32Array.from([1, 2, 1, 1, 2]), // 2
+ Int32Array.from([2, 2, 1, 1, 1]), // 3
+ Int32Array.from([1, 1, 2, 1, 2]), // 4
+ Int32Array.from([2, 1, 2, 1, 1]), // 5
+ Int32Array.from([1, 2, 2, 1, 1]), // 6
+ Int32Array.from([1, 1, 1, 2, 2]), // 7
+ Int32Array.from([2, 1, 1, 2, 1]), // 8
+ Int32Array.from([1, 2, 1, 2, 1]), // 9
+ Int32Array.from([1, 1, 3, 3, 1]), // 0
+ Int32Array.from([3, 1, 1, 1, 3]), // 1
+ Int32Array.from([1, 3, 1, 1, 3]), // 2
+ Int32Array.from([3, 3, 1, 1, 1]), // 3
+ Int32Array.from([1, 1, 3, 1, 3]), // 4
+ Int32Array.from([3, 1, 3, 1, 1]), // 5
+ Int32Array.from([1, 3, 3, 1, 1]), // 6
+ Int32Array.from([1, 1, 1, 3, 3]), // 7
+ Int32Array.from([3, 1, 1, 3, 1]), // 8
+ Int32Array.from([1, 3, 1, 3, 1]) // 9
+ ];
private static MAX_AVG_VARIANCE = 0.38;
private static MAX_INDIVIDUAL_VARIANCE = 0.5;
@@ -73,17 +73,17 @@ export default class ITFReader extends OneDReader {
// Stores the actual narrow line width of the image being decoded.
private narrowLineWidth = -1;
- /*/!**
- * Start/end guard pattern.
- *
- * Note: The end pattern is reversed because the row is reversed before
- * searching for the END_PATTERN
- *!/*/
- private static START_PATTERN = [1, 1, 1, 1];
- private static END_PATTERN_REVERSED: number[][] = [
- [1, 1, 2], // 2x
- [1, 1, 3] // 3x
- ];
+ /*/!**
+ * Start/end guard pattern.
+ *
+ * Note: The end pattern is reversed because the row is reversed before
+ * searching for the END_PATTERN
+ *!/*/
+ private static START_PATTERN = Int32Array.from([1, 1, 1, 1]);
+ private static END_PATTERN_REVERSED: Int32Array[] = [
+ Int32Array.from([1, 1, 2]), // 2x
+ Int32Array.from([1, 1, 3]) // 3x
+ ];
// See ITFWriter.PATTERNS
/*
@@ -169,9 +169,9 @@ export default class ITFReader extends OneDReader {
// Therefore, need to scan 10 lines and then
// split these into two arrays
- let counterDigitPair: number[] = new Array(10); // 10
- let counterBlack: number[] = new Array(5); // 5
- let counterWhite: number[] = new Array(5); // 5
+ let counterDigitPair: Int32Array = new Int32Array(10); // 10
+ let counterBlack: Int32Array = new Int32Array(5); // 5
+ let counterWhite: Int32Array = new Int32Array(5); // 5
counterDigitPair.fill(0);
counterBlack.fill(0);
@@ -317,26 +317,26 @@ export default class ITFReader extends OneDReader {
}
}
- /*
- /!**
- * @param row row of black/white values to search
- * @param rowOffset position to start search
- * @param pattern pattern of counts of number of black and white pixels that are
- * being searched for as a pattern
- * @return start/end horizontal offset of guard pattern, as an array of two
- * ints
- * @throws NotFoundException if pattern is not found
- *!/*/
- private static findGuardPattern(
- row: BitArray,
- rowOffset: number,
- pattern: number[]
- ): number[] {
-
- let patternLength: number = pattern.length;
- let counters: number[] = new Array(patternLength);
- let width: number = row.getSize();
- let isWhite: boolean = false;
+ /*
+ /!**
+ * @param row row of black/white values to search
+ * @param rowOffset position to start search
+ * @param pattern pattern of counts of number of black and white pixels that are
+ * being searched for as a pattern
+ * @return start/end horizontal offset of guard pattern, as an array of two
+ * ints
+ * @throws NotFoundException if pattern is not found
+ *!/*/
+ private static findGuardPattern(
+ row: BitArray,
+ rowOffset: number,
+ pattern: Int32Array
+ ): number[] {
+
+ let patternLength: number = pattern.length;
+ let counters: Int32Array = new Int32Array(patternLength);
+ let width: number = row.getSize();
+ let isWhite: boolean = false;
let counterPosition: number = 0;
let patternStart: number = rowOffset;
@@ -366,15 +366,15 @@ export default class ITFReader extends OneDReader {
throw new NotFoundException();
}
- /*/!**
- * Attempts to decode a sequence of ITF black/white lines into single
- * digit.
- *
- * @param counters the counts of runs of observed black/white/black/... values
- * @return The decoded digit
- * @throws NotFoundException if digit cannot be decoded
- *!/*/
- private static decodeDigit(counters: number[]): number {
+ /*/!**
+ * Attempts to decode a sequence of ITF black/white lines into single
+ * digit.
+ *
+ * @param counters the counts of runs of observed black/white/black/... values
+ * @return The decoded digit
+ * @throws NotFoundException if digit cannot be decoded
+ *!/*/
+ private static decodeDigit(counters: Int32Array): number {
let bestVariance: number = ITFReader.MAX_AVG_VARIANCE; // worst variance we'll accept
let bestMatch: number = -1;
diff --git a/src/core/oned/MultiFormatOneDReader.ts b/src/core/oned/MultiFormatOneDReader.ts
index 3f0816d0..6678c0fc 100644
--- a/src/core/oned/MultiFormatOneDReader.ts
+++ b/src/core/oned/MultiFormatOneDReader.ts
@@ -37,22 +37,18 @@ export default class MultiFormatOneDReader extends OneDReader {
private readers: OneDReader[] = [];
- public constructor(hints: Map) {
+ public constructor(hints?: Map) {
super();
const possibleFormats = !hints ? null : hints.get(DecodeHintType.POSSIBLE_FORMATS);
const useCode39CheckDigit = hints && hints.get(DecodeHintType.ASSUME_CODE_39_CHECK_DIGIT) !== undefined;
if (possibleFormats) {
if (possibleFormats.includes(BarcodeFormat.EAN_13) ||
- possibleFormats.includes(BarcodeFormat.EAN_8)) {
+ possibleFormats.includes(BarcodeFormat.UPC_A) ||
+ possibleFormats.includes(BarcodeFormat.EAN_8) ||
+ possibleFormats.includes(BarcodeFormat.UPC_E)) {
this.readers.push(new MultiFormatUPCEANReader(hints));
}
- // if (possibleFormats.includes(BarcodeFormat.EAN_13) ||
- // possibleFormats.includes(BarcodeFormat.UPC_A) ||
- // possibleFormats.includes(BarcodeFormat.EAN_8) ||
- // possibleFormats.includes(BarcodeFormat.UPC_E)) {
- // readers.push(new MultiFormatUPCEANReader(hints));
- // }
if (possibleFormats.includes(BarcodeFormat.CODE_39)) {
this.readers.push(new Code39Reader(useCode39CheckDigit));
}
@@ -76,7 +72,7 @@ export default class MultiFormatOneDReader extends OneDReader {
}
}
if (this.readers.length === 0) {
- // this.readers.push(new MultiFormatUPCEANReader(hints));
+ this.readers.push(new MultiFormatUPCEANReader(hints));
this.readers.push(new Code39Reader());
// this.readers.push(new CodaBarReader());
// this.readers.push(new Code93Reader());
diff --git a/src/core/oned/MultiFormatUPCEANReader.ts b/src/core/oned/MultiFormatUPCEANReader.ts
index e4be3409..94455f5d 100644
--- a/src/core/oned/MultiFormatUPCEANReader.ts
+++ b/src/core/oned/MultiFormatUPCEANReader.ts
@@ -23,7 +23,10 @@ import OneDReader from './OneDReader';
import UPCEANReader from './UPCEANReader';
import EAN13Reader from './EAN13Reader';
import EAN8Reader from './EAN8Reader';
+import UPCAReader from './UPCAReader';
import NotFoundException from '../NotFoundException';
+import UPCEReader from './UPCEReader';
+import { Collection } from 'src/customTypings';
/**
* A reader that can read all available UPC/EAN formats. If a caller wants to try to
@@ -33,47 +36,88 @@ import NotFoundException from '../NotFoundException';
* @author Sean Owen
*/
export default class MultiFormatUPCEANReader extends OneDReader {
- private readers: UPCEANReader[];
+ private readers: UPCEANReader[];
- public constructor(hints?: Map) {
- super();
- let possibleFormats = hints == null ? null : hints.get(DecodeHintType.POSSIBLE_FORMATS);
- let readers: UPCEANReader[] = [];
- if (possibleFormats != null) {
- if (possibleFormats.indexOf(BarcodeFormat.EAN_13) > -1) {
- readers.push(new EAN13Reader());
- }
+ public constructor(hints?: Map) {
+ super();
+ let possibleFormats = hints == null ? null : hints.get(DecodeHintType.POSSIBLE_FORMATS);
+ let readers: Collection = [];
+ if (possibleFormats != null) {
- if (possibleFormats.indexOf(BarcodeFormat.EAN_8) > -1) {
- readers.push(new EAN8Reader());
- }
- // todo add UPC_A, UPC_E
- }
+ if (possibleFormats.indexOf(BarcodeFormat.EAN_13) > -1) {
+ readers.push(new EAN13Reader());
+ } else if (possibleFormats.indexOf(BarcodeFormat.UPC_A) > -1) {
+ readers.push(new UPCAReader());
+ }
- if (readers.length === 0) {
- readers.push(new EAN13Reader());
- readers.push(new EAN8Reader());
- // todo add UPC_A, UPC_E
- }
+ if (possibleFormats.indexOf(BarcodeFormat.EAN_8) > -1) {
+ readers.push(new EAN8Reader());
+ }
- this.readers = readers;
+ if (possibleFormats.indexOf(BarcodeFormat.UPC_E) > -1) {
+ readers.push(new UPCEReader());
+ }
}
- public decodeRow(rowNumber: number, row: BitArray, hints?: Map): Result {
- for (let reader of this.readers) {
- try {
- return reader.decodeRow(rowNumber, row, hints);
- // TODO ean13MayBeUPCA
- } catch (err) {
- // continue;
- }
- }
- throw new NotFoundException();
+ if (readers.length === 0) {
+ readers.push(new EAN13Reader());
+ // UPC-A is covered by EAN-13
+ readers.push(new EAN8Reader());
+ readers.push(new UPCEReader());
}
- public reset() {
- for (let reader of this.readers) {
- reader.reset();
+ this.readers = readers;
+ }
+
+ public decodeRow(rowNumber: number, row: BitArray, hints?: Map): Result {
+ for (let reader of this.readers) {
+ try {
+ // const result: Result = reader.decodeRow(rowNumber, row, startGuardPattern, hints);
+ const result = reader.decodeRow(rowNumber, row, hints);
+ // Special case: a 12-digit code encoded in UPC-A is identical to a "0"
+ // followed by those 12 digits encoded as EAN-13. Each will recognize such a code,
+ // UPC-A as a 12-digit string and EAN-13 as a 13-digit string starting with "0".
+ // Individually these are correct and their readers will both read such a code
+ // and correctly call it EAN-13, or UPC-A, respectively.
+ //
+ // In this case, if we've been looking for both types, we'd like to call it
+ // a UPC-A code. But for efficiency we only run the EAN-13 decoder to also read
+ // UPC-A. So we special case it here, and convert an EAN-13 result to a UPC-A
+ // result if appropriate.
+ //
+ // But, don't return UPC-A if UPC-A was not a requested format!
+ const ean13MayBeUPCA: boolean =
+ result.getBarcodeFormat() === BarcodeFormat.EAN_13 &&
+ result.getText().charAt(0) === '0';
+ // @SuppressWarnings("unchecked")
+ const possibleFormats: Collection =
+ hints == null ? null : hints.get(DecodeHintType.POSSIBLE_FORMATS) as Collection;
+ const canReturnUPCA: boolean = possibleFormats == null || possibleFormats.includes(BarcodeFormat.UPC_A);
+
+ if (ean13MayBeUPCA && canReturnUPCA) {
+ const rawBytes = result.getRawBytes();
+ // Transfer the metadata across
+ const resultUPCA: Result = new Result(
+ result.getText().substring(1),
+ rawBytes,
+ rawBytes.length,
+ result.getResultPoints(),
+ BarcodeFormat.UPC_A
+ );
+ resultUPCA.putAllMetadata(result.getResultMetadata());
+ return resultUPCA;
}
+ return result;
+ } catch (err) {
+ // continue;
+ }
+ }
+ throw new NotFoundException();
+ }
+
+ public reset() {
+ for (let reader of this.readers) {
+ reader.reset();
}
+ }
}
diff --git a/src/core/oned/OneDReader.ts b/src/core/oned/OneDReader.ts
index 00db9b1d..2969ff7d 100644
--- a/src/core/oned/OneDReader.ts
+++ b/src/core/oned/OneDReader.ts
@@ -180,7 +180,7 @@ export default abstract class OneDReader implements Reader {
* @throws NotFoundException if counters cannot be filled entirely from row before running out
* of pixels
*/
- protected static recordPattern(row: BitArray, start: number, counters: number[]): void {
+ protected static recordPattern(row: BitArray, start: number, counters: Int32Array): void {
const numCounters = counters.length;
for (let index = 0; index < numCounters; index++)
counters[index] = 0;
@@ -214,7 +214,7 @@ export default abstract class OneDReader implements Reader {
}
}
- protected static recordPatternInReverse(row: BitArray, start: number, counters: number[]): void {
+ protected static recordPatternInReverse(row: BitArray, start: number, counters: Int32Array): void {
// This could be more efficient I guess
let numTransitionsLeft = counters.length;
let last = row.get(start);
@@ -241,7 +241,7 @@ export default abstract class OneDReader implements Reader {
* @param maxIndividualVariance The most any counter can differ before we give up
* @return ratio of total variance between counters and pattern compared to total pattern size
*/
- protected static patternMatchVariance(counters: number[], pattern: number[], maxIndividualVariance: number): number {
+ protected static patternMatchVariance(counters: Int32Array, pattern: Int32Array, maxIndividualVariance: number): number {
const numCounters = counters.length;
let total = 0;
let patternLength = 0;
diff --git a/src/core/oned/UPCAReader.ts b/src/core/oned/UPCAReader.ts
new file mode 100644
index 00000000..a7829f8a
--- /dev/null
+++ b/src/core/oned/UPCAReader.ts
@@ -0,0 +1,85 @@
+/*
+ * Copyright 2008 ZXing authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*namespace com.google.zxing.oned {*/
+
+import BarcodeFormat from '../BarcodeFormat';
+import BinaryBitmap from '../BinaryBitmap';
+import BitArray from '../common/BitArray';
+import DecodeHintType from '../DecodeHintType';
+
+import Reader from '../Reader';
+import Result from '../Result';
+import ResultMetadataType from '../ResultMetadataType';
+import ResultPoint from '../ResultPoint';
+import NotFoundException from '../NotFoundException';
+
+import EAN13Reader from './EAN13Reader';
+import UPCEANReader from './UPCEANReader';
+import { int } from 'src/customTypings';
+
+/**
+ * Encapsulates functionality and implementation that is common to all families
+ * of one-dimensional barcodes.
+ *
+ * @author dswitkin@google.com (Daniel Switkin)
+ * @author Sean Owen
+ * @author sam2332 (Sam Rudloff)
+ *
+ * @source https://github.com/zxing/zxing/blob/3c96923276dd5785d58eb970b6ba3f80d36a9505/core/src/main/java/com/google/zxing/oned/UPCAReader.java
+ */
+export default class UPCAReader extends UPCEANReader {
+
+ private readonly ean13Reader = new EAN13Reader();
+
+ // @Override
+ public getBarcodeFormat(): BarcodeFormat {
+ return BarcodeFormat.UPC_A;
+ }
+
+ // Note that we don't try rotation without the try harder flag, even if rotation was supported.
+ // @Override
+ public decode(image: BinaryBitmap, hints?: Map): Result {
+ return this.maybeReturnResult(this.ean13Reader.decode(image));
+ }
+
+ // @Override
+ public decodeRow(rowNumber: number, row: BitArray, hints?: Map): Result {
+ return this.maybeReturnResult(this.ean13Reader.decodeRow(rowNumber, row, hints));
+ }
+
+ // @Override
+ public decodeMiddle(row: BitArray, startRange: Int32Array, resultString: string) {
+ return this.ean13Reader.decodeMiddle(row, startRange, resultString);
+ }
+
+ public maybeReturnResult(result: Result) {
+ let text = result.getText();
+ if (text.charAt(0) == '0') {
+ let upcaResult = new Result(text.substring(1), null, null, result.getResultPoints(), BarcodeFormat.UPC_A);
+ if (result.getResultMetadata() != null) {
+ upcaResult.putAllMetadata(result.getResultMetadata());
+ }
+ return upcaResult;
+ } else {
+ throw new NotFoundException();
+ }
+ }
+
+ public reset() {
+ this.ean13Reader.reset();
+ }
+}
diff --git a/src/core/oned/UPCEANExtension2Support.ts b/src/core/oned/UPCEANExtension2Support.ts
index 292f474e..8008a12c 100644
--- a/src/core/oned/UPCEANExtension2Support.ts
+++ b/src/core/oned/UPCEANExtension2Support.ts
@@ -27,11 +27,11 @@ import NotFoundException from '../NotFoundException';
* @see UPCEANExtension5Support
*/
export default class UPCEANExtension2Support {
- private decodeMiddleCounters = [0, 0, 0, 0];
+ private decodeMiddleCounters = Int32Array.from([0, 0, 0, 0]);
private decodeRowStringBuffer = '';
- public decodeRow(rowNumber: number, row: BitArray, extensionStartRange: number[]) {
+ public decodeRow(rowNumber: number, row: BitArray, extensionStartRange: Int32Array) {
let result = this.decodeRowStringBuffer;
let end = this.decodeMiddle(row, extensionStartRange, result);
@@ -52,7 +52,7 @@ export default class UPCEANExtension2Support {
return extensionResult;
}
- public decodeMiddle(row: BitArray, startRange: number[], resultString: string) {
+ public decodeMiddle(row: BitArray, startRange: Int32Array, resultString: string) {
let counters = this.decodeMiddleCounters;
counters[0] = 0;
counters[1] = 0;
diff --git a/src/core/oned/UPCEANExtension5Support.ts b/src/core/oned/UPCEANExtension5Support.ts
index 19515f35..8765b513 100644
--- a/src/core/oned/UPCEANExtension5Support.ts
+++ b/src/core/oned/UPCEANExtension5Support.ts
@@ -29,11 +29,11 @@ import NotFoundException from '../NotFoundException';
*/
export default class UPCEANExtension5Support {
private CHECK_DIGIT_ENCODINGS = [0x18, 0x14, 0x12, 0x11, 0x0C, 0x06, 0x03, 0x0A, 0x09, 0x05];
- private decodeMiddleCounters = [0, 0, 0, 0];
+ private decodeMiddleCounters = Int32Array.from([0, 0, 0, 0]);
private decodeRowStringBuffer = '';
- public decodeRow(rowNumber: number, row: BitArray, extensionStartRange: number[]): Result {
+ public decodeRow(rowNumber: number, row: BitArray, extensionStartRange: Int32Array): Result {
let result = this.decodeRowStringBuffer;
let end = this.decodeMiddle(row, extensionStartRange, result);
@@ -54,7 +54,7 @@ export default class UPCEANExtension5Support {
return extensionResult;
}
- public decodeMiddle(row: BitArray, startRange: number[], resultString: string) {
+ public decodeMiddle(row: BitArray, startRange: Int32Array, resultString: string) {
let counters = this.decodeMiddleCounters;
counters[0] = 0;
counters[1] = 0;
diff --git a/src/core/oned/UPCEANExtensionSupport.ts b/src/core/oned/UPCEANExtensionSupport.ts
index 28d5bad4..21e19089 100644
--- a/src/core/oned/UPCEANExtensionSupport.ts
+++ b/src/core/oned/UPCEANExtensionSupport.ts
@@ -21,10 +21,10 @@ import UPCEANExtension2Support from './UPCEANExtension2Support';
import Result from '../Result';
export default class UPCEANExtensionSupport {
- private static EXTENSION_START_PATTERN = [1, 1, 2];
+ private static EXTENSION_START_PATTERN = Int32Array.from([1, 1, 2]);
static decodeRow(rowNumber: number, row: BitArray, rowOffset: number): Result {
- let extensionStartRange = AbstractUPCEANReader.findGuardPattern(row, rowOffset, false, this.EXTENSION_START_PATTERN, new Array(this.EXTENSION_START_PATTERN.length).fill(0));
+ let extensionStartRange = AbstractUPCEANReader.findGuardPattern(row, rowOffset, false, this.EXTENSION_START_PATTERN, new Int32Array(this.EXTENSION_START_PATTERN.length).fill(0));
try {
// return null;
let fiveSupport = new UPCEANExtension5Support();
diff --git a/src/core/oned/UPCEANReader.ts b/src/core/oned/UPCEANReader.ts
index f44df28b..cc70395e 100644
--- a/src/core/oned/UPCEANReader.ts
+++ b/src/core/oned/UPCEANReader.ts
@@ -41,13 +41,11 @@ export default abstract class UPCEANReader extends AbstractUPCEANReader {
super();
this.decodeRowStringBuffer = '';
- UPCEANReader.L_AND_G_PATTERNS = UPCEANReader.L_PATTERNS.map(function(arr) {
- return arr.slice();
- });
+ UPCEANReader.L_AND_G_PATTERNS = UPCEANReader.L_PATTERNS.map(arr => Int32Array.from(arr));
for (let i = 10; i < 20; i++) {
let widths = UPCEANReader.L_PATTERNS[i - 10];
- let reversedWidths = new Array(widths.length);
+ let reversedWidths = new Int32Array(widths.length);
for (let j = 0; j < widths.length; j++) {
reversedWidths[j] = widths[widths.length - j - 1];
}
@@ -172,7 +170,7 @@ export default abstract class UPCEANReader extends AbstractUPCEANReader {
return (1000 - sum) % 10;
}
- static decodeEnd(row: BitArray, endStart: number): number[] {
- return UPCEANReader.findGuardPattern(row, endStart, false, UPCEANReader.START_END_PATTERN, new Array(UPCEANReader.START_END_PATTERN.length).fill(0));
+ static decodeEnd(row: BitArray, endStart: number): Int32Array {
+ return UPCEANReader.findGuardPattern(row, endStart, false, UPCEANReader.START_END_PATTERN, new Int32Array(UPCEANReader.START_END_PATTERN.length).fill(0));
}
}
diff --git a/src/core/oned/UPCEReader.ts b/src/core/oned/UPCEReader.ts
new file mode 100644
index 00000000..64583a5f
--- /dev/null
+++ b/src/core/oned/UPCEReader.ts
@@ -0,0 +1,202 @@
+/*
+ * Copyright 2008 ZXing authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import UPCEANReader from './UPCEANReader';
+import BitArray from '../common/BitArray';
+import StringBuilder from '../util/StringBuilder';
+import NotFoundException from '../NotFoundException';
+import BarcodeFormat from '../BarcodeFormat';
+import { int, char } from 'src/customTypings';
+
+// package com.google.zxing.oned;
+
+// import com.google.zxing.BarcodeFormat;
+// import com.google.zxing.FormatException;
+// import com.google.zxing.NotFoundException;
+// import com.google.zxing.common.BitArray;
+
+/**
+ * Implements decoding of the UPC-E format.
+ * This is a great reference for
+ * UPC-E information.
+ *
+ * @author Sean Owen
+ *
+ * @source https://github.com/zxing/zxing/blob/3c96923276dd5785d58eb970b6ba3f80d36a9505/core/src/main/java/com/google/zxing/oned/UPCEReader.java
+ */
+export default /* final */ class UPCEReader extends UPCEANReader {
+
+ /**
+ * The pattern that marks the middle, and end, of a UPC-E pattern.
+ * There is no "second half" to a UPC-E barcode.
+ */
+ private static /*final*/ MIDDLE_END_PATTERN: Int32Array = Int32Array.from([1, 1, 1, 1, 1, 1]);
+
+ // For an UPC-E barcode, the final digit is represented by the parities used
+ // to encode the middle six digits, according to the table below.
+ //
+ // Parity of next 6 digits
+ // Digit 0 1 2 3 4 5
+ // 0 Even Even Even Odd Odd Odd
+ // 1 Even Even Odd Even Odd Odd
+ // 2 Even Even Odd Odd Even Odd
+ // 3 Even Even Odd Odd Odd Even
+ // 4 Even Odd Even Even Odd Odd
+ // 5 Even Odd Odd Even Even Odd
+ // 6 Even Odd Odd Odd Even Even
+ // 7 Even Odd Even Odd Even Odd
+ // 8 Even Odd Even Odd Odd Even
+ // 9 Even Odd Odd Even Odd Even
+ //
+ // The encoding is represented by the following array, which is a bit pattern
+ // using Odd = 0 and Even = 1. For example, 5 is represented by:
+ //
+ // Odd Even Even Odd Odd Even
+ // in binary:
+ // 0 1 1 0 0 1 == 0x19
+ //
+
+ /**
+ * See {@link #L_AND_G_PATTERNS}; these values similarly represent patterns of
+ * even-odd parity encodings of digits that imply both the number system (0 or 1)
+ * used, and the check digit.
+ */
+ static /*final*/ NUMSYS_AND_CHECK_DIGIT_PATTERNS: Int32Array[] = [
+ Int32Array.from([0x38, 0x34, 0x32, 0x31, 0x2C, 0x26, 0x23, 0x2A, 0x29, 0x25]),
+ Int32Array.from([0x07, 0x0B, 0x0D, 0x0E, 0x13, 0x19, 0x1C, 0x15, 0x16, 0x1]),
+ ];
+
+ private /*final*/ decodeMiddleCounters: Int32Array;
+
+ public constructor() {
+ super();
+ this.decodeMiddleCounters = new Int32Array(4);
+ }
+
+ /**
+ * @throws NotFoundException
+ */
+ // @Override
+ public decodeMiddle(row: BitArray, startRange: Int32Array, result: string) {
+ const counters: Int32Array = this.decodeMiddleCounters.map(x => x);
+ counters[0] = 0;
+ counters[1] = 0;
+ counters[2] = 0;
+ counters[3] = 0;
+ const end: int = row.getSize();
+ let rowOffset: int = startRange[1];
+
+ let lgPatternFound: int = 0;
+
+ for (let x: int = 0; x < 6 && rowOffset < end; x++) {
+ const bestMatch: int = UPCEReader.decodeDigit(row, counters, rowOffset, UPCEReader.L_AND_G_PATTERNS);
+ result += String.fromCharCode(('0'.charCodeAt(0) + bestMatch % 10));
+ for (let counter of counters) {
+ rowOffset += counter;
+ }
+ if (bestMatch >= 10) {
+ lgPatternFound |= 1 << (5 - x);
+ }
+ }
+
+ UPCEReader.determineNumSysAndCheckDigit(new StringBuilder(result), lgPatternFound);
+
+ return rowOffset;
+ }
+
+ /**
+ * @throws NotFoundException
+ */
+ // @Override
+ protected decodeEnd(row: BitArray, endStart: int): Int32Array {
+ return UPCEReader.findGuardPatternWithoutCounters(row, endStart, true, UPCEReader.MIDDLE_END_PATTERN);
+ }
+
+ /**
+ * @throws FormatException
+ */
+ // @Override
+ protected checkChecksum(s: string): boolean {
+ return UPCEANReader.checkChecksum(UPCEReader.convertUPCEtoUPCA(s));
+ }
+
+ /**
+ * @throws NotFoundException
+ */
+ private static determineNumSysAndCheckDigit(resultString: StringBuilder, lgPatternFound: int): void {
+
+ for (let numSys: int = 0; numSys <= 1; numSys++) {
+ for (let d: int = 0; d < 10; d++) {
+ if (lgPatternFound === this.NUMSYS_AND_CHECK_DIGIT_PATTERNS[numSys][d]) {
+ resultString.insert(0, /*(char)*/('0' + numSys));
+ resultString.append(/*(char)*/('0' + d));
+ return;
+ }
+ }
+ }
+ throw NotFoundException.getNotFoundInstance();
+ }
+
+ // @Override
+ getBarcodeFormat(): BarcodeFormat {
+ return BarcodeFormat.UPC_E;
+ }
+
+ /**
+ * Expands a UPC-E value back into its full, equivalent UPC-A code value.
+ *
+ * @param upce UPC-E code as string of digits
+ * @return equivalent UPC-A code as string of digits
+ */
+ public static convertUPCEtoUPCA(upce: string): string {
+ // the following line is equivalent to upce.getChars(1, 7, upceChars, 0);
+ const upceChars = upce.slice(1, 7).split('').map(x => x.charCodeAt(0));
+ const result: StringBuilder = new StringBuilder(/*12*/);
+ result.append(upce.charAt(0));
+ let lastChar: char = upceChars[5];
+ switch (lastChar) {
+ case 0:
+ case 1:
+ case 2:
+ result.appendChars(upceChars, 0, 2);
+ result.append(lastChar);
+ result.append('0000');
+ result.appendChars(upceChars, 2, 3);
+ break;
+ case 3:
+ result.appendChars(upceChars, 0, 3);
+ result.append('00000');
+ result.appendChars(upceChars, 3, 2);
+ break;
+ case 4:
+ result.appendChars(upceChars, 0, 4);
+ result.append('00000');
+ result.append(upceChars[4]);
+ break;
+ default:
+ result.appendChars(upceChars, 0, 5);
+ result.append('0000');
+ result.append(lastChar);
+ break;
+ }
+ // Only append check digit in conversion if supplied
+ if (upce.length >= 8) {
+ result.append(upce.charAt(7));
+ }
+ return result.toString();
+ }
+
+}
diff --git a/src/core/oned/rss/AbstractRSSReader.ts b/src/core/oned/rss/AbstractRSSReader.ts
index df45754a..7da91451 100644
--- a/src/core/oned/rss/AbstractRSSReader.ts
+++ b/src/core/oned/rss/AbstractRSSReader.ts
@@ -12,30 +12,30 @@ export default abstract class AbstractRSSReader extends OneDReader {
private static readonly MIN_FINDER_PATTERN_RATIO: number = 9.5 / 12.0;
private static readonly MAX_FINDER_PATTERN_RATIO: number = 12.5 / 14.0;
- private readonly decodeFinderCounters: number[];
- private readonly dataCharacterCounters: number[];
- private readonly oddRoundingErrors: number[];
- private readonly evenRoundingErrors: number[];
- private readonly oddCounts: number[];
- private readonly evenCounts: number[];
-
- public constructor() {
- super();
- this.decodeFinderCounters = new Array(4);
- this.dataCharacterCounters = new Array(8);
- this.oddRoundingErrors = new Array(4);
- this.evenRoundingErrors = new Array(4);
- this.oddCounts = new Array(this.dataCharacterCounters.length / 2);
- this.evenCounts = new Array(this.dataCharacterCounters.length / 2);
- }
+ private readonly decodeFinderCounters: Int32Array;
+ private readonly dataCharacterCounters: Int32Array;
+ private readonly oddRoundingErrors: number[];
+ private readonly evenRoundingErrors: number[];
+ private readonly oddCounts: number[];
+ private readonly evenCounts: number[];
+
+ public constructor() {
+ super();
+ this.decodeFinderCounters = new Int32Array(4);
+ this.dataCharacterCounters = new Int32Array(8);
+ this.oddRoundingErrors = new Array(4);
+ this.evenRoundingErrors = new Array(4);
+ this.oddCounts = new Array(this.dataCharacterCounters.length / 2);
+ this.evenCounts = new Array(this.dataCharacterCounters.length / 2);
+ }
- protected getDecodeFinderCounters(): number[] {
- return this.decodeFinderCounters;
- }
+ protected getDecodeFinderCounters(): Int32Array {
+ return this.decodeFinderCounters;
+ }
- protected getDataCharacterCounters(): number[] {
- return this.dataCharacterCounters;
- }
+ protected getDataCharacterCounters(): Int32Array {
+ return this.dataCharacterCounters;
+ }
protected getOddRoundingErrors(): number[] {
return this.oddRoundingErrors;
@@ -53,7 +53,7 @@ export default abstract class AbstractRSSReader extends OneDReader {
return this.evenCounts;
}
- protected parseFinderValue(counters: number[], finderPatterns: number[][]): number {
+ protected parseFinderValue(counters: Int32Array, finderPatterns: Int32Array[]): number {
for (let value = 0; value < finderPatterns.length; value++) {
if (OneDReader.patternMatchVariance(counters, finderPatterns[value], AbstractRSSReader.MAX_INDIVIDUAL_VARIANCE) < AbstractRSSReader.MAX_AVG_VARIANCE) {
return value;
@@ -95,7 +95,7 @@ export default abstract class AbstractRSSReader extends OneDReader {
array[index]--;
}
- protected static isFinderPattern(counters: number[]): boolean {
+ protected static isFinderPattern(counters: Int32Array): boolean {
let firstTwoSum = counters[0] + counters[1];
let sum = firstTwoSum + counters[2] + counters[3];
let ratio = firstTwoSum / sum;
diff --git a/src/core/oned/rss/RSS14Reader.ts b/src/core/oned/rss/RSS14Reader.ts
index ee83b1b1..30bd17ab 100644
--- a/src/core/oned/rss/RSS14Reader.ts
+++ b/src/core/oned/rss/RSS14Reader.ts
@@ -24,16 +24,16 @@ export default class RSS14Reader extends AbstractRSSReader {
private static readonly OUTSIDE_ODD_WIDEST: number[] = [8, 6, 4, 3, 1];
private static readonly INSIDE_ODD_WIDEST: number[] = [2, 4, 6, 8];
- private static readonly FINDER_PATTERNS: number[][] = [
- [ 3, 8, 2, 1 ],
- [ 3, 5, 5, 1 ],
- [ 3, 3, 7, 1 ],
- [ 3, 1, 9, 1 ],
- [ 2, 7, 4, 1 ],
- [ 2, 5, 6, 1 ],
- [ 2, 3, 8, 1 ],
- [ 1, 5, 7, 1 ],
- [ 1, 3, 9, 1 ],
+ private static readonly FINDER_PATTERNS: Int32Array[] = [
+ Int32Array.from([ 3, 8, 2, 1 ]),
+ Int32Array.from([ 3, 5, 5, 1 ]),
+ Int32Array.from([ 3, 3, 7, 1 ]),
+ Int32Array.from([ 3, 1, 9, 1 ]),
+ Int32Array.from([ 2, 7, 4, 1 ]),
+ Int32Array.from([ 2, 5, 6, 1 ]),
+ Int32Array.from([ 2, 3, 8, 1 ]),
+ Int32Array.from([ 1, 5, 7, 1 ]),
+ Int32Array.from([ 1, 3, 9, 1 ]),
];
private readonly possibleLeftPairs: Pair[] = [];
@@ -292,13 +292,13 @@ export default class RSS14Reader extends AbstractRSSReader {
firstElementStart--;
}
firstElementStart++;
- let firstCounter = startEnd[0] - firstElementStart;
+ const firstCounter = startEnd[0] - firstElementStart;
// Make 'counters' hold 1-4
- let counters = this.getDecodeFinderCounters();
- let copy = new Array(counters.length);
+ const counters = this.getDecodeFinderCounters();
+ const copy = new Int32Array(counters.length);
System.arraycopy(counters, 0, copy, 1, counters.length - 1);
copy[0] = firstCounter;
- let value = this.parseFinderValue(copy, RSS14Reader.FINDER_PATTERNS);
+ const value = this.parseFinderValue(copy, RSS14Reader.FINDER_PATTERNS);
let start = firstElementStart;
let end = startEnd[1];
if (right) {
diff --git a/src/core/oned/rss/expanded/RSSExpandedReader.ts b/src/core/oned/rss/expanded/RSSExpandedReader.ts
index 6cb1f9d5..0dd8fd11 100644
--- a/src/core/oned/rss/expanded/RSSExpandedReader.ts
+++ b/src/core/oned/rss/expanded/RSSExpandedReader.ts
@@ -31,13 +31,13 @@ export default class RSSExpandedReader extends AbstractRSSReader {
private static readonly EVEN_TOTAL_SUBSET = [4, 20, 52, 104, 204];
private static readonly GSUM = [0, 348, 1388, 2948, 3988];
- private static readonly FINDER_PATTERNS = [
- [1, 8, 4, 1], // A
- [3, 6, 4, 1], // B
- [3, 4, 6, 1], // C
- [3, 2, 8, 1], // D
- [2, 6, 5, 1], // E
- [2, 2, 9, 1] // F
+ private static readonly FINDER_PATTERNS = [
+ Int32Array.from([1, 8, 4, 1]), // A
+ Int32Array.from([3, 6, 4, 1]), // B
+ Int32Array.from([3, 4, 6, 1]), // C
+ Int32Array.from([3, 2, 8, 1]), // D
+ Int32Array.from([2, 6, 5, 1]), // E
+ Int32Array.from([2, 2, 9, 1]) // F
];
private static readonly WEIGHTS = [
diff --git a/src/core/pdf417/decoder/DecodedBitStreamParser.ts b/src/core/pdf417/decoder/DecodedBitStreamParser.ts
index 7b0fd265..9ab6c519 100644
--- a/src/core/pdf417/decoder/DecodedBitStreamParser.ts
+++ b/src/core/pdf417/decoder/DecodedBitStreamParser.ts
@@ -66,6 +66,10 @@ function getBigIntConstructor(): BigIntConstructor {
return global['BigInt'] || null;
}
+ if (typeof self !== 'undefined') {
+ return self['BigInt'] || null;
+ }
+
throw new Error('Can\'t search globals for BigInt!');
}
diff --git a/src/core/util/StringBuilder.ts b/src/core/util/StringBuilder.ts
index a9b9dfcb..1d4f34df 100644
--- a/src/core/util/StringBuilder.ts
+++ b/src/core/util/StringBuilder.ts
@@ -1,6 +1,6 @@
import CharacterSetECI from '../common/CharacterSetECI';
import StringEncoding from './StringEncoding';
-import { int } from '../../customTypings';
+import { int, char } from '../../customTypings';
import StringUtils from '../common/StringUtils';
@@ -28,6 +28,13 @@ export default class StringBuilder {
return this;
}
+ public appendChars(str: char[] | string[], offset: int, len: int): StringBuilder {
+ for (let i = offset; offset < offset + len; i++) {
+ this.append(str[i]);
+ }
+ return this;
+ }
+
public length(): number {
return this.value.length;
}
diff --git a/src/index.ts b/src/index.ts
index 6dc6a10f..372596c5 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -30,6 +30,16 @@ export { default as ResultMetadataType } from './core/ResultMetadataType';
export { default as ResultPointCallback } from './core/ResultPointCallback';
export { default as RGBLuminanceSource } from './core/RGBLuminanceSource';
export { default as Writer } from './core/Writer';
+export { default as ResultPoint } from './core/ResultPoint';
+
+// core/util
+export { default as ZXingSystem } from './core/util/System';
+export { default as ZXingStringBuilder } from './core/util/StringBuilder';
+export { default as ZXingStringEncoding } from './core/util/StringEncoding';
+export { default as ZXingCharset } from './core/util/Charset';
+export { default as ZXingArrays } from './core/util/Arrays';
+export { default as ZXingStandardCharsets } from './core/util/StandardCharsets';
+export { default as ZXingInteger } from './core/util/Integer';
// core/common
export { default as BitArray } from './core/common/BitArray';
@@ -60,16 +70,42 @@ export { default as ReedSolomonEncoder } from './core/common/reedsolomon/ReedSol
// core/datamatrix
export { default as DataMatrixReader } from './core/datamatrix/DataMatrixReader';
+export { default as DataMatrixDecodedBitStreamParser } from './core/datamatrix/decoder/DecodedBitStreamParser';
+
+// core/pdf417
+export { default as PDF417Reader } from './core/pdf417/PDF417Reader';
+export { default as PDF417ResultMetadata } from './core/pdf417/PDF417ResultMetadata';
+export { default as PDF417DecodedBitStreamParser } from './core/pdf417/decoder/DecodedBitStreamParser';
+export { default as PDF417DecoderErrorCorrection } from './core/pdf417/decoder/ec/ErrorCorrection';
+
// core/twod/qrcode
export { default as QRCodeReader } from './core/qrcode/QRCodeReader';
export { default as QRCodeWriter } from './core/qrcode/QRCodeWriter';
export { default as QRCodeDecoderErrorCorrectionLevel } from './core/qrcode/decoder/ErrorCorrectionLevel';
+export { default as QRCodeDecoderFormatInformation } from './core/qrcode/decoder/FormatInformation';
+export { default as QRCodeVersion } from './core/qrcode/decoder/Version';
+export { default as QRCodeMode } from './core/qrcode/decoder/Mode';
+export { default as QRCodeDecodedBitStreamParser } from './core/qrcode/decoder/DecodedBitStreamParser';
+export { default as QRCodeDataMask } from './core/qrcode/decoder/DataMask';
export { default as QRCodeEncoder } from './core/qrcode/encoder/Encoder';
export { default as QRCodeEncoderQRCode } from './core/qrcode/encoder/QRCode';
+export { default as QRCodeMatrixUtil } from './core/qrcode/encoder/MatrixUtil';
+export { default as QRCodeByteMatrix } from './core/qrcode/encoder/ByteMatrix';
+export { default as QRCodeMaskUtil } from './core/qrcode/encoder/MaskUtil';
+
// core/twod/aztec
export { default as AztecCodeReader } from './core/aztec/AztecReader';
+export { default as AztecCodeWriter } from './core/aztec/AztecWriter';
+export { default as AztecDetectorResult } from './core/aztec/AztecDetectorResult';
+export { default as AztecEncoder } from './core/aztec/encoder/Encoder';
+export { default as AztecHighLevelEncoder } from './core/aztec/encoder/HighLevelEncoder';
+export { default as AztecCode } from './core/aztec/encoder/AztecCode';
+export { default as AztecDecoder } from './core/aztec/decoder/Decoder';
+export { default as AztecDetector } from './core/aztec/detector/Detector';
+export { Point as AztecPoint } from './core/aztec/detector/Detector';
+
// core/oned
export { default as OneDReader } from './core/oned/OneDReader';
@@ -79,4 +115,4 @@ export { default as ITFReader } from './core/oned/ITFReader';
export { default as Code39Reader } from './core/oned/Code39Reader';
export { default as RSS14Reader } from './core/oned/rss/RSS14Reader';
export { default as RSSExpandedReader } from './core/oned/rss/expanded/RSSExpandedReader';
-export { default as MultiformatReader } from './core/oned/MultiFormatOneDReader';
+export { default as MultiFormatOneDReader } from './core/oned/MultiFormatOneDReader';
diff --git a/src/test/core/PlanarYUVLuminanceSource.spec.ts b/src/test/core/PlanarYUVLuminanceSource.spec.ts
index f314b988..e40bc02a 100644
--- a/src/test/core/PlanarYUVLuminanceSource.spec.ts
+++ b/src/test/core/PlanarYUVLuminanceSource.spec.ts
@@ -18,8 +18,8 @@
import * as assert from 'assert';
import AssertUtils from './util/AssertUtils';
-import PlanarYUVLuminanceSource from '../../core/PlanarYUVLuminanceSource';
-import System from '../../core/util/System';
+import { PlanarYUVLuminanceSource } from '@zxing/library';
+import { ZXingSystem } from '@zxing/library';
describe('PlanarYUVLuminanceSource', () => {
@@ -36,7 +36,7 @@ describe('PlanarYUVLuminanceSource', () => {
const ROWS: number /*int*/ = 4;
const Y = new Uint8ClampedArray(COLS * ROWS);
- System.arraycopy(YUV, 0, Y, 0, Y.length);
+ ZXingSystem.arraycopy(YUV, 0, Y, 0, Y.length);
it('testNoCrop', () => {
const source = new PlanarYUVLuminanceSource(YUV, COLS, ROWS, 0, 0, COLS, ROWS, false);
diff --git a/src/test/core/RGBLuminanceSource.spec.ts b/src/test/core/RGBLuminanceSource.spec.ts
index 0e894f2e..d9f05e54 100644
--- a/src/test/core/RGBLuminanceSource.spec.ts
+++ b/src/test/core/RGBLuminanceSource.spec.ts
@@ -18,8 +18,8 @@
import * as assert from 'assert';
import AssertUtils from './util/AssertUtils';
-import LuminanceSource from '../../core/LuminanceSource';
-import RGBLuminanceSource from '../../core/RGBLuminanceSource';
+import { LuminanceSource } from '@zxing/library';
+import { RGBLuminanceSource } from '@zxing/library';
describe('RGBLuminanceSource', () => {
diff --git a/src/test/core/SharpImageLuminanceSource.ts b/src/test/core/SharpImageLuminanceSource.ts
index d46b62fc..2f9904f2 100644
--- a/src/test/core/SharpImageLuminanceSource.ts
+++ b/src/test/core/SharpImageLuminanceSource.ts
@@ -23,9 +23,9 @@
/*import java.awt.image.WritableRaster;*/
import SharpImage from './util/SharpImage';
-import LuminanceSource from '../../core/LuminanceSource';
-import InvertedLuminanceSource from '../../core/InvertedLuminanceSource';
-import IllegalArgumentException from '../../core/IllegalArgumentException';
+import { LuminanceSource } from '@zxing/library';
+import { InvertedLuminanceSource } from '@zxing/library';
+import { IllegalArgumentException } from '@zxing/library';
/**
* This LuminanceSource implementation is meant for J2SE clients and our blackbox unit tests.
@@ -36,77 +36,77 @@ import IllegalArgumentException from '../../core/IllegalArgumentException';
*/
export default class SharpImageLuminanceSource extends LuminanceSource {
- public constructor(private image: SharpImage) {
- super(image.getWidth(), image.getHeight());
- // if (undefined === width) {
- // this.width = image.getWidth()
- // }
- // if (undefined === height) {
- // this.height = image.getHeight()
- // }
-
- // const sourceWidth: number /*int*/ = image.getWidth()
- // const sourceHeight: number /*int*/ = image.getHeight()
- // if (left + width > sourceWidth || top + height > sourceHeight) {
- // throw new IllegalArgumentException("Crop rectangle does not fit within image data.")
- // }
-
- // if (left > 0 || width < sourceWidth || top > 0 || height < sourceHeight) {
- // image.crop(left, top, width, height)
- // }
-
- // image.grayscale()
+ public constructor(private image: SharpImage) {
+ super(image.getWidth(), image.getHeight());
+ // if (undefined === width) {
+ // this.width = image.getWidth()
+ // }
+ // if (undefined === height) {
+ // this.height = image.getHeight()
+ // }
+
+ // const sourceWidth: number /*int*/ = image.getWidth()
+ // const sourceHeight: number /*int*/ = image.getHeight()
+ // if (left + width > sourceWidth || top + height > sourceHeight) {
+ // throw new IllegalArgumentException("Crop rectangle does not fit within image data.")
+ // }
+
+ // if (left > 0 || width < sourceWidth || top > 0 || height < sourceHeight) {
+ // image.crop(left, top, width, height)
+ // }
+
+ // image.grayscale()
+ }
+
+ public getRow(y: number /*int*/, row: Uint8ClampedArray): Uint8ClampedArray {
+ if (y < 0 || y >= this.image.getHeight()) {
+ throw new IllegalArgumentException('Requested row is outside the image: ' + y);
}
-
- public getRow(y: number /*int*/, row: Uint8ClampedArray): Uint8ClampedArray {
- if (y < 0 || y >= this.image.getHeight()) {
- throw new IllegalArgumentException('Requested row is outside the image: ' + y);
- }
- const width: number /*int*/ = this.image.getWidth();
- if (row === null || row.length < width) {
- row = new Uint8ClampedArray(width); /*Int8Array(width)*/
- }
- // The underlying raster of image consists of bytes with the luminance values
- this.image.getRow(y, row);
- return row;
- }
-
- public getMatrix(): Uint8ClampedArray {
- return this.image.getMatrix();
- }
-
- public isCropSupported(): boolean {
- return true;
- }
-
- public crop(left: number /*int*/, top: number /*int*/, width: number /*int*/, height: number /*int*/): LuminanceSource {
- this.crop(left, top, width, height);
- return this;
- }
-
- /**
- * This is always true, since the image is a gray-scale image.
- *
- * @return true
- */
- public isRotateSupported(): boolean {
- return true;
- }
-
- public rotateCounterClockwise(): LuminanceSource {
- // this.image.rotate(-90)
- // TYPESCRIPTPORT: not used for tests, see AbstractBlackBox.spec, SharpImage.loadWithRotations
- return this;
- }
-
- public rotateCounterClockwise45(): LuminanceSource {
- // this.image.rotate(-45)
- // TYPESCRIPTPORT: not used for tests, see AbstractBlackBox.spec, SharpImage.loadWithRotations
- return this;
- }
-
- public invert(): LuminanceSource {
- return new InvertedLuminanceSource(this);
+ const width: number /*int*/ = this.image.getWidth();
+ if (row === null || row.length < width) {
+ row = new Uint8ClampedArray(width); /*Int8Array(width)*/
}
+ // The underlying raster of image consists of bytes with the luminance values
+ this.image.getRow(y, row);
+ return row;
+ }
+
+ public getMatrix(): Uint8ClampedArray {
+ return this.image.getMatrix();
+ }
+
+ public isCropSupported(): boolean {
+ return true;
+ }
+
+ public crop(left: number /*int*/, top: number /*int*/, width: number /*int*/, height: number /*int*/): LuminanceSource {
+ super.crop(left, top, width, height);
+ return this;
+ }
+
+ /**
+ * This is always true, since the image is a gray-scale image.
+ *
+ * @return true
+ */
+ public isRotateSupported(): boolean {
+ return true;
+ }
+
+ public rotateCounterClockwise(): LuminanceSource {
+ // this.image.rotate(-90)
+ // TYPESCRIPTPORT: not used for tests, see AbstractBlackBox.spec, SharpImage.loadWithRotations
+ return this;
+ }
+
+ public rotateCounterClockwise45(): LuminanceSource {
+ // this.image.rotate(-45)
+ // TYPESCRIPTPORT: not used for tests, see AbstractBlackBox.spec, SharpImage.loadWithRotations
+ return this;
+ }
+
+ public invert(): LuminanceSource {
+ return new InvertedLuminanceSource(this);
+ }
}
diff --git a/src/test/core/aztec/AztecBlackBox1.spec.ts b/src/test/core/aztec/AztecBlackBox1.spec.ts
index 2bca90c1..b4c5bb98 100644
--- a/src/test/core/aztec/AztecBlackBox1.spec.ts
+++ b/src/test/core/aztec/AztecBlackBox1.spec.ts
@@ -17,11 +17,11 @@
// package com.google.zxing.aztec;
// import com.google.zxing.BarcodeFormat;
-import BarcodeFormat from '../../../core/BarcodeFormat';
+import { BarcodeFormat } from '@zxing/library';
// import com.google.zxing.common.AbstractBlackBoxTestCase;
import AbstractBlackBoxSpec from '../common/AbstractBlackBox';
-import AztecReader from '../../../core/aztec/AztecReader';
+import { AztecCodeReader } from '@zxing/library';
/**
* @author David Olivier
@@ -29,7 +29,7 @@ import AztecReader from '../../../core/aztec/AztecReader';
export /*public final*/ class AztecBlackBox1TestCase extends AbstractBlackBoxSpec {
public constructor() {
- super('src/test/resources/blackbox/aztec-1', new AztecReader(), BarcodeFormat.AZTEC);
+ super('src/test/resources/blackbox/aztec-1', new AztecCodeReader(), BarcodeFormat.AZTEC);
this.addTest(13, 13, 0.0);
this.addTest(13, 13, 90.0);
this.addTest(13, 13, 180.0);
diff --git a/src/test/core/aztec/AztecBlackBox2.spec.ts b/src/test/core/aztec/AztecBlackBox2.spec.ts
index 9c87ecfc..a650ef24 100644
--- a/src/test/core/aztec/AztecBlackBox2.spec.ts
+++ b/src/test/core/aztec/AztecBlackBox2.spec.ts
@@ -17,11 +17,11 @@
// package com.google.zxing.aztec;
// import com.google.zxing.BarcodeFormat;
-import BarcodeFormat from '../../../core/BarcodeFormat';
+import { BarcodeFormat } from '@zxing/library';
// import com.google.zxing.common.AbstractBlackBoxTestCase;
import AbstractBlackBoxSpec from '../common/AbstractBlackBox';
-import AztecReader from '../../../core/aztec/AztecReader';
+import { AztecCodeReader } from '@zxing/library';
/**
* A test of Aztec barcodes under real world lighting conditions, taken with a mobile phone.
@@ -31,7 +31,7 @@ import AztecReader from '../../../core/aztec/AztecReader';
export /*public final*/ class AztecBlackBox2TestCase extends AbstractBlackBoxSpec {
public constructor() {
- super('src/test/resources/blackbox/aztec-2', new AztecReader(), BarcodeFormat.AZTEC);
+ super('src/test/resources/blackbox/aztec-2', new AztecCodeReader(), BarcodeFormat.AZTEC);
this.addTest(5, 5, 0.0);
this.addTest(4, 4, 90.0);
this.addTest(6, 6, 180.0);
diff --git a/src/test/core/aztec/decoder/Decoder.spec.ts b/src/test/core/aztec/decoder/Decoder.spec.ts
index 0e07dfb0..415d8ce7 100644
--- a/src/test/core/aztec/decoder/Decoder.spec.ts
+++ b/src/test/core/aztec/decoder/Decoder.spec.ts
@@ -19,16 +19,16 @@
// import com.google.zxing.ResultPoint;
// import com.google.zxing.aztec.AztecDetectorResult;
// import com.google.zxing.common.BitMatrix;
-import BitMatrix from '../../../../core/common/BitMatrix';
+import { BitMatrix } from '@zxing/library';
// import com.google.zxing.common.DecoderResult;
// import org.junit.Test;
// import org.junit.Assert;
-import { assertEquals, assertArrayEquals, assertThrow } from '../../util/AssertUtils';
+import { assertEquals, assertArrayEquals, assertThrow } from '../../../core/util/AssertUtils';
-import ResultPoint from '../../../../core/ResultPoint';
-import Decoder from '../../../../core/aztec/decoder/Decoder';
-import AztecDetectorResult from '../../../../core/aztec/AztecDetectorResult';
-import FormatException from '../../../../core/FormatException';
+import { ResultPoint } from '@zxing/library';
+import { AztecDecoder } from '@zxing/library';
+import { AztecDetectorResult } from '@zxing/library';
+import { FormatException } from '@zxing/library';
/**
* Tests {@link Decoder}.
@@ -68,7 +68,7 @@ describe('DecoderTest', () => {
' X X X X X X X X X X X X X \n',
'X ', ' ');
const r = new AztecDetectorResult(matrix, NO_POINTS, false, 30, 2);
- const result = new Decoder().decode(r);
+ const result = new AztecDecoder().decode(r);
assertEquals('88888TTTTTTTTTTTTTTTTTTTTTTTTTTTTTT', result.getText());
assertArrayEquals(
new Uint8Array([- 11, 85, 85, 117, 107, 90, -42, -75, -83, 107,
@@ -113,7 +113,7 @@ describe('DecoderTest', () => {
+ 'X X . X . X . . . X . X . . . . X X . X . . X X . . . \n',
'X ', '. ');
const r = new AztecDetectorResult(matrix, NO_POINTS, true, 16, 4);
- assertThrow(() => new Decoder().decode(r), FormatException);
+ assertThrow(() => new AztecDecoder().decode(r), FormatException);
});
/**
@@ -152,7 +152,7 @@ describe('DecoderTest', () => {
+ 'X X . . . X X . . X . X . . . . X X . X . . X . X . X \n',
'X ', '. ');
const r = new AztecDetectorResult(matrix, NO_POINTS, true, 16, 4);
- assertThrow(() => new Decoder().decode(r), FormatException);
+ assertThrow(() => new AztecDecoder().decode(r), FormatException);
});
/**
@@ -176,11 +176,11 @@ describe('DecoderTest', () => {
let byte9: /*byte[]*/ Uint8Array = new Uint8Array([- 86, -128]);
let byte16: /*byte[]*/ Uint8Array = new Uint8Array([99, - 63]);
- assertArrayEquals(byte0, Decoder.convertBoolArrayToByteArray(bool0));
- assertArrayEquals(byte1, Decoder.convertBoolArrayToByteArray(bool1));
- assertArrayEquals(byte7, Decoder.convertBoolArrayToByteArray(bool7));
- assertArrayEquals(byte8, Decoder.convertBoolArrayToByteArray(bool8));
- assertArrayEquals(byte9, Decoder.convertBoolArrayToByteArray(bool9));
- assertArrayEquals(byte16, Decoder.convertBoolArrayToByteArray(bool16));
+ assertArrayEquals(byte0, AztecDecoder.convertBoolArrayToByteArray(bool0));
+ assertArrayEquals(byte1, AztecDecoder.convertBoolArrayToByteArray(bool1));
+ assertArrayEquals(byte7, AztecDecoder.convertBoolArrayToByteArray(bool7));
+ assertArrayEquals(byte8, AztecDecoder.convertBoolArrayToByteArray(bool8));
+ assertArrayEquals(byte9, AztecDecoder.convertBoolArrayToByteArray(bool9));
+ assertArrayEquals(byte16, AztecDecoder.convertBoolArrayToByteArray(bool16));
});
});
diff --git a/src/test/core/aztec/detector/Detector.spec.ts b/src/test/core/aztec/detector/Detector.spec.ts
index 5aa16145..ffddf653 100644
--- a/src/test/core/aztec/detector/Detector.spec.ts
+++ b/src/test/core/aztec/detector/Detector.spec.ts
@@ -17,38 +17,38 @@
// package com.google.zxing.aztec.detector;
// import com.google.zxing.NotFoundException;
-import NotFoundException from '../../../../core/NotFoundException';
+import { NotFoundException } from '@zxing/library';
// import com.google.zxing.aztec.AztecDetectorResult;
-import AztecDetectorResult from '../../../../core/aztec/AztecDetectorResult';
+import { AztecDetectorResult } from '@zxing/library';
// import com.google.zxing.aztec.decoder.Decoder;
-import Decoder from '../../../../core/aztec/decoder/Decoder';
-// import com.google.zxing.aztec.detector.Detector.Point;
-import Detector, { Point } from '../../../../core/aztec/detector/Detector';
+import { AztecDecoder } from '@zxing/library';
+// import com.google.zxing.aztec.detector.Detector.AztecPoint;
+import { AztecDetector, AztecPoint } from '@zxing/library';
// import com.google.zxing.aztec.encoder.AztecCode;
-import AztecCode from '../../../../core/aztec/encoder/AztecCode';
-// import com.google.zxing.aztec.encoder.Encoder;
-import Encoder from '../../../../core/aztec/encoder/Encoder';
-// import Encoder from '../../../../core/aztec/encoder/Encoder';
+import { AztecCode } from '@zxing/library';
+// import com.google.zxing.aztec.encoder.AztecEncoder;
+import { AztecEncoder } from '@zxing/library';
+// import { AztecEncoder } from '@zxing/library';
// import com.google.zxing.common.BitMatrix;
-import BitMatrix from '../../../../core/common/BitMatrix';
+import { BitMatrix } from '@zxing/library';
// import com.google.zxing.common.DecoderResult;
-import DecoderResult from '../../../../core/common/DecoderResult';
+import { DecoderResult } from '@zxing/library';
// import org.junit.Assert;
import { assertEquals, assertNotNull, assertThrow } from '../../util/AssertUtils';
import { fail } from 'assert';
// import org.junit.Test;
-// import java.nio.charset.StandardCharsets;
+// import java.nio.charset.ZXingStandardCharsets;
// import java.util.ArrayList;
-// import java.util.Arrays;
-import Arrays from '../../../../core/util/Arrays';
+// import java.util.ZXingArrays;
+import { ZXingArrays } from '@zxing/library';
// import java.util.Collection;
// import java.util.List;
// import java.util.Random;
-import Random from '../../util/Random';
-import StringUtils from '../../../../core/common/StringUtils';
-import StandardCharsets from '../../../../core/util/StandardCharsets';
-import Integer from '../../../../core/util/Integer';
+import Random from '../../../core/util/Random';
+import { StringUtils } from '@zxing/library';
+import { ZXingStandardCharsets } from '@zxing/library';
+import { ZXingInteger } from '@zxing/library';
// import java.util.TreeSet;
/**
@@ -94,11 +94,11 @@ describe('DetectorTest', () => {
*/
// Test that we can tolerate errors in the parameter locator bits
function testErrorInParameterLocator(data: string): void {
- let aztec: AztecCode = Encoder.encode(StringUtils.getBytes(data, StandardCharsets.ISO_8859_1), 25, Encoder.DEFAULT_AZTEC_LAYERS);
+ let aztec: AztecCode = AztecEncoder.encode(StringUtils.getBytes(data, ZXingStandardCharsets.ISO_8859_1), 25, AztecEncoder.DEFAULT_AZTEC_LAYERS);
let random: Random = new Random(aztec.getMatrix().hashCode().toString()); // pseudo-random, but deterministic
let layers: /*int*/ number = aztec.getLayers();
let compact: boolean = aztec.isCompact();
- let orientationPoints: Point[] = getOrientationPoints(aztec);
+ let orientationPoints: AztecPoint[] = getOrientationPoints(aztec);
for (const isMirror of [false, true]) {
for (const matrix of getRotations(aztec.getMatrix())) {
// Systematically try every possible 1- and 2-bit error.
@@ -111,11 +111,11 @@ describe('DetectorTest', () => {
copy.flip(orientationPoints[error2].getX(), orientationPoints[error2].getY());
}
// The detector doesn't seem to work when matrix bits are only 1x1. So magnify.
- let r: AztecDetectorResult = new Detector(makeLarger(copy, 3)).detectMirror(isMirror);
+ let r: AztecDetectorResult = new AztecDetector(makeLarger(copy, 3)).detectMirror(isMirror);
assertNotNull(r);
assertEquals(r.getNbLayers(), layers);
assertEquals(r.isCompact(), compact);
- let res: DecoderResult = new Decoder().decode(r);
+ let res: DecoderResult = new AztecDecoder().decode(r);
assertEquals(data, res.getText());
}
}
@@ -131,7 +131,7 @@ describe('DetectorTest', () => {
copy.flip(orientationPoints[error].getX(), orientationPoints[error].getY());
}
try {
- new Detector(makeLarger(copy, 3)).detectMirror(false);
+ new AztecDetector(makeLarger(copy, 3)).detectMirror(false);
fail('Should not reach here');
} catch (expected) {
// continue
@@ -163,7 +163,7 @@ describe('DetectorTest', () => {
let matrix90: BitMatrix = rotateRight(matrix0);
let matrix180: BitMatrix = rotateRight(matrix90);
let matrix270: BitMatrix = rotateRight(matrix180);
- return Arrays.asList(matrix0, matrix90, matrix180, matrix270);
+ return ZXingArrays.asList(matrix0, matrix90, matrix180, matrix270);
}
// Rotates a square BitMatrix to the right by 90 degrees
@@ -208,15 +208,15 @@ describe('DetectorTest', () => {
return result;
}
- function getOrientationPoints(code: AztecCode): Point[] {
- let center: number = Integer.truncDivision(code.getMatrix().getWidth(), 2);
+ function getOrientationPoints(code: AztecCode): AztecPoint[] {
+ let center: number = ZXingInteger.truncDivision(code.getMatrix().getWidth(), 2);
let offset: number = code.isCompact() ? 5 : 7;
- let result: Point[] = [];
+ let result: AztecPoint[] = [];
for (let xSign: number = -1; xSign <= 1; xSign += 2) {
for (let ySign: number = -1; ySign <= 1; ySign += 2) {
- result.push(new Point(center + xSign * offset, center + ySign * offset));
- result.push(new Point(center + xSign * (offset - 1), center + ySign * offset));
- result.push(new Point(center + xSign * offset, center + ySign * (offset - 1)));
+ result.push(new AztecPoint(center + xSign * offset, center + ySign * offset));
+ result.push(new AztecPoint(center + xSign * (offset - 1), center + ySign * offset));
+ result.push(new AztecPoint(center + xSign * offset, center + ySign * (offset - 1)));
}
}
return result;
diff --git a/src/test/core/aztec/encoder/EncoderTest.spec.ts b/src/test/core/aztec/encoder/EncoderTest.spec.ts
index 75183b22..45d10b1f 100644
--- a/src/test/core/aztec/encoder/EncoderTest.spec.ts
+++ b/src/test/core/aztec/encoder/EncoderTest.spec.ts
@@ -14,32 +14,33 @@
* limitations under the License.
*/
-import AztecCode from '../../../../core/aztec/encoder/AztecCode';
+import { AztecCode } from '@zxing/library';
import { assertEquals, assertTrue, assertFalse, assertArrayEquals } from '../../util/AssertUtils';
-import BitMatrix from '../../../../core/common/BitMatrix';
+import { BitMatrix } from '@zxing/library';
import {
BarcodeFormat,
DecoderResult,
EncodeHintType,
BitArray,
StringUtils,
-} from '../../../..';
-import Encoder from '../../../../core/aztec/encoder/Encoder';
-import StandardCharsets from '../../../../core/util/StandardCharsets';
-import StringBuilder from '../../../../core/util/StringBuilder';
+} from '@zxing/library';
+import { AztecEncoder } from '@zxing/library';
+import { ZXingStandardCharsets } from '@zxing/library';
+import { ZXingStringBuilder } from '@zxing/library';
import { fail } from 'assert';
-import AztecDetectorResult from '../../../../core/aztec/AztecDetectorResult';
-import Decoder from '../../../../core/aztec/decoder/Decoder';
-import Random from '../../util/Random';
-import HighLevelEncoder from '../../../../core/aztec/encoder/HighLevelEncoder';
-import AztecWriter from '../../../../core/aztec/AztecWriter';
-import ResultPoint from '../../../../core/ResultPoint';
-import StringEncoding from '../../../../core/util/StringEncoding';
-import Charset from '../../../../core/util/Charset';
-import { TextEncoder, TextDecoder } from '@sinonjs/text-encoding';
-
-StringEncoding.customEncoder = (b, e) => new TextEncoder(e, { NONSTANDARD_allowLegacyEncoding: true }).encode(b);
-StringEncoding.customDecoder = (s, e) => new TextDecoder(e, { NONSTANDARD_allowLegacyEncoding: true }).decode(s);
+import { AztecDetectorResult } from '@zxing/library';
+import { AztecDecoder } from '@zxing/library';
+import Random from '../../../core/util/Random';
+import { AztecHighLevelEncoder } from '@zxing/library';
+import { AztecCodeWriter } from '@zxing/library';
+import { ResultPoint } from '@zxing/library';
+import { ZXingStringEncoding } from '@zxing/library';
+import { ZXingCharset } from '@zxing/library';
+import '@zxing/text-encoding/cjs/encoding-indexes';
+import { TextEncoder, TextDecoder } from '@zxing/text-encoding';
+
+ZXingStringEncoding.customEncoder = (b, e) => new TextEncoder(e, { NONSTANDARD_allowLegacyEncoding: true }).encode(b);
+ZXingStringEncoding.customDecoder = (s, e) => new TextDecoder(e).decode(s);
/**
* Aztec 2D generator unit tests.
@@ -146,20 +147,23 @@ describe('EncoderTest', () => {
// public void testAztecWriter() throws Exception {
it('testAztecWriter', () => {
- testWriter('\u20AC 1 sample data.', 'ISO-8859-1', 25, true, 2);
+ // this char is not officially present on ISO-8859-1
+ // testWriter('\u20AC 1 sample data.', 'ISO-8859-1', 25, true, 2);
+ // using windows-1252 instead
+ testWriter('\u20AC 1 sample data.', 'windows-1252', 25, true, 2);
testWriter('\u20AC 1 sample data.', 'ISO-8859-15', 25, true, 2);
testWriter('\u20AC 1 sample data.', 'UTF-8', 25, true, 2);
testWriter('\u20AC 1 sample data.', 'UTF-8', 100, true, 3);
testWriter('\u20AC 1 sample data.', 'UTF-8', 300, true, 4);
testWriter('\u20AC 1 sample data.', 'UTF-8', 500, false, 5);
- // Test AztecWriter defaults
+ // Test AztecCodeWriter defaults
const data: string = 'In ut magna vel mauris malesuada';
- const writer: AztecWriter = new AztecWriter();
+ const writer: AztecCodeWriter = new AztecCodeWriter();
const matrix: BitMatrix = writer.encode(data, BarcodeFormat.AZTEC, 0, 0);
- const aztec: AztecCode = Encoder.encode(
- StringUtils.getBytes(data, StandardCharsets.ISO_8859_1),
- Encoder.DEFAULT_EC_PERCENT,
- Encoder.DEFAULT_AZTEC_LAYERS
+ const aztec: AztecCode = AztecEncoder.encode(
+ StringUtils.getBytes(data, ZXingStandardCharsets.ISO_8859_1),
+ AztecEncoder.DEFAULT_EC_PERCENT,
+ AztecEncoder.DEFAULT_AZTEC_LAYERS
);
const expectedMatrix: BitMatrix = aztec.getMatrix();
// TYPESCRIPTPORT: here we have to compare each property
@@ -403,8 +407,8 @@ describe('EncoderTest', () => {
// @Test
// public void testHighLevelEncodeBinary() {
// binary short form single byte
- // @todo enable and fix this test for Encoder release
- it.skip('testHighLevelEncodeBinary', () => {
+ // @todo enable and fix this test for AztecEncoder release
+ it('testHighLevelEncodeBinary', () => {
testHighLevelEncodeString(
'N\0N',
// 'N' B/S =1 '\0' N
@@ -439,7 +443,7 @@ describe('EncoderTest', () => {
);
// Create a string in which every character requires binary
- let sb: StringBuilder = new StringBuilder();
+ let sb: ZXingStringBuilder = new ZXingStringBuilder();
for (let i = 0; i <= 3000; i++) {
sb.append(128 + (i % 30));
}
@@ -488,7 +492,7 @@ describe('EncoderTest', () => {
);
}
- sb = new StringBuilder();
+ sb = new ZXingStringBuilder();
for (let i = 0; i < 32; i++) {
sb.append('Β§'); // Β§ forces binary encoding
}
@@ -496,7 +500,7 @@ describe('EncoderTest', () => {
// expect B/S(1) A B/S(30)
testHighLevelEncodeString(sb.toString(), 5 + 20 + 31 * 8);
- sb = new StringBuilder();
+ sb = new ZXingStringBuilder();
for (let i = 0; i < 31; i++) {
sb.append('Β§');
}
@@ -504,7 +508,7 @@ describe('EncoderTest', () => {
// expect B/S(31)
testHighLevelEncodeString(sb.toString(), 10 + 31 * 8);
- sb = new StringBuilder();
+ sb = new ZXingStringBuilder();
for (let i = 0; i < 34; i++) {
sb.append('Β§');
}
@@ -512,7 +516,7 @@ describe('EncoderTest', () => {
// expect B/S(31) B/S(3)
testHighLevelEncodeString(sb.toString(), 20 + 34 * 8);
- sb = new StringBuilder();
+ sb = new ZXingStringBuilder();
for (let i = 0; i < 64; i++) {
sb.append('Β§');
}
@@ -524,10 +528,10 @@ describe('EncoderTest', () => {
// @Test
// public void testHighLevelEncodePairs() {
// Typical usage
- // @todo enable and fix this test for Encoder release
- it.skip('testHighLevelEncodePairs', () => {
+ // @todo enable and fix this test for AztecEncoder release
+ it('testHighLevelEncodePairs', () => {
testHighLevelEncodeString(
- '{}ABC. DEF\r\n',
+ 'ABC. DEF\r\n',
// A B C P/S . D E F P/S \r\n
'...X. ...XX ..X.. ..... ...XX ..X.X ..XX. ..XXX ..... ...X.'
);
@@ -547,7 +551,7 @@ describe('EncoderTest', () => {
);
// Don't bother leaving Binary Shift.
testHighLevelEncodeString(
- 'A\x200. \x200',
+ 'A\x80. \x80',
// 'A' B/S =2 \200 "." " " \200
'...X. XXXXX ..X.. X....... ..X.XXX. ..X..... X.......'
);
@@ -558,25 +562,25 @@ describe('EncoderTest', () => {
it('testUserSpecifiedLayers', () => {
const alphabet: Uint8Array = StringUtils.getBytes(
'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
- StandardCharsets.ISO_8859_1
+ ZXingStandardCharsets.ISO_8859_1
);
- let aztec = Encoder.encode(alphabet, 25, -2);
+ let aztec = AztecEncoder.encode(alphabet, 25, -2);
assertEquals(2, aztec.getLayers());
assertTrue(aztec.isCompact());
- aztec = Encoder.encode(alphabet, 25, 32);
+ aztec = AztecEncoder.encode(alphabet, 25, 32);
assertEquals(32, aztec.getLayers());
assertFalse(aztec.isCompact());
try {
- Encoder.encode(alphabet, 25, 33);
+ AztecEncoder.encode(alphabet, 25, 33);
fail('Encode should have failed. No such thing as 33 layers');
} catch (expected) {
// continue
}
try {
- Encoder.encode(alphabet, 25, -1);
+ AztecEncoder.encode(alphabet, 25, -1);
fail('Encode should have failed. Text can\'t fit in 1-layer compact');
} catch (expected) {
// continue
@@ -593,33 +597,33 @@ describe('EncoderTest', () => {
const alphabet4: string = alphabet + alphabet + alphabet + alphabet;
const data: Uint8Array = StringUtils.getBytes(
alphabet4,
- StandardCharsets.ISO_8859_1
+ ZXingStandardCharsets.ISO_8859_1
);
try {
- Encoder.encode(data, 0, -4);
+ AztecEncoder.encode(data, 0, -4);
fail('Encode should have failed. Text can\'t fit in 1-layer compact');
} catch (expected) {
// continue
}
// If we just try to encode it normally, it will go to a non-compact 4 layer
- let aztecCode: AztecCode = Encoder.encode(
+ let aztecCode: AztecCode = AztecEncoder.encode(
data,
0,
- Encoder.DEFAULT_AZTEC_LAYERS
+ AztecEncoder.DEFAULT_AZTEC_LAYERS
);
assertFalse(aztecCode.isCompact());
assertEquals(4, aztecCode.getLayers());
// But shortening the string to 100 bytes (500 bits of data), compact works fine, even if we
// include more error checking.
- aztecCode = Encoder.encode(
+ aztecCode = AztecEncoder.encode(
StringUtils.getBytes(
alphabet4.substring(0, 100),
- StandardCharsets.ISO_8859_1
+ ZXingStandardCharsets.ISO_8859_1
),
10,
- Encoder.DEFAULT_AZTEC_LAYERS
+ AztecEncoder.DEFAULT_AZTEC_LAYERS
);
assertTrue(aztecCode.isCompact());
assertEquals(4, aztecCode.getLayers());
@@ -633,10 +637,10 @@ describe('EncoderTest', () => {
layers: number,
expected: string
) {
- const aztec: AztecCode = Encoder.encode(
- StringUtils.getBytes(data, StandardCharsets.ISO_8859_1),
+ const aztec: AztecCode = AztecEncoder.encode(
+ StringUtils.getBytes(data, ZXingStandardCharsets.ISO_8859_1),
33,
- Encoder.DEFAULT_AZTEC_LAYERS
+ AztecEncoder.DEFAULT_AZTEC_LAYERS
);
assertEquals(compact, aztec.isCompact());
assertEquals(layers, aztec.getLayers());
@@ -645,10 +649,10 @@ describe('EncoderTest', () => {
}
function testEncodeDecode(data: string, compact: boolean, layers: number) {
- const aztec = Encoder.encode(
- StringUtils.getBytes(data, StandardCharsets.ISO_8859_1),
+ const aztec = AztecEncoder.encode(
+ StringUtils.getBytes(data, ZXingStandardCharsets.ISO_8859_1),
25,
- Encoder.DEFAULT_AZTEC_LAYERS
+ AztecEncoder.DEFAULT_AZTEC_LAYERS
);
assertEquals(compact, aztec.isCompact());
assertEquals(layers, aztec.getLayers());
@@ -660,7 +664,7 @@ describe('EncoderTest', () => {
aztec.getCodeWords(),
aztec.getLayers()
);
- let res: DecoderResult = new Decoder().decode(r);
+ let res: DecoderResult = new AztecDecoder().decode(r);
assertEquals(data, res.getText());
// Check error correction by introducing a few minor errors
const random = getPseudoRandom();
@@ -681,7 +685,7 @@ describe('EncoderTest', () => {
aztec.getCodeWords(),
aztec.getLayers()
);
- res = new Decoder().decode(r);
+ res = new AztecDecoder().decode(r);
assertEquals(data, res.getText());
}
@@ -693,15 +697,15 @@ describe('EncoderTest', () => {
layers: number
) {
// 1. Perform an encode-decode round-trip because it can be lossy.
- // 2. Aztec Decoder currently always decodes the data with a LATIN-1 charset:
- const expectedData = StringEncoding.decode(
- StringUtils.getBytes(data, Charset.forName(charset)),
- StandardCharsets.ISO_8859_1
+ // 2. Aztec AztecDecoder currently always decodes the data with a LATIN-1 charset:
+ const expectedData = ZXingStringEncoding.decode(
+ StringUtils.getBytes(data, ZXingCharset.forName(charset)),
+ ZXingStandardCharsets.ISO_8859_1
);
const hints: Map = new Map();
hints.set(EncodeHintType.CHARACTER_SET, charset);
hints.set(EncodeHintType.ERROR_CORRECTION, eccPercent);
- const writer = new AztecWriter();
+ const writer = new AztecCodeWriter();
const matrix = writer.encodeWithHints(
data,
BarcodeFormat.AZTEC,
@@ -709,10 +713,10 @@ describe('EncoderTest', () => {
0,
hints
);
- const aztec = Encoder.encode(
- StringUtils.getBytes(data, Charset.forName(charset)),
+ const aztec = AztecEncoder.encode(
+ StringUtils.getBytes(data, ZXingCharset.forName(charset)),
eccPercent,
- Encoder.DEFAULT_AZTEC_LAYERS
+ AztecEncoder.DEFAULT_AZTEC_LAYERS
);
assertEquals(compact, aztec.isCompact());
assertEquals(layers, aztec.getLayers());
@@ -725,7 +729,7 @@ describe('EncoderTest', () => {
aztec.getCodeWords(),
aztec.getLayers()
);
- let res = new Decoder().decode(r);
+ let res = new AztecDecoder().decode(r);
assertEquals(expectedData, res.getText());
// Check error correction by introducing up to eccPercent/2 errors
const ecWords = (aztec.getCodeWords() * eccPercent) / 100 / 2;
@@ -747,7 +751,7 @@ describe('EncoderTest', () => {
aztec.getCodeWords(),
aztec.getLayers()
);
- res = new Decoder().decode(r);
+ res = new AztecDecoder().decode(r);
assertEquals(expectedData, res.getText());
}
@@ -761,13 +765,13 @@ describe('EncoderTest', () => {
words: number,
expected: string
) {
- const inArr: BitArray = Encoder.generateModeMessage(compact, layers, words);
+ const inArr: BitArray = AztecEncoder.generateModeMessage(compact, layers, words);
assertEquals(stripSpace(expected), stripSpace(inArr.toString()));
}
function testStuffBits(wordSize: number, bits: string, expected: string) {
const inArr = toBitArray(bits);
- const stuffed: BitArray = Encoder.stuffBits(inArr, wordSize);
+ const stuffed: BitArray = AztecEncoder.stuffBits(inArr, wordSize);
assertEquals(stripSpace(expected), stripSpace(stuffed.toString()));
}
@@ -789,27 +793,27 @@ describe('EncoderTest', () => {
}
function testHighLevelEncodeString(s: string, expectedBits: string | number) {
- const bits: BitArray = new HighLevelEncoder(
- StringUtils.getBytes(s, StandardCharsets.ISO_8859_1)
+ const bits: BitArray = new AztecHighLevelEncoder(
+ StringUtils.getBytes(s, ZXingStandardCharsets.ISO_8859_1)
).encode();
if (typeof expectedBits === 'number') {
const receivedBitCount: number = stripSpace(bits.toString()).length;
- assertEquals(expectedBits, receivedBitCount);
- assertEquals(s, Decoder.highLevelDecode(toBooleanArray(bits)));
+ assertEquals(receivedBitCount, expectedBits);
+ assertEquals(AztecDecoder.highLevelDecode(toBooleanArray(bits)), s);
} else {
const receivedBits: string = stripSpace(bits.toString());
- assertEquals(stripSpace(expectedBits), receivedBits);
- assertEquals(s, Decoder.highLevelDecode(toBooleanArray(bits)));
+ assertEquals(receivedBits, stripSpace(expectedBits));
+ assertEquals(AztecDecoder.highLevelDecode(toBooleanArray(bits)), s);
}
}
/* function testHighLevelEncodeString(s: string, expectedReceivedBits: number) {
- const bits: BitArray = new HighLevelEncoder(StringUtils.getBytes(s, StandardCharsets.ISO_8859_1)).encode();
+ const bits: BitArray = new AztecHighLevelEncoder(StringUtils.getBytes(s, ZXingStandardCharsets.ISO_8859_1)).encode();
const receivedBitCount: number = stripSpace(bits.toString()).length;
assertEquals("highLevelEncode() failed for input string: " + s,
expectedReceivedBits, receivedBitCount);
- assertEquals(s, Decoder.highLevelDecode(toBooleanArray(bits)));
+ assertEquals(s, AztecDecoder.highLevelDecode(toBooleanArray(bits)));
} */
function stripSpace(s: string): string {
diff --git a/src/test/core/common/AbstractBlackBox.ts b/src/test/core/common/AbstractBlackBox.ts
index 582338de..f1bb89f3 100644
--- a/src/test/core/common/AbstractBlackBox.ts
+++ b/src/test/core/common/AbstractBlackBox.ts
@@ -16,21 +16,19 @@
/*package com.google.zxing.common;*/
-import * as fs from 'fs';
-import * as path from 'path';
-import BarcodeFormat from '../../../core/BarcodeFormat';
-import BinaryBitmap from '../../../core/BinaryBitmap';
-import HybridBinarizer from '../../../core/common/HybridBinarizer';
-import DecodeHintType from '../../../core/DecodeHintType';
-import LuminanceSource from '../../../core/LuminanceSource';
-import Reader from '../../../core/Reader';
-import Result from '../../../core/Result';
-import ResultMetadataType from '../../../core/ResultMetadataType';
-import StringEncoding from '../../../core/util/StringEncoding';
-import TestResult from '../common/TestResult';
-import SharpImageLuminanceSource from '../SharpImageLuminanceSource';
import { assertEquals } from '../util/AssertUtils';
import SharpImage from '../util/SharpImage';
+import SharpImageLuminanceSource from '../SharpImageLuminanceSource';
+import { BarcodeFormat } from '@zxing/library';
+import { BinaryBitmap } from '@zxing/library';
+import { DecodeHintType } from '@zxing/library';
+import { LuminanceSource } from '@zxing/library';
+import { Reader } from '@zxing/library';
+import { Result } from '@zxing/library';
+import { ResultMetadataType } from '@zxing/library';
+import TestResult from '../common/TestResult';
+import { HybridBinarizer } from '@zxing/library';
+import { ZXingStringEncoding } from '@zxing/library';
/*import javax.imageio.ImageIO;*/
@@ -42,8 +40,8 @@ import SharpImage from '../util/SharpImage';
/*import java.awt.image.BufferedImageOp;*/
/*import java.io.BufferedReader;*/
/*import java.io.IOException;*/
-/*import java.nio.charset.Charset;*/
-/*import java.nio.charset.StandardCharsets;*/
+/*import java.nio.charset.ZXingCharset;*/
+/*import java.nio.charset.ZXingStandardCharsets;*/
/*import java.nio.file.DirectoryStream;*/
/*import java.nio.file.Files;*/
/*import java.nio.file.Path;*/
@@ -416,7 +414,7 @@ abstract class AbstractBlackBoxSpec {
*/
protected static readBinFileAsString(file: string): string {
const bufferContents: Buffer = fs.readFileSync(file);
- const stringContents = StringEncoding.decode(new Uint8Array(bufferContents), 'iso-8859-1');
+ const stringContents = ZXingStringEncoding.decode(new Uint8Array(bufferContents), 'iso-8859-1');
if (stringContents.endsWith('\n')) {
console.warn('contents: string of file ' + file + ' end with a newline. ' +
'This may not be intended and cause a test failure');
diff --git a/src/test/core/common/BitArray.spec.ts b/src/test/core/common/BitArray.spec.ts
index f313275b..8323e3d4 100644
--- a/src/test/core/common/BitArray.spec.ts
+++ b/src/test/core/common/BitArray.spec.ts
@@ -18,8 +18,8 @@
import * as assert from 'assert';
import Random from '../util/Random';
-import BitArray from '../../../core/common/BitArray';
-import Integer from '../../../core/util/Integer';
+import { BitArray } from '@zxing/library';
+import { ZXingInteger } from '@zxing/library';
import AssertUtils from '../util/AssertUtils';
/**
@@ -171,7 +171,7 @@ describe('BitArray', () => {
array.set(63);
const ints = array.getBitArray();
assert.strictEqual(ints[0], 1);
- assert.strictEqual(ints[1], Integer.MIN_VALUE_32_BITS); // Integer.MIN_VALUE)
+ assert.strictEqual(ints[1], ZXingInteger.MIN_VALUE_32_BITS); // Integer.MIN_VALUE)
});
diff --git a/src/test/core/common/BitMatrix.spec.ts b/src/test/core/common/BitMatrix.spec.ts
index 61000b49..10595eeb 100644
--- a/src/test/core/common/BitMatrix.spec.ts
+++ b/src/test/core/common/BitMatrix.spec.ts
@@ -17,10 +17,12 @@
/*package com.google.zxing.common;*/
import * as assert from 'assert';
-import BitArray from '../../../core/common/BitArray';
-import BitMatrix from '../../../core/common/BitMatrix';
-import IllegalArgumentException from '../../../core/IllegalArgumentException';
import AssertUtils from '../util/AssertUtils';
+import { BitMatrix } from '@zxing/library';
+import { BitArray } from '@zxing/library';
+
+import { ZXingStringBuilder } from '@zxing/library';
+import { IllegalArgumentException } from '@zxing/library';
/**
@@ -284,13 +286,32 @@ describe('BitMatrix', () => {
testXOR(fullMatrix, centerMatrix, invertedCenterMatrix);
testXOR(fullMatrix, fullMatrix, emptyMatrix);
- try {
- emptyMatrix.clone().xor(badMatrix);
- assert.ok(false);
- } catch (ex) {
- if (!(ex instanceof IllegalArgumentException)) {
- assert.ok(false);
- }
+ try {
+ emptyMatrix.clone().xor(badMatrix);
+ assert.ok(false);
+ } catch (ex) {
+ if (!(ex instanceof IllegalArgumentException)) {
+ assert.ok(false);
+ }
+ }
+
+ try {
+ badMatrix.clone().xor(emptyMatrix);
+ assert.ok(false);
+ } catch (ex) {
+ if (!(ex instanceof IllegalArgumentException)) {
+ assert.ok(false);
+ }
+ }
+ });
+
+ function matrixToString(result: BitMatrix): string {
+ assert.strictEqual(1, result.getHeight());
+ const builder: ZXingStringBuilder = new ZXingStringBuilder(); // result.getWidth())
+ for (let i: number /*int*/ = 0; i < result.getWidth(); i++) {
+ builder.append(result.get(i, 0) ? '1' : '0');
+ }
+ return builder.toString();
}
try {
diff --git a/src/test/core/common/BitSource.spec.ts b/src/test/core/common/BitSource.spec.ts
index 7bbe0e70..934d3209 100644
--- a/src/test/core/common/BitSource.spec.ts
+++ b/src/test/core/common/BitSource.spec.ts
@@ -17,7 +17,7 @@
/*package com.google.zxing.common;*/
import * as assert from 'assert';
-import BitSource from '../../../core/common/BitSource';
+import { BitSource } from '@zxing/library';
/**
* @author Sean Owen
diff --git a/src/test/core/common/PerspectiveTransform.spec.ts b/src/test/core/common/PerspectiveTransform.spec.ts
index aaf8e0be..04b4346a 100644
--- a/src/test/core/common/PerspectiveTransform.spec.ts
+++ b/src/test/core/common/PerspectiveTransform.spec.ts
@@ -17,7 +17,7 @@
/*package com.google.zxing.common;*/
import * as assert from 'assert';
-import PerspectiveTransform from '../../../core/common/PerspectiveTransform';
+import { PerspectiveTransform } from '@zxing/library';
/**
* @author Sean Owen
diff --git a/src/test/core/common/StringUtils.spec.ts b/src/test/core/common/StringUtils.spec.ts
index 56edb384..52cbb442 100644
--- a/src/test/core/common/StringUtils.spec.ts
+++ b/src/test/core/common/StringUtils.spec.ts
@@ -18,10 +18,10 @@
import * as assert from 'assert';
-import StringUtils from '../../../core/common/StringUtils';
-import CharacterSetECI from '../../../core/common/CharacterSetECI';
+import { StringUtils } from '@zxing/library';
+import { CharacterSetECI } from '@zxing/library';
-/*import java.nio.charset.Charset;*/
+/*import java.nio.charset.ZXingCharset;*/
describe('StringUtils', () => {
@@ -43,9 +43,9 @@ describe('StringUtils', () => {
});
function doTest(bytes: Uint8Array, charsetName: string): void {
- // const charset: Charset = Charset.forName(charsetName);
+ // const charset: ZXingCharset = ZXingCharset.forName(charsetName);
const guessedName: string = StringUtils.guessEncoding(bytes, null);
- // const guessedEncoding: Charset = Charset.forName(guessedName);
+ // const guessedEncoding: ZXingCharset = ZXingCharset.forName(guessedName);
// assert.strictEqual(guessedEncoding, charset)
assert.strictEqual(guessedName, charsetName);
}
@@ -59,8 +59,8 @@ describe('StringUtils', () => {
*/
// funtion main(String[] args): void {
// const text: string = args[0]
- // const charset: Charset = Charset.forName(args[1]);
- // const declaration = new StringBuilder()
+ // const charset: ZXingCharset = ZXingCharset.forName(args[1]);
+ // const declaration = new ZXingStringBuilder()
// declaration.append("Uint8Array.from([")
// for (byte b : text.getBytes(charset)) {
// declaration.append("/*(byte)*/ 0x")
diff --git a/src/test/core/common/detector/MathUtils.spec.ts b/src/test/core/common/detector/MathUtils.spec.ts
index 6aab496b..cb08ce4f 100644
--- a/src/test/core/common/detector/MathUtils.spec.ts
+++ b/src/test/core/common/detector/MathUtils.spec.ts
@@ -17,7 +17,7 @@
/*package com.google.zxing.common.detector;*/
import * as assert from 'assert';
-import MathUtils from '../../../../core/common/detector/MathUtils';
+import { MathUtils } from '@zxing/library';
describe('MathUtils', () => {
diff --git a/src/test/core/common/reedsolomon/ReedSolomon.spec.ts b/src/test/core/common/reedsolomon/ReedSolomon.spec.ts
index 5add4986..d7d76172 100644
--- a/src/test/core/common/reedsolomon/ReedSolomon.spec.ts
+++ b/src/test/core/common/reedsolomon/ReedSolomon.spec.ts
@@ -17,12 +17,12 @@
/*package com.google.zxing.common.reedsolomon;*/
import * as assert from 'assert';
-import StringBuilder from '../../../../core/util/StringBuilder';
-import Random from '../../util/Random';
-import System from '../../../../core/util/System';
-import GenericGF from '../../../../core/common/reedsolomon/GenericGF';
-import ReedSolomonEncoder from '../../../../core/common/reedsolomon/ReedSolomonEncoder';
-import ReedSolomonDecoder from '../../../../core/common/reedsolomon/ReedSolomonDecoder';
+import { ZXingStringBuilder } from '@zxing/library';
+import Random from '../../../core/util/Random';
+import { ZXingSystem } from '@zxing/library';
+import { GenericGF } from '@zxing/library';
+import { ReedSolomonEncoder } from '@zxing/library';
+import { ReedSolomonDecoder } from '@zxing/library';
/*import java.util.Random;*/
@@ -521,9 +521,9 @@ function testEncodeDecodeRandom(field: GenericGF, dataSize: number /*int*/, ecSi
dataWords[k] = random.next(field.getSize());
}
// generate ECC words
- System.arraycopy(dataWords, 0, message, 0, dataWords.length);
+ ZXingSystem.arraycopy(dataWords, 0, message, 0, dataWords.length);
encoder.encode(message, ecWords.length);
- System.arraycopy(message, dataSize, ecWords, 0, ecSize);
+ ZXingSystem.arraycopy(message, dataSize, ecWords, 0, ecSize);
// check to see if Decoder can fix up to ecWords/2 random errors
testDecoder(field, dataWords, ecWords);
}
@@ -540,9 +540,9 @@ function testEncoder(field: GenericGF, dataWords: Int32Array, ecWords: Int32Arra
const messageExpected = new Int32Array(dataWords.length + ecWords.length);
const message = new Int32Array(dataWords.length + ecWords.length);
- System.arraycopy(dataWords, 0, messageExpected, 0, dataWords.length);
- System.arraycopy(ecWords, 0, messageExpected, dataWords.length, ecWords.length);
- System.arraycopy(dataWords, 0, message, 0, dataWords.length);
+ ZXingSystem.arraycopy(dataWords, 0, messageExpected, 0, dataWords.length);
+ ZXingSystem.arraycopy(ecWords, 0, messageExpected, dataWords.length, ecWords.length);
+ ZXingSystem.arraycopy(dataWords, 0, message, 0, dataWords.length);
encoder.encode(message, ecWords.length);
@@ -565,8 +565,8 @@ function testDecoder(field: GenericGF, dataWords: Int32Array, ecWords: Int32Arra
i += Math.floor(ecWords.length / 10);
}
- System.arraycopy(dataWords, 0, message, 0, dataWords.length);
- System.arraycopy(ecWords, 0, message, dataWords.length, ecWords.length);
+ ZXingSystem.arraycopy(dataWords, 0, message, 0, dataWords.length);
+ ZXingSystem.arraycopy(ecWords, 0, message, dataWords.length, ecWords.length);
corrupt(message, i, random, field.getSize());
@@ -602,7 +602,7 @@ function assertDataEquals(received: Int32Array, expected: Int32Array, message: s
function arrayToString(data: Int32Array): String {
- const sb = new StringBuilder();
+ const sb = new ZXingStringBuilder();
sb.append('{');
diff --git a/src/test/core/common/reedsolomon/ReedSolomonCorrupt.ts b/src/test/core/common/reedsolomon/ReedSolomonCorrupt.ts
index e714f872..d874fada 100644
--- a/src/test/core/common/reedsolomon/ReedSolomonCorrupt.ts
+++ b/src/test/core/common/reedsolomon/ReedSolomonCorrupt.ts
@@ -1,5 +1,5 @@
-import Random from '../../util/Random';
-import BitSet from '../../util/BitSet';
+import Random from '../../../core/util/Random';
+import BitSet from '../../../core/util/BitSet';
/**
* This function was part of ReedSolomonTestCase, but as it's used
diff --git a/src/test/core/datamatrix/DataMatrixBlackBox.1.spec.ts b/src/test/core/datamatrix/DataMatrixBlackBox.1.spec.ts
index 2d1f3074..7210f2ae 100644
--- a/src/test/core/datamatrix/DataMatrixBlackBox.1.spec.ts
+++ b/src/test/core/datamatrix/DataMatrixBlackBox.1.spec.ts
@@ -16,8 +16,8 @@
/*package com.google.zxing.qrcode;*/
-import BarcodeFormat from '../../../core/BarcodeFormat';
-import MultiFormatReader from '../../../core/MultiFormatReader';
+import { BarcodeFormat } from '@zxing/library';
+import { MultiFormatReader } from '@zxing/library';
import AbstractBlackBoxSpec from '../common/AbstractBlackBox';
/**
diff --git a/src/test/core/datamatrix/decoder/DecodedBitStreamParser.spec.ts b/src/test/core/datamatrix/decoder/DecodedBitStreamParser.spec.ts
index cc598c65..e7a09385 100644
--- a/src/test/core/datamatrix/decoder/DecodedBitStreamParser.spec.ts
+++ b/src/test/core/datamatrix/decoder/DecodedBitStreamParser.spec.ts
@@ -1,7 +1,7 @@
import * as assert from 'assert';
-import DecodedBitStreamParser from '../../../../core/datamatrix/decoder/DecodedBitStreamParser';
+import { DataMatrixDecodedBitStreamParser } from '@zxing/library';
-describe('DecodedBitStreamParser', () => {
+describe('QRCodeDecodedBitStreamParser', () => {
it('testAsciiStandardDecode', () => {
// ASCII characters 0-127 are encoded as the value + 1
@@ -12,7 +12,7 @@ describe('DecodedBitStreamParser', () => {
bytes[3] = 'A'.charCodeAt(0) + 1;
bytes[4] = 'B'.charCodeAt(0) + 1;
bytes[5] = 'C'.charCodeAt(0) + 1;
- const decodedString = DecodedBitStreamParser.decode(bytes).getText();
+ const decodedString = DataMatrixDecodedBitStreamParser.decode(bytes).getText();
assert.strictEqual(decodedString, 'abcABC');
});
@@ -22,7 +22,7 @@ describe('DecodedBitStreamParser', () => {
bytes[1] = 1 + 130;
bytes[2] = 98 + 130;
bytes[3] = 99 + 130;
- const decodedString = DecodedBitStreamParser.decode(bytes).getText();
+ const decodedString = DataMatrixDecodedBitStreamParser.decode(bytes).getText();
assert.strictEqual(decodedString, '00019899');
});
diff --git a/src/test/core/oned/Code128BlackBox1.spec.ts b/src/test/core/oned/Code128BlackBox1.spec.ts
index 5ee106e2..85d7da2c 100644
--- a/src/test/core/oned/Code128BlackBox1.spec.ts
+++ b/src/test/core/oned/Code128BlackBox1.spec.ts
@@ -17,8 +17,8 @@
// package com.google.zxing.oned;
-import BarcodeFormat from '../../../core/BarcodeFormat';
-import MultiFormatReader from '../../../core/MultiFormatReader';
+import { BarcodeFormat } from '@zxing/library';
+import { MultiFormatReader } from '@zxing/library';
import AbstractBlackBoxSpec from '../common/AbstractBlackBox';
/**
diff --git a/src/test/core/oned/Code39BlackBox1.spec.ts b/src/test/core/oned/Code39BlackBox1.spec.ts
index 06199ba5..1d04426a 100644
--- a/src/test/core/oned/Code39BlackBox1.spec.ts
+++ b/src/test/core/oned/Code39BlackBox1.spec.ts
@@ -17,8 +17,8 @@
// package com.google.zxing.oned;
-import BarcodeFormat from './../../../core/BarcodeFormat';
-import MultiFormatReader from './../../../core/MultiFormatReader';
+import { BarcodeFormat } from '@zxing/library';
+import { MultiFormatReader } from '@zxing/library';
import AbstractBlackBoxSpec from './../common/AbstractBlackBox';
/**
diff --git a/src/test/core/oned/Code39BlackBox3.spec.ts b/src/test/core/oned/Code39BlackBox3.spec.ts
index d70bce69..c13898bf 100644
--- a/src/test/core/oned/Code39BlackBox3.spec.ts
+++ b/src/test/core/oned/Code39BlackBox3.spec.ts
@@ -17,8 +17,8 @@
// package com.google.zxing.oned;
-import BarcodeFormat from './../../../core/BarcodeFormat';
-import MultiFormatReader from './../../../core/MultiFormatReader';
+import { BarcodeFormat } from '@zxing/library';
+import { MultiFormatReader } from '@zxing/library';
import AbstractBlackBoxSpec from './../common/AbstractBlackBox';
/**
diff --git a/src/test/core/oned/Code39ExtendedBlackBox2.spec.ts b/src/test/core/oned/Code39ExtendedBlackBox2.spec.ts
index 70575d99..f681c687 100644
--- a/src/test/core/oned/Code39ExtendedBlackBox2.spec.ts
+++ b/src/test/core/oned/Code39ExtendedBlackBox2.spec.ts
@@ -17,9 +17,9 @@
// package com.google.zxing.oned;
-import BarcodeFormat from './../../../core/BarcodeFormat';
+import { BarcodeFormat } from '@zxing/library';
import AbstractBlackBoxSpec from './../common/AbstractBlackBox';
-import Code39Reader from '../../../core/oned/Code39Reader';
+import { Code39Reader } from '@zxing/library';
/**
* @author Sean Owen
diff --git a/src/test/core/oned/Code39ExtendedMode.spec.ts b/src/test/core/oned/Code39ExtendedMode.spec.ts
index ec735977..71c57253 100644
--- a/src/test/core/oned/Code39ExtendedMode.spec.ts
+++ b/src/test/core/oned/Code39ExtendedMode.spec.ts
@@ -18,9 +18,9 @@
// package com.google.zxing.oned;
import * as assert from 'assert';
-import Code39Reader from '../../../core/oned/Code39Reader';
-import BitMatrix from '../../../core/common/BitMatrix';
-import BitArray from '../../../core/common/BitArray';
+import { Code39Reader } from '@zxing/library';
+import { BitMatrix } from '@zxing/library';
+import { BitArray } from '@zxing/library';
function doTest(expectedResult: string, encodedResult: string): void {
const sut = new Code39Reader(false, true);
diff --git a/src/test/core/oned/Ean13BlackBox1.spec.ts b/src/test/core/oned/Ean13BlackBox1.spec.ts
index e683e9db..cd57f3e9 100644
--- a/src/test/core/oned/Ean13BlackBox1.spec.ts
+++ b/src/test/core/oned/Ean13BlackBox1.spec.ts
@@ -14,8 +14,8 @@
* limitations under the License.
*/
-import BarcodeFormat from '../../../core/BarcodeFormat';
-import MultiFormatReader from '../../../core/MultiFormatReader';
+import { BarcodeFormat } from '@zxing/library';
+import { MultiFormatReader } from '@zxing/library';
import AbstractBlackBoxSpec from '../common/AbstractBlackBox';
/**
diff --git a/src/test/core/oned/Ean8BlackBox1.spec.ts b/src/test/core/oned/Ean8BlackBox1.spec.ts
index 6f1db594..85aa324c 100644
--- a/src/test/core/oned/Ean8BlackBox1.spec.ts
+++ b/src/test/core/oned/Ean8BlackBox1.spec.ts
@@ -14,8 +14,8 @@
* limitations under the License.
*/
-import BarcodeFormat from '../../../core/BarcodeFormat';
-import MultiFormatReader from '../../../core/MultiFormatReader';
+import { BarcodeFormat } from '@zxing/library';
+import { MultiFormatReader } from '@zxing/library';
import AbstractBlackBoxSpec from '../common/AbstractBlackBox';
/**
diff --git a/src/test/core/oned/ITFBlackBox.spec.ts b/src/test/core/oned/ITFBlackBox.spec.ts
index c6a2a3fb..b7ae37b7 100644
--- a/src/test/core/oned/ITFBlackBox.spec.ts
+++ b/src/test/core/oned/ITFBlackBox.spec.ts
@@ -17,8 +17,8 @@
// package com.google.zxing.oned;
-import BarcodeFormat from '../../../core/BarcodeFormat';
-import MultiFormatReader from '../../../core/MultiFormatReader';
+import { BarcodeFormat } from '@zxing/library';
+import { MultiFormatReader } from '@zxing/library';
import AbstractBlackBoxSpec from '../common/AbstractBlackBox';
/**
diff --git a/src/test/core/oned/rss/RSS14BlackBox1.spec.ts b/src/test/core/oned/rss/RSS14BlackBox1.spec.ts
index 4fa7eaf1..8e31d0dc 100644
--- a/src/test/core/oned/rss/RSS14BlackBox1.spec.ts
+++ b/src/test/core/oned/rss/RSS14BlackBox1.spec.ts
@@ -17,8 +17,8 @@
// package com.google.zxing.oned;
-import BarcodeFormat from '../../../../core/BarcodeFormat';
-import MultiFormatReader from '../../../../core/MultiFormatReader';
+import { BarcodeFormat } from '@zxing/library';
+import { MultiFormatReader } from '@zxing/library';
import AbstractBlackBoxSpec from '../../common/AbstractBlackBox';
/**
diff --git a/src/test/core/oned/rss/RSS14BlackBox2.spec.ts b/src/test/core/oned/rss/RSS14BlackBox2.spec.ts
index 0c6b9ff8..e837a056 100644
--- a/src/test/core/oned/rss/RSS14BlackBox2.spec.ts
+++ b/src/test/core/oned/rss/RSS14BlackBox2.spec.ts
@@ -17,8 +17,8 @@
// package com.google.zxing.oned;
-import BarcodeFormat from '../../../../core/BarcodeFormat';
-import MultiFormatReader from '../../../../core/MultiFormatReader';
+import { BarcodeFormat } from '@zxing/library';
+import { MultiFormatReader } from '@zxing/library';
import AbstractBlackBoxSpec from '../../common/AbstractBlackBox';
/**
diff --git a/src/test/core/pdf417/PDF417BlackBox.1.spec.ts b/src/test/core/pdf417/PDF417BlackBox.1.spec.ts
index 2d5f434a..df962627 100644
--- a/src/test/core/pdf417/PDF417BlackBox.1.spec.ts
+++ b/src/test/core/pdf417/PDF417BlackBox.1.spec.ts
@@ -16,13 +16,13 @@
// package com.google.zxing.pdf417;
-import BarcodeFormat from '../../../core/BarcodeFormat';
-import MultiFormatReader from '../../../core/MultiFormatReader';
+import { BarcodeFormat } from '@zxing/library';
+import { MultiFormatReader } from '@zxing/library';
import AbstractBlackBoxSpec from '../common/AbstractBlackBox';
-import StringEncoding from '../../../core/util/StringEncoding';
-import { TextDecoder } from '@sinonjs/text-encoding';
+import { ZXingStringEncoding } from '@zxing/library';
+import { TextDecoder } from '@zxing/text-encoding';
-StringEncoding.customDecoder = (b, e) => new TextDecoder(e, { NONSTANDARD_allowLegacyEncoding: true }).decode(b);
+ZXingStringEncoding.customDecoder = (b, e) => new TextDecoder(e).decode(b);
/**
* This test consists of perfect, computer-generated images. We should have 100% passing.
diff --git a/src/test/core/pdf417/PDF417BlackBox.2.spec.ts b/src/test/core/pdf417/PDF417BlackBox.2.spec.ts
index f59ca1ab..813eeabd 100644
--- a/src/test/core/pdf417/PDF417BlackBox.2.spec.ts
+++ b/src/test/core/pdf417/PDF417BlackBox.2.spec.ts
@@ -16,13 +16,13 @@
// package com.google.zxing.pdf417;
-import BarcodeFormat from '../../../core/BarcodeFormat';
-import MultiFormatReader from '../../../core/MultiFormatReader';
+import { BarcodeFormat } from '@zxing/library';
+import { MultiFormatReader } from '@zxing/library';
import AbstractBlackBoxSpec from '../common/AbstractBlackBox';
-import { TextDecoder } from '@sinonjs/text-encoding';
-import StringEncoding from '../../../core/util/StringEncoding';
+import { TextDecoder } from '@zxing/text-encoding';
+import { ZXingStringEncoding } from '@zxing/library';
-StringEncoding.customDecoder = (b, e) => new TextDecoder(e, { NONSTANDARD_allowLegacyEncoding: true }).decode(b);
+ZXingStringEncoding.customDecoder = (b, e) => new TextDecoder(e).decode(b);
/**
* This test contains 480x240 images captured from an Android device at preview resolution.
diff --git a/src/test/core/pdf417/PDF417BlackBox.3.spec.ts b/src/test/core/pdf417/PDF417BlackBox.3.spec.ts
index d7330ccd..2e4951f0 100644
--- a/src/test/core/pdf417/PDF417BlackBox.3.spec.ts
+++ b/src/test/core/pdf417/PDF417BlackBox.3.spec.ts
@@ -16,8 +16,8 @@
// package com.google.zxing.pdf417;
-import BarcodeFormat from '../../../core/BarcodeFormat';
-import MultiFormatReader from '../../../core/MultiFormatReader';
+import { BarcodeFormat } from '@zxing/library';
+import { MultiFormatReader } from '@zxing/library';
import AbstractBlackBoxSpec from '../common/AbstractBlackBox';
/**
diff --git a/src/test/core/pdf417/PDF417BlackBox.4.spec.ts b/src/test/core/pdf417/PDF417BlackBox.4.spec.ts
index ab9b1355..c66906bb 100644
--- a/src/test/core/pdf417/PDF417BlackBox.4.spec.ts
+++ b/src/test/core/pdf417/PDF417BlackBox.4.spec.ts
@@ -35,11 +35,11 @@
// import java.awt.image.BufferedImage;
// import java.io.IOException;
-// import java.nio.charset.StandardCharsets;
+// import java.nio.charset.ZXingStandardCharsets;
// import java.nio.file.Files;
// import java.nio.file.Path;
// import java.util.ArrayList;
-// import java.util.Arrays;
+// import java.util.ZXingArrays;
// import java.util.Collections;
// import java.util.Comparator;
// import java.util.EnumMap;
@@ -91,11 +91,11 @@
// String expectedText;
// Path expectedTextFile = testBase.resolve(fileBaseName + ".txt");
// if (Files.exists(expectedTextFile)) {
-// expectedText = readFileAsString(expectedTextFile, StandardCharsets.UTF_8);
+// expectedText = readFileAsString(expectedTextFile, ZXingStandardCharsets.UTF_8);
// } else {
// expectedTextFile = testBase.resolve(fileBaseName + ".bin");
// assertTrue(Files.exists(expectedTextFile));
-// expectedText = readFileAsString(expectedTextFile, StandardCharsets.ISO_8859_1);
+// expectedText = readFileAsString(expectedTextFile, ZXingStandardCharsets.ISO_8859_1);
// }
// for (int x = 0; x < testCount; x++) {
@@ -108,7 +108,7 @@
// BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
// try {
-// results.addAll(Arrays.asList(decode(bitmap, false)));
+// results.addAll(ZXingArrays.asList(decode(bitmap, false)));
// } catch (ReaderException ignored) {
// // ignore
// }
@@ -121,7 +121,7 @@
// return resultMetadata.getSegmentIndex() - otherResultMetadata.getSegmentIndex();
// }
// });
-// StringBuilder resultText = new StringBuilder();
+// ZXingStringBuilder resultText = new ZXingStringBuilder();
// String fileId = null;
// for (Result result : results) {
// PDF417ResultMetadata resultMetadata = getMeta(result);
diff --git a/src/test/core/pdf417/decoder/PDF417Decoder.spec.ts b/src/test/core/pdf417/decoder/PDF417Decoder.spec.ts
index ab87d42e..da0ccb61 100644
--- a/src/test/core/pdf417/decoder/PDF417Decoder.spec.ts
+++ b/src/test/core/pdf417/decoder/PDF417Decoder.spec.ts
@@ -18,15 +18,15 @@
// import com.google.zxing.FormatException;
// import com.google.zxing.pdf417.PDF417ResultMetadata;
-import PDF417ResultMetadata from '../../../../core/pdf417/PDF417ResultMetadata';
+import { PDF417ResultMetadata } from '@zxing/library';
// import org.junit.Assert;
-import { assertEquals, assertFalse, assertTrue, assertNull } from '../../util/AssertUtils';
+import { assertEquals, assertFalse, assertTrue, assertNull } from '../../../core/util/AssertUtils';
// import org.junit.Test;
-import DecodedBitStreamParser from '../../../../core/pdf417/decoder/DecodedBitStreamParser';
+import { PDF417DecodedBitStreamParser } from '@zxing/library';
/**
- * Tests {@link DecodedBitStreamParser}.
+ * Tests {@link PDF417DecodedBitStreamParser}.
*/
// public class PDF417DecoderTestCase extends Assert {
@@ -44,7 +44,7 @@ describe('PDF417DecoderTestCase', () => {
// we should never reach these
1000, 1000, 1000]);
- DecodedBitStreamParser.decodeMacroBlock(sampleCodes, 2, resultMetadata);
+ PDF417DecodedBitStreamParser.decodeMacroBlock(sampleCodes, 2, resultMetadata);
assertEquals(0, resultMetadata.getSegmentIndex());
assertEquals('ARBX', resultMetadata.getFileId());
@@ -73,7 +73,7 @@ describe('PDF417DecoderTestCase', () => {
// we should never reach these
1000, 1000, 1000]);
- DecodedBitStreamParser.decodeMacroBlock(sampleCodes, 2, resultMetadata);
+ PDF417DecodedBitStreamParser.decodeMacroBlock(sampleCodes, 2, resultMetadata);
assertEquals(3, resultMetadata.getSegmentIndex());
assertEquals('ARBX', resultMetadata.getFileId());
@@ -99,7 +99,7 @@ describe('PDF417DecoderTestCase', () => {
493, 72, 780, 699, 780, 493, 755, 84, 198, 628, 368, 156, 198, 809, 19, 113]);
const resultMetadata = new PDF417ResultMetadata();
- DecodedBitStreamParser.decodeMacroBlock(sampleCodes, 3, resultMetadata);
+ PDF417DecodedBitStreamParser.decodeMacroBlock(sampleCodes, 3, resultMetadata);
assertEquals(0, resultMetadata.getSegmentIndex());
assertEquals('AAIMAVC ', resultMetadata.getFileId());
@@ -120,7 +120,7 @@ describe('PDF417DecoderTestCase', () => {
6, 1, 500, 13, 0]);
const resultMetadata = new PDF417ResultMetadata();
- DecodedBitStreamParser.decodeMacroBlock(sampleCodes, 3, resultMetadata);
+ PDF417DecodedBitStreamParser.decodeMacroBlock(sampleCodes, 3, resultMetadata);
assertEquals(0, resultMetadata.getSegmentIndex());
assertEquals('AAIMAVC ', resultMetadata.getFileId());
diff --git a/src/test/core/pdf417/decoder/ec/ErrorCorrection.spec.ts b/src/test/core/pdf417/decoder/ec/ErrorCorrection.spec.ts
index 6ad23d3d..8c9de10e 100644
--- a/src/test/core/pdf417/decoder/ec/ErrorCorrection.spec.ts
+++ b/src/test/core/pdf417/decoder/ec/ErrorCorrection.spec.ts
@@ -17,7 +17,7 @@
// package com.google.zxing.pdf417.decoder.ec;
// import com.google.zxing.ChecksumException;
-import ChecksumException from '../../../../../core/ChecksumException';
+import { ChecksumException } from '@zxing/library';
// import org.junit.Ignore;
// import org.junit.Test;
@@ -25,7 +25,7 @@ import ChecksumException from '../../../../../core/ChecksumException';
// import java.util.Random;
import Random from '../../../util/Random';
-import ErrorCorrection from '../../../../../core/pdf417/decoder/ec/ErrorCorrection';
+import { PDF417DecoderErrorCorrection } from '@zxing/library';
import * as assert from 'assert';
import AbstractErrorCorrectionSpec from './AbstractErrorCorrection.spec';
@@ -153,7 +153,7 @@ const /*private static final int*/ ERROR_LIMIT: number = ECC_BYTES;
const /*private static final int*/ MAX_ERRORS: number = ERROR_LIMIT / 2;
const /*private static final int*/ MAX_ERASURES: number = ERROR_LIMIT;
-const /*private final ErrorCorrection*/ ec = new ErrorCorrection();
+const /*private final ErrorCorrection*/ ec = new PDF417DecoderErrorCorrection();
/**
*
diff --git a/src/test/core/qrcode/HybridBinarizer.spec.ts b/src/test/core/qrcode/HybridBinarizer.spec.ts
index 2ac890eb..9adca8e9 100644
--- a/src/test/core/qrcode/HybridBinarizer.spec.ts
+++ b/src/test/core/qrcode/HybridBinarizer.spec.ts
@@ -1,5 +1,5 @@
import * as assert from 'assert';
-import HybridBinarizer from '../../../core/common/HybridBinarizer';
+import { HybridBinarizer } from '@zxing/library';
import SharpImageLuminanceSource from '../SharpImageLuminanceSource';
import SharpImage from '../util/SharpImage';
diff --git a/src/test/core/qrcode/QRCodeBlackBox.1.spec.ts b/src/test/core/qrcode/QRCodeBlackBox.1.spec.ts
index f531b9ac..52f0b7cd 100644
--- a/src/test/core/qrcode/QRCodeBlackBox.1.spec.ts
+++ b/src/test/core/qrcode/QRCodeBlackBox.1.spec.ts
@@ -16,8 +16,8 @@
/*package com.google.zxing.qrcode;*/
-import BarcodeFormat from '../../../core/BarcodeFormat';
-import MultiFormatReader from '../../../core/MultiFormatReader';
+import { BarcodeFormat } from '@zxing/library';
+import { MultiFormatReader } from '@zxing/library';
import AbstractBlackBoxSpec from '../common/AbstractBlackBox';
/**
diff --git a/src/test/core/qrcode/QRCodeBlackBox.2.spec.ts b/src/test/core/qrcode/QRCodeBlackBox.2.spec.ts
index cf42a86b..8a0f2586 100644
--- a/src/test/core/qrcode/QRCodeBlackBox.2.spec.ts
+++ b/src/test/core/qrcode/QRCodeBlackBox.2.spec.ts
@@ -16,14 +16,14 @@
/*package com.google.zxing.qrcode;*/
-import BarcodeFormat from '../../../core/BarcodeFormat';
-import MultiFormatReader from '../../../core/MultiFormatReader';
+import { BarcodeFormat } from '@zxing/library';
+import { MultiFormatReader } from '@zxing/library';
import AbstractBlackBoxSpec from '../common/AbstractBlackBox';
-import { TextDecoder, TextEncoder } from '@sinonjs/text-encoding';
-import StringEncoding from '../../../core/util/StringEncoding';
+import { TextDecoder, TextEncoder } from '@zxing/text-encoding';
+import { ZXingStringEncoding } from '@zxing/library';
-StringEncoding.customDecoder = (b, e) => new TextDecoder(e, { NONSTANDARD_allowLegacyEncoding: true }).decode(b);
-StringEncoding.customEncoder = (b, e) => new TextEncoder(e, { NONSTANDARD_allowLegacyEncoding: true }).encode(b);
+ZXingStringEncoding.customDecoder = (b, e) => new TextDecoder(e).decode(b);
+ZXingStringEncoding.customEncoder = (b, e) => new TextEncoder(e, { NONSTANDARD_allowLegacyEncoding: true }).encode(b);
/**
* @author Sean Owen
diff --git a/src/test/core/qrcode/QRCodeBlackBox.3.spec.ts b/src/test/core/qrcode/QRCodeBlackBox.3.spec.ts
index 54827368..4dac318a 100644
--- a/src/test/core/qrcode/QRCodeBlackBox.3.spec.ts
+++ b/src/test/core/qrcode/QRCodeBlackBox.3.spec.ts
@@ -16,8 +16,8 @@
/*package com.google.zxing.qrcode;*/
-import BarcodeFormat from '../../../core/BarcodeFormat';
-import MultiFormatReader from '../../../core/MultiFormatReader';
+import { BarcodeFormat } from '@zxing/library';
+import { MultiFormatReader } from '@zxing/library';
import AbstractBlackBoxSpec from '../common/AbstractBlackBox';
/**
diff --git a/src/test/core/qrcode/QRCodeBlackBox.4.spec.ts b/src/test/core/qrcode/QRCodeBlackBox.4.spec.ts
index 0404f013..4f03358d 100644
--- a/src/test/core/qrcode/QRCodeBlackBox.4.spec.ts
+++ b/src/test/core/qrcode/QRCodeBlackBox.4.spec.ts
@@ -16,8 +16,8 @@
/*package com.google.zxing.qrcode;*/
-import BarcodeFormat from '../../../core/BarcodeFormat';
-import MultiFormatReader from '../../../core/MultiFormatReader';
+import { BarcodeFormat } from '@zxing/library';
+import { MultiFormatReader } from '@zxing/library';
import AbstractBlackBoxSpec from '../common/AbstractBlackBox';
/**
diff --git a/src/test/core/qrcode/QRCodeBlackBox.5.spec.ts b/src/test/core/qrcode/QRCodeBlackBox.5.spec.ts
index 9bdffd36..d57b2447 100644
--- a/src/test/core/qrcode/QRCodeBlackBox.5.spec.ts
+++ b/src/test/core/qrcode/QRCodeBlackBox.5.spec.ts
@@ -16,8 +16,8 @@
/*package com.google.zxing.qrcode;*/
-import BarcodeFormat from '../../../core/BarcodeFormat';
-import MultiFormatReader from '../../../core/MultiFormatReader';
+import { BarcodeFormat } from '@zxing/library';
+import { MultiFormatReader } from '@zxing/library';
import AbstractBlackBoxSpec from '../common/AbstractBlackBox';
/**
diff --git a/src/test/core/qrcode/QRCodeBlackBox.6.spec.ts b/src/test/core/qrcode/QRCodeBlackBox.6.spec.ts
index d99905ec..9e81f1e9 100644
--- a/src/test/core/qrcode/QRCodeBlackBox.6.spec.ts
+++ b/src/test/core/qrcode/QRCodeBlackBox.6.spec.ts
@@ -16,8 +16,8 @@
/*package com.google.zxing.qrcode;*/
-import BarcodeFormat from '../../../core/BarcodeFormat';
-import MultiFormatReader from '../../../core/MultiFormatReader';
+import { BarcodeFormat } from '@zxing/library';
+import { MultiFormatReader } from '@zxing/library';
import AbstractBlackBoxSpec from '../common/AbstractBlackBox';
/**
diff --git a/src/test/core/qrcode/QRCodeBlackBox.7.spec.ts b/src/test/core/qrcode/QRCodeBlackBox.7.spec.ts
index 9f0eccda..7a67a7d5 100644
--- a/src/test/core/qrcode/QRCodeBlackBox.7.spec.ts
+++ b/src/test/core/qrcode/QRCodeBlackBox.7.spec.ts
@@ -16,8 +16,8 @@
/*package com.google.zxing.qrcode;*/
-import BarcodeFormat from '../../../core/BarcodeFormat';
-import MultiFormatReader from '../../../core/MultiFormatReader';
+import { BarcodeFormat } from '@zxing/library';
+import { MultiFormatReader } from '@zxing/library';
import AbstractBlackBoxSpec from '../common/AbstractBlackBox';
/**
diff --git a/src/test/core/qrcode/QRCodeWriter.spec.ts b/src/test/core/qrcode/QRCodeWriter.spec.ts
index 0b571048..183b56e0 100644
--- a/src/test/core/qrcode/QRCodeWriter.spec.ts
+++ b/src/test/core/qrcode/QRCodeWriter.spec.ts
@@ -18,13 +18,15 @@
import * as assert from 'assert';
-import BarcodeFormat from '../../../core/BarcodeFormat';
-import EncodeHintType from '../../../core/EncodeHintType';
-import Writer from '../../../core/Writer';
-import BitMatrix from '../../../core/common/BitMatrix';
-import ErrorCorrectionLevel from '../../../core/qrcode/decoder/ErrorCorrectionLevel';
+import { BarcodeFormat } from '@zxing/library';
+import { EncodeHintType } from '@zxing/library';
+import { Writer } from '@zxing/library';
+import { BitMatrix } from '@zxing/library';
+import { QRCodeDecoderErrorCorrectionLevel } from '@zxing/library';
import SharpImage from '../util/SharpImage';
-import QRCodeWriter from '../../../core/qrcode/QRCodeWriter';
+import { QRCodeWriter } from '@zxing/library';
+import { ZXingStringEncoding } from '@zxing/library';
+import { createCustomEncoder } from '../util/textEncodingFactory';
const path = require('path');
@@ -42,6 +44,7 @@ const path = require('path');
* @author dswitkin@google.com (Daniel Switkin) - ported and expanded from C++
*/
describe('QRCodeWriter', () => {
+ ZXingStringEncoding.customEncoder = (b, e) => createCustomEncoder(e).encode(b);
const BASE_IMAGE_PATH = 'src/test/resources/golden/qrcode/';
@@ -90,7 +93,7 @@ describe('QRCodeWriter', () => {
async function compareToGoldenFile(
contents: string,
- ecLevel: ErrorCorrectionLevel,
+ ecLevel: QRCodeDecoderErrorCorrectionLevel,
resolution: number /*int*/,
fileName: string
): Promise {
@@ -105,7 +108,7 @@ describe('QRCodeWriter', () => {
assert.ok(false, err);
}
- const hints = new Map();
+ const hints = new Map();
hints.set(EncodeHintType.ERROR_CORRECTION, ecLevel);
const writer: Writer = new QRCodeWriter();
const generatedResult: BitMatrix = writer.encode(
@@ -127,7 +130,7 @@ describe('QRCodeWriter', () => {
it('testRegressionTest', () => {
compareToGoldenFile(
'http://www.google.com/',
- ErrorCorrectionLevel.M,
+ QRCodeDecoderErrorCorrectionLevel.M,
99,
'renderer-test-01.png'
);
diff --git a/src/test/core/qrcode/decoder/DataMask.spec.ts b/src/test/core/qrcode/decoder/DataMask.spec.ts
index 1223012c..294510ce 100644
--- a/src/test/core/qrcode/decoder/DataMask.spec.ts
+++ b/src/test/core/qrcode/decoder/DataMask.spec.ts
@@ -17,8 +17,8 @@
/*package com.google.zxing.qrcode.decoder;*/
import * as assert from 'assert';
-import BitMatrix from '../../../../core/common/BitMatrix';
-import DataMask from '../../../../core/qrcode/decoder/DataMask';
+import { BitMatrix } from '@zxing/library';
+import { QRCodeDataMask } from '@zxing/library';
interface MaskCondition {
isMasked(i: number /*int*/, j: number /*int*/): boolean;
@@ -94,14 +94,14 @@ describe('DataMask', () => {
});
function testMaskAcrossDimensions(reference: number /*int*/, condition: MaskCondition): void {
- const mask = DataMask.values.get(reference);
+ const mask = QRCodeDataMask.values.get(reference);
for (let version: number /*int*/ = 1; version <= 40; version++) {
const dimension: number /*int*/ = 17 + 4 * version;
testMask(mask, dimension, condition);
}
}
- function testMask(mask: DataMask, dimension: number /*int*/, condition: MaskCondition): void {
+ function testMask(mask: QRCodeDataMask, dimension: number /*int*/, condition: MaskCondition): void {
const bits = new BitMatrix(dimension);
mask.unmaskBitMatrix(bits, dimension);
for (let i: number /*int*/ = 0; i < dimension; i++) {
diff --git a/src/test/core/qrcode/decoder/DecodedBitStreamParser.spec.ts b/src/test/core/qrcode/decoder/DecodedBitStreamParser.spec.ts
index 19e3e0ac..a412fcf9 100644
--- a/src/test/core/qrcode/decoder/DecodedBitStreamParser.spec.ts
+++ b/src/test/core/qrcode/decoder/DecodedBitStreamParser.spec.ts
@@ -17,21 +17,21 @@
/*package com.google.zxing.qrcode.decoder;*/
import * as assert from 'assert';
-import DecodedBitStreamParser from '../../../../core/qrcode/decoder/DecodedBitStreamParser';
-import BitSourceBuilder from '../../common/BitSourceBuilder';
-import Version from '../../../../core/qrcode/decoder/Version';
-import Random from '../../util/Random';
-import { TextDecoder } from '@sinonjs/text-encoding';
-import StringEncoding from '../../../../core/util/StringEncoding';
+import { QRCodeDecodedBitStreamParser } from '@zxing/library';
+import BitSourceBuilder from '../../../core/common/BitSourceBuilder';
+import { QRCodeVersion } from '@zxing/library';
+import Random from '../../../core/util/Random';
+import { TextDecoder } from '@zxing/text-encoding';
+import { ZXingStringEncoding } from '@zxing/library';
-StringEncoding.customDecoder = (b, e) => new TextDecoder(e, { NONSTANDARD_allowLegacyEncoding: true }).decode(b);
+ZXingStringEncoding.customDecoder = (b, e) => new TextDecoder(e).decode(b);
/**
- * Tests {@link DecodedBitStreamParser}.
+ * Tests {@link QRCodeDecodedBitStreamParser}.
*
* @author Sean Owen
*/
-describe('DecodedBitStreamParser', () => {
+describe('QRCodeDecodedBitStreamParser', () => {
it('testSimpleByteMode', () => {/*throws Exception*/
const builder = new BitSourceBuilder();
@@ -40,8 +40,8 @@ describe('DecodedBitStreamParser', () => {
builder.write(0xF1, 8);
builder.write(0xF2, 8);
builder.write(0xF3, 8);
- const result: string = DecodedBitStreamParser.decode(builder.toByteArray(),
- Version.getVersionForNumber(1), null, null).getText();
+ const result: string = QRCodeDecodedBitStreamParser.decode(builder.toByteArray(),
+ QRCodeVersion.getVersionForNumber(1), null, null).getText();
assert.strictEqual(result, '\u00f1\u00f2\u00f3');
});
@@ -53,27 +53,27 @@ describe('DecodedBitStreamParser', () => {
builder.write(0xA2, 8);
builder.write(0xA3, 8);
builder.write(0xD0, 8);
- const result: string = DecodedBitStreamParser.decode(builder.toByteArray(),
- Version.getVersionForNumber(1), null, null).getText();
+ const result: string = QRCodeDecodedBitStreamParser.decode(builder.toByteArray(),
+ QRCodeVersion.getVersionForNumber(1), null, null).getText();
assert.strictEqual(result, '\uff61\uff62\uff63\uff90');
});
// TYPESCRIPTPORT: CP437 not supported by TextEncoding. TODO: search for an alternative
// See here for a possibility: https://github.com/SheetJS/js-codepage
- // it("testECI", () => {/*throws Exception*/
- // const builder = new BitSourceBuilder()
- // builder.write(0x07, 4); // ECI mode
- // builder.write(0x02, 8); // ECI 2 = CP437 encoding
- // builder.write(0x04, 4); // Byte mode
- // builder.write(0x03, 8); // 3 bytes
- // builder.write(0xA1, 8)
- // builder.write(0xA2, 8)
- // builder.write(0xA3, 8)
- // const byteArray = builder.toByteArray()
- // const result: string = DecodedBitStreamParser.decode(byteArray,
- // Version.getVersionForNumber(1), null, null).getText()
- // assert.strictEqual(result, "\u00ed\u00f3\u00fa")
- // })
+ it.skip('testECI', () => {/*throws Exception*/
+ const builder = new BitSourceBuilder();
+ builder.write(0x07, 4); // ECI mode
+ builder.write(0x02, 8); // ECI 2 = CP437 encoding
+ builder.write(0x04, 4); // Byte mode
+ builder.write(0x03, 8); // 3 bytes
+ builder.write(0xA1, 8);
+ builder.write(0xA2, 8);
+ builder.write(0xA3, 8);
+ const byteArray = builder.toByteArray();
+ const result: string = QRCodeDecodedBitStreamParser.decode(byteArray,
+ QRCodeVersion.getVersionForNumber(1), null, null).getText();
+ assert.strictEqual(result, '\u00ed\u00f3\u00fa');
+ });
const eciTestData = [
// label, eciBits, byte1, byte2, byte3, expected
@@ -116,8 +116,8 @@ describe('DecodedBitStreamParser', () => {
builder.write(b2, 8);
builder.write(b3, 8);
const byteArray = builder.toByteArray();
- const result: string = DecodedBitStreamParser.decode(byteArray,
- Version.getVersionForNumber(1), null, null).getText();
+ const result: string = QRCodeDecodedBitStreamParser.decode(byteArray,
+ QRCodeVersion.getVersionForNumber(1), null, null).getText();
assert.strictEqual(result, expected, encodingLabel);
}
@@ -155,8 +155,8 @@ describe('DecodedBitStreamParser', () => {
builder.write(b5, 8);
builder.write(b6, 8);
const byteArray = builder.toByteArray();
- const result: string = DecodedBitStreamParser.decode(byteArray,
- Version.getVersionForNumber(1), null, null).getText();
+ const result: string = QRCodeDecodedBitStreamParser.decode(byteArray,
+ QRCodeVersion.getVersionForNumber(1), null, null).getText();
assert.strictEqual(result, expected1 + expected2, encodingLabel1 + ' & ' + encodingLabel2);
}
@@ -166,8 +166,8 @@ describe('DecodedBitStreamParser', () => {
builder.write(0x01, 4); // Subset 1 = GB2312 encoding
builder.write(0x01, 8); // 1 characters
builder.write(0x03C1, 13);
- const result: string = DecodedBitStreamParser.decode(builder.toByteArray(),
- Version.getVersionForNumber(1), null, null).getText();
+ const result: string = QRCodeDecodedBitStreamParser.decode(builder.toByteArray(),
+ QRCodeVersion.getVersionForNumber(1), null, null).getText();
assert.strictEqual(result, '\u963f');
});
diff --git a/src/test/core/qrcode/decoder/ErrorCorrectionLevel.spec.ts b/src/test/core/qrcode/decoder/ErrorCorrectionLevel.spec.ts
index fad5b4aa..ca5ca5fb 100644
--- a/src/test/core/qrcode/decoder/ErrorCorrectionLevel.spec.ts
+++ b/src/test/core/qrcode/decoder/ErrorCorrectionLevel.spec.ts
@@ -18,20 +18,20 @@
import * as assert from 'assert';
-import ErrorCorrectionLevel from '../../../../core/qrcode/decoder/ErrorCorrectionLevel';
+import { QRCodeDecoderErrorCorrectionLevel } from '@zxing/library';
/**
* @author Sean Owen
*/
-describe('ErrorCorrectionLevel', () => {
+describe('QRCodeDecoderErrorCorrectionLevel', () => {
it('testForBits', () => {
- assert.strictEqual(ErrorCorrectionLevel.M.equals(ErrorCorrectionLevel.forBits(0)), true);
- assert.strictEqual(ErrorCorrectionLevel.L.equals(ErrorCorrectionLevel.forBits(1)), true);
- assert.strictEqual(ErrorCorrectionLevel.H.equals(ErrorCorrectionLevel.forBits(2)), true);
- assert.strictEqual(ErrorCorrectionLevel.Q.equals(ErrorCorrectionLevel.forBits(3)), true);
+ assert.strictEqual(QRCodeDecoderErrorCorrectionLevel.M.equals(QRCodeDecoderErrorCorrectionLevel.forBits(0)), true);
+ assert.strictEqual(QRCodeDecoderErrorCorrectionLevel.L.equals(QRCodeDecoderErrorCorrectionLevel.forBits(1)), true);
+ assert.strictEqual(QRCodeDecoderErrorCorrectionLevel.H.equals(QRCodeDecoderErrorCorrectionLevel.forBits(2)), true);
+ assert.strictEqual(QRCodeDecoderErrorCorrectionLevel.Q.equals(QRCodeDecoderErrorCorrectionLevel.forBits(3)), true);
try {
- ErrorCorrectionLevel.forBits(4);
+ QRCodeDecoderErrorCorrectionLevel.forBits(4);
assert.ok(false, 'Should have thrown an exception');
} catch (ex) {
// good for IllegalArgumentException
diff --git a/src/test/core/qrcode/decoder/FormatInformation.spec.ts b/src/test/core/qrcode/decoder/FormatInformation.spec.ts
index bb88c0d7..c856603d 100644
--- a/src/test/core/qrcode/decoder/FormatInformation.spec.ts
+++ b/src/test/core/qrcode/decoder/FormatInformation.spec.ts
@@ -18,53 +18,53 @@
import * as assert from 'assert';
-import ErrorCorrectionLevel from '../../../../core/qrcode/decoder/ErrorCorrectionLevel';
-import FormatInformation from '../../../../core/qrcode/decoder/FormatInformation';
+import { QRCodeDecoderErrorCorrectionLevel } from '@zxing/library';
+import { QRCodeDecoderFormatInformation } from '@zxing/library';
/**
* @author Sean Owen
*/
-describe('FormatInformation', () => {
+describe('QRCodeDecoderFormatInformation', () => {
const MASKED_TEST_FORMAT_INFO: number /*int*/ = 0x2BED;
const UNMASKED_TEST_FORMAT_INFO: number /*int*/ = MASKED_TEST_FORMAT_INFO ^ 0x5412;
it('testBitsDiffering', () => {
- assert.strictEqual(FormatInformation.numBitsDiffering(1, 1), 0);
- assert.strictEqual(FormatInformation.numBitsDiffering(0, 2), 1);
- assert.strictEqual(FormatInformation.numBitsDiffering(1, 2), 2);
- assert.strictEqual(FormatInformation.numBitsDiffering(-1, 0), 32);
+ assert.strictEqual(QRCodeDecoderFormatInformation.numBitsDiffering(1, 1), 0);
+ assert.strictEqual(QRCodeDecoderFormatInformation.numBitsDiffering(0, 2), 1);
+ assert.strictEqual(QRCodeDecoderFormatInformation.numBitsDiffering(1, 2), 2);
+ assert.strictEqual(QRCodeDecoderFormatInformation.numBitsDiffering(-1, 0), 32);
});
it('testDecode', () => {
// Normal case
const expected =
- FormatInformation.decodeFormatInformation(MASKED_TEST_FORMAT_INFO, MASKED_TEST_FORMAT_INFO);
+ QRCodeDecoderFormatInformation.decodeFormatInformation(MASKED_TEST_FORMAT_INFO, MASKED_TEST_FORMAT_INFO);
assert.strictEqual(null !== expected, true);
assert.strictEqual(expected.getDataMask(), /*(byte)*/ 0x07);
- assert.strictEqual(ErrorCorrectionLevel.Q.equals(expected.getErrorCorrectionLevel()), true);
+ assert.strictEqual(QRCodeDecoderErrorCorrectionLevel.Q.equals(expected.getErrorCorrectionLevel()), true);
// where the code forgot the mask!
- assert.strictEqual(FormatInformation.decodeFormatInformation(UNMASKED_TEST_FORMAT_INFO, MASKED_TEST_FORMAT_INFO).equals(expected), true);
+ assert.strictEqual(QRCodeDecoderFormatInformation.decodeFormatInformation(UNMASKED_TEST_FORMAT_INFO, MASKED_TEST_FORMAT_INFO).equals(expected), true);
});
it('testDecodeWithBitDifference', () => {
const expected =
- FormatInformation.decodeFormatInformation(MASKED_TEST_FORMAT_INFO, MASKED_TEST_FORMAT_INFO);
+ QRCodeDecoderFormatInformation.decodeFormatInformation(MASKED_TEST_FORMAT_INFO, MASKED_TEST_FORMAT_INFO);
// 1,2,3,4 bits difference
- assert.strictEqual(FormatInformation.decodeFormatInformation(
+ assert.strictEqual(QRCodeDecoderFormatInformation.decodeFormatInformation(
MASKED_TEST_FORMAT_INFO ^ 0x01, MASKED_TEST_FORMAT_INFO ^ 0x01).equals(expected), true);
- assert.strictEqual(FormatInformation.decodeFormatInformation(
+ assert.strictEqual(QRCodeDecoderFormatInformation.decodeFormatInformation(
MASKED_TEST_FORMAT_INFO ^ 0x03, MASKED_TEST_FORMAT_INFO ^ 0x03).equals(expected), true);
- assert.strictEqual(FormatInformation.decodeFormatInformation(
+ assert.strictEqual(QRCodeDecoderFormatInformation.decodeFormatInformation(
MASKED_TEST_FORMAT_INFO ^ 0x07, MASKED_TEST_FORMAT_INFO ^ 0x07).equals(expected), true);
- assert.strictEqual(null === FormatInformation.decodeFormatInformation(
+ assert.strictEqual(null === QRCodeDecoderFormatInformation.decodeFormatInformation(
MASKED_TEST_FORMAT_INFO ^ 0x0F, MASKED_TEST_FORMAT_INFO ^ 0x0F), true);
});
it('testDecodeWithMisread', () => {
const expected =
- FormatInformation.decodeFormatInformation(MASKED_TEST_FORMAT_INFO, MASKED_TEST_FORMAT_INFO);
- assert.strictEqual(FormatInformation.decodeFormatInformation(
+ QRCodeDecoderFormatInformation.decodeFormatInformation(MASKED_TEST_FORMAT_INFO, MASKED_TEST_FORMAT_INFO);
+ assert.strictEqual(QRCodeDecoderFormatInformation.decodeFormatInformation(
MASKED_TEST_FORMAT_INFO ^ 0x03, MASKED_TEST_FORMAT_INFO ^ 0x0F).equals(expected), true);
});
diff --git a/src/test/core/qrcode/decoder/Mode.spec.ts b/src/test/core/qrcode/decoder/Mode.spec.ts
index 3ecd51e0..05c14953 100644
--- a/src/test/core/qrcode/decoder/Mode.spec.ts
+++ b/src/test/core/qrcode/decoder/Mode.spec.ts
@@ -18,8 +18,8 @@
import * as assert from 'assert';
-import Version from '../../../../core/qrcode/decoder/Version';
-import Mode from '../../../../core/qrcode/decoder/Mode';
+import { QRCodeVersion } from '@zxing/library';
+import { QRCodeMode } from '@zxing/library';
/**
* @author Sean Owen
@@ -27,13 +27,13 @@ import Mode from '../../../../core/qrcode/decoder/Mode';
describe('Mode', () => {
it('testForBits', () => {
- assert.strictEqual(Mode.TERMINATOR.equals(Mode.forBits(0x00)), true);
- assert.strictEqual(Mode.NUMERIC.equals(Mode.forBits(0x01)), true);
- assert.strictEqual(Mode.ALPHANUMERIC.equals(Mode.forBits(0x02)), true);
- assert.strictEqual(Mode.BYTE.equals(Mode.forBits(0x04)), true);
- assert.strictEqual(Mode.KANJI.equals(Mode.forBits(0x08)), true);
+ assert.strictEqual(QRCodeMode.TERMINATOR.equals(QRCodeMode.forBits(0x00)), true);
+ assert.strictEqual(QRCodeMode.NUMERIC.equals(QRCodeMode.forBits(0x01)), true);
+ assert.strictEqual(QRCodeMode.ALPHANUMERIC.equals(QRCodeMode.forBits(0x02)), true);
+ assert.strictEqual(QRCodeMode.BYTE.equals(QRCodeMode.forBits(0x04)), true);
+ assert.strictEqual(QRCodeMode.KANJI.equals(QRCodeMode.forBits(0x08)), true);
try {
- Mode.forBits(0x10);
+ QRCodeMode.forBits(0x10);
assert.ok(false, 'Should have thrown an exception');
} catch (ex) {
// good for InvalidArgumentException
@@ -42,12 +42,12 @@ describe('Mode', () => {
it('testCharacterCount', () => {
// Spot check a few values
- assert.strictEqual(Mode.NUMERIC.getCharacterCountBits(Version.getVersionForNumber(5)), 10);
- assert.strictEqual(Mode.NUMERIC.getCharacterCountBits(Version.getVersionForNumber(26)), 12);
- assert.strictEqual(Mode.NUMERIC.getCharacterCountBits(Version.getVersionForNumber(40)), 14);
- assert.strictEqual(Mode.ALPHANUMERIC.getCharacterCountBits(Version.getVersionForNumber(6)), 9);
- assert.strictEqual(Mode.BYTE.getCharacterCountBits(Version.getVersionForNumber(7)), 8);
- assert.strictEqual(Mode.KANJI.getCharacterCountBits(Version.getVersionForNumber(8)), 8);
+ assert.strictEqual(QRCodeMode.NUMERIC.getCharacterCountBits(QRCodeVersion.getVersionForNumber(5)), 10);
+ assert.strictEqual(QRCodeMode.NUMERIC.getCharacterCountBits(QRCodeVersion.getVersionForNumber(26)), 12);
+ assert.strictEqual(QRCodeMode.NUMERIC.getCharacterCountBits(QRCodeVersion.getVersionForNumber(40)), 14);
+ assert.strictEqual(QRCodeMode.ALPHANUMERIC.getCharacterCountBits(QRCodeVersion.getVersionForNumber(6)), 9);
+ assert.strictEqual(QRCodeMode.BYTE.getCharacterCountBits(QRCodeVersion.getVersionForNumber(7)), 8);
+ assert.strictEqual(QRCodeMode.KANJI.getCharacterCountBits(QRCodeVersion.getVersionForNumber(8)), 8);
});
});
diff --git a/src/test/core/qrcode/decoder/Version.spec.ts b/src/test/core/qrcode/decoder/Version.spec.ts
index f0e969b0..8411a636 100644
--- a/src/test/core/qrcode/decoder/Version.spec.ts
+++ b/src/test/core/qrcode/decoder/Version.spec.ts
@@ -18,8 +18,8 @@
import * as assert from 'assert';
-import ErrorCorrectionLevel from '../../../../core/qrcode/decoder/ErrorCorrectionLevel';
-import Version from '../../../../core/qrcode/decoder/Version';
+import { QRCodeDecoderErrorCorrectionLevel } from '@zxing/library';
+import { QRCodeVersion } from '@zxing/library';
/**
* @author Sean Owen
@@ -28,17 +28,17 @@ describe('Version', () => {
it('testVersionForNumber', () => {
try {
- Version.getVersionForNumber(0);
+ QRCodeVersion.getVersionForNumber(0);
assert.ok(false, 'Should have thrown an exception');
} catch (ex) {
// good for IllegalArgumentException
}
for (let i: number /*int*/ = 1; i <= 40; i++) {
- checkVersion(Version.getVersionForNumber(i), i, 4 * i + 17);
+ checkVersion(QRCodeVersion.getVersionForNumber(i), i, 4 * i + 17);
}
});
- function checkVersion(version: Version, versionNumber: number /*int*/, dimension: number /*int*/): void {
+ function checkVersion(version: QRCodeVersion, versionNumber: number /*int*/, dimension: number /*int*/): void {
assert.strictEqual(null !== version, true);
assert.strictEqual(version.getVersionNumber(), versionNumber);
@@ -49,16 +49,16 @@ describe('Version', () => {
}
assert.strictEqual(version.getDimensionForVersion(), dimension);
- assert.strictEqual(null !== version.getECBlocksForLevel(ErrorCorrectionLevel.H), true);
- assert.strictEqual(null !== version.getECBlocksForLevel(ErrorCorrectionLevel.L), true);
- assert.strictEqual(null !== version.getECBlocksForLevel(ErrorCorrectionLevel.M), true);
- assert.strictEqual(null !== version.getECBlocksForLevel(ErrorCorrectionLevel.Q), true);
+ assert.strictEqual(null !== version.getECBlocksForLevel(QRCodeDecoderErrorCorrectionLevel.H), true);
+ assert.strictEqual(null !== version.getECBlocksForLevel(QRCodeDecoderErrorCorrectionLevel.L), true);
+ assert.strictEqual(null !== version.getECBlocksForLevel(QRCodeDecoderErrorCorrectionLevel.M), true);
+ assert.strictEqual(null !== version.getECBlocksForLevel(QRCodeDecoderErrorCorrectionLevel.Q), true);
assert.strictEqual(null !== version.buildFunctionPattern(), true);
}
it('testGetProvisionalVersionForDimension', () => {
for (let i: number /*int*/ = 1; i <= 40; i++) {
- assert.strictEqual(Version.getProvisionalVersionForDimension(4 * i + 17).getVersionNumber(), i);
+ assert.strictEqual(QRCodeVersion.getProvisionalVersionForDimension(4 * i + 17).getVersionNumber(), i);
}
});
@@ -73,7 +73,7 @@ describe('Version', () => {
});
function doTestVersion(expectedVersion: number /*int*/, mask: number /*int*/): void {
- const version: Version = Version.decodeVersionInformation(mask);
+ const version: QRCodeVersion = QRCodeVersion.decodeVersionInformation(mask);
assert.strictEqual(null !== version, true);
assert.strictEqual(version.getVersionNumber(), expectedVersion);
}
diff --git a/src/test/core/qrcode/encoder/BitVector.spec.ts b/src/test/core/qrcode/encoder/BitVector.spec.ts
index ba10f80e..9acd32f9 100644
--- a/src/test/core/qrcode/encoder/BitVector.spec.ts
+++ b/src/test/core/qrcode/encoder/BitVector.spec.ts
@@ -17,7 +17,7 @@
/*package com.google.zxing.qrcode.encoder;*/
import * as assert from 'assert';
-import BitArray from '../../../../core/common/BitArray';
+import { BitArray } from '@zxing/library';
/**
* @author satorux@google.com (Satoru Takabayashi) - creator
diff --git a/src/test/core/qrcode/encoder/Encoder.spec.ts b/src/test/core/qrcode/encoder/Encoder.spec.ts
index 3005a1a1..497e8247 100644
--- a/src/test/core/qrcode/encoder/Encoder.spec.ts
+++ b/src/test/core/qrcode/encoder/Encoder.spec.ts
@@ -18,93 +18,85 @@
import * as assert from 'assert';
-import Encoder from '../../../../core/qrcode/encoder/Encoder';
-import EncodeHintType from '../../../../core/EncodeHintType';
-import CharacterSetECI from '../../../../core/common/CharacterSetECI';
-import BitArray from '../../../../core/common/BitArray';
-import ErrorCorrectionLevel from '../../../../core/qrcode/decoder/ErrorCorrectionLevel';
-import Mode from '../../../../core/qrcode/decoder/Mode';
-import Version from '../../../../core/qrcode/decoder/Version';
-import QRCode from '../../../../core/qrcode/encoder/QRCode';
-import StringBuilder from '../../../../core/util/StringBuilder';
-import StringEncoding from '../../../../core/util/StringEncoding';
-import WriterException from '../../../../core/WriterException';
-import { TextDecoder, TextEncoder } from '@sinonjs/text-encoding';
-
-function createCustomEncoder(e: string) {
- return new TextEncoder(e, { NONSTANDARD_allowLegacyEncoding: true });
-}
-
-function createCustomDecoder(e: string) {
- return new TextDecoder(e, { NONSTANDARD_allowLegacyEncoding: true });
-}
+import { QRCodeEncoder } from '@zxing/library';
+import { EncodeHintType } from '@zxing/library';
+import { CharacterSetECI } from '@zxing/library';
+import { BitArray } from '@zxing/library';
+import { QRCodeDecoderErrorCorrectionLevel } from '@zxing/library';
+import { QRCodeMode } from '@zxing/library';
+import { QRCodeVersion } from '@zxing/library';
+import { QRCodeEncoderQRCode } from '@zxing/library';
+import { ZXingStringBuilder } from '@zxing/library';
+import { ZXingStringEncoding } from '@zxing/library';
+import { WriterException } from '@zxing/library';
+import { createCustomEncoder, createCustomDecoder } from '../../util/textEncodingFactory';
/**
* @author satorux@google.com (Satoru Takabayashi) - creator
* @author mysen@google.com (Chris Mysen) - ported from C++
*/
-describe('Encoder', () => {
+describe('QRCodeEncoder', () => {
it('testGetAlphanumericCode', () => {
// The first ten code points are numbers.
for (let i: number /*int*/ = 0; i < 10; ++i) {
- assert.strictEqual(Encoder.getAlphanumericCode('0'.charCodeAt(0) + i), i);
+ assert.strictEqual(QRCodeEncoder.getAlphanumericCode('0'.charCodeAt(0) + i), i);
}
// The next 26 code points are capital alphabet letters.
for (let i: number /*int*/ = 10; i < 36; ++i) {
- assert.strictEqual(Encoder.getAlphanumericCode('A'.charCodeAt(0) + i - 10), i);
+ assert.strictEqual(QRCodeEncoder.getAlphanumericCode('A'.charCodeAt(0) + i - 10), i);
}
// Others are symbol letters
- assert.strictEqual(Encoder.getAlphanumericCode(' '.charCodeAt(0)), 36);
- assert.strictEqual(Encoder.getAlphanumericCode('$'.charCodeAt(0)), 37);
- assert.strictEqual(Encoder.getAlphanumericCode('%'.charCodeAt(0)), 38);
- assert.strictEqual(Encoder.getAlphanumericCode('*'.charCodeAt(0)), 39);
- assert.strictEqual(Encoder.getAlphanumericCode('+'.charCodeAt(0)), 40);
- assert.strictEqual(Encoder.getAlphanumericCode('-'.charCodeAt(0)), 41);
- assert.strictEqual(Encoder.getAlphanumericCode('.'.charCodeAt(0)), 42);
- assert.strictEqual(Encoder.getAlphanumericCode('/'.charCodeAt(0)), 43);
- assert.strictEqual(Encoder.getAlphanumericCode(':'.charCodeAt(0)), 44);
+ assert.strictEqual(QRCodeEncoder.getAlphanumericCode(' '.charCodeAt(0)), 36);
+ assert.strictEqual(QRCodeEncoder.getAlphanumericCode('$'.charCodeAt(0)), 37);
+ assert.strictEqual(QRCodeEncoder.getAlphanumericCode('%'.charCodeAt(0)), 38);
+ assert.strictEqual(QRCodeEncoder.getAlphanumericCode('*'.charCodeAt(0)), 39);
+ assert.strictEqual(QRCodeEncoder.getAlphanumericCode('+'.charCodeAt(0)), 40);
+ assert.strictEqual(QRCodeEncoder.getAlphanumericCode('-'.charCodeAt(0)), 41);
+ assert.strictEqual(QRCodeEncoder.getAlphanumericCode('.'.charCodeAt(0)), 42);
+ assert.strictEqual(QRCodeEncoder.getAlphanumericCode('/'.charCodeAt(0)), 43);
+ assert.strictEqual(QRCodeEncoder.getAlphanumericCode(':'.charCodeAt(0)), 44);
// Should return -1 for other letters;
- assert.strictEqual(Encoder.getAlphanumericCode('a'.charCodeAt(0)), -1);
- assert.strictEqual(Encoder.getAlphanumericCode('#'.charCodeAt(0)), -1);
- assert.strictEqual(Encoder.getAlphanumericCode('\0'.charCodeAt(0)), -1);
+ assert.strictEqual(QRCodeEncoder.getAlphanumericCode('a'.charCodeAt(0)), -1);
+ assert.strictEqual(QRCodeEncoder.getAlphanumericCode('#'.charCodeAt(0)), -1);
+ assert.strictEqual(QRCodeEncoder.getAlphanumericCode('\0'.charCodeAt(0)), -1);
});
it('testChooseMode', () => {
- StringEncoding.customDecoder = (b, e) => createCustomDecoder(e).decode(b);
+ ZXingStringEncoding.customDecoder = (b, e) => createCustomDecoder(e).decode(b);
// Numeric mode.
- assert.strictEqual(Mode.NUMERIC.equals(Encoder.chooseMode('0')), true);
- assert.strictEqual(Mode.NUMERIC.equals(Encoder.chooseMode('0123456789')), true);
+ assert.strictEqual(QRCodeMode.NUMERIC.equals(QRCodeEncoder.chooseMode('0')), true);
+ assert.strictEqual(QRCodeMode.NUMERIC.equals(QRCodeEncoder.chooseMode('0123456789')), true);
// Alphanumeric mode.
- assert.strictEqual(Mode.ALPHANUMERIC.equals(Encoder.chooseMode('A')), true);
- assert.strictEqual(Mode.ALPHANUMERIC.equals(Encoder.chooseMode('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:')), true);
+ assert.strictEqual(QRCodeMode.ALPHANUMERIC.equals(QRCodeEncoder.chooseMode('A')), true);
+ assert.strictEqual(QRCodeMode.ALPHANUMERIC.equals(QRCodeEncoder.chooseMode('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:')), true);
// 8-bit byte mode.
- assert.strictEqual(Mode.BYTE.equals(Encoder.chooseMode('a')), true);
- assert.strictEqual(Mode.BYTE.equals(Encoder.chooseMode('#')), true);
- assert.strictEqual(Mode.BYTE.equals(Encoder.chooseMode('')), true);
+ assert.strictEqual(QRCodeMode.BYTE.equals(QRCodeEncoder.chooseMode('a')), true);
+ assert.strictEqual(QRCodeMode.BYTE.equals(QRCodeEncoder.chooseMode('#')), true);
+ assert.strictEqual(QRCodeMode.BYTE.equals(QRCodeEncoder.chooseMode('')), true);
// Kanji mode. We used to use MODE_KANJI for these, but we stopped
// doing that as we cannot distinguish Shift_JIS from other encodings
// from data bytes alone. See also comments in qrcode_encoder.h.
// AIUE in Hiragana in Shift_JIS
- assert.strictEqual(Mode.BYTE.equals(Encoder.chooseMode(shiftJISString(Uint8Array.from([0x8, 0xa, 0x8, 0xa, 0x8, 0xa, 0x8, 0xa6])))), true);
+ assert.strictEqual(QRCodeMode.BYTE.equals(QRCodeEncoder.chooseMode(shiftJISString(Uint8Array.from([0x8, 0xa, 0x8, 0xa, 0x8, 0xa, 0x8, 0xa6])))), true);
// Nihon in Kanji in Shift_JIS.
- assert.strictEqual(Mode.BYTE.equals(Encoder.chooseMode(shiftJISString(Uint8Array.from([0x9, 0xf, 0x9, 0x7b])))), true);
+ assert.strictEqual(QRCodeMode.BYTE.equals(QRCodeEncoder.chooseMode(shiftJISString(Uint8Array.from([0x9, 0xf, 0x9, 0x7b])))), true);
// Sou-Utsu-Byou in Kanji in Shift_JIS.
- assert.strictEqual(Mode.BYTE.equals(Encoder.chooseMode(shiftJISString(Uint8Array.from([0xe, 0x4, 0x9, 0x5, 0x9, 0x61])))), true);
+ assert.strictEqual(QRCodeMode.BYTE.equals(QRCodeEncoder.chooseMode(shiftJISString(Uint8Array.from([0xe, 0x4, 0x9, 0x5, 0x9, 0x61])))), true);
- StringEncoding.customDecoder = undefined;
+ ZXingStringEncoding.customDecoder = undefined;
});
it('testEncode', () => {
- const qrCode: QRCode = Encoder.encode('ABCDEF', ErrorCorrectionLevel.H);
+ const qrCode: QRCodeEncoderQRCode = QRCodeEncoder.encode('ABCDEF', QRCodeDecoderErrorCorrectionLevel.H);
const expected: string =
'<<\n' +
' mode: ALPHANUMERIC\n' +
@@ -140,7 +132,7 @@ describe('Encoder', () => {
it('testEncodeWithVersion', () => {
const hints = new Map(); // EncodeHintType.class)
hints.set(EncodeHintType.QR_VERSION, 7);
- const qrCode: QRCode = Encoder.encode('ABCDEF', ErrorCorrectionLevel.H, hints);
+ const qrCode: QRCodeEncoderQRCode = QRCodeEncoder.encode('ABCDEF', QRCodeDecoderErrorCorrectionLevel.H, hints);
assert.strictEqual(qrCode.toString().indexOf(' version: 7\n') !== -1, true);
});
@@ -150,7 +142,7 @@ describe('Encoder', () => {
() => {
const hints = new Map(); // EncodeHintType.class)
hints.set(EncodeHintType.QR_VERSION, 3);
- Encoder.encode('THISMESSAGEISTOOLONGFORAQRCODEVERSION3', ErrorCorrectionLevel.H, hints);
+ QRCodeEncoder.encode('THISMESSAGEISTOOLONGFORAQRCODEVERSION3', QRCodeDecoderErrorCorrectionLevel.H, hints);
},
WriterException,
'unexpected exception thrown'
@@ -160,7 +152,7 @@ describe('Encoder', () => {
it('testSimpleUTF8ECI', () => {
const hints = new Map(); // EncodeHintType.class)
hints.set(EncodeHintType.CHARACTER_SET, 'UTF8');
- const qrCode: QRCode = Encoder.encode('hello', ErrorCorrectionLevel.H, hints);
+ const qrCode: QRCodeEncoderQRCode = QRCodeEncoder.encode('hello', QRCodeDecoderErrorCorrectionLevel.H, hints);
const expected: string =
'<<\n' +
' mode: BYTE\n' +
@@ -195,12 +187,12 @@ describe('Encoder', () => {
it('testEncodeKanjiMode', () => {
- StringEncoding.customEncoder = (b, e) => createCustomEncoder(e).encode(b);
+ ZXingStringEncoding.customEncoder = (b, e) => createCustomEncoder(e).encode(b);
const hints = new Map(); // EncodeHintType.class)
hints.set(EncodeHintType.CHARACTER_SET, CharacterSetECI.SJIS.getName());
// Nihon in Kanji
- const qrCode: QRCode = Encoder.encode('\u65e5\u672c', ErrorCorrectionLevel.M, hints);
+ const qrCode: QRCodeEncoderQRCode = QRCodeEncoder.encode('\u65e5\u672c', QRCodeDecoderErrorCorrectionLevel.M, hints);
const expected: string =
'<<\n' +
' mode: KANJI\n' +
@@ -232,13 +224,13 @@ describe('Encoder', () => {
'>>\n';
assert.strictEqual(qrCode.toString(), expected);
- StringEncoding.customEncoder = undefined;
+ ZXingStringEncoding.customEncoder = undefined;
});
it('testEncodeShiftjisNumeric', () => {
const hints = new Map(); // EncodeHintType.class)
hints.set(EncodeHintType.CHARACTER_SET, CharacterSetECI.SJIS.getName());
- const qrCode: QRCode = Encoder.encode('0123', ErrorCorrectionLevel.M, hints);
+ const qrCode: QRCodeEncoderQRCode = QRCodeEncoder.encode('0123', QRCodeDecoderErrorCorrectionLevel.M, hints);
const expected: string =
'<<\n' +
' mode: NUMERIC\n' +
@@ -273,54 +265,54 @@ describe('Encoder', () => {
it('testAppendModeInfo', () => {
const bits = new BitArray();
- Encoder.appendModeInfo(Mode.NUMERIC, bits);
+ QRCodeEncoder.appendModeInfo(QRCodeMode.NUMERIC, bits);
assert.strictEqual(bits.toString(), ' ...X');
});
it('testAppendLengthInfo', () => {
let bits = new BitArray();
- Encoder.appendLengthInfo(1, // 1 letter (1/1).
- Version.getVersionForNumber(1),
- Mode.NUMERIC,
+ QRCodeEncoder.appendLengthInfo(1, // 1 letter (1/1).
+ QRCodeVersion.getVersionForNumber(1),
+ QRCodeMode.NUMERIC,
bits);
assert.strictEqual(bits.toString(), ' ........ .X'); // 10 bits.
bits = new BitArray();
- Encoder.appendLengthInfo(2, // 2 letters (2/1).
- Version.getVersionForNumber(10),
- Mode.ALPHANUMERIC,
+ QRCodeEncoder.appendLengthInfo(2, // 2 letters (2/1).
+ QRCodeVersion.getVersionForNumber(10),
+ QRCodeMode.ALPHANUMERIC,
bits);
assert.strictEqual(bits.toString(), ' ........ .X.'); // 11 bits.
bits = new BitArray();
- Encoder.appendLengthInfo(255, // 255 letter (255/1).
- Version.getVersionForNumber(27),
- Mode.BYTE,
+ QRCodeEncoder.appendLengthInfo(255, // 255 letter (255/1).
+ QRCodeVersion.getVersionForNumber(27),
+ QRCodeMode.BYTE,
bits);
assert.strictEqual(bits.toString(), ' ........ XXXXXXXX'); // 16 bits.
bits = new BitArray();
- Encoder.appendLengthInfo(512, // 512 letters (1024/2).
- Version.getVersionForNumber(40),
- Mode.KANJI,
+ QRCodeEncoder.appendLengthInfo(512, // 512 letters (1024/2).
+ QRCodeVersion.getVersionForNumber(40),
+ QRCodeMode.KANJI,
bits);
assert.strictEqual(bits.toString(), ' ..X..... ....'); // 12 bits.
});
it('testAppendBytes', () => {
- StringEncoding.customEncoder = (b, e) => createCustomEncoder(e).encode(b);
- StringEncoding.customDecoder = (b, e) => createCustomDecoder(e).decode(b);
+ ZXingStringEncoding.customEncoder = (b, e) => createCustomEncoder(e).encode(b);
+ ZXingStringEncoding.customDecoder = (b, e) => createCustomDecoder(e).decode(b);
// Should use appendNumericBytes.
// 1 = 01 = 0001 in 4 bits.
let bits = new BitArray();
- Encoder.appendBytes('1', Mode.NUMERIC, bits, Encoder.DEFAULT_BYTE_MODE_ENCODING);
+ QRCodeEncoder.appendBytes('1', QRCodeMode.NUMERIC, bits, QRCodeEncoder.DEFAULT_BYTE_MODE_ENCODING);
assert.strictEqual(bits.toString(), ' ...X');
// Should use appendAlphanumericBytes.
// A = 10 = 0xa = 001010 in 6 bits
bits = new BitArray();
- Encoder.appendBytes('A', Mode.ALPHANUMERIC, bits, Encoder.DEFAULT_BYTE_MODE_ENCODING);
+ QRCodeEncoder.appendBytes('A', QRCodeMode.ALPHANUMERIC, bits, QRCodeEncoder.DEFAULT_BYTE_MODE_ENCODING);
assert.strictEqual(bits.toString(), ' ..X.X.');
// Lower letters such as 'a' cannot be encoded in MODE_ALPHANUMERIC.
try {
- Encoder.appendBytes('a', Mode.ALPHANUMERIC, bits, Encoder.DEFAULT_BYTE_MODE_ENCODING);
+ QRCodeEncoder.appendBytes('a', QRCodeMode.ALPHANUMERIC, bits, QRCodeEncoder.DEFAULT_BYTE_MODE_ENCODING);
} catch (we/*WriterException*/) {
if (we instanceof WriterException) {
// good
@@ -331,46 +323,46 @@ describe('Encoder', () => {
// Should use append8BitBytes.
// 0x61, 0x62, 0x63
bits = new BitArray();
- Encoder.appendBytes('abc', Mode.BYTE, bits, Encoder.DEFAULT_BYTE_MODE_ENCODING);
+ QRCodeEncoder.appendBytes('abc', QRCodeMode.BYTE, bits, QRCodeEncoder.DEFAULT_BYTE_MODE_ENCODING);
assert.strictEqual(bits.toString(), ' .XX....X .XX...X. .XX...XX');
- // Anything can be encoded in QRCode.MODE_8BIT_BYTE.
- // TYPESCRIPTPORT: this seems to be unused: Encoder.appendBytes("\0", Mode.BYTE, bits, Encoder.DEFAULT_BYTE_MODE_ENCODING)
+ // Anything can be encoded in QRCodeEncoderQRCode.MODE_8BIT_BYTE.
+ // TYPESCRIPTPORT: this seems to be unused: QRCodeEncoder.appendBytes("\0", QRCodeMode.BYTE, bits, QRCodeEncoder.DEFAULT_BYTE_MODE_ENCODING)
// Should use appendKanjiBytes.
// 0x93, 0x5f
bits = new BitArray();
- Encoder.appendBytes(shiftJISString(Uint8Array.from([0x93, 0x5f])), Mode.KANJI, bits, Encoder.DEFAULT_BYTE_MODE_ENCODING);
+ QRCodeEncoder.appendBytes(shiftJISString(Uint8Array.from([0x93, 0x5f])), QRCodeMode.KANJI, bits, QRCodeEncoder.DEFAULT_BYTE_MODE_ENCODING);
assert.strictEqual(bits.toString(), ' .XX.XX.. XXXXX');
- StringEncoding.customEncoder = undefined;
- StringEncoding.customDecoder = undefined;
+ ZXingStringEncoding.customEncoder = undefined;
+ ZXingStringEncoding.customDecoder = undefined;
});
it('testTerminateBits', () => {
let v = new BitArray();
- Encoder.terminateBits(0, v);
+ QRCodeEncoder.terminateBits(0, v);
assert.strictEqual(v.toString(), '');
v = new BitArray();
- Encoder.terminateBits(1, v);
+ QRCodeEncoder.terminateBits(1, v);
assert.strictEqual(v.toString(), ' ........');
v = new BitArray();
v.appendBits(0, 3); // Append 000
- Encoder.terminateBits(1, v);
+ QRCodeEncoder.terminateBits(1, v);
assert.strictEqual(v.toString(), ' ........');
v = new BitArray();
v.appendBits(0, 5); // Append 00000
- Encoder.terminateBits(1, v);
+ QRCodeEncoder.terminateBits(1, v);
assert.strictEqual(v.toString(), ' ........');
v = new BitArray();
v.appendBits(0, 8); // Append 00000000
- Encoder.terminateBits(1, v);
+ QRCodeEncoder.terminateBits(1, v);
assert.strictEqual(v.toString(), ' ........');
v = new BitArray();
- Encoder.terminateBits(2, v);
+ QRCodeEncoder.terminateBits(2, v);
assert.strictEqual(v.toString(), ' ........ XXX.XX..');
v = new BitArray();
v.appendBits(0, 1); // Append 0
- Encoder.terminateBits(3, v);
+ QRCodeEncoder.terminateBits(3, v);
assert.strictEqual(v.toString(), ' ........ XXX.XX.. ...X...X');
});
@@ -378,34 +370,34 @@ describe('Encoder', () => {
const numDataBytes = new Int32Array(1); /*Int32Array(1)*/
const numEcBytes = new Int32Array(1); /*Int32Array(1)*/
// Version 1-H.
- Encoder.getNumDataBytesAndNumECBytesForBlockID(26, 9, 1, 0, numDataBytes, numEcBytes);
+ QRCodeEncoder.getNumDataBytesAndNumECBytesForBlockID(26, 9, 1, 0, numDataBytes, numEcBytes);
assert.strictEqual(numDataBytes[0], 9);
assert.strictEqual(numEcBytes[0], 17);
// Version 3-H. 2 blocks.
- Encoder.getNumDataBytesAndNumECBytesForBlockID(70, 26, 2, 0, numDataBytes, numEcBytes);
+ QRCodeEncoder.getNumDataBytesAndNumECBytesForBlockID(70, 26, 2, 0, numDataBytes, numEcBytes);
assert.strictEqual(numDataBytes[0], 13);
assert.strictEqual(numEcBytes[0], 22);
- Encoder.getNumDataBytesAndNumECBytesForBlockID(70, 26, 2, 1, numDataBytes, numEcBytes);
+ QRCodeEncoder.getNumDataBytesAndNumECBytesForBlockID(70, 26, 2, 1, numDataBytes, numEcBytes);
assert.strictEqual(numDataBytes[0], 13);
assert.strictEqual(numEcBytes[0], 22);
// Version 7-H. (4 + 1) blocks.
- Encoder.getNumDataBytesAndNumECBytesForBlockID(196, 66, 5, 0, numDataBytes, numEcBytes);
+ QRCodeEncoder.getNumDataBytesAndNumECBytesForBlockID(196, 66, 5, 0, numDataBytes, numEcBytes);
assert.strictEqual(numDataBytes[0], 13);
assert.strictEqual(numEcBytes[0], 26);
- Encoder.getNumDataBytesAndNumECBytesForBlockID(196, 66, 5, 4, numDataBytes, numEcBytes);
+ QRCodeEncoder.getNumDataBytesAndNumECBytesForBlockID(196, 66, 5, 4, numDataBytes, numEcBytes);
assert.strictEqual(numDataBytes[0], 14);
assert.strictEqual(numEcBytes[0], 26);
// Version 40-H. (20 + 61) blocks.
- Encoder.getNumDataBytesAndNumECBytesForBlockID(3706, 1276, 81, 0, numDataBytes, numEcBytes);
+ QRCodeEncoder.getNumDataBytesAndNumECBytesForBlockID(3706, 1276, 81, 0, numDataBytes, numEcBytes);
assert.strictEqual(numDataBytes[0], 15);
assert.strictEqual(numEcBytes[0], 30);
- Encoder.getNumDataBytesAndNumECBytesForBlockID(3706, 1276, 81, 20, numDataBytes, numEcBytes);
+ QRCodeEncoder.getNumDataBytesAndNumECBytesForBlockID(3706, 1276, 81, 20, numDataBytes, numEcBytes);
assert.strictEqual(numDataBytes[0], 16);
assert.strictEqual(numEcBytes[0], 30);
- Encoder.getNumDataBytesAndNumECBytesForBlockID(3706, 1276, 81, 80, numDataBytes, numEcBytes);
+ QRCodeEncoder.getNumDataBytesAndNumECBytesForBlockID(3706, 1276, 81, 80, numDataBytes, numEcBytes);
assert.strictEqual(numDataBytes[0], 16);
assert.strictEqual(numEcBytes[0], 30);
});
@@ -417,7 +409,7 @@ describe('Encoder', () => {
const dataByte = dataBytes[i];
input.appendBits(dataByte, 8);
}
- let out: BitArray = Encoder.interleaveWithECBytes(input, 26, 9, 1);
+ let out: BitArray = QRCodeEncoder.interleaveWithECBytes(input, 26, 9, 1);
let expected = Uint8Array.from([
// Data bytes.
32, 65, 205, 69, 41, 220, 46, 128, 236,
@@ -428,7 +420,7 @@ describe('Encoder', () => {
assert.strictEqual(out.getSizeInBytes(), expected.length);
let outArray = new Uint8Array(expected.length);
out.toBytes(0, outArray, 0, expected.length);
- // Can't use Arrays.equals(), because outArray may be longer than out.sizeInBytes()
+ // Can't use ZXingArrays.equals(), because outArray may be longer than out.sizeInBytes()
for (let x: number /*int*/ = 0; x < expected.length; x++) {
assert.strictEqual(outArray[x], expected[x]);
}
@@ -447,7 +439,7 @@ describe('Encoder', () => {
input.appendBits(dataByte, 8);
}
- out = Encoder.interleaveWithECBytes(input, 134, 62, 4);
+ out = QRCodeEncoder.interleaveWithECBytes(input, 134, 62, 4);
expected = Uint8Array.from([
// Data bytes.
67, 230, 54, 55, 70, 247, 70, 71, 22, 7, 86, 87, 38, 23, 102, 103, 54, 39,
@@ -476,82 +468,83 @@ describe('Encoder', () => {
it('testAppendNumericBytes', () => {
// 1 = 01 = 0001 in 4 bits.
let bits = new BitArray();
- Encoder.appendNumericBytes('1', bits);
+ QRCodeEncoder.appendNumericBytes('1', bits);
assert.strictEqual(bits.toString(), ' ...X');
// 12 = 0xc = 0001100 in 7 bits.
bits = new BitArray();
- Encoder.appendNumericBytes('12', bits);
+ QRCodeEncoder.appendNumericBytes('12', bits);
assert.strictEqual(bits.toString(), ' ...XX..');
// 123 = 0x7b = 0001111011 in 10 bits.
bits = new BitArray();
- Encoder.appendNumericBytes('123', bits);
+ QRCodeEncoder.appendNumericBytes('123', bits);
assert.strictEqual(bits.toString(), ' ...XXXX. XX');
// 1234 = "123" + "4" = 0001111011 + 0100
bits = new BitArray();
- Encoder.appendNumericBytes('1234', bits);
+ QRCodeEncoder.appendNumericBytes('1234', bits);
assert.strictEqual(bits.toString(), ' ...XXXX. XX.X..');
// Empty.
bits = new BitArray();
- Encoder.appendNumericBytes('', bits);
+ QRCodeEncoder.appendNumericBytes('', bits);
assert.strictEqual(bits.toString(), '');
});
it('testAppendAlphanumericBytes', () => {
// A = 10 = 0xa = 001010 in 6 bits
let bits = new BitArray();
- Encoder.appendAlphanumericBytes('A', bits);
+ QRCodeEncoder.appendAlphanumericBytes('A', bits);
assert.strictEqual(bits.toString(), ' ..X.X.');
// AB = 10 * 45 + 11 = 461 = 0x1cd = 00111001101 in 11 bits
bits = new BitArray();
- Encoder.appendAlphanumericBytes('AB', bits);
+ QRCodeEncoder.appendAlphanumericBytes('AB', bits);
assert.strictEqual(bits.toString(), ' ..XXX..X X.X');
// ABC = "AB" + "C" = 00111001101 + 001100
bits = new BitArray();
- Encoder.appendAlphanumericBytes('ABC', bits);
+ QRCodeEncoder.appendAlphanumericBytes('ABC', bits);
assert.strictEqual(bits.toString(), ' ..XXX..X X.X..XX. .');
// Empty.
bits = new BitArray();
- Encoder.appendAlphanumericBytes('', bits);
+ QRCodeEncoder.appendAlphanumericBytes('', bits);
assert.strictEqual(bits.toString(), '');
// Invalid data.
try {
- Encoder.appendAlphanumericBytes('abc', new BitArray());
+ QRCodeEncoder.appendAlphanumericBytes('abc', new BitArray());
} catch (we/*WriterException*/) {
// good
}
});
it('testAppend8BitBytes', () => {
+ ZXingStringEncoding.customEncoder = (b, e) => createCustomEncoder(e).encode(b);
// 0x61, 0x62, 0x63
let bits = new BitArray();
- Encoder.append8BitBytes('abc', bits, Encoder.DEFAULT_BYTE_MODE_ENCODING);
+ QRCodeEncoder.append8BitBytes('abc', bits, QRCodeEncoder.DEFAULT_BYTE_MODE_ENCODING);
assert.strictEqual(bits.toString(), ' .XX....X .XX...X. .XX...XX');
// Empty.
bits = new BitArray();
- Encoder.append8BitBytes('', bits, Encoder.DEFAULT_BYTE_MODE_ENCODING);
+ QRCodeEncoder.append8BitBytes('', bits, QRCodeEncoder.DEFAULT_BYTE_MODE_ENCODING);
assert.strictEqual(bits.toString(), '');
});
// Numbers are from page 21 of JISX0510:2004
it('testAppendKanjiBytes', () => {
- StringEncoding.customEncoder = (b, e) => createCustomEncoder(e).encode(b);
- StringEncoding.customDecoder = (b, e) => createCustomDecoder(e).decode(b);
+ ZXingStringEncoding.customEncoder = (b, e) => createCustomEncoder(e).encode(b);
+ ZXingStringEncoding.customDecoder = (b, e) => createCustomDecoder(e).decode(b);
const bits = new BitArray();
- Encoder.appendKanjiBytes(shiftJISString(Uint8Array.from([0x93, 0x5f])), bits);
+ QRCodeEncoder.appendKanjiBytes(shiftJISString(Uint8Array.from([0x93, 0x5f])), bits);
assert.strictEqual(bits.toString(), ' .XX.XX.. XXXXX');
- Encoder.appendKanjiBytes(shiftJISString(Uint8Array.from([0xe4, 0xaa])), bits);
+ QRCodeEncoder.appendKanjiBytes(shiftJISString(Uint8Array.from([0xe4, 0xaa])), bits);
assert.strictEqual(bits.toString(), ' .XX.XX.. XXXXXXX. X.X.X.X. X.');
- StringEncoding.customEncoder = undefined;
- StringEncoding.customDecoder = undefined;
+ ZXingStringEncoding.customEncoder = undefined;
+ ZXingStringEncoding.customDecoder = undefined;
});
// Numbers are from http://www.swetake.com/qr/qr3.html and
// http://www.swetake.com/qr/qr9.html
it('testGenerateECBytes', () => {
let dataBytes = Uint8Array.from([32, 65, 205, 69, 41, 220, 46, 128, 236]);
- let ecBytes: Uint8Array = Encoder.generateECBytes(dataBytes, 17);
+ let ecBytes: Uint8Array = QRCodeEncoder.generateECBytes(dataBytes, 17);
let expected = Int32Array.from([
42, 159, 74, 221, 244, 169, 239, 150, 138, 70, 237, 85, 224, 96, 74, 219, 61
]);
@@ -561,7 +554,7 @@ describe('Encoder', () => {
}
dataBytes = Uint8Array.from([67, 70, 22, 38, 54, 70, 86, 102, 118,
134, 150, 166, 182, 198, 214]);
- ecBytes = Encoder.generateECBytes(dataBytes, 18);
+ ecBytes = QRCodeEncoder.generateECBytes(dataBytes, 18);
expected = Int32Array.from([
175, 80, 155, 64, 178, 45, 214, 233, 65, 209, 12, 155, 117, 31, 140, 214, 27, 187
]);
@@ -571,7 +564,7 @@ describe('Encoder', () => {
}
// High-order zero coefficient case.
dataBytes = Uint8Array.from([32, 49, 205, 69, 42, 20, 0, 236, 17]);
- ecBytes = Encoder.generateECBytes(dataBytes, 17);
+ ecBytes = QRCodeEncoder.generateECBytes(dataBytes, 17);
expected = Int32Array.from([
0, 3, 130, 179, 194, 0, 55, 211, 110, 79, 98, 72, 170, 96, 211, 137, 213
]);
@@ -610,16 +603,16 @@ describe('Encoder', () => {
// - To be precise, it needs 11727 + 4 (getMode info) + 14 (length info) =
// 11745 bits = 1468.125 bytes are needed (i.e. cannot fit in 1468
// bytes).
- const builder = new StringBuilder(); // 3518)
+ const builder = new ZXingStringBuilder(); // 3518)
for (let x: number /*int*/ = 0; x < 3518; x++) {
builder.append('0');
}
- Encoder.encode(builder.toString(), ErrorCorrectionLevel.L);
+ QRCodeEncoder.encode(builder.toString(), QRCodeDecoderErrorCorrectionLevel.L);
});
function shiftJISString(bytes: Uint8Array): string {
try {
- return StringEncoding.decode(bytes, CharacterSetECI.SJIS.getName());
+ return ZXingStringEncoding.decode(bytes, CharacterSetECI.SJIS.getName());
} catch (uee/*UnsupportedEncodingException*/) {
throw new WriterException(uee.toString());
}
diff --git a/src/test/core/qrcode/encoder/MaskUtil.spec.ts b/src/test/core/qrcode/encoder/MaskUtil.spec.ts
index 884aa51d..f360207b 100644
--- a/src/test/core/qrcode/encoder/MaskUtil.spec.ts
+++ b/src/test/core/qrcode/encoder/MaskUtil.spec.ts
@@ -17,63 +17,63 @@
/*package com.google.zxing.qrcode.encoder;*/
import * as assert from 'assert';
-import ByteMatrix from '../../../../core/qrcode/encoder/ByteMatrix';
-import MaskUtil from '../../../../core/qrcode/encoder/MaskUtil';
+import { QRCodeByteMatrix } from '@zxing/library';
+import { QRCodeMaskUtil } from '@zxing/library';
/**
* @author satorux@google.com (Satoru Takabayashi) - creator
* @author mysen@google.com (Chris Mysen) - ported from C++
*/
-describe('MaskUtil', () => {
+describe('QRCodeMaskUtil', () => {
it('testApplyMaskPenaltyRule1', () => {
- let matrix = new ByteMatrix(4, 1);
+ let matrix = new QRCodeByteMatrix(4, 1);
matrix.setNumber(0, 0, 0);
matrix.setNumber(1, 0, 0);
matrix.setNumber(2, 0, 0);
matrix.setNumber(3, 0, 0);
- assert.strictEqual(MaskUtil.applyMaskPenaltyRule1(matrix), 0);
+ assert.strictEqual(QRCodeMaskUtil.applyMaskPenaltyRule1(matrix), 0);
// Horizontal.
- matrix = new ByteMatrix(6, 1);
+ matrix = new QRCodeByteMatrix(6, 1);
matrix.setNumber(0, 0, 0);
matrix.setNumber(1, 0, 0);
matrix.setNumber(2, 0, 0);
matrix.setNumber(3, 0, 0);
matrix.setNumber(4, 0, 0);
matrix.setNumber(5, 0, 1);
- assert.strictEqual(MaskUtil.applyMaskPenaltyRule1(matrix), 3);
+ assert.strictEqual(QRCodeMaskUtil.applyMaskPenaltyRule1(matrix), 3);
matrix.setNumber(5, 0, 0);
- assert.strictEqual(MaskUtil.applyMaskPenaltyRule1(matrix), 4);
+ assert.strictEqual(QRCodeMaskUtil.applyMaskPenaltyRule1(matrix), 4);
// Vertical.
- matrix = new ByteMatrix(1, 6);
+ matrix = new QRCodeByteMatrix(1, 6);
matrix.setNumber(0, 0, 0);
matrix.setNumber(0, 1, 0);
matrix.setNumber(0, 2, 0);
matrix.setNumber(0, 3, 0);
matrix.setNumber(0, 4, 0);
matrix.setNumber(0, 5, 1);
- assert.strictEqual(MaskUtil.applyMaskPenaltyRule1(matrix), 3);
+ assert.strictEqual(QRCodeMaskUtil.applyMaskPenaltyRule1(matrix), 3);
matrix.setNumber(0, 5, 0);
- assert.strictEqual(MaskUtil.applyMaskPenaltyRule1(matrix), 4);
+ assert.strictEqual(QRCodeMaskUtil.applyMaskPenaltyRule1(matrix), 4);
});
it('testApplyMaskPenaltyRule2', () => {
- let matrix = new ByteMatrix(1, 1);
+ let matrix = new QRCodeByteMatrix(1, 1);
matrix.setNumber(0, 0, 0);
- assert.strictEqual(MaskUtil.applyMaskPenaltyRule2(matrix), 0);
- matrix = new ByteMatrix(2, 2);
+ assert.strictEqual(QRCodeMaskUtil.applyMaskPenaltyRule2(matrix), 0);
+ matrix = new QRCodeByteMatrix(2, 2);
matrix.setNumber(0, 0, 0);
matrix.setNumber(1, 0, 0);
matrix.setNumber(0, 1, 0);
matrix.setNumber(1, 1, 1);
- assert.strictEqual(MaskUtil.applyMaskPenaltyRule2(matrix), 0);
- matrix = new ByteMatrix(2, 2);
+ assert.strictEqual(QRCodeMaskUtil.applyMaskPenaltyRule2(matrix), 0);
+ matrix = new QRCodeByteMatrix(2, 2);
matrix.setNumber(0, 0, 0);
matrix.setNumber(1, 0, 0);
matrix.setNumber(0, 1, 0);
matrix.setNumber(1, 1, 0);
- assert.strictEqual(MaskUtil.applyMaskPenaltyRule2(matrix), 3);
- matrix = new ByteMatrix(3, 3);
+ assert.strictEqual(QRCodeMaskUtil.applyMaskPenaltyRule2(matrix), 3);
+ matrix = new QRCodeByteMatrix(3, 3);
matrix.setNumber(0, 0, 0);
matrix.setNumber(1, 0, 0);
matrix.setNumber(2, 0, 0);
@@ -84,12 +84,12 @@ describe('MaskUtil', () => {
matrix.setNumber(1, 2, 0);
matrix.setNumber(2, 2, 0);
// Four instances of 2x2 blocks.
- assert.strictEqual(MaskUtil.applyMaskPenaltyRule2(matrix), 3 * 4);
+ assert.strictEqual(QRCodeMaskUtil.applyMaskPenaltyRule2(matrix), 3 * 4);
});
it('testApplyMaskPenaltyRule3', () => {
// Horizontal 00001011101.
- let matrix = new ByteMatrix(11, 1);
+ let matrix = new QRCodeByteMatrix(11, 1);
matrix.setNumber(0, 0, 0);
matrix.setNumber(1, 0, 0);
matrix.setNumber(2, 0, 0);
@@ -101,9 +101,9 @@ describe('MaskUtil', () => {
matrix.setNumber(8, 0, 1);
matrix.setNumber(9, 0, 0);
matrix.setNumber(10, 0, 1);
- assert.strictEqual(MaskUtil.applyMaskPenaltyRule3(matrix), 40);
+ assert.strictEqual(QRCodeMaskUtil.applyMaskPenaltyRule3(matrix), 40);
// Horizontal 10111010000.
- matrix = new ByteMatrix(11, 1);
+ matrix = new QRCodeByteMatrix(11, 1);
matrix.setNumber(0, 0, 1);
matrix.setNumber(1, 0, 0);
matrix.setNumber(2, 0, 1);
@@ -115,9 +115,9 @@ describe('MaskUtil', () => {
matrix.setNumber(8, 0, 0);
matrix.setNumber(9, 0, 0);
matrix.setNumber(10, 0, 0);
- assert.strictEqual(MaskUtil.applyMaskPenaltyRule3(matrix), 40);
+ assert.strictEqual(QRCodeMaskUtil.applyMaskPenaltyRule3(matrix), 40);
// Vertical 00001011101.
- matrix = new ByteMatrix(1, 11);
+ matrix = new QRCodeByteMatrix(1, 11);
matrix.setNumber(0, 0, 0);
matrix.setNumber(0, 1, 0);
matrix.setNumber(0, 2, 0);
@@ -129,9 +129,9 @@ describe('MaskUtil', () => {
matrix.setNumber(0, 8, 1);
matrix.setNumber(0, 9, 0);
matrix.setNumber(0, 10, 1);
- assert.strictEqual(MaskUtil.applyMaskPenaltyRule3(matrix), 40);
+ assert.strictEqual(QRCodeMaskUtil.applyMaskPenaltyRule3(matrix), 40);
// Vertical 10111010000.
- matrix = new ByteMatrix(1, 11);
+ matrix = new QRCodeByteMatrix(1, 11);
matrix.setNumber(0, 0, 1);
matrix.setNumber(0, 1, 0);
matrix.setNumber(0, 2, 1);
@@ -143,34 +143,34 @@ describe('MaskUtil', () => {
matrix.setNumber(0, 8, 0);
matrix.setNumber(0, 9, 0);
matrix.setNumber(0, 10, 0);
- assert.strictEqual(MaskUtil.applyMaskPenaltyRule3(matrix), 40);
+ assert.strictEqual(QRCodeMaskUtil.applyMaskPenaltyRule3(matrix), 40);
});
it('testApplyMaskPenaltyRule4', () => {
// Dark cell ratio = 0%
- let matrix = new ByteMatrix(1, 1);
+ let matrix = new QRCodeByteMatrix(1, 1);
matrix.setNumber(0, 0, 0);
- assert.strictEqual(MaskUtil.applyMaskPenaltyRule4(matrix), 100);
+ assert.strictEqual(QRCodeMaskUtil.applyMaskPenaltyRule4(matrix), 100);
// Dark cell ratio = 5%
- matrix = new ByteMatrix(2, 1);
+ matrix = new QRCodeByteMatrix(2, 1);
matrix.setNumber(0, 0, 0);
matrix.setNumber(0, 0, 1);
- assert.strictEqual(MaskUtil.applyMaskPenaltyRule4(matrix), 0);
+ assert.strictEqual(QRCodeMaskUtil.applyMaskPenaltyRule4(matrix), 0);
// Dark cell ratio = 66.67%
- matrix = new ByteMatrix(6, 1);
+ matrix = new QRCodeByteMatrix(6, 1);
matrix.setNumber(0, 0, 0);
matrix.setNumber(1, 0, 1);
matrix.setNumber(2, 0, 1);
matrix.setNumber(3, 0, 1);
matrix.setNumber(4, 0, 1);
matrix.setNumber(5, 0, 0);
- assert.strictEqual(MaskUtil.applyMaskPenaltyRule4(matrix), 30);
+ assert.strictEqual(QRCodeMaskUtil.applyMaskPenaltyRule4(matrix), 30);
});
function TestGetDataMaskBitInternal(maskPattern: number /*int*/, expected: Array): boolean {
for (let x: number /*int*/ = 0; x < 6; ++x) {
for (let y: number /*int*/ = 0; y < 6; ++y) {
- if ((expected[y][x] === 1) !== MaskUtil.getDataMaskBit(maskPattern, x, y)) {
+ if ((expected[y][x] === 1) !== QRCodeMaskUtil.getDataMaskBit(maskPattern, x, y)) {
return false;
}
}
diff --git a/src/test/core/qrcode/encoder/MatrixUtil.spec.ts b/src/test/core/qrcode/encoder/MatrixUtil.spec.ts
index b60bd580..613becd9 100644
--- a/src/test/core/qrcode/encoder/MatrixUtil.spec.ts
+++ b/src/test/core/qrcode/encoder/MatrixUtil.spec.ts
@@ -1,7 +1,7 @@
/*
* Copyright 2008 ZXing authors
*
- * Licensed under the Apache License, Version 2.0 (the "License")
+ * Licensed under the Apache License, QRCodeVersion 2.0 (the "License")
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
@@ -17,20 +17,20 @@
/*package com.google.zxing.qrcode.encoder;*/
import * as assert from 'assert';
-import BitArray from '../../../../core/common/BitArray';
-import ByteMatrix from '../../../../core/qrcode/encoder/ByteMatrix';
-import MatrixUtil from '../../../../core/qrcode/encoder/MatrixUtil';
-import ErrorCorrectionLevel from '../../../../core/qrcode/decoder/ErrorCorrectionLevel';
-import Version from '../../../../core/qrcode/decoder/Version';
+import { BitArray } from '@zxing/library';
+import { QRCodeByteMatrix } from '@zxing/library';
+import { QRCodeMatrixUtil } from '@zxing/library';
+import { QRCodeDecoderErrorCorrectionLevel } from '@zxing/library';
+import { QRCodeVersion } from '@zxing/library';
/**
* @author satorux@google.com (Satoru Takabayashi) - creator
* @author mysen@google.com (Chris Mysen) - ported from C++
*/
-describe('MatrixUtil', () => {
+describe('QRCodeMatrixUtil', () => {
it('testToString', () => {
- const array = new ByteMatrix(3, 3);
+ const array = new QRCodeByteMatrix(3, 3);
array.setNumber(0, 0, 0);
array.setNumber(1, 0, 1);
array.setNumber(2, 0, 0);
@@ -45,8 +45,8 @@ describe('MatrixUtil', () => {
});
it('testClearMatrix', () => {
- const matrix = new ByteMatrix(2, 2);
- MatrixUtil.clearMatrix(matrix);
+ const matrix = new QRCodeByteMatrix(2, 2);
+ QRCodeMatrixUtil.clearMatrix(matrix);
// TYPESCRIPTPORT: we use UintArray se changed here from -1 to 255
assert.strictEqual(matrix.get(0, 0), 255);
assert.strictEqual(matrix.get(1, 0), 255);
@@ -55,10 +55,10 @@ describe('MatrixUtil', () => {
});
it('testEmbedBasicPatterns1', () => {
- // Version 1.
- const matrix = new ByteMatrix(21, 21);
- MatrixUtil.clearMatrix(matrix);
- MatrixUtil.embedBasicPatterns(Version.getVersionForNumber(1), matrix);
+ // QRCodeVersion 1.
+ const matrix = new QRCodeByteMatrix(21, 21);
+ QRCodeMatrixUtil.clearMatrix(matrix);
+ QRCodeMatrixUtil.embedBasicPatterns(QRCodeVersion.getVersionForNumber(1), matrix);
const expected: string =
' 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1\n' +
' 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1\n' +
@@ -85,11 +85,11 @@ describe('MatrixUtil', () => {
});
it('testEmbedBasicPatterns2', () => {
- // Version 2. Position adjustment pattern should apppear at right
+ // QRCodeVersion 2. Position adjustment pattern should apppear at right
// bottom corner.
- const matrix = new ByteMatrix(25, 25);
- MatrixUtil.clearMatrix(matrix);
- MatrixUtil.embedBasicPatterns(Version.getVersionForNumber(2), matrix);
+ const matrix = new QRCodeByteMatrix(25, 25);
+ QRCodeMatrixUtil.clearMatrix(matrix);
+ QRCodeMatrixUtil.embedBasicPatterns(QRCodeVersion.getVersionForNumber(2), matrix);
const expected: string =
' 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1\n' +
' 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1\n' +
@@ -121,9 +121,9 @@ describe('MatrixUtil', () => {
it('testEmbedTypeInfo', () => {
// Type info bits = 100000011001110.
- const matrix = new ByteMatrix(21, 21);
- MatrixUtil.clearMatrix(matrix);
- MatrixUtil.embedTypeInfo(ErrorCorrectionLevel.M, 5, matrix);
+ const matrix = new QRCodeByteMatrix(21, 21);
+ QRCodeMatrixUtil.clearMatrix(matrix);
+ QRCodeMatrixUtil.embedTypeInfo(QRCodeDecoderErrorCorrectionLevel.M, 5, matrix);
const expected: string =
' 0 \n' +
' 1 \n' +
@@ -150,12 +150,12 @@ describe('MatrixUtil', () => {
});
it('testEmbedVersionInfo', () => {
- // Version info bits = 000111 110010 010100
+ // QRCodeVersion info bits = 000111 110010 010100
// Actually, version 7 QR Code has 45x45 matrix but we use 21x21 here
// since 45x45 matrix is too big to depict.
- const matrix = new ByteMatrix(21, 21);
- MatrixUtil.clearMatrix(matrix);
- MatrixUtil.maybeEmbedVersionInfo(Version.getVersionForNumber(7), matrix);
+ const matrix = new QRCodeByteMatrix(21, 21);
+ QRCodeMatrixUtil.clearMatrix(matrix);
+ QRCodeMatrixUtil.maybeEmbedVersionInfo(QRCodeVersion.getVersionForNumber(7), matrix);
const expected: string =
' 0 0 1 \n' +
' 0 1 0 \n' +
@@ -183,11 +183,11 @@ describe('MatrixUtil', () => {
it('testEmbedDataBits', () => {
// Cells other than basic patterns should be filled with zero.
- const matrix = new ByteMatrix(21, 21);
- MatrixUtil.clearMatrix(matrix);
- MatrixUtil.embedBasicPatterns(Version.getVersionForNumber(1), matrix);
+ const matrix = new QRCodeByteMatrix(21, 21);
+ QRCodeMatrixUtil.clearMatrix(matrix);
+ QRCodeMatrixUtil.embedBasicPatterns(QRCodeVersion.getVersionForNumber(1), matrix);
const bits = new BitArray();
- MatrixUtil.embedDataBits(bits, 255, matrix);
+ QRCodeMatrixUtil.embedDataBits(bits, 255, matrix);
const expected: string =
' 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1\n' +
' 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1\n' +
@@ -223,10 +223,10 @@ describe('MatrixUtil', () => {
const c = bytes[i];
bits.appendBits(c, 8);
}
- const matrix = new ByteMatrix(21, 21);
- MatrixUtil.buildMatrix(bits,
- ErrorCorrectionLevel.H,
- Version.getVersionForNumber(1), // Version 1
+ const matrix = new QRCodeByteMatrix(21, 21);
+ QRCodeMatrixUtil.buildMatrix(bits,
+ QRCodeDecoderErrorCorrectionLevel.H,
+ QRCodeVersion.getVersionForNumber(1), // QRCodeVersion 1
3, // Mask pattern 3
matrix);
const expected: string =
@@ -255,30 +255,30 @@ describe('MatrixUtil', () => {
});
it('testFindMSBSet', () => {
- assert.strictEqual(MatrixUtil.findMSBSet(0), 0);
- assert.strictEqual(MatrixUtil.findMSBSet(1), 1);
- assert.strictEqual(MatrixUtil.findMSBSet(0x80), 8);
- assert.strictEqual(MatrixUtil.findMSBSet(0x80000000), 32);
+ assert.strictEqual(QRCodeMatrixUtil.findMSBSet(0), 0);
+ assert.strictEqual(QRCodeMatrixUtil.findMSBSet(1), 1);
+ assert.strictEqual(QRCodeMatrixUtil.findMSBSet(0x80), 8);
+ assert.strictEqual(QRCodeMatrixUtil.findMSBSet(0x80000000), 32);
});
it('testCalculateBCHCode', () => {
// Encoding of type information.
// From Appendix C in JISX0510:2004 (p 65)
- assert.strictEqual(MatrixUtil.calculateBCHCode(5, 0x537), 0xdc);
+ assert.strictEqual(QRCodeMatrixUtil.calculateBCHCode(5, 0x537), 0xdc);
// From http://www.swetake.com/qr/qr6.html
- assert.strictEqual(MatrixUtil.calculateBCHCode(0x13, 0x537), 0x1c2);
+ assert.strictEqual(QRCodeMatrixUtil.calculateBCHCode(0x13, 0x537), 0x1c2);
// From http://www.swetake.com/qr/qr11.html
- assert.strictEqual(MatrixUtil.calculateBCHCode(0x1b, 0x537), 0x214);
+ assert.strictEqual(QRCodeMatrixUtil.calculateBCHCode(0x1b, 0x537), 0x214);
// Encoding of version information.
// From Appendix D in JISX0510:2004 (p 68)
- assert.strictEqual(MatrixUtil.calculateBCHCode(7, 0x1f25), 0xc94);
- assert.strictEqual(MatrixUtil.calculateBCHCode(8, 0x1f25), 0x5bc);
- assert.strictEqual(MatrixUtil.calculateBCHCode(9, 0x1f25), 0xa99);
- assert.strictEqual(MatrixUtil.calculateBCHCode(10, 0x1f25), 0x4d3);
- assert.strictEqual(MatrixUtil.calculateBCHCode(20, 0x1f25), 0x9a6);
- assert.strictEqual(MatrixUtil.calculateBCHCode(30, 0x1f25), 0xd75);
- assert.strictEqual(MatrixUtil.calculateBCHCode(40, 0x1f25), 0xc69);
+ assert.strictEqual(QRCodeMatrixUtil.calculateBCHCode(7, 0x1f25), 0xc94);
+ assert.strictEqual(QRCodeMatrixUtil.calculateBCHCode(8, 0x1f25), 0x5bc);
+ assert.strictEqual(QRCodeMatrixUtil.calculateBCHCode(9, 0x1f25), 0xa99);
+ assert.strictEqual(QRCodeMatrixUtil.calculateBCHCode(10, 0x1f25), 0x4d3);
+ assert.strictEqual(QRCodeMatrixUtil.calculateBCHCode(20, 0x1f25), 0x9a6);
+ assert.strictEqual(QRCodeMatrixUtil.calculateBCHCode(30, 0x1f25), 0xd75);
+ assert.strictEqual(QRCodeMatrixUtil.calculateBCHCode(40, 0x1f25), 0xc69);
});
// We don't test a lot of cases in this function since we've already
@@ -286,7 +286,7 @@ describe('MatrixUtil', () => {
it('testMakeVersionInfoBits', () => {
// From Appendix D in JISX0510:2004 (p 68)
const bits = new BitArray();
- MatrixUtil.makeVersionInfoBits(Version.getVersionForNumber(7), bits);
+ QRCodeMatrixUtil.makeVersionInfoBits(QRCodeVersion.getVersionForNumber(7), bits);
assert.strictEqual(bits.toString(), ' ...XXXXX ..X..X.X ..');
});
@@ -295,7 +295,7 @@ describe('MatrixUtil', () => {
it('testMakeTypeInfoInfoBits', () => {
// From Appendix C in JISX0510:2004 (p 65)
const bits = new BitArray();
- MatrixUtil.makeTypeInfoBits(ErrorCorrectionLevel.M, 5, bits);
+ QRCodeMatrixUtil.makeTypeInfoBits(QRCodeDecoderErrorCorrectionLevel.M, 5, bits);
assert.strictEqual(bits.toString(), ' X......X X..XXX.');
});
diff --git a/src/test/core/qrcode/encoder/QRCode.spec.ts b/src/test/core/qrcode/encoder/QRCode.spec.ts
index a753b4d5..06c10617 100644
--- a/src/test/core/qrcode/encoder/QRCode.spec.ts
+++ b/src/test/core/qrcode/encoder/QRCode.spec.ts
@@ -17,35 +17,35 @@
/*package com.google.zxing.qrcode.encoder;*/
import * as assert from 'assert';
-import ErrorCorrectionLevel from '../../../../core/qrcode/decoder/ErrorCorrectionLevel';
-import Mode from '../../../../core/qrcode/decoder/Mode';
-import Version from '../../../../core/qrcode/decoder/Version';
-import QRCode from '../../../../core/qrcode/encoder/QRCode';
-import ByteMatrix from '../../../../core/qrcode/encoder/ByteMatrix';
+import { QRCodeDecoderErrorCorrectionLevel } from '@zxing/library';
+import { QRCodeMode } from '@zxing/library';
+import { QRCodeVersion } from '@zxing/library';
+import { QRCodeEncoderQRCode } from '@zxing/library';
+import { QRCodeByteMatrix } from '@zxing/library';
/**
* @author satorux@google.com (Satoru Takabayashi) - creator
* @author mysen@google.com (Chris Mysen) - ported from C++
*/
-describe('QRCode', () => {
+describe('QRCodeEncoderQRCode', () => {
it('test', () => {
- const qrCode = new QRCode();
+ const qrCode = new QRCodeEncoderQRCode();
// First, test simple setters and getters.
// We use numbers of version 7-H.
- qrCode.setMode(Mode.BYTE);
- qrCode.setECLevel(ErrorCorrectionLevel.H);
- qrCode.setVersion(Version.getVersionForNumber(7));
+ qrCode.setMode(QRCodeMode.BYTE);
+ qrCode.setECLevel(QRCodeDecoderErrorCorrectionLevel.H);
+ qrCode.setVersion(QRCodeVersion.getVersionForNumber(7));
qrCode.setMaskPattern(3);
- assert.strictEqual(Mode.BYTE.equals(qrCode.getMode()), true);
- assert.strictEqual(ErrorCorrectionLevel.H.equals(qrCode.getECLevel()), true);
+ assert.strictEqual(QRCodeMode.BYTE.equals(qrCode.getMode()), true);
+ assert.strictEqual(QRCodeDecoderErrorCorrectionLevel.H.equals(qrCode.getECLevel()), true);
assert.strictEqual(qrCode.getVersion().getVersionNumber(), 7);
assert.strictEqual(qrCode.getMaskPattern(), 3);
// Prepare the matrix.
- const matrix = new ByteMatrix(45, 45);
+ const matrix = new QRCodeByteMatrix(45, 45);
// Just set bogus zero/one values.
for (let y: number /*int*/ = 0; y < 45; ++y) {
for (let x: number /*int*/ = 0; x < 45; ++x) {
@@ -59,7 +59,7 @@ describe('QRCode', () => {
});
it('testToString1', () => {
- const qrCode = new QRCode();
+ const qrCode = new QRCodeEncoderQRCode();
const expected: string =
'<<\n' +
' mode: null\n' +
@@ -72,12 +72,12 @@ describe('QRCode', () => {
});
it('testToString2', () => {
- const qrCode = new QRCode();
- qrCode.setMode(Mode.BYTE);
- qrCode.setECLevel(ErrorCorrectionLevel.H);
- qrCode.setVersion(Version.getVersionForNumber(1));
+ const qrCode = new QRCodeEncoderQRCode();
+ qrCode.setMode(QRCodeMode.BYTE);
+ qrCode.setECLevel(QRCodeDecoderErrorCorrectionLevel.H);
+ qrCode.setVersion(QRCodeVersion.getVersionForNumber(1));
qrCode.setMaskPattern(3);
- const matrix = new ByteMatrix(21, 21);
+ const matrix = new QRCodeByteMatrix(21, 21);
for (let y: number /*int*/ = 0; y < 21; ++y) {
for (let x: number /*int*/ = 0; x < 21; ++x) {
matrix.setNumber(x, y, (y + x) % 2);
@@ -116,10 +116,10 @@ describe('QRCode', () => {
});
it('testIsValidMaskPattern', () => {
- assert.strictEqual(QRCode.isValidMaskPattern(-1), false);
- assert.strictEqual(QRCode.isValidMaskPattern(0), true);
- assert.strictEqual(QRCode.isValidMaskPattern(7), true);
- assert.strictEqual(QRCode.isValidMaskPattern(8), false);
+ assert.strictEqual(QRCodeEncoderQRCode.isValidMaskPattern(-1), false);
+ assert.strictEqual(QRCodeEncoderQRCode.isValidMaskPattern(0), true);
+ assert.strictEqual(QRCodeEncoderQRCode.isValidMaskPattern(7), true);
+ assert.strictEqual(QRCodeEncoderQRCode.isValidMaskPattern(8), false);
});
});
diff --git a/src/test/core/util/SharpImage.ts b/src/test/core/util/SharpImage.ts
index 4d0c581a..91b29e7d 100644
--- a/src/test/core/util/SharpImage.ts
+++ b/src/test/core/util/SharpImage.ts
@@ -1,5 +1,6 @@
import * as sharp from 'sharp';
-import BitMatrix from '../../../core/common/BitMatrix';
+
+import { BitMatrix } from '@zxing/library';
export default class SharpImage {
diff --git a/src/test/core/util/textEncodingFactory.ts b/src/test/core/util/textEncodingFactory.ts
new file mode 100644
index 00000000..9d206834
--- /dev/null
+++ b/src/test/core/util/textEncodingFactory.ts
@@ -0,0 +1,9 @@
+import { TextEncoder, TextDecoder } from '@zxing/text-encoding';
+
+export function createCustomEncoder(e: string) {
+ return new TextEncoder(e, { NONSTANDARD_allowLegacyEncoding: true });
+}
+
+export function createCustomDecoder(e: string) {
+ return new TextDecoder(e);
+}
diff --git a/tsconfig.json b/tsconfig.json
index 9f1e952d..c7235fad 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,5 +1,6 @@
{
"compilerOptions": {
+ "baseUrl": "./",
"module": "commonjs",
"target": "es5",
"moduleResolution": "node",
@@ -7,18 +8,22 @@
"es7",
"dom"
],
- "outDir": "./esm5/",
"alwaysStrict": true,
"noImplicitAny": false,
"sourceMap": true,
"declaration": true,
"preserveConstEnums": true,
"downlevelIteration": true,
+ "paths": {
+ "@zxing/library": [
+ "./dist"
+ ],
+ "@zxing/library/*": [
+ "./dist/*"
+ ]
+ }
},
"include": [
"src/**/*.ts"
- ],
- "exclude": [
- "src/test"
]
}
\ No newline at end of file
diff --git a/tsconfig.lib-cjs.json b/tsconfig.lib-cjs.json
new file mode 100644
index 00000000..26b017ea
--- /dev/null
+++ b/tsconfig.lib-cjs.json
@@ -0,0 +1,11 @@
+{
+ "extends": "./tsconfig.json",
+ "compilerOptions": {
+ "module": "commonjs",
+ "target": "es5",
+ "outDir": "dist/cjs"
+ },
+ "exclude": [
+ "src/test"
+ ]
+}
\ No newline at end of file
diff --git a/tsconfig.lib-es2015.json b/tsconfig.lib-es2015.json
new file mode 100644
index 00000000..47aa9778
--- /dev/null
+++ b/tsconfig.lib-es2015.json
@@ -0,0 +1,11 @@
+{
+ "extends": "./tsconfig.json",
+ "compilerOptions": {
+ "module": "es2015",
+ "target": "es2015",
+ "outDir": "dist/es2015"
+ },
+ "exclude": [
+ "src/test"
+ ]
+}
\ No newline at end of file
diff --git a/tsconfig.lib-esm.json b/tsconfig.lib-esm.json
new file mode 100644
index 00000000..98aebc8f
--- /dev/null
+++ b/tsconfig.lib-esm.json
@@ -0,0 +1,11 @@
+{
+ "extends": "./tsconfig.json",
+ "compilerOptions": {
+ "module": "es2015",
+ "target": "es5",
+ "outDir": "dist/esm"
+ },
+ "exclude": [
+ "src/test"
+ ]
+}
\ No newline at end of file
diff --git a/tsconfig.test.json b/tsconfig.test.json
new file mode 100644
index 00000000..2f3616e3
--- /dev/null
+++ b/tsconfig.test.json
@@ -0,0 +1,20 @@
+{
+ "extends": "./tsconfig.json",
+ "compilerOptions": {
+ "target": "es6",
+ "module": "commonjs",
+ "moduleResolution": "node",
+ "lib": [
+ "es7",
+ "dom"
+ ],
+ "outDir": "output/tests"
+ },
+ "include": [
+ "src/test/**/*.ts"
+ ],
+ "exclude": [
+ "node_modules",
+ "src/core"
+ ]
+}
\ No newline at end of file
diff --git a/webpack.config.js b/webpack.config.js
deleted file mode 100644
index 30f8220f..00000000
--- a/webpack.config.js
+++ /dev/null
@@ -1,135 +0,0 @@
-// helpers
-const camelCaseToDash = (str) => str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
-const dashToCamelCase = (str) => str.replace(/-([a-z])/g, (g) => g[1].toUpperCase());
-const toUpperCase = (str) => `${str.charAt(0).toUpperCase()}${str.substr(1)}`;
-const pascalCase = (str) => toUpperCase(dashToCamelCase(str));
-
-// webpack requires
-const webpack = require('webpack');
-
-const {
- removeEmpty
-} = require('webpack-config-utils');
-
-const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
-
-// common requires
-const {
- resolve
-} = require('path');
-
-/**
- * this is equal to 'webpack --env=dev'
- *
- * @see https://webpack.js.org/configuration/configuration-types/#exporting-a-function-to-use-env
- */
-const config = (env, argv) => {
-
- const mode = argv.mode;
- const isProd = mode === 'production';
- const ifProd = (whenProd, whenNot) => (isProd ? whenProd : whenNot);
-
- /**
- * Configuration for Universal Module Definition bundling.
- */
- return [{
-
- /**
- * These are the entry point of our library. We tell webpack to use
- * the name we assign later, when creating the bundle. We also use
- * the name to filter the second entry point for applying code
- * minification via UglifyJS
- */
- entry: {
- [`index${ifProd('.min', '')}`]: ['./src/index.ts'],
- },
-
- /**
- * The output defines how and where we want the bundles. The special
- * value `[name]` in `filename` tell Webpack to use the name we defined above.
- */
- output: {
- path: resolve(__dirname, 'umd'),
- // module format
- libraryTarget: 'umd',
- // library name to be used in browser (e.g. `window.ZXing`).
- library: 'ZXing',
- // will name the AMD module of the UMD build. Otherwise an anonymous define is used.
- umdNamedDefine: true
- },
-
- /**
- * Add resolve for `ts` files, otherwise Webpack would
- * only look for common JavaScript file extension (.js)
- */
- resolve: {
- extensions: ['.ts'],
- },
-
- /**
- * Optimizations Webpack shall apply.
- */
- optimization: {
- splitChunks: {
- chunks: 'all'
- }
- },
-
- /**
- * Activate source maps for the bundles in order to preserve the original
- * source when the user debugs the application
- */
- devtool: 'source-map',
-
- /**
- * Plugins to be used by webpack.
- */
- plugins: removeEmpty([
-
- /**
- * Enable scope hoisting.
- */
- new webpack.optimize.ModuleConcatenationPlugin(),
-
- /**
- * Apply minification only on the second bundle by
- * using a RegEx on the name, which must end with `.min.js`
- */
- ifProd(
- new UglifyJsPlugin({
- sourceMap: true,
- uglifyOptions: {
- compress: true,
- output: {
- comments: false
- }
- }
- })
- ),
-
- /**
- * Plugin for defining environment variables.
- */
- new webpack.DefinePlugin({
- 'process.env': {
- NODE_ENV: mode
- },
- }),
-
- ]),
-
- /**
- * Defines module packing configuration, I guess
- */
- module: {
- rules: [{
- test: /\.ts?$/,
- include: /src/,
- exclude: /src\/test/,
- loader: 'awesome-typescript-loader',
- }],
- },
- }];
-};
-
-module.exports = config;
diff --git a/webpack.config.test.js b/webpack.config.test.js
deleted file mode 100644
index 7f088fdf..00000000
--- a/webpack.config.test.js
+++ /dev/null
@@ -1,35 +0,0 @@
-const nodeExternals = require('webpack-node-externals');
-const path = require('path');
-
-const ProvidePlugin = require('webpack').ProvidePlugin;
-
-module.exports = (env, argv) => {
-
- const isDebug = env == 'dbg';
- const loaders = [];
-
- if (!isDebug) {
- loaders.push('istanbul-instrumenter-loader');
- }
-
- loaders.push('ts-loader');
-
- return {
- mode: 'development',
- entry: './src/index.ts',
- resolve: {
- extensions: ['.ts'],
- },
- module: {
- rules: [{
- test: /\.ts$/,
- exclude: /node_modules/,
- include: path.resolve('src'), // instrument only testing sources with Istanbul, after ts-loader runs
- use: loaders
- }],
- },
- target: 'node', // webpack should compile node compatible code
- externals: [nodeExternals()], // in order to ignore all modules in node_modules folder
- devtool: 'inline-cheap-module-source-map'
- };
-};
diff --git a/yarn.lock b/yarn.lock
index 6eca3e5d..1f4fe895 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,46 +2,140 @@
# yarn lockfile v1
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5":
+"@babel/code-frame@^7.0.0":
version "7.5.5"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d"
integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==
dependencies:
"@babel/highlight" "^7.0.0"
-"@babel/generator@^7.4.0", "@babel/generator@^7.5.5":
- version "7.5.5"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.5.tgz#873a7f936a3c89491b43536d12245b626664e3cf"
- integrity sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ==
+"@babel/code-frame@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a"
+ integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==
+ dependencies:
+ "@babel/highlight" "^7.10.4"
+
+"@babel/core@^7.7.5":
+ version "7.12.3"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.3.tgz#1b436884e1e3bff6fb1328dc02b208759de92ad8"
+ integrity sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==
+ dependencies:
+ "@babel/code-frame" "^7.10.4"
+ "@babel/generator" "^7.12.1"
+ "@babel/helper-module-transforms" "^7.12.1"
+ "@babel/helpers" "^7.12.1"
+ "@babel/parser" "^7.12.3"
+ "@babel/template" "^7.10.4"
+ "@babel/traverse" "^7.12.1"
+ "@babel/types" "^7.12.1"
+ convert-source-map "^1.7.0"
+ debug "^4.1.0"
+ gensync "^1.0.0-beta.1"
+ json5 "^2.1.2"
+ lodash "^4.17.19"
+ resolve "^1.3.2"
+ semver "^5.4.1"
+ source-map "^0.5.0"
+
+"@babel/generator@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.1.tgz#0d70be32bdaa03d7c51c8597dda76e0df1f15468"
+ integrity sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==
dependencies:
- "@babel/types" "^7.5.5"
+ "@babel/types" "^7.12.1"
jsesc "^2.5.1"
- lodash "^4.17.13"
source-map "^0.5.0"
- trim-right "^1.0.1"
-"@babel/helper-function-name@^7.1.0":
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53"
- integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==
+"@babel/helper-function-name@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a"
+ integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==
+ dependencies:
+ "@babel/helper-get-function-arity" "^7.10.4"
+ "@babel/template" "^7.10.4"
+ "@babel/types" "^7.10.4"
+
+"@babel/helper-get-function-arity@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2"
+ integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==
+ dependencies:
+ "@babel/types" "^7.10.4"
+
+"@babel/helper-member-expression-to-functions@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz#fba0f2fcff3fba00e6ecb664bb5e6e26e2d6165c"
+ integrity sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==
+ dependencies:
+ "@babel/types" "^7.12.1"
+
+"@babel/helper-module-imports@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.1.tgz#1644c01591a15a2f084dd6d092d9430eb1d1216c"
+ integrity sha512-ZeC1TlMSvikvJNy1v/wPIazCu3NdOwgYZLIkmIyAsGhqkNpiDoQQRmaCK8YP4Pq3GPTLPV9WXaPCJKvx06JxKA==
+ dependencies:
+ "@babel/types" "^7.12.1"
+
+"@babel/helper-module-transforms@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz#7954fec71f5b32c48e4b303b437c34453fd7247c"
+ integrity sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==
+ dependencies:
+ "@babel/helper-module-imports" "^7.12.1"
+ "@babel/helper-replace-supers" "^7.12.1"
+ "@babel/helper-simple-access" "^7.12.1"
+ "@babel/helper-split-export-declaration" "^7.11.0"
+ "@babel/helper-validator-identifier" "^7.10.4"
+ "@babel/template" "^7.10.4"
+ "@babel/traverse" "^7.12.1"
+ "@babel/types" "^7.12.1"
+ lodash "^4.17.19"
+
+"@babel/helper-optimise-call-expression@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673"
+ integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==
dependencies:
- "@babel/helper-get-function-arity" "^7.0.0"
- "@babel/template" "^7.1.0"
- "@babel/types" "^7.0.0"
+ "@babel/types" "^7.10.4"
-"@babel/helper-get-function-arity@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3"
- integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==
+"@babel/helper-replace-supers@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz#f15c9cc897439281891e11d5ce12562ac0cf3fa9"
+ integrity sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw==
dependencies:
- "@babel/types" "^7.0.0"
+ "@babel/helper-member-expression-to-functions" "^7.12.1"
+ "@babel/helper-optimise-call-expression" "^7.10.4"
+ "@babel/traverse" "^7.12.1"
+ "@babel/types" "^7.12.1"
-"@babel/helper-split-export-declaration@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677"
- integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==
+"@babel/helper-simple-access@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136"
+ integrity sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==
dependencies:
- "@babel/types" "^7.4.4"
+ "@babel/types" "^7.12.1"
+
+"@babel/helper-split-export-declaration@^7.11.0":
+ version "7.11.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f"
+ integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==
+ dependencies:
+ "@babel/types" "^7.11.0"
+
+"@babel/helper-validator-identifier@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2"
+ integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==
+
+"@babel/helpers@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.1.tgz#8a8261c1d438ec18cb890434df4ec768734c1e79"
+ integrity sha512-9JoDSBGoWtmbay98efmT2+mySkwjzeFeAL9BuWNoVQpkPFQF8SIIFUfY5os9u8wVzglzoiPRSW7cuJmBDUt43g==
+ dependencies:
+ "@babel/template" "^7.10.4"
+ "@babel/traverse" "^7.12.1"
+ "@babel/types" "^7.12.1"
"@babel/highlight@^7.0.0":
version "7.5.0"
@@ -52,44 +146,89 @@
esutils "^2.0.2"
js-tokens "^4.0.0"
-"@babel/parser@^7.4.3", "@babel/parser@^7.4.4", "@babel/parser@^7.5.5":
- version "7.5.5"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b"
- integrity sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==
-
-"@babel/template@^7.1.0", "@babel/template@^7.4.0":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237"
- integrity sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==
+"@babel/highlight@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143"
+ integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==
dependencies:
- "@babel/code-frame" "^7.0.0"
- "@babel/parser" "^7.4.4"
- "@babel/types" "^7.4.4"
+ "@babel/helper-validator-identifier" "^7.10.4"
+ chalk "^2.0.0"
+ js-tokens "^4.0.0"
-"@babel/traverse@^7.4.3":
- version "7.5.5"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.5.tgz#f664f8f368ed32988cd648da9f72d5ca70f165bb"
- integrity sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ==
- dependencies:
- "@babel/code-frame" "^7.5.5"
- "@babel/generator" "^7.5.5"
- "@babel/helper-function-name" "^7.1.0"
- "@babel/helper-split-export-declaration" "^7.4.4"
- "@babel/parser" "^7.5.5"
- "@babel/types" "^7.5.5"
+"@babel/parser@^7.10.4", "@babel/parser@^7.12.1", "@babel/parser@^7.12.3":
+ version "7.12.3"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.3.tgz#a305415ebe7a6c7023b40b5122a0662d928334cd"
+ integrity sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==
+
+"@babel/template@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278"
+ integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==
+ dependencies:
+ "@babel/code-frame" "^7.10.4"
+ "@babel/parser" "^7.10.4"
+ "@babel/types" "^7.10.4"
+
+"@babel/traverse@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.1.tgz#941395e0c5cc86d5d3e75caa095d3924526f0c1e"
+ integrity sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw==
+ dependencies:
+ "@babel/code-frame" "^7.10.4"
+ "@babel/generator" "^7.12.1"
+ "@babel/helper-function-name" "^7.10.4"
+ "@babel/helper-split-export-declaration" "^7.11.0"
+ "@babel/parser" "^7.12.1"
+ "@babel/types" "^7.12.1"
debug "^4.1.0"
globals "^11.1.0"
- lodash "^4.17.13"
+ lodash "^4.17.19"
-"@babel/types@^7.0.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5":
- version "7.5.5"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.5.tgz#97b9f728e182785909aa4ab56264f090a028d18a"
- integrity sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==
+"@babel/types@^7.10.4", "@babel/types@^7.11.0", "@babel/types@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.1.tgz#e109d9ab99a8de735be287ee3d6a9947a190c4ae"
+ integrity sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==
dependencies:
- esutils "^2.0.2"
- lodash "^4.17.13"
+ "@babel/helper-validator-identifier" "^7.10.4"
+ lodash "^4.17.19"
to-fast-properties "^2.0.0"
+"@istanbuljs/load-nyc-config@^1.0.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced"
+ integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==
+ dependencies:
+ camelcase "^5.3.1"
+ find-up "^4.1.0"
+ get-package-type "^0.1.0"
+ js-yaml "^3.13.1"
+ resolve-from "^5.0.0"
+
+"@istanbuljs/schema@^0.1.2":
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd"
+ integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==
+
+"@rollup/plugin-node-resolve@^7.1.3":
+ version "7.1.3"
+ resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz#80de384edfbd7bfc9101164910f86078151a3eca"
+ integrity sha512-RxtSL3XmdTAE2byxekYLnx+98kEUOrPHF/KRVjLH+DEIHy6kjIw7YINQzn+NXiH/NTrQLAwYs0GWB+csWygA9Q==
+ dependencies:
+ "@rollup/pluginutils" "^3.0.8"
+ "@types/resolve" "0.0.8"
+ builtin-modules "^3.1.0"
+ is-module "^1.0.0"
+ resolve "^1.14.2"
+
+"@rollup/pluginutils@^3.0.8":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b"
+ integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==
+ dependencies:
+ "@types/estree" "0.0.39"
+ estree-walker "^1.0.1"
+ picomatch "^2.2.2"
+
"@sinonjs/commons@^1", "@sinonjs/commons@^1.0.2", "@sinonjs/commons@^1.4.0":
version "1.4.0"
resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.4.0.tgz#7b3ec2d96af481d7a0321252e7b1c94724ec5a78"
@@ -114,7 +253,7 @@
array-from "^2.1.1"
lodash "^4.17.11"
-"@sinonjs/text-encoding@0.7.1", "@sinonjs/text-encoding@^0.7.1":
+"@sinonjs/text-encoding@^0.7.1":
version "0.7.1"
resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz#8da5c6530915653f3a1f38fd5f101d8c3f8079c5"
integrity sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==
@@ -124,6 +263,16 @@
resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.1.7.tgz#1b8e33b61a8c09cbe1f85133071baa0dbf9fa71a"
integrity sha512-2Y8uPt0/jwjhQ6EiluT0XCri1Dbplr0ZxfFXUz+ye13gaqE8u5gL5ppao1JrUYr9cIip5S6MvQzBS7Kke7U9VA==
+"@types/estree@0.0.39":
+ version "0.0.39"
+ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
+ integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
+
+"@types/json5@^0.0.29":
+ version "0.0.29"
+ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
+ integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4=
+
"@types/mocha@^5.2.6":
version "5.2.7"
resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-5.2.7.tgz#315d570ccb56c53452ff8638738df60726d5b6ea"
@@ -139,6 +288,13 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.13.tgz#ac786d623860adf39a3f51d629480aacd6a6eec7"
integrity sha512-yN/FNNW1UYsRR1wwAoyOwqvDuLDtVXnaJTZ898XIw/Q5cCaeVAlVwvsmXLX5PuiScBYwZsZU4JYSHB3TvfdwvQ==
+"@types/resolve@0.0.8":
+ version "0.0.8"
+ resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194"
+ integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==
+ dependencies:
+ "@types/node" "*"
+
"@types/seedrandom@^2.4.27":
version "2.4.28"
resolved "https://registry.yarnpkg.com/@types/seedrandom/-/seedrandom-2.4.28.tgz#9ce8fa048c1e8c85cb71d7fe4d704e000226036f"
@@ -151,161 +307,10 @@
dependencies:
"@types/node" "*"
-"@webassemblyjs/ast@1.8.5":
- version "1.8.5"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359"
- integrity sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==
- dependencies:
- "@webassemblyjs/helper-module-context" "1.8.5"
- "@webassemblyjs/helper-wasm-bytecode" "1.8.5"
- "@webassemblyjs/wast-parser" "1.8.5"
-
-"@webassemblyjs/floating-point-hex-parser@1.8.5":
- version "1.8.5"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721"
- integrity sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==
-
-"@webassemblyjs/helper-api-error@1.8.5":
- version "1.8.5"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7"
- integrity sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==
-
-"@webassemblyjs/helper-buffer@1.8.5":
- version "1.8.5"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204"
- integrity sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==
-
-"@webassemblyjs/helper-code-frame@1.8.5":
- version "1.8.5"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e"
- integrity sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==
- dependencies:
- "@webassemblyjs/wast-printer" "1.8.5"
-
-"@webassemblyjs/helper-fsm@1.8.5":
- version "1.8.5"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452"
- integrity sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==
-
-"@webassemblyjs/helper-module-context@1.8.5":
- version "1.8.5"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245"
- integrity sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==
- dependencies:
- "@webassemblyjs/ast" "1.8.5"
- mamacro "^0.0.3"
-
-"@webassemblyjs/helper-wasm-bytecode@1.8.5":
- version "1.8.5"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61"
- integrity sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==
-
-"@webassemblyjs/helper-wasm-section@1.8.5":
- version "1.8.5"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf"
- integrity sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==
- dependencies:
- "@webassemblyjs/ast" "1.8.5"
- "@webassemblyjs/helper-buffer" "1.8.5"
- "@webassemblyjs/helper-wasm-bytecode" "1.8.5"
- "@webassemblyjs/wasm-gen" "1.8.5"
-
-"@webassemblyjs/ieee754@1.8.5":
- version "1.8.5"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e"
- integrity sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==
- dependencies:
- "@xtuc/ieee754" "^1.2.0"
-
-"@webassemblyjs/leb128@1.8.5":
- version "1.8.5"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10"
- integrity sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==
- dependencies:
- "@xtuc/long" "4.2.2"
-
-"@webassemblyjs/utf8@1.8.5":
- version "1.8.5"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc"
- integrity sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==
-
-"@webassemblyjs/wasm-edit@1.8.5":
- version "1.8.5"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a"
- integrity sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==
- dependencies:
- "@webassemblyjs/ast" "1.8.5"
- "@webassemblyjs/helper-buffer" "1.8.5"
- "@webassemblyjs/helper-wasm-bytecode" "1.8.5"
- "@webassemblyjs/helper-wasm-section" "1.8.5"
- "@webassemblyjs/wasm-gen" "1.8.5"
- "@webassemblyjs/wasm-opt" "1.8.5"
- "@webassemblyjs/wasm-parser" "1.8.5"
- "@webassemblyjs/wast-printer" "1.8.5"
-
-"@webassemblyjs/wasm-gen@1.8.5":
- version "1.8.5"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc"
- integrity sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==
- dependencies:
- "@webassemblyjs/ast" "1.8.5"
- "@webassemblyjs/helper-wasm-bytecode" "1.8.5"
- "@webassemblyjs/ieee754" "1.8.5"
- "@webassemblyjs/leb128" "1.8.5"
- "@webassemblyjs/utf8" "1.8.5"
-
-"@webassemblyjs/wasm-opt@1.8.5":
- version "1.8.5"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264"
- integrity sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==
- dependencies:
- "@webassemblyjs/ast" "1.8.5"
- "@webassemblyjs/helper-buffer" "1.8.5"
- "@webassemblyjs/wasm-gen" "1.8.5"
- "@webassemblyjs/wasm-parser" "1.8.5"
-
-"@webassemblyjs/wasm-parser@1.8.5":
- version "1.8.5"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d"
- integrity sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==
- dependencies:
- "@webassemblyjs/ast" "1.8.5"
- "@webassemblyjs/helper-api-error" "1.8.5"
- "@webassemblyjs/helper-wasm-bytecode" "1.8.5"
- "@webassemblyjs/ieee754" "1.8.5"
- "@webassemblyjs/leb128" "1.8.5"
- "@webassemblyjs/utf8" "1.8.5"
-
-"@webassemblyjs/wast-parser@1.8.5":
- version "1.8.5"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c"
- integrity sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==
- dependencies:
- "@webassemblyjs/ast" "1.8.5"
- "@webassemblyjs/floating-point-hex-parser" "1.8.5"
- "@webassemblyjs/helper-api-error" "1.8.5"
- "@webassemblyjs/helper-code-frame" "1.8.5"
- "@webassemblyjs/helper-fsm" "1.8.5"
- "@xtuc/long" "4.2.2"
-
-"@webassemblyjs/wast-printer@1.8.5":
- version "1.8.5"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc"
- integrity sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==
- dependencies:
- "@webassemblyjs/ast" "1.8.5"
- "@webassemblyjs/wast-parser" "1.8.5"
- "@xtuc/long" "4.2.2"
-
-"@xtuc/ieee754@^1.2.0":
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
- integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==
-
-"@xtuc/long@4.2.2":
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
- integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
+"@zxing/text-encoding@~0.9.0":
+ version "0.9.0"
+ resolved "https://registry.yarnpkg.com/@zxing/text-encoding/-/text-encoding-0.9.0.tgz#fb50ffabc6c7c66a0c96b4c03e3d9be74864b70b"
+ integrity sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==
abbrev@1:
version "1.1.1"
@@ -335,7 +340,7 @@ acorn@^4.0.4:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787"
integrity sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=
-acorn@^6.0.7, acorn@^6.2.0:
+acorn@^6.0.7:
version "6.2.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.2.1.tgz#3ed8422d6dec09e6121cc7a843ca86a330a86b51"
integrity sha512-JD0xT5FCRDNyjDda3Lrg/IxFscp9q4tiYtxE1/nOzlKCk7hIRuYjhq1kCNkbPjMRMZuFq20HNQn1I9k8Oj0E+Q==
@@ -345,27 +350,15 @@ after@0.8.2:
resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f"
integrity sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=
-ajv-errors@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d"
- integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==
-
-ajv-keywords@^3.1.0:
- version "3.4.1"
- resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da"
- integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==
-
-ajv@^5.0.0:
- version "5.5.2"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
- integrity sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=
+aggregate-error@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a"
+ integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==
dependencies:
- co "^4.6.0"
- fast-deep-equal "^1.0.0"
- fast-json-stable-stringify "^2.0.0"
- json-schema-traverse "^0.3.0"
+ clean-stack "^2.0.0"
+ indent-string "^4.0.0"
-ajv@^6.1.0, ajv@^6.10.2, ajv@^6.5.5, ajv@^6.9.1:
+ajv@^6.10.2, ajv@^6.5.5, ajv@^6.9.1:
version "6.10.2"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52"
integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==
@@ -414,10 +407,10 @@ ansi-regex@^4.1.0:
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
-ansi-styles@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
- integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
+ansi-regex@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
+ integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
ansi-styles@^3.2.0, ansi-styles@^3.2.1:
version "3.2.1"
@@ -426,6 +419,13 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1:
dependencies:
color-convert "^1.9.0"
+ansi-styles@^4.0.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
+ integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+ dependencies:
+ color-convert "^2.0.1"
+
ansi-wrap@0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf"
@@ -439,14 +439,14 @@ anymatch@^2.0.0:
micromatch "^3.1.4"
normalize-path "^2.1.1"
-append-transform@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz#046a52ae582a228bd72f58acfbe2967c678759ab"
- integrity sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==
+append-transform@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-2.0.0.tgz#99d9d29c7b38391e6f428d28ce136551f0b77e12"
+ integrity sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==
dependencies:
- default-require-extensions "^2.0.0"
+ default-require-extensions "^3.0.0"
-aproba@^1.0.3, aproba@^1.1.1:
+aproba@^1.0.3:
version "1.2.0"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
@@ -519,18 +519,6 @@ array-slice@^0.2.3:
resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5"
integrity sha1-3Tz7gO15c6dRF82sabC5nshhhvU=
-array-union@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
- integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=
- dependencies:
- array-uniq "^1.0.1"
-
-array-uniq@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
- integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=
-
array-unique@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
@@ -546,11 +534,6 @@ arraybuffer.slice@~0.0.7:
resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675"
integrity sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==
-arrify@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
- integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=
-
asn1.js@^4.0.0:
version "4.10.1"
resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0"
@@ -572,7 +555,7 @@ assert-plus@1.0.0, assert-plus@^1.0.0:
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
-assert@^1.1.1, assert@^1.4.1:
+assert@^1.4.1:
version "1.5.0"
resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb"
integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==
@@ -610,7 +593,7 @@ async@1.x:
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=
-async@^2.0.0, async@^2.1.4:
+async@^2.1.4:
version "2.6.3"
resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff"
integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==
@@ -627,20 +610,6 @@ atob@^2.1.1:
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
-awesome-typescript-loader@^5.2.1:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/awesome-typescript-loader/-/awesome-typescript-loader-5.2.1.tgz#a41daf7847515f4925cdbaa3075d61f289e913fc"
- integrity sha512-slv66OAJB8orL+UUaTI3pKlLorwIvS4ARZzYR9iJJyGsEgOqueMfOMdKySWzZ73vIkEe3fcwFgsKMg4d8zyb1g==
- dependencies:
- chalk "^2.4.1"
- enhanced-resolve "^4.0.0"
- loader-utils "^1.1.0"
- lodash "^4.17.5"
- micromatch "^3.1.9"
- mkdirp "^0.5.1"
- source-map-support "^0.5.3"
- webpack-log "^1.2.0"
-
aws-sign2@~0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
@@ -651,85 +620,6 @@ aws4@^1.8.0:
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==
-babel-code-frame@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
- integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=
- dependencies:
- chalk "^1.1.3"
- esutils "^2.0.2"
- js-tokens "^3.0.2"
-
-babel-generator@^6.18.0:
- version "6.26.1"
- resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90"
- integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==
- dependencies:
- babel-messages "^6.23.0"
- babel-runtime "^6.26.0"
- babel-types "^6.26.0"
- detect-indent "^4.0.0"
- jsesc "^1.3.0"
- lodash "^4.17.4"
- source-map "^0.5.7"
- trim-right "^1.0.1"
-
-babel-messages@^6.23.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
- integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-runtime@^6.0.0, babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
- integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
- dependencies:
- core-js "^2.4.0"
- regenerator-runtime "^0.11.0"
-
-babel-template@^6.16.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
- integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=
- dependencies:
- babel-runtime "^6.26.0"
- babel-traverse "^6.26.0"
- babel-types "^6.26.0"
- babylon "^6.18.0"
- lodash "^4.17.4"
-
-babel-traverse@^6.18.0, babel-traverse@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
- integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=
- dependencies:
- babel-code-frame "^6.26.0"
- babel-messages "^6.23.0"
- babel-runtime "^6.26.0"
- babel-types "^6.26.0"
- babylon "^6.18.0"
- debug "^2.6.8"
- globals "^9.18.0"
- invariant "^2.2.2"
- lodash "^4.17.4"
-
-babel-types@^6.18.0, babel-types@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
- integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=
- dependencies:
- babel-runtime "^6.26.0"
- esutils "^2.0.2"
- lodash "^4.17.4"
- to-fast-properties "^1.0.3"
-
-babylon@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
- integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==
-
backo2@1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
@@ -782,11 +672,6 @@ better-assert@~1.0.0:
dependencies:
callsite "1.0.0"
-big.js@^5.2.2:
- version "5.2.2"
- resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
- integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
-
binary-extensions@^1.0.0:
version "1.13.1"
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65"
@@ -805,15 +690,15 @@ blob@0.0.5:
resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.5.tgz#d680eeef25f8cd91ad533f5b01eed48e64caf683"
integrity sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==
-bluebird@^3.3.0, bluebird@^3.5.0, bluebird@^3.5.5, bluebird@^3.5.x:
+bluebird@^3.3.0, bluebird@^3.5.0, bluebird@^3.5.x:
version "3.5.5"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f"
integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==
bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
- version "4.11.8"
- resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
- integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==
+ version "4.11.9"
+ resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828"
+ integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==
body-parser@^1.16.1:
version "1.19.0"
@@ -966,15 +851,6 @@ buffer-xor@^1.0.3:
resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=
-buffer@^4.3.0:
- version "4.9.1"
- resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
- integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=
- dependencies:
- base64-js "^1.0.2"
- ieee754 "^1.1.4"
- isarray "^1.0.0"
-
buffer@^5.0.6:
version "5.2.1"
resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.2.1.tgz#dd57fa0f109ac59c602479044dca7b8b3d0b71d6"
@@ -988,6 +864,11 @@ builtin-modules@^1.1.1:
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=
+builtin-modules@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484"
+ integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==
+
builtin-status-codes@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
@@ -998,26 +879,6 @@ bytes@3.1.0:
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
-cacache@^11.3.2:
- version "11.3.3"
- resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc"
- integrity sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==
- dependencies:
- bluebird "^3.5.5"
- chownr "^1.1.1"
- figgy-pudding "^3.5.1"
- glob "^7.1.4"
- graceful-fs "^4.1.15"
- lru-cache "^5.1.1"
- mississippi "^3.0.0"
- mkdirp "^0.5.1"
- move-concurrently "^1.0.1"
- promise-inflight "^1.0.1"
- rimraf "^2.6.3"
- ssri "^6.0.1"
- unique-filename "^1.1.1"
- y18n "^4.0.0"
-
cache-base@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
@@ -1033,15 +894,15 @@ cache-base@^1.0.1:
union-value "^1.0.0"
unset-value "^1.0.0"
-caching-transform@^3.0.1:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-3.0.2.tgz#601d46b91eca87687a281e71cef99791b0efca70"
- integrity sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==
+caching-transform@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-4.0.0.tgz#00d297a4206d71e2163c39eaffa8157ac0651f0f"
+ integrity sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==
dependencies:
- hasha "^3.0.0"
- make-dir "^2.0.0"
- package-hash "^3.0.0"
- write-file-atomic "^2.4.2"
+ hasha "^5.0.0"
+ make-dir "^3.0.0"
+ package-hash "^4.0.0"
+ write-file-atomic "^3.0.0"
callsite@1.0.0:
version "1.0.0"
@@ -1066,12 +927,7 @@ camelcase@^2.0.0:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=
-camelcase@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
- integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=
-
-camelcase@^5.0.0:
+camelcase@^5.0.0, camelcase@^5.3.1:
version "5.3.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
@@ -1093,7 +949,7 @@ chai@^4.2.0:
pathval "^1.1.0"
type-detect "^4.0.5"
-chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2:
+chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -1102,17 +958,6 @@ chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
-chalk@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
- integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
- dependencies:
- ansi-styles "^2.2.1"
- escape-string-regexp "^1.0.2"
- has-ansi "^2.0.0"
- strip-ansi "^3.0.0"
- supports-color "^2.0.0"
-
chardet@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
@@ -1123,7 +968,7 @@ check-error@^1.0.2:
resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82"
integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=
-chokidar@^2.0.2, chokidar@^2.0.3:
+chokidar@^2.0.3:
version "2.1.6"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5"
integrity sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==
@@ -1147,13 +992,6 @@ chownr@^1.0.1, chownr@^1.1.1:
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6"
integrity sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==
-chrome-trace-event@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4"
- integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==
- dependencies:
- tslib "^1.9.0"
-
cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
@@ -1177,6 +1015,11 @@ class-utils@^0.3.5:
isobject "^3.0.0"
static-extend "^0.1.1"
+clean-stack@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
+ integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
+
cli-cursor@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
@@ -1189,34 +1032,20 @@ cli-width@^2.0.0:
resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=
-cliui@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49"
- integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==
- dependencies:
- string-width "^2.1.1"
- strip-ansi "^4.0.0"
- wrap-ansi "^2.0.0"
-
-cliui@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
- integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==
+cliui@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1"
+ integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==
dependencies:
- string-width "^3.1.0"
- strip-ansi "^5.2.0"
- wrap-ansi "^5.1.0"
+ string-width "^4.2.0"
+ strip-ansi "^6.0.0"
+ wrap-ansi "^6.2.0"
clone@^1.0.2:
version "1.0.4"
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4=
-co@^4.6.0:
- version "4.6.0"
- resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
- integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=
-
codacy-coverage@^3.4.0:
version "3.4.0"
resolved "https://registry.yarnpkg.com/codacy-coverage/-/codacy-coverage-3.4.0.tgz#196af70844c4e4179718f7a7f9d96b921b4b3a67"
@@ -1252,12 +1081,19 @@ color-convert@^1.9.0, color-convert@^1.9.1:
dependencies:
color-name "1.1.3"
+color-convert@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+ integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+ dependencies:
+ color-name "~1.1.4"
+
color-name@1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
-color-name@^1.0.0:
+color-name@^1.0.0, color-name@~1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
@@ -1312,16 +1148,16 @@ commander@2.15.1:
resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f"
integrity sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==
-commander@^2.12.1, commander@^2.20.0, commander@^2.x, commander@~2.20.0:
- version "2.20.0"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
- integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==
-
-commander@~2.20.3:
+commander@^2.12.1, commander@^2.20.0, commander@~2.20.3:
version "2.20.3"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
+commander@^2.x:
+ version "2.20.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
+ integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==
+
commondir@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
@@ -1352,16 +1188,6 @@ concat-map@0.0.1:
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
-concat-stream@^1.5.0:
- version "1.6.2"
- resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
- integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
- dependencies:
- buffer-from "^1.0.0"
- inherits "^2.0.3"
- readable-stream "^2.2.2"
- typedarray "^0.0.6"
-
connect@^3.6.0:
version "3.7.0"
resolved "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8"
@@ -1394,13 +1220,20 @@ content-type@~1.0.4:
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
-convert-source-map@^1.5.0, convert-source-map@^1.6.0:
+convert-source-map@^1.5.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20"
integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==
dependencies:
safe-buffer "~5.1.1"
+convert-source-map@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442"
+ integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==
+ dependencies:
+ safe-buffer "~5.1.1"
+
convert-source-map@~1.1.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.1.3.tgz#4829c877e9fe49b3161f3bf3673888e204699860"
@@ -1411,24 +1244,12 @@ cookie@0.3.1:
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"
integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=
-copy-concurrently@^1.0.0:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0"
- integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==
- dependencies:
- aproba "^1.1.1"
- fs-write-stream-atomic "^1.0.8"
- iferr "^0.1.5"
- mkdirp "^0.5.1"
- rimraf "^2.5.4"
- run-queue "^1.0.0"
-
copy-descriptor@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
-core-js@^2.2.0, core-js@^2.4.0:
+core-js@^2.2.0:
version "2.6.9"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2"
integrity sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==
@@ -1469,7 +1290,7 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
safe-buffer "^5.0.1"
sha.js "^2.4.8"
-cross-spawn@6.0.5, cross-spawn@^6.0.0, cross-spawn@^6.0.5:
+cross-spawn@^6.0.5:
version "6.0.5"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
@@ -1480,24 +1301,16 @@ cross-spawn@6.0.5, cross-spawn@^6.0.0, cross-spawn@^6.0.5:
shebang-command "^1.2.0"
which "^1.2.9"
-cross-spawn@^4:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41"
- integrity sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=
- dependencies:
- lru-cache "^4.0.1"
- which "^1.2.9"
-
-cross-spawn@^5.0.1:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
- integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=
+cross-spawn@^7.0.0:
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
+ integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
dependencies:
- lru-cache "^4.0.1"
- shebang-command "^1.2.0"
- which "^1.2.9"
+ path-key "^3.1.0"
+ shebang-command "^2.0.0"
+ which "^2.0.1"
-crypto-browserify@^3.11.0, crypto-browserify@^3.11.1:
+crypto-browserify@^3.11.1:
version "3.12.0"
resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==
@@ -1526,19 +1339,6 @@ custom-event@~1.0.0:
resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425"
integrity sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=
-cyclist@~0.2.2:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640"
- integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=
-
-d@1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a"
- integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==
- dependencies:
- es5-ext "^0.10.50"
- type "^1.0.1"
-
dashdash@^1.12.0:
version "1.14.1"
resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
@@ -1569,7 +1369,7 @@ dateformat@^1.0.6:
get-stdin "^4.0.1"
meow "^3.3.0"
-debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8:
+debug@2.6.9, debug@^2.2.0, debug@^2.3.3:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
@@ -1595,14 +1395,21 @@ debug@^3.1.0, debug@^3.2.6:
dependencies:
ms "^2.1.1"
-debug@^4.0.1, debug@^4.1.0, debug@^4.1.1:
+debug@^4.0.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
dependencies:
ms "^2.1.1"
-decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0:
+debug@^4.1.0, debug@^4.1.1:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1"
+ integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==
+ dependencies:
+ ms "2.1.2"
+
+decamelize@^1.1.2, decamelize@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
@@ -1636,12 +1443,12 @@ deep-is@~0.1.3:
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
-default-require-extensions@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-2.0.0.tgz#f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7"
- integrity sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=
+default-require-extensions@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-3.0.0.tgz#e03f93aac9b2b6443fc52e5e4a37b3ad9ad8df96"
+ integrity sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==
dependencies:
- strip-bom "^3.0.0"
+ strip-bom "^4.0.0"
defaults@^1.0.3:
version "1.0.3"
@@ -1650,13 +1457,6 @@ defaults@^1.0.3:
dependencies:
clone "^1.0.2"
-define-properties@^1.1.2:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
- integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
- dependencies:
- object-keys "^1.0.12"
-
define-property@^0.2.5:
version "0.2.5"
resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
@@ -1702,18 +1502,6 @@ des.js@^1.0.0:
inherits "^2.0.1"
minimalistic-assert "^1.0.0"
-detect-file@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7"
- integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=
-
-detect-indent@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
- integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg=
- dependencies:
- repeating "^2.0.0"
-
detect-libc@^1.0.2, detect-libc@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
@@ -1743,13 +1531,6 @@ diffie-hellman@^5.0.0:
miller-rabin "^4.0.0"
randombytes "^2.0.0"
-dir-glob@^2.0.0:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4"
- integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==
- dependencies:
- path-type "^3.0.0"
-
doctrine@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
@@ -1767,21 +1548,11 @@ dom-serialize@^2.2.0:
extend "^3.0.0"
void-elements "^2.0.0"
-domain-browser@^1.1.1, domain-browser@^1.1.7:
+domain-browser@^1.1.7:
version "1.2.0"
resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==
-duplexify@^3.4.2, duplexify@^3.6.0:
- version "3.7.1"
- resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309"
- integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==
- dependencies:
- end-of-stream "^1.0.0"
- inherits "^2.0.1"
- readable-stream "^2.0.0"
- stream-shift "^1.0.0"
-
ecc-jsbn@~0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
@@ -1796,9 +1567,9 @@ ee-first@1.1.1:
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
elliptic@^6.0.0:
- version "6.5.0"
- resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.0.tgz#2b8ed4c891b7de3200e14412a5b8248c7af505ca"
- integrity sha512-eFOJTMyCYb7xtE/caJ6JJu+bhi67WCYNbkGSknu20pmM8Ke/bqOfdnZWxyoGN26JgfxTbXrsCkEw4KheCT/KGg==
+ version "6.5.3"
+ resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6"
+ integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==
dependencies:
bn.js "^4.4.0"
brorand "^1.0.1"
@@ -1813,10 +1584,10 @@ emoji-regex@^7.0.1:
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
-emojis-list@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
- integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k=
+emoji-regex@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
+ integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
encodeurl@~1.0.2:
version "1.0.2"
@@ -1870,76 +1641,34 @@ engine.io@~3.2.0:
engine.io-parser "~2.1.0"
ws "~3.3.1"
-enhanced-resolve@4.1.0, enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f"
- integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==
- dependencies:
- graceful-fs "^4.1.2"
- memory-fs "^0.4.0"
- tapable "^1.0.0"
-
ent@~2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d"
integrity sha1-6WQhkyWiHQX0RGai9obtbOX13R0=
-errno@^0.1.3, errno@~0.1.7:
- version "0.1.7"
- resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618"
- integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==
- dependencies:
- prr "~1.0.1"
-
-error-ex@^1.2.0, error-ex@^1.3.1:
+error-ex@^1.2.0:
version "1.3.2"
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
dependencies:
is-arrayish "^0.2.1"
-es5-ext@^0.10.35, es5-ext@^0.10.50, es5-ext@~0.10.14:
- version "0.10.50"
- resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.50.tgz#6d0e23a0abdb27018e5ac4fd09b412bc5517a778"
- integrity sha512-KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw==
- dependencies:
- es6-iterator "~2.0.3"
- es6-symbol "~3.1.1"
- next-tick "^1.0.0"
-
es6-error@^4.0.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d"
integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==
-es6-iterator@~2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
- integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c=
- dependencies:
- d "1"
- es5-ext "^0.10.35"
- es6-symbol "^3.1.1"
-
es6-object-assign@^1.0.3:
version "1.1.0"
resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c"
integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=
-es6-symbol@^3.1.1, es6-symbol@~3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77"
- integrity sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=
- dependencies:
- d "1"
- es5-ext "~0.10.14"
-
escape-html@~1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
-escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
+escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
@@ -1956,7 +1685,7 @@ escodegen@1.8.x:
optionalDependencies:
source-map "~0.2.0"
-eslint-scope@^4.0.0, eslint-scope@^4.0.3:
+eslint-scope@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848"
integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==
@@ -2061,26 +1790,26 @@ estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1:
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=
+estree-walker@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700"
+ integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==
+
esutils@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=
-eventemitter3@^3.0.0:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7"
- integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==
+eventemitter3@^4.0.0:
+ version "4.0.7"
+ resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
+ integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
events@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=
-events@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88"
- integrity sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==
-
evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02"
@@ -2089,32 +1818,6 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
md5.js "^1.3.4"
safe-buffer "^5.1.1"
-execa@^0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
- integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=
- dependencies:
- cross-spawn "^5.0.1"
- get-stream "^3.0.0"
- is-stream "^1.1.0"
- npm-run-path "^2.0.0"
- p-finally "^1.0.0"
- signal-exit "^3.0.0"
- strip-eof "^1.0.0"
-
-execa@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
- integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==
- dependencies:
- cross-spawn "^6.0.0"
- get-stream "^4.0.0"
- is-stream "^1.1.0"
- npm-run-path "^2.0.0"
- p-finally "^1.0.0"
- signal-exit "^3.0.0"
- strip-eof "^1.0.0"
-
expand-braces@^0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/expand-braces/-/expand-braces-0.1.2.tgz#488b1d1d2451cb3d3a6b192cfc030f44c5855fea"
@@ -2150,13 +1853,6 @@ expand-template@^2.0.3:
resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c"
integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==
-expand-tilde@^2.0.0, expand-tilde@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502"
- integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=
- dependencies:
- homedir-polyfill "^1.0.1"
-
extend-shallow@^1.1.2:
version "1.1.4"
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-1.1.4.tgz#19d6bf94dfc09d76ba711f39b872d21ff4dd9071"
@@ -2217,11 +1913,6 @@ extsprintf@^1.2.0:
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
-fast-deep-equal@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614"
- integrity sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=
-
fast-deep-equal@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
@@ -2237,11 +1928,6 @@ fast-levenshtein@~2.0.4:
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
-figgy-pudding@^3.5.1:
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790"
- integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==
-
figures@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
@@ -2279,14 +1965,14 @@ finalhandler@1.1.2:
statuses "~1.5.0"
unpipe "~1.0.0"
-find-cache-dir@^2.0.0, find-cache-dir@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7"
- integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==
+find-cache-dir@^3.2.0:
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880"
+ integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==
dependencies:
commondir "^1.0.1"
- make-dir "^2.0.0"
- pkg-dir "^3.0.0"
+ make-dir "^3.0.2"
+ pkg-dir "^4.1.0"
find-up@^1.0.0:
version "1.1.2"
@@ -2296,29 +1982,13 @@ find-up@^1.0.0:
path-exists "^2.0.0"
pinkie-promise "^2.0.0"
-find-up@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
- integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c=
- dependencies:
- locate-path "^2.0.0"
-
-find-up@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
- integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
- dependencies:
- locate-path "^3.0.0"
-
-findup-sync@3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1"
- integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==
+find-up@^4.0.0, find-up@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
+ integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
dependencies:
- detect-file "^1.0.0"
- is-glob "^4.0.0"
- micromatch "^3.0.4"
- resolve-dir "^1.0.1"
+ locate-path "^5.0.0"
+ path-exists "^4.0.0"
flat-cache@^2.0.1:
version "2.0.1"
@@ -2334,33 +2004,23 @@ flatted@^2.0.0:
resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08"
integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==
-flush-write-stream@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
- integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==
- dependencies:
- inherits "^2.0.3"
- readable-stream "^2.3.6"
-
follow-redirects@^1.0.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.7.0.tgz#489ebc198dc0e7f64167bd23b03c4c19b5784c76"
- integrity sha512-m/pZQy4Gj287eNy94nivy5wchN3Kp+Q5WgUPNy5lJSZ3sgkVKSYV/ZChMAQVIgx1SqfZ2zBZtPA2YlXIWxxJOQ==
- dependencies:
- debug "^3.2.6"
+ version "1.13.0"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.0.tgz#b42e8d93a2a7eea5ed88633676d6597bc8e384db"
+ integrity sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==
for-in@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
-foreground-child@^1.5.6:
- version "1.5.6"
- resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-1.5.6.tgz#4fd71ad2dfde96789b980a5c0a295937cb2f5ce9"
- integrity sha1-T9ca0t/elnibmApcCilZN8svXOk=
+foreground-child@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-2.0.0.tgz#71b32800c9f15aa8f2f83f4a6bd9bff35d861a53"
+ integrity sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==
dependencies:
- cross-spawn "^4"
- signal-exit "^3.0.0"
+ cross-spawn "^7.0.0"
+ signal-exit "^3.0.2"
forever-agent@~0.6.1:
version "0.6.1"
@@ -2383,13 +2043,10 @@ fragment-cache@^0.2.1:
dependencies:
map-cache "^0.2.2"
-from2@^2.1.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af"
- integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=
- dependencies:
- inherits "^2.0.1"
- readable-stream "^2.0.0"
+fromentries@^1.2.0:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/fromentries/-/fromentries-1.2.1.tgz#64c31665630479bc993cd800d53387920dc61b4d"
+ integrity sha512-Xu2Qh8yqYuDhQGOhD5iJGninErSfI9A3FrriD3tjUgV5VbJFeH8vfgZ9HnC6jWN80QDVNQK5vmxRAmEAp7Mevw==
fs-access@^1.0.0:
version "1.0.1"
@@ -2415,16 +2072,6 @@ fs-minipass@^1.2.5:
dependencies:
minipass "^2.2.1"
-fs-write-stream-atomic@^1.0.8:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9"
- integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=
- dependencies:
- graceful-fs "^4.1.2"
- iferr "^0.1.5"
- imurmurhash "^0.1.4"
- readable-stream "1 || 2"
-
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
@@ -2438,10 +2085,10 @@ fsevents@^1.2.7:
nan "^2.12.1"
node-pre-gyp "^0.12.0"
-function-bind@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
- integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+fsevents@~2.1.2:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
+ integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
functional-red-black-tree@^1.0.1:
version "1.0.1"
@@ -2462,10 +2109,10 @@ gauge@~2.7.3:
strip-ansi "^3.0.1"
wide-align "^1.1.0"
-get-caller-file@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
- integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==
+gensync@^1.0.0-beta.1:
+ version "1.0.0-beta.1"
+ resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269"
+ integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==
get-caller-file@^2.0.1:
version "2.0.5"
@@ -2477,23 +2124,16 @@ get-func-name@^2.0.0:
resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41"
integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=
+get-package-type@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
+ integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
+
get-stdin@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=
-get-stream@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
- integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
-
-get-stream@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
- integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
- dependencies:
- pump "^3.0.0"
-
get-value@^2.0.3, get-value@^2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
@@ -2542,7 +2182,7 @@ glob@^5.0.15:
once "^1.3.0"
path-is-absolute "^1.0.0"
-glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4:
+glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3:
version "7.1.4"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255"
integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==
@@ -2554,75 +2194,39 @@ glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4:
once "^1.3.0"
path-is-absolute "^1.0.0"
-global-modules@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780"
- integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==
- dependencies:
- global-prefix "^3.0.0"
-
-global-modules@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea"
- integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==
- dependencies:
- global-prefix "^1.0.1"
- is-windows "^1.0.1"
- resolve-dir "^1.0.0"
-
-global-prefix@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe"
- integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=
+glob@^7.1.4, glob@^7.1.6:
+ version "7.1.6"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
+ integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
dependencies:
- expand-tilde "^2.0.2"
- homedir-polyfill "^1.0.1"
- ini "^1.3.4"
- is-windows "^1.0.1"
- which "^1.2.14"
-
-global-prefix@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97"
- integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==
- dependencies:
- ini "^1.3.5"
- kind-of "^6.0.2"
- which "^1.3.1"
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
globals@^11.1.0, globals@^11.7.0:
version "11.12.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
-globals@^9.18.0:
- version "9.18.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
- integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==
-
-globby@^7.1.1:
- version "7.1.1"
- resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680"
- integrity sha1-+yzP+UAfhgCUXfral0QMypcrhoA=
- dependencies:
- array-union "^1.0.1"
- dir-glob "^2.0.0"
- glob "^7.1.2"
- ignore "^3.3.5"
- pify "^3.0.0"
- slash "^1.0.0"
-
-graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2:
+graceful-fs@^4.1.11, graceful-fs@^4.1.2:
version "4.2.0"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b"
integrity sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==
+graceful-fs@^4.1.15:
+ version "4.2.4"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
+ integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
+
growl@1.10.5:
version "1.10.5"
resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e"
integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==
-handlebars@^4.0.1, handlebars@^4.1.2:
+handlebars@^4.0.1:
version "4.5.3"
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.5.3.tgz#5cf75bd8714f7605713511a56be7c349becb0482"
integrity sha512-3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA==
@@ -2646,13 +2250,6 @@ har-validator@~5.1.0:
ajv "^6.5.5"
har-schema "^2.0.0"
-has-ansi@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
- integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
- dependencies:
- ansi-regex "^2.0.0"
-
has-binary2@~1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.3.tgz#7776ac627f3ea77250cfc332dab7ddf5e4f5d11d"
@@ -2675,10 +2272,10 @@ has-flag@^3.0.0:
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
-has-symbols@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44"
- integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=
+has-flag@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+ integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
has-unicode@^2.0.0:
version "2.0.1"
@@ -2732,12 +2329,13 @@ hash.js@^1.0.0, hash.js@^1.0.3:
inherits "^2.0.3"
minimalistic-assert "^1.0.1"
-hasha@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/hasha/-/hasha-3.0.0.tgz#52a32fab8569d41ca69a61ff1a214f8eb7c8bd39"
- integrity sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk=
+hasha@^5.0.0:
+ version "5.2.2"
+ resolved "https://registry.yarnpkg.com/hasha/-/hasha-5.2.2.tgz#a48477989b3b327aea3c04f53096d816d97522a1"
+ integrity sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==
dependencies:
- is-stream "^1.0.1"
+ is-stream "^2.0.0"
+ type-fest "^0.8.0"
he@1.1.1:
version "1.1.1"
@@ -2763,18 +2361,16 @@ hoek@6.x.x:
resolved "https://registry.yarnpkg.com/hoek/-/hoek-6.1.3.tgz#73b7d33952e01fe27a38b0457294b79dd8da242c"
integrity sha512-YXXAAhmF9zpQbC7LEcREFtXfGq5K1fmd+4PHkBq8NUqmzW3G+Dq10bI/i0KucLRwss3YYFQ0fSfoxBZYiGUqtQ==
-homedir-polyfill@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8"
- integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==
- dependencies:
- parse-passwd "^1.0.0"
-
hosted-git-info@^2.1.4:
version "2.7.1"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047"
integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==
+html-escaper@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
+ integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
+
http-errors@1.7.2:
version "1.7.2"
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f"
@@ -2787,11 +2383,11 @@ http-errors@1.7.2:
toidentifier "1.0.0"
http-proxy@^1.13.0:
- version "1.17.0"
- resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.17.0.tgz#7ad38494658f84605e2f6db4436df410f4e5be9a"
- integrity sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==
+ version "1.18.1"
+ resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549"
+ integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==
dependencies:
- eventemitter3 "^3.0.0"
+ eventemitter3 "^4.0.0"
follow-redirects "^1.0.0"
requires-port "^1.0.0"
@@ -2821,11 +2417,6 @@ ieee754@^1.1.4:
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==
-iferr@^0.1.5:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
- integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE=
-
ignore-walk@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8"
@@ -2833,11 +2424,6 @@ ignore-walk@^3.0.1:
dependencies:
minimatch "^3.0.4"
-ignore@^3.3.5:
- version "3.3.10"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
- integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==
-
ignore@^4.0.6:
version "4.0.6"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
@@ -2851,14 +2437,6 @@ import-fresh@^3.0.0:
parent-module "^1.0.0"
resolve-from "^4.0.0"
-import-local@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d"
- integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==
- dependencies:
- pkg-dir "^3.0.0"
- resolve-cwd "^2.0.0"
-
imurmurhash@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
@@ -2871,6 +2449,11 @@ indent-string@^2.1.0:
dependencies:
repeating "^2.0.0"
+indent-string@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
+ integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
+
indexof@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
@@ -2899,7 +2482,7 @@ inherits@2.0.3:
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
-ini@^1.3.4, ini@^1.3.5, ini@~1.3.0:
+ini@~1.3.0:
version "1.3.5"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
@@ -2930,28 +2513,11 @@ inquirer@^6.2.2:
strip-ansi "^5.1.0"
through "^2.3.6"
-interpret@1.2.0, interpret@^1.0.0, interpret@^1.0.1:
+interpret@^1.0.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296"
integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==
-invariant@^2.2.2:
- version "2.2.4"
- resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
- integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
- dependencies:
- loose-envify "^1.0.0"
-
-invert-kv@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
- integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY=
-
-invert-kv@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02"
- integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==
-
is-accessor-descriptor@^0.1.6:
version "0.1.6"
resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
@@ -3056,6 +2622,11 @@ is-fullwidth-code-point@^2.0.0:
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
+is-fullwidth-code-point@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
+ integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+
is-glob@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
@@ -3070,6 +2641,11 @@ is-glob@^4.0.0:
dependencies:
is-extglob "^2.1.1"
+is-module@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
+ integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=
+
is-number@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-number/-/is-number-0.1.1.tgz#69a7af116963d47206ec9bd9b48a14216f1e3806"
@@ -3094,12 +2670,12 @@ is-promise@^2.1.0:
resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=
-is-stream@^1.0.1, is-stream@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
- integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
+is-stream@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
+ integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==
-is-typedarray@~1.0.0:
+is-typedarray@^1.0.0, is-typedarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
@@ -3109,22 +2685,17 @@ is-utf8@^0.2.0:
resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=
-is-windows@^1.0.1, is-windows@^1.0.2:
+is-windows@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
-is-wsl@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d"
- integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=
-
isarray@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
-isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
+isarray@1.0.0, isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
@@ -3170,85 +2741,66 @@ isstream@~0.1.2:
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
-istanbul-instrumenter-loader@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz#9957bd59252b373fae5c52b7b5188e6fde2a0949"
- integrity sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w==
- dependencies:
- convert-source-map "^1.5.0"
- istanbul-lib-instrument "^1.7.3"
- loader-utils "^1.1.0"
- schema-utils "^0.3.0"
-
-istanbul-lib-coverage@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz#ccf7edcd0a0bb9b8f729feeb0930470f9af664f0"
- integrity sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==
+istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.0.0-alpha.1:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec"
+ integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==
-istanbul-lib-coverage@^2.0.3, istanbul-lib-coverage@^2.0.5:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49"
- integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==
-
-istanbul-lib-hook@^2.0.3:
- version "2.0.7"
- resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz#c95695f383d4f8f60df1f04252a9550e15b5b133"
- integrity sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==
- dependencies:
- append-transform "^1.0.0"
-
-istanbul-lib-instrument@^1.7.3:
- version "1.10.2"
- resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz#1f55ed10ac3c47f2bdddd5307935126754d0a9ca"
- integrity sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==
- dependencies:
- babel-generator "^6.18.0"
- babel-template "^6.16.0"
- babel-traverse "^6.18.0"
- babel-types "^6.18.0"
- babylon "^6.18.0"
- istanbul-lib-coverage "^1.2.1"
- semver "^5.3.0"
+istanbul-lib-hook@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz#8f84c9434888cc6b1d0a9d7092a76d239ebf0cc6"
+ integrity sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==
+ dependencies:
+ append-transform "^2.0.0"
-istanbul-lib-instrument@^3.1.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630"
- integrity sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==
- dependencies:
- "@babel/generator" "^7.4.0"
- "@babel/parser" "^7.4.3"
- "@babel/template" "^7.4.0"
- "@babel/traverse" "^7.4.3"
- "@babel/types" "^7.4.0"
- istanbul-lib-coverage "^2.0.5"
- semver "^6.0.0"
+istanbul-lib-instrument@^4.0.0:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d"
+ integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==
+ dependencies:
+ "@babel/core" "^7.7.5"
+ "@istanbuljs/schema" "^0.1.2"
+ istanbul-lib-coverage "^3.0.0"
+ semver "^6.3.0"
-istanbul-lib-report@^2.0.4:
- version "2.0.8"
- resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33"
- integrity sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==
+istanbul-lib-processinfo@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz#e1426514662244b2f25df728e8fd1ba35fe53b9c"
+ integrity sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==
+ dependencies:
+ archy "^1.0.0"
+ cross-spawn "^7.0.0"
+ istanbul-lib-coverage "^3.0.0-alpha.1"
+ make-dir "^3.0.0"
+ p-map "^3.0.0"
+ rimraf "^3.0.0"
+ uuid "^3.3.3"
+
+istanbul-lib-report@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6"
+ integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==
dependencies:
- istanbul-lib-coverage "^2.0.5"
- make-dir "^2.1.0"
- supports-color "^6.1.0"
+ istanbul-lib-coverage "^3.0.0"
+ make-dir "^3.0.0"
+ supports-color "^7.1.0"
-istanbul-lib-source-maps@^3.0.2:
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8"
- integrity sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==
+istanbul-lib-source-maps@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9"
+ integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==
dependencies:
debug "^4.1.1"
- istanbul-lib-coverage "^2.0.5"
- make-dir "^2.1.0"
- rimraf "^2.6.3"
+ istanbul-lib-coverage "^3.0.0"
source-map "^0.6.1"
-istanbul-reports@^2.1.1:
- version "2.2.6"
- resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.6.tgz#7b4f2660d82b29303a8fe6091f8ca4bf058da1af"
- integrity sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==
+istanbul-reports@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b"
+ integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==
dependencies:
- handlebars "^4.1.2"
+ html-escaper "^2.0.0"
+ istanbul-lib-report "^3.0.0"
istanbul@0.4.5, istanbul@^0.4.0:
version "0.4.5"
@@ -3287,17 +2839,12 @@ joi@^13.x:
isemail "3.x.x"
topo "3.x.x"
-"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
+js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
-js-tokens@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
- integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
-
-js-yaml@3.x, js-yaml@^3.13.0, js-yaml@^3.13.1:
+js-yaml@3.x, js-yaml@^3.13.0:
version "3.13.1"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==
@@ -3305,31 +2852,24 @@ js-yaml@3.x, js-yaml@^3.13.0, js-yaml@^3.13.1:
argparse "^1.0.7"
esprima "^4.0.0"
+js-yaml@^3.13.1:
+ version "3.14.0"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482"
+ integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^4.0.0"
+
jsbn@~0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
-jsesc@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
- integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s=
-
jsesc@^2.5.1:
version "2.5.2"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
-json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
- integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
-
-json-schema-traverse@^0.3.0:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
- integrity sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=
-
json-schema-traverse@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
@@ -3357,6 +2897,13 @@ json5@^1.0.1:
dependencies:
minimist "^1.2.0"
+json5@^2.1.2:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43"
+ integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==
+ dependencies:
+ minimist "^1.2.5"
+
jsprim@^1.2.2:
version "1.4.1"
resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
@@ -3475,18 +3022,6 @@ karma-typescript@^3.0.13:
util "^0.10.3"
vm-browserify "0.0.4"
-karma-webpack@^3.0.5:
- version "3.0.5"
- resolved "https://registry.yarnpkg.com/karma-webpack/-/karma-webpack-3.0.5.tgz#1ff1e3a690fb73ae95ee95f9ab58f341cfc7b40f"
- integrity sha512-nRudGJWstvVuA6Tbju9tyGUfXTtI1UXMXoRHVmM2/78D0q6s/Ye2IC157PKNDC15PWFGR0mVIRtWLAdcfsRJoA==
- dependencies:
- async "^2.0.0"
- babel-runtime "^6.0.0"
- loader-utils "^1.0.0"
- lodash "^4.0.0"
- source-map "^0.5.6"
- webpack-dev-middleware "^2.0.6"
-
karma@^3.1.4:
version "3.1.4"
resolved "https://registry.yarnpkg.com/karma/-/karma-3.1.4.tgz#3890ca9722b10d1d14b726e1335931455788499e"
@@ -3550,20 +3085,6 @@ kind-of@^6.0.0, kind-of@^6.0.2:
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==
-lcid@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
- integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=
- dependencies:
- invert-kv "^1.0.0"
-
-lcid@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf"
- integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==
- dependencies:
- invert-kv "^2.0.0"
-
lcov-parse@^1.x:
version "1.0.0"
resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-1.0.0.tgz#eb0d46b54111ebc561acb4c408ef9363bdc8f7e0"
@@ -3588,45 +3109,12 @@ load-json-file@^1.0.0:
pinkie-promise "^2.0.0"
strip-bom "^2.0.0"
-load-json-file@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b"
- integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs=
- dependencies:
- graceful-fs "^4.1.2"
- parse-json "^4.0.0"
- pify "^3.0.0"
- strip-bom "^3.0.0"
-
-loader-runner@^2.3.0:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
- integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==
-
-loader-utils@1.2.3, loader-utils@^1.0.0, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7"
- integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==
- dependencies:
- big.js "^5.2.2"
- emojis-list "^2.0.0"
- json5 "^1.0.1"
-
-locate-path@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
- integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=
- dependencies:
- p-locate "^2.0.0"
- path-exists "^3.0.0"
-
-locate-path@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
- integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
+locate-path@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
+ integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
dependencies:
- p-locate "^3.0.0"
- path-exists "^3.0.0"
+ p-locate "^4.1.0"
lodash.flattendeep@^4.4.0:
version "4.4.0"
@@ -3638,23 +3126,21 @@ lodash.memoize@~3.0.3:
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-3.0.4.tgz#2dcbd2c287cbc0a55cc42328bd0c736150d53e3f"
integrity sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=
-lodash@^4.0.0, lodash@^4.17.0, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0, lodash@^4.5.0:
- version "4.17.15"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
- integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
+lodash@^4.17.0, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.5.0:
+ version "4.17.19"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b"
+ integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==
+
+lodash@^4.17.19:
+ version "4.17.20"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
+ integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
log-driver@^1.x:
version "1.2.7"
resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.7.tgz#63b95021f0702fedfa2c9bb0a24e7797d71871d8"
integrity sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==
-log-symbols@^2.1.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a"
- integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==
- dependencies:
- chalk "^2.0.1"
-
log4js@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/log4js/-/log4js-1.1.1.tgz#c21d29c7604089e4f255833e7f94b3461de1ff43"
@@ -3675,27 +3161,12 @@ log4js@^3.0.0:
rfdc "^1.1.2"
streamroller "0.7.0"
-loglevelnext@^1.0.1:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/loglevelnext/-/loglevelnext-1.0.5.tgz#36fc4f5996d6640f539ff203ba819641680d75a2"
- integrity sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==
- dependencies:
- es6-symbol "^3.1.1"
- object.assign "^4.1.0"
-
lolex@^4.0.1, lolex@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/lolex/-/lolex-4.1.0.tgz#ecdd7b86539391d8237947a3419aa8ac975f0fe1"
integrity sha512-BYxIEXiVq5lGIXeVHnsFzqa1TxN5acnKnPCdlZSpzm8viNEOhiigupA4vTQ9HEFQ6nLTQ9wQOgBknJgzUYQ9Aw==
-loose-envify@^1.0.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
- integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
- dependencies:
- js-tokens "^3.0.0 || ^4.0.0"
-
-loud-rejection@^1.0.0, loud-rejection@^1.6.0:
+loud-rejection@^1.0.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=
@@ -3703,7 +3174,7 @@ loud-rejection@^1.0.0, loud-rejection@^1.6.0:
currently-unhandled "^0.4.1"
signal-exit "^3.0.0"
-lru-cache@4.1.x, lru-cache@^4.0.1:
+lru-cache@4.1.x:
version "4.1.5"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
@@ -3711,45 +3182,18 @@ lru-cache@4.1.x, lru-cache@^4.0.1:
pseudomap "^1.0.2"
yallist "^2.1.2"
-lru-cache@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
- integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
- dependencies:
- yallist "^3.0.2"
-
-make-dir@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c"
- integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==
- dependencies:
- pify "^3.0.0"
-
-make-dir@^2.0.0, make-dir@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
- integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==
+make-dir@^3.0.0, make-dir@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
+ integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
dependencies:
- pify "^4.0.1"
- semver "^5.6.0"
+ semver "^6.0.0"
make-error@^1.1.1:
version "1.3.6"
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
-mamacro@^0.0.3:
- version "0.0.3"
- resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4"
- integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==
-
-map-age-cleaner@^0.1.1:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a"
- integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==
- dependencies:
- p-defer "^1.0.0"
-
map-cache@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
@@ -3781,30 +3225,6 @@ media-typer@0.3.0:
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
-mem@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76"
- integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=
- dependencies:
- mimic-fn "^1.0.0"
-
-mem@^4.0.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178"
- integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==
- dependencies:
- map-age-cleaner "^0.1.1"
- mimic-fn "^2.0.0"
- p-is-promise "^2.0.0"
-
-memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
- integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=
- dependencies:
- errno "^0.1.3"
- readable-stream "^2.0.1"
-
meow@^3.3.0:
version "3.7.0"
resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
@@ -3821,14 +3241,7 @@ meow@^3.3.0:
redent "^1.0.0"
trim-newlines "^1.0.0"
-merge-source-map@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646"
- integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==
- dependencies:
- source-map "^0.6.1"
-
-micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8, micromatch@^3.1.9:
+micromatch@^3.1.10, micromatch@^3.1.4:
version "3.1.10"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
@@ -3867,7 +3280,7 @@ mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24:
dependencies:
mime-db "1.40.0"
-mime@^2.1.0, mime@^2.3.1:
+mime@^2.3.1:
version "2.4.4"
resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5"
integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==
@@ -3877,11 +3290,6 @@ mimic-fn@^1.0.0:
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==
-mimic-fn@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
- integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
-
mimic-response@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
@@ -3914,6 +3322,11 @@ minimist@1.2.0, minimist@^1.1.3, minimist@^1.2.0:
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
+minimist@^1.2.5:
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
+ integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
+
minimist@~0.0.1:
version "0.0.10"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
@@ -3934,22 +3347,6 @@ minizlib@^1.2.1:
dependencies:
minipass "^2.2.1"
-mississippi@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022"
- integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==
- dependencies:
- concat-stream "^1.5.0"
- duplexify "^3.4.2"
- end-of-stream "^1.1.0"
- flush-write-stream "^1.0.0"
- from2 "^2.1.0"
- parallel-transform "^1.1.0"
- pump "^3.0.0"
- pumpify "^1.3.3"
- stream-each "^1.1.0"
- through2 "^2.0.0"
-
mixin-deep@^1.2.0:
version "1.3.2"
resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
@@ -3958,41 +3355,25 @@ mixin-deep@^1.2.0:
for-in "^1.0.2"
is-extendable "^1.0.1"
-mkdirp@0.5.1, mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0:
+mkdirp@0.5.1, mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
dependencies:
minimist "0.0.8"
+mkdirp@^0.5.3:
+ version "0.5.5"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
+ integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
+ dependencies:
+ minimist "^1.2.5"
+
mocha-lcov-reporter@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/mocha-lcov-reporter/-/mocha-lcov-reporter-1.3.0.tgz#469bdef4f8afc9a116056f079df6182d0afb0384"
integrity sha1-Rpve9PivyaEWBW8HnfYYLQr7A4Q=
-mocha-webpack@^2.0.0-beta.0:
- version "2.0.0-beta.0"
- resolved "https://registry.yarnpkg.com/mocha-webpack/-/mocha-webpack-2.0.0-beta.0.tgz#d85fc9a70f82a4ad595b7702a1181605dfa59549"
- integrity sha512-2ezbW0h5cYWr874F/hzytQCqINxk+GVelMY4xWTSHwwH1LrPAOzjlUljZ+/PhpaP6QeqYbL5x5vK/bnaXqkfEw==
- dependencies:
- babel-runtime "^6.18.0"
- chalk "^2.3.0"
- chokidar "^2.0.2"
- glob-parent "^3.1.0"
- globby "^7.1.1"
- interpret "^1.0.1"
- is-glob "^4.0.0"
- loader-utils "^1.1.0"
- lodash "^4.3.0"
- memory-fs "^0.4.1"
- nodent-runtime "^3.0.3"
- normalize-path "^2.0.1"
- progress "^2.0.0"
- source-map-support "^0.5.0"
- strip-ansi "^4.0.0"
- toposort "^1.0.0"
- yargs "^11.0.0"
-
mocha@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.2.0.tgz#6d8ae508f59167f940f2b5b3c4a612ae50c90ae6"
@@ -4010,24 +3391,12 @@ mocha@^5.2.0:
mkdirp "0.5.1"
supports-color "5.4.0"
-move-concurrently@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
- integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=
- dependencies:
- aproba "^1.1.1"
- copy-concurrently "^1.0.0"
- fs-write-stream-atomic "^1.0.8"
- mkdirp "^0.5.1"
- rimraf "^2.5.4"
- run-queue "^1.0.3"
-
ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
-ms@^2.1.1:
+ms@2.1.2, ms@^2.1.1:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
@@ -4083,16 +3452,11 @@ negotiator@0.6.2:
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
-neo-async@^2.5.0, neo-async@^2.6.0:
+neo-async@^2.6.0:
version "2.6.1"
resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c"
integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==
-next-tick@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
- integrity sha1-yobR/ogoFpsBICCOPchCS524NCw=
-
nice-try@^1.0.4:
version "1.0.5"
resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
@@ -4116,35 +3480,6 @@ node-abi@^2.7.0:
dependencies:
semver "^5.4.1"
-node-libs-browser@^2.0.0:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425"
- integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==
- dependencies:
- assert "^1.1.1"
- browserify-zlib "^0.2.0"
- buffer "^4.3.0"
- console-browserify "^1.1.0"
- constants-browserify "^1.0.0"
- crypto-browserify "^3.11.0"
- domain-browser "^1.1.1"
- events "^3.0.0"
- https-browserify "^1.0.0"
- os-browserify "^0.3.0"
- path-browserify "0.0.1"
- process "^0.11.10"
- punycode "^1.2.4"
- querystring-es3 "^0.2.0"
- readable-stream "^2.3.3"
- stream-browserify "^2.0.1"
- stream-http "^2.7.2"
- string_decoder "^1.0.0"
- timers-browserify "^2.0.4"
- tty-browserify "0.0.0"
- url "^0.11.0"
- util "^0.11.0"
- vm-browserify "^1.0.1"
-
node-pre-gyp@^0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149"
@@ -4161,10 +3496,12 @@ node-pre-gyp@^0.12.0:
semver "^5.3.0"
tar "^4"
-nodent-runtime@^3.0.3:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/nodent-runtime/-/nodent-runtime-3.2.1.tgz#9e2755d85e39f764288f0d4752ebcfe3e541e00e"
- integrity sha512-7Ws63oC+215smeKJQCxzrK21VFVlCFBkwl0MOObt0HOpVQXs3u483sAmtkF33nNqZ5rSOQjB76fgyPBmAUrtCA==
+node-preload@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/node-preload/-/node-preload-0.2.1.tgz#c03043bb327f417a18fee7ab7ee57b408a144301"
+ integrity sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==
+ dependencies:
+ process-on-spawn "^1.0.0"
noop-logger@^0.1.1:
version "0.1.1"
@@ -4196,7 +3533,7 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
semver "2 || 3 || 4 || 5"
validate-npm-package-license "^3.0.1"
-normalize-path@^2.0.1, normalize-path@^2.1.1:
+normalize-path@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=
@@ -4221,13 +3558,6 @@ npm-packlist@^1.1.6:
ignore-walk "^3.0.1"
npm-bundled "^1.0.1"
-npm-run-path@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
- integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=
- dependencies:
- path-key "^2.0.0"
-
npmlog@^4.0.1, npmlog@^4.0.2, npmlog@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
@@ -4248,35 +3578,38 @@ number-is-nan@^1.0.0:
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
-nyc@^13.3.0:
- version "13.3.0"
- resolved "https://registry.yarnpkg.com/nyc/-/nyc-13.3.0.tgz#da4dbe91a9c8b9ead3f4f3344c76f353e3c78c75"
- integrity sha512-P+FwIuro2aFG6B0Esd9ZDWUd51uZrAEoGutqZxzrVmYl3qSfkLgcQpBPBjtDFsUQLFY1dvTQJPOyeqr8S9GF8w==
+nyc@^15.1.0:
+ version "15.1.0"
+ resolved "https://registry.yarnpkg.com/nyc/-/nyc-15.1.0.tgz#1335dae12ddc87b6e249d5a1994ca4bdaea75f02"
+ integrity sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==
dependencies:
- archy "^1.0.0"
- arrify "^1.0.1"
- caching-transform "^3.0.1"
- convert-source-map "^1.6.0"
- find-cache-dir "^2.0.0"
- find-up "^3.0.0"
- foreground-child "^1.5.6"
- glob "^7.1.3"
- istanbul-lib-coverage "^2.0.3"
- istanbul-lib-hook "^2.0.3"
- istanbul-lib-instrument "^3.1.0"
- istanbul-lib-report "^2.0.4"
- istanbul-lib-source-maps "^3.0.2"
- istanbul-reports "^2.1.1"
- make-dir "^1.3.0"
- merge-source-map "^1.1.0"
- resolve-from "^4.0.0"
- rimraf "^2.6.3"
+ "@istanbuljs/load-nyc-config" "^1.0.0"
+ "@istanbuljs/schema" "^0.1.2"
+ caching-transform "^4.0.0"
+ convert-source-map "^1.7.0"
+ decamelize "^1.2.0"
+ find-cache-dir "^3.2.0"
+ find-up "^4.1.0"
+ foreground-child "^2.0.0"
+ get-package-type "^0.1.0"
+ glob "^7.1.6"
+ istanbul-lib-coverage "^3.0.0"
+ istanbul-lib-hook "^3.0.0"
+ istanbul-lib-instrument "^4.0.0"
+ istanbul-lib-processinfo "^2.0.2"
+ istanbul-lib-report "^3.0.0"
+ istanbul-lib-source-maps "^4.0.0"
+ istanbul-reports "^3.0.2"
+ make-dir "^3.0.0"
+ node-preload "^0.2.1"
+ p-map "^3.0.0"
+ process-on-spawn "^1.0.0"
+ resolve-from "^5.0.0"
+ rimraf "^3.0.0"
signal-exit "^3.0.2"
- spawn-wrap "^1.4.2"
- test-exclude "^5.1.0"
- uuid "^3.3.2"
- yargs "^12.0.5"
- yargs-parser "^11.1.1"
+ spawn-wrap "^2.0.0"
+ test-exclude "^6.0.0"
+ yargs "^15.0.2"
oauth-sign@~0.9.0:
version "0.9.0"
@@ -4302,11 +3635,6 @@ object-copy@^0.1.0:
define-property "^0.2.5"
kind-of "^3.0.3"
-object-keys@^1.0.11, object-keys@^1.0.12:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
- integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
-
object-visit@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
@@ -4314,16 +3642,6 @@ object-visit@^1.0.0:
dependencies:
isobject "^3.0.0"
-object.assign@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
- integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==
- dependencies:
- define-properties "^1.1.2"
- function-bind "^1.1.1"
- has-symbols "^1.0.0"
- object-keys "^1.0.11"
-
object.pick@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
@@ -4382,24 +3700,6 @@ os-homedir@^1.0.0, os-homedir@^1.0.1:
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
-os-locale@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2"
- integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==
- dependencies:
- execa "^0.7.0"
- lcid "^1.0.0"
- mem "^1.1.0"
-
-os-locale@^3.0.0, os-locale@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a"
- integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==
- dependencies:
- execa "^1.0.0"
- lcid "^2.0.0"
- mem "^4.0.0"
-
os-tmpdir@^1.0.0, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
@@ -4413,66 +3713,39 @@ osenv@^0.1.4:
os-homedir "^1.0.0"
os-tmpdir "^1.0.0"
-p-defer@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c"
- integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=
-
-p-finally@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
- integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
-
-p-is-promise@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e"
- integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==
-
-p-limit@^1.1.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
- integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==
- dependencies:
- p-try "^1.0.0"
-
-p-limit@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2"
- integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==
+p-limit@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
+ integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
dependencies:
p-try "^2.0.0"
-p-locate@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
- integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=
+p-locate@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
+ integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
dependencies:
- p-limit "^1.1.0"
+ p-limit "^2.2.0"
-p-locate@^3.0.0:
+p-map@^3.0.0:
version "3.0.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
- integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
+ resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d"
+ integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==
dependencies:
- p-limit "^2.0.0"
-
-p-try@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
- integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=
+ aggregate-error "^3.0.0"
p-try@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
-package-hash@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-3.0.0.tgz#50183f2d36c9e3e528ea0a8605dff57ce976f88e"
- integrity sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==
+package-hash@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-4.0.0.tgz#3537f654665ec3cc38827387fc904c163c54f506"
+ integrity sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==
dependencies:
graceful-fs "^4.1.15"
- hasha "^3.0.0"
+ hasha "^5.0.0"
lodash.flattendeep "^4.4.0"
release-zalgo "^1.0.0"
@@ -4488,15 +3761,6 @@ pako@~1.0.5:
resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732"
integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==
-parallel-transform@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06"
- integrity sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=
- dependencies:
- cyclist "~0.2.2"
- inherits "^2.0.3"
- readable-stream "^2.1.5"
-
parent-module@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
@@ -4523,19 +3787,6 @@ parse-json@^2.2.0:
dependencies:
error-ex "^1.2.0"
-parse-json@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
- integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=
- dependencies:
- error-ex "^1.3.1"
- json-parse-better-errors "^1.0.1"
-
-parse-passwd@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
- integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=
-
parseqs@0.0.5:
version "0.0.5"
resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d"
@@ -4565,11 +3816,6 @@ path-browserify@0.0.0:
resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a"
integrity sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=
-path-browserify@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a"
- integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==
-
path-dirname@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
@@ -4582,10 +3828,10 @@ path-exists@^2.0.0:
dependencies:
pinkie-promise "^2.0.0"
-path-exists@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
- integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
+path-exists@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
+ integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
path-is-absolute@^1.0.0:
version "1.0.1"
@@ -4597,11 +3843,16 @@ path-is-inside@^1.0.2:
resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=
-path-key@^2.0.0, path-key@^2.0.1:
+path-key@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
+path-key@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
+ integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
+
path-parse@^1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
@@ -4623,13 +3874,6 @@ path-type@^1.0.0:
pify "^2.0.0"
pinkie-promise "^2.0.0"
-path-type@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"
- integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==
- dependencies:
- pify "^3.0.0"
-
pathval@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0"
@@ -4651,21 +3895,16 @@ performance-now@^2.1.0:
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
+picomatch@^2.2.2:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
+ integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
+
pify@^2.0.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
-pify@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
- integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
-
-pify@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
- integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
-
pinkie-promise@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
@@ -4678,12 +3917,12 @@ pinkie@^2.0.0:
resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA=
-pkg-dir@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3"
- integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==
+pkg-dir@^4.1.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
+ integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
dependencies:
- find-up "^3.0.0"
+ find-up "^4.0.0"
plugin-error@^0.1.2:
version "0.1.2"
@@ -4738,6 +3977,13 @@ process-nextick-args@~2.0.0:
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
+process-on-spawn@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/process-on-spawn/-/process-on-spawn-1.0.0.tgz#95b05a23073d30a17acfdc92a440efd2baefdc93"
+ integrity sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==
+ dependencies:
+ fromentries "^1.2.0"
+
process@^0.11.10:
version "0.11.10"
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
@@ -4748,16 +3994,6 @@ progress@^2.0.0:
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
-promise-inflight@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
- integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM=
-
-prr@~1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
- integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY=
-
pseudomap@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
@@ -4788,7 +4024,7 @@ pump@^1.0.0:
end-of-stream "^1.1.0"
once "^1.3.1"
-pump@^2.0.0, pump@^2.0.1:
+pump@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909"
integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==
@@ -4796,23 +4032,6 @@ pump@^2.0.0, pump@^2.0.1:
end-of-stream "^1.1.0"
once "^1.3.1"
-pump@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
- integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
- dependencies:
- end-of-stream "^1.1.0"
- once "^1.3.1"
-
-pumpify@^1.3.3:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce"
- integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==
- dependencies:
- duplexify "^3.6.0"
- inherits "^2.0.3"
- pump "^2.0.0"
-
punycode@1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
@@ -4823,7 +4042,7 @@ punycode@2.x.x, punycode@^2.1.0, punycode@^2.1.1:
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
-punycode@^1.2.4, punycode@^1.4.1:
+punycode@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=
@@ -4833,7 +4052,7 @@ qjobs@^1.1.4:
resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.2.0.tgz#c45e9c61800bd087ef88d7e256423bdd49e5d071"
integrity sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==
-qs@6.7.0, qs@^6.5.2:
+qs@6.7.0:
version "6.7.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
@@ -4843,7 +4062,7 @@ qs@~6.5.2:
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
-querystring-es3@^0.2.0, querystring-es3@^0.2.1:
+querystring-es3@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=
@@ -4868,7 +4087,7 @@ randomfill@^1.0.3:
randombytes "^2.0.5"
safe-buffer "^5.1.0"
-range-parser@^1.0.3, range-parser@^1.2.0:
+range-parser@^1.2.0:
version "1.2.1"
resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
@@ -4901,14 +4120,6 @@ read-pkg-up@^1.0.1:
find-up "^1.0.0"
read-pkg "^1.0.0"
-read-pkg-up@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978"
- integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==
- dependencies:
- find-up "^3.0.0"
- read-pkg "^3.0.0"
-
read-pkg@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
@@ -4918,16 +4129,17 @@ read-pkg@^1.0.0:
normalize-package-data "^2.3.2"
path-type "^1.0.0"
-read-pkg@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389"
- integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=
+readable-stream@^1.1.7:
+ version "1.1.14"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
+ integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk=
dependencies:
- load-json-file "^4.0.0"
- normalize-package-data "^2.3.2"
- path-type "^3.0.0"
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "0.0.1"
+ string_decoder "~0.10.x"
-"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6:
+readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6:
version "2.3.6"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==
@@ -4940,16 +4152,6 @@ read-pkg@^3.0.0:
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
-readable-stream@^1.1.7:
- version "1.1.14"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
- integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk=
- dependencies:
- core-util-is "~1.0.0"
- inherits "~2.0.1"
- isarray "0.0.1"
- string_decoder "~0.10.x"
-
readable-stream@~2.0.0:
version "2.0.6"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e"
@@ -4986,11 +4188,6 @@ redent@^1.0.0:
indent-string "^2.1.0"
strip-indent "^1.0.1"
-regenerator-runtime@^0.11.0:
- version "0.11.1"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
- integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
-
regex-not@^1.0.0, regex-not@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
@@ -5098,11 +4295,6 @@ require-directory@^2.1.1:
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
-require-main-filename@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
- integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=
-
require-main-filename@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
@@ -5113,31 +4305,16 @@ requires-port@^1.0.0:
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=
-resolve-cwd@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a"
- integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=
- dependencies:
- resolve-from "^3.0.0"
-
-resolve-dir@^1.0.0, resolve-dir@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43"
- integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=
- dependencies:
- expand-tilde "^2.0.0"
- global-modules "^1.0.0"
-
-resolve-from@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
- integrity sha1-six699nWiBvItuZTM17rywoYh0g=
-
resolve-from@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
+resolve-from@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
+ integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
+
resolve-url@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
@@ -5148,13 +4325,20 @@ resolve@1.1.7, resolve@1.1.x:
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=
-resolve@^1.1.6, resolve@^1.10.0, resolve@^1.3.2:
+resolve@^1.1.6, resolve@^1.10.0:
version "1.11.1"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e"
integrity sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==
dependencies:
path-parse "^1.0.6"
+resolve@^1.14.2, resolve@^1.3.2:
+ version "1.17.0"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
+ integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
+ dependencies:
+ path-parse "^1.0.6"
+
restore-cursor@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
@@ -5173,13 +4357,20 @@ rfdc@^1.1.2:
resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.1.4.tgz#ba72cc1367a0ccd9cf81a870b3b58bd3ad07f8c2"
integrity sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug==
-rimraf@2.6.3, rimraf@^2.5.4, rimraf@^2.6.0, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3:
+rimraf@2.6.3, rimraf@^2.6.0, rimraf@^2.6.1:
version "2.6.3"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
dependencies:
glob "^7.1.3"
+rimraf@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
+ integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
+ dependencies:
+ glob "^7.1.3"
+
ripemd160@^2.0.0, ripemd160@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
@@ -5188,6 +4379,13 @@ ripemd160@^2.0.0, ripemd160@^2.0.1:
hash-base "^3.0.0"
inherits "^2.0.1"
+rollup@^2.8.2:
+ version "2.32.0"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.32.0.tgz#ac58c8e85782bea8aa2d440fc05aba345013582a"
+ integrity sha512-0FIG1jY88uhCP2yP4CfvtKEqPDRmsUwfY1kEOOM+DH/KOGATgaIFd/is1+fQOxsvh62ELzcFfKonwKWnHhrqmw==
+ optionalDependencies:
+ fsevents "~2.1.2"
+
run-async@^2.2.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
@@ -5195,13 +4393,6 @@ run-async@^2.2.0:
dependencies:
is-promise "^2.1.0"
-run-queue@^1.0.0, run-queue@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47"
- integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=
- dependencies:
- aproba "^1.1.1"
-
rxjs@^6.4.0:
version "6.5.2"
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7"
@@ -5236,28 +4427,12 @@ sax@>=0.6.0, sax@^1.2.4:
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
-schema-utils@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.3.0.tgz#f5877222ce3e931edae039f17eb3716e7137f8cf"
- integrity sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=
- dependencies:
- ajv "^5.0.0"
-
-schema-utils@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770"
- integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==
- dependencies:
- ajv "^6.1.0"
- ajv-errors "^1.0.0"
- ajv-keywords "^3.1.0"
-
seedrandom@^2.4.4:
version "2.4.4"
resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-2.4.4.tgz#b25ea98632c73e45f58b77cfaa931678df01f9ba"
integrity sha512-9A+PDmgm+2du77B5i0Ip2cxOqqHjgNxnBgglxLcX78A2D6c2rTo61z4jnVABpF4cKeDMDG+cmXXvdnqse2VqMA==
-"semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0:
+"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1:
version "5.7.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b"
integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==
@@ -5267,10 +4442,10 @@ semver@^6.0.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db"
integrity sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==
-serialize-javascript@^1.7.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65"
- integrity sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA==
+semver@^6.3.0:
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
+ integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
set-blocking@^2.0.0, set-blocking@~2.0.0:
version "2.0.0"
@@ -5328,11 +4503,23 @@ shebang-command@^1.2.0:
dependencies:
shebang-regex "^1.0.0"
+shebang-command@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
+ integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
+ dependencies:
+ shebang-regex "^3.0.0"
+
shebang-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
+shebang-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
+ integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+
shelljs@^0.8.1:
version "0.8.3"
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.3.tgz#a7f3319520ebf09ee81275b2368adb286659b097"
@@ -5399,11 +4586,6 @@ sinon@^7.2.7:
nise "^1.4.10"
supports-color "^5.5.0"
-slash@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
- integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=
-
slice-ansi@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"
@@ -5489,11 +4671,6 @@ socket.io@2.1.1:
socket.io-client "2.1.1"
socket.io-parser "~3.2.0"
-source-list-map@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
- integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==
-
source-map-resolve@^0.5.0:
version "0.5.2"
resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259"
@@ -5505,15 +4682,7 @@ source-map-resolve@^0.5.0:
source-map-url "^0.4.0"
urix "^0.1.0"
-source-map-support@^0.5.0, source-map-support@^0.5.3, source-map-support@~0.5.12:
- version "0.5.12"
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599"
- integrity sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==
- dependencies:
- buffer-from "^1.0.0"
- source-map "^0.6.0"
-
-source-map-support@^0.5.17:
+source-map-support@^0.5.17, source-map-support@~0.5.19:
version "0.5.19"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==
@@ -5531,7 +4700,7 @@ source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.3:
+source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.6, source-map@~0.5.3:
version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
@@ -5543,17 +4712,22 @@ source-map@~0.2.0:
dependencies:
amdefine ">=0.0.4"
-spawn-wrap@^1.4.2:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-1.4.2.tgz#cff58e73a8224617b6561abdc32586ea0c82248c"
- integrity sha512-vMwR3OmmDhnxCVxM8M+xO/FtIp6Ju/mNaDfCMMW7FDcLRTPFWUswec4LXJHTJE2hwTI9O0YBfygu4DalFl7Ylg==
+source-map@~0.7.2:
+ version "0.7.3"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
+ integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
+
+spawn-wrap@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-2.0.0.tgz#103685b8b8f9b79771318827aa78650a610d457e"
+ integrity sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==
dependencies:
- foreground-child "^1.5.6"
- mkdirp "^0.5.0"
- os-homedir "^1.0.1"
- rimraf "^2.6.2"
+ foreground-child "^2.0.0"
+ is-windows "^1.0.2"
+ make-dir "^3.0.0"
+ rimraf "^3.0.0"
signal-exit "^3.0.2"
- which "^1.3.0"
+ which "^2.0.1"
spdx-correct@^3.0.0:
version "3.1.0"
@@ -5608,13 +4782,6 @@ sshpk@^1.7.0:
safer-buffer "^2.0.2"
tweetnacl "~0.14.0"
-ssri@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8"
- integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==
- dependencies:
- figgy-pudding "^3.5.1"
-
static-extend@^0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
@@ -5641,14 +4808,6 @@ stream-browserify@^2.0.1:
inherits "~2.0.1"
readable-stream "^2.0.2"
-stream-each@^1.1.0:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae"
- integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==
- dependencies:
- end-of-stream "^1.1.0"
- stream-shift "^1.0.0"
-
stream-http@^2.7.2:
version "2.8.3"
resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc"
@@ -5660,11 +4819,6 @@ stream-http@^2.7.2:
to-arraybuffer "^1.0.0"
xtend "^4.0.0"
-stream-shift@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952"
- integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=
-
streamroller@0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-0.7.0.tgz#a1d1b7cf83d39afb0d63049a5acbf93493bdf64b"
@@ -5694,7 +4848,7 @@ string-width@^1.0.1:
is-fullwidth-code-point "^1.0.0"
strip-ansi "^3.0.0"
-"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1:
+"string-width@^1.0.2 || 2", string-width@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
@@ -5702,7 +4856,7 @@ string-width@^1.0.1:
is-fullwidth-code-point "^2.0.0"
strip-ansi "^4.0.0"
-string-width@^3.0.0, string-width@^3.1.0:
+string-width@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
@@ -5711,7 +4865,16 @@ string-width@^3.0.0, string-width@^3.1.0:
is-fullwidth-code-point "^2.0.0"
strip-ansi "^5.1.0"
-string_decoder@^1.0.0, string_decoder@^1.0.3:
+string-width@^4.1.0, string-width@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5"
+ integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==
+ dependencies:
+ emoji-regex "^8.0.0"
+ is-fullwidth-code-point "^3.0.0"
+ strip-ansi "^6.0.0"
+
+string_decoder@^1.0.3:
version "1.2.0"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d"
integrity sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==
@@ -5744,13 +4907,20 @@ strip-ansi@^4.0.0:
dependencies:
ansi-regex "^3.0.0"
-strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
+strip-ansi@^5.1.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
dependencies:
ansi-regex "^4.1.0"
+strip-ansi@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
+ integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
+ dependencies:
+ ansi-regex "^5.0.0"
+
strip-bom@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
@@ -5763,10 +4933,10 @@ strip-bom@^3.0.0:
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
-strip-eof@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
- integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
+strip-bom@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
+ integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==
strip-indent@^1.0.1:
version "1.0.1"
@@ -5787,18 +4957,6 @@ supports-color@5.4.0:
dependencies:
has-flag "^3.0.0"
-supports-color@6.1.0, supports-color@^6.1.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3"
- integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==
- dependencies:
- has-flag "^3.0.0"
-
-supports-color@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
- integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
-
supports-color@^3.1.0:
version "3.2.3"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
@@ -5813,6 +4971,13 @@ supports-color@^5.3.0, supports-color@^5.5.0:
dependencies:
has-flag "^3.0.0"
+supports-color@^7.1.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
+ integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
+ dependencies:
+ has-flag "^4.0.0"
+
table@^5.2.3:
version "5.4.4"
resolved "https://registry.yarnpkg.com/table/-/table-5.4.4.tgz#6e0f88fdae3692793d1077fd172a4667afe986a6"
@@ -5823,11 +4988,6 @@ table@^5.2.3:
slice-ansi "^2.1.0"
string-width "^3.0.0"
-tapable@^1.0.0, tapable@^1.1.0:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
- integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
-
tar-fs@^1.13.0:
version "1.16.3"
resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.3.tgz#966a628841da2c4010406a82167cbd5e0c72d509"
@@ -5864,40 +5024,23 @@ tar@^4, tar@^4.4.8:
safe-buffer "^5.1.2"
yallist "^3.0.3"
-terser-webpack-plugin@^1.1.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.3.0.tgz#69aa22426299f4b5b3775cbed8cb2c5d419aa1d4"
- integrity sha512-W2YWmxPjjkUcOWa4pBEv4OP4er1aeQJlSo2UhtCFQCuRXEHjOFscO8VyWHj9JLlA0RzQb8Y2/Ta78XZvT54uGg==
- dependencies:
- cacache "^11.3.2"
- find-cache-dir "^2.0.0"
- is-wsl "^1.1.0"
- loader-utils "^1.2.3"
- schema-utils "^1.0.0"
- serialize-javascript "^1.7.0"
- source-map "^0.6.1"
- terser "^4.0.0"
- webpack-sources "^1.3.0"
- worker-farm "^1.7.0"
-
-terser@^4.0.0:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/terser/-/terser-4.1.2.tgz#b2656c8a506f7ce805a3f300a2ff48db022fa391"
- integrity sha512-jvNoEQSPXJdssFwqPSgWjsOrb+ELoE+ILpHPKXC83tIxOlh2U75F1KuB2luLD/3a6/7K3Vw5pDn+hvu0C4AzSw==
+terser@^5.3.7:
+ version "5.3.7"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-5.3.7.tgz#798a4ae2e7ff67050c3e99fcc4e00725827d97e2"
+ integrity sha512-lJbKdfxWvjpV330U4PBZStCT9h3N9A4zZVA5Y4k9sCWXknrpdyxi1oMsRKLmQ/YDMDxSBKIh88v0SkdhdqX06w==
dependencies:
commander "^2.20.0"
- source-map "~0.6.1"
- source-map-support "~0.5.12"
+ source-map "~0.7.2"
+ source-map-support "~0.5.19"
-test-exclude@^5.1.0:
- version "5.2.3"
- resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0"
- integrity sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==
+test-exclude@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e"
+ integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==
dependencies:
- glob "^7.1.3"
+ "@istanbuljs/schema" "^0.1.2"
+ glob "^7.1.4"
minimatch "^3.0.4"
- read-pkg-up "^4.0.0"
- require-main-filename "^2.0.0"
text-table@^0.2.0:
version "0.2.0"
@@ -5912,20 +5055,12 @@ through2@2.0.1:
readable-stream "~2.0.0"
xtend "~4.0.0"
-through2@^2.0.0:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
- integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
- dependencies:
- readable-stream "~2.3.6"
- xtend "~4.0.1"
-
through@^2.3.6:
version "2.3.8"
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
-timers-browserify@^2.0.2, timers-browserify@^2.0.4:
+timers-browserify@^2.0.2:
version "2.0.10"
resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae"
integrity sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==
@@ -5961,11 +5096,6 @@ to-buffer@^1.1.1:
resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80"
integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==
-to-fast-properties@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
- integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=
-
to-fast-properties@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
@@ -6008,11 +5138,6 @@ topo@3.x.x:
dependencies:
hoek "6.x.x"
-toposort@^1.0.0:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029"
- integrity sha1-LmhELZ9k7HILjMieZEOsbKqVACk=
-
tough-cookie@^2.3.3:
version "2.5.0"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
@@ -6034,31 +5159,15 @@ trim-newlines@^1.0.0:
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
integrity sha1-WIeWa7WCpFA6QetST301ARgVphM=
-trim-right@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
- integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
-
ts-custom-error@^3.0.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/ts-custom-error/-/ts-custom-error-3.1.1.tgz#d30c7415461dac93dc2cc9e9eb2dae92e6423901"
integrity sha512-f/syoy+pTE4z82qaiRuthEeZtCGNKzlfs0Zc8jpQFcz/CYMaFSwFSdfFt1sSFnPlDLOEm7RCROdIxZ44N8UlwA==
-ts-loader@^5.3.3:
- version "5.4.5"
- resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-5.4.5.tgz#a0c1f034b017a9344cef0961bfd97cc192492b8b"
- integrity sha512-XYsjfnRQCBum9AMRZpk2rTYSVpdZBpZK+kDh0TeT3kxmQNBDVIeUjdPjY5RZry4eIAb8XHc4gYSUiUWPYvzSRw==
- dependencies:
- chalk "^2.3.0"
- enhanced-resolve "^4.0.0"
- loader-utils "^1.0.2"
- micromatch "^3.1.4"
- semver "^5.0.1"
-
-ts-node@^8.9.0:
- version "8.10.1"
- resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.10.1.tgz#77da0366ff8afbe733596361d2df9a60fc9c9bd3"
- integrity sha512-bdNz1L4ekHiJul6SHtZWs1ujEKERJnHs4HxN7rjTyyVOFf3HaJ6sLqe6aPG62XTzAB/63pKRh5jTSWL0D7bsvw==
+ts-node@^9.0.0:
+ version "9.0.0"
+ resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.0.0.tgz#e7699d2a110cc8c0d3b831715e417688683460b3"
+ integrity sha512-/TqB4SnererCDR/vb4S/QvSZvzQMJN8daAslg7MeaiHvD8rDZsSfXmNeNumyZZzMned72Xoq/isQljYSt8Ynfg==
dependencies:
arg "^4.1.0"
diff "^4.0.1"
@@ -6066,7 +5175,22 @@ ts-node@^8.9.0:
source-map-support "^0.5.17"
yn "3.1.1"
-tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0:
+tsconfig-paths@^3.9.0:
+ version "3.9.0"
+ resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b"
+ integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==
+ dependencies:
+ "@types/json5" "^0.0.29"
+ json5 "^1.0.1"
+ minimist "^1.2.0"
+ strip-bom "^3.0.0"
+
+tslib@^1.13.0, tslib@^1.8.1:
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
+ integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
+
+tslib@^1.9.0:
version "1.10.0"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==
@@ -6076,23 +5200,23 @@ tslint-no-circular-imports@^0.7.0:
resolved "https://registry.yarnpkg.com/tslint-no-circular-imports/-/tslint-no-circular-imports-0.7.0.tgz#9df0a15654d66b172e0b7843eed073fa5ae99b5f"
integrity sha512-k3wxpeMC4ef40UbpfBVHEHIzKfNZq5/SCtAO1YjGsaNTklo+K53/TWLrym+poA65RJFDiYgYNWvkeIIkJNA0Vw==
-tslint@^5.13.1:
- version "5.18.0"
- resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.18.0.tgz#f61a6ddcf372344ac5e41708095bbf043a147ac6"
- integrity sha512-Q3kXkuDEijQ37nXZZLKErssQVnwCV/+23gFEMROi8IlbaBG6tXqLPQJ5Wjcyt/yHPKBC+hD5SzuGaMora+ZS6w==
+tslint@^6.1.3:
+ version "6.1.3"
+ resolved "https://registry.yarnpkg.com/tslint/-/tslint-6.1.3.tgz#5c23b2eccc32487d5523bd3a470e9aa31789d904"
+ integrity sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==
dependencies:
"@babel/code-frame" "^7.0.0"
builtin-modules "^1.1.1"
chalk "^2.3.0"
commander "^2.12.1"
- diff "^3.2.0"
+ diff "^4.0.1"
glob "^7.1.1"
js-yaml "^3.13.1"
minimatch "^3.0.4"
- mkdirp "^0.5.1"
+ mkdirp "^0.5.3"
resolve "^1.3.2"
semver "^5.3.0"
- tslib "^1.8.0"
+ tslib "^1.13.0"
tsutils "^2.29.0"
tsutils@^2.29.0:
@@ -6131,6 +5255,11 @@ type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.5:
resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
+type-fest@^0.8.0:
+ version "0.8.1"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
+ integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
+
type-is@~1.6.17:
version "1.6.18"
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
@@ -6139,26 +5268,23 @@ type-is@~1.6.17:
media-typer "0.3.0"
mime-types "~2.1.24"
-type@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/type/-/type-1.0.1.tgz#084c9a17fcc9151a2cdb1459905c2e45e4bb7d61"
- integrity sha512-MAM5dBMJCJNKs9E7JXo4CXRAansRfG0nlJxW7Wf6GZzSOvH31zClSaHdIMWLehe/EGMBkqeC55rrkaOr5Oo7Nw==
+typedarray-to-buffer@^3.1.5:
+ version "3.1.5"
+ resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
+ integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==
+ dependencies:
+ is-typedarray "^1.0.0"
-typedarray@^0.0.6:
- version "0.0.6"
- resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
- integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
+typescript@^3:
+ version "3.9.7"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa"
+ integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==
typescript@^3.0.3:
version "3.5.3"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.5.3.tgz#c830f657f93f1ea846819e929092f5fe5983e977"
integrity sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==
-typescript@~3.3.3333:
- version "3.3.4000"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.3.4000.tgz#76b0f89cfdbf97827e1112d64f283f1151d6adf0"
- integrity sha512-jjOcCZvpkl2+z7JFn0yBOoLQyLoIkNZAs/fYJkUG6VKy6zLPHJGfQJYFHzibB6GJaF/8QrcECtlQ5cpvRHSMEA==
-
uglify-js@^3.1.4:
version "3.7.3"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.7.3.tgz#f918fce9182f466d5140f24bb0ff35c2d32dcc6a"
@@ -6167,29 +5293,6 @@ uglify-js@^3.1.4:
commander "~2.20.3"
source-map "~0.6.1"
-uglify-js@^3.4.9, uglify-js@^3.5.12:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5"
- integrity sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==
- dependencies:
- commander "~2.20.0"
- source-map "~0.6.1"
-
-uglifyjs-webpack-plugin@^2.1.2:
- version "2.1.3"
- resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-2.1.3.tgz#b00a18d1acda271deb755c99ba0d93568156eb76"
- integrity sha512-/lRkCaFbI6pT3CxsQHDhBcqB6tocOnqba0vJqJ2DzSWFLRgOIiip8q0nVFydyXk+n8UtF7ZuS6hvWopcYH5FuA==
- dependencies:
- cacache "^11.3.2"
- find-cache-dir "^2.1.0"
- is-wsl "^1.1.0"
- schema-utils "^1.0.0"
- serialize-javascript "^1.7.0"
- source-map "^0.6.1"
- uglify-js "^3.5.12"
- webpack-sources "^1.3.0"
- worker-farm "^1.7.0"
-
ultron@~1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c"
@@ -6205,20 +5308,6 @@ union-value@^1.0.0:
is-extendable "^0.1.1"
set-value "^2.0.1"
-unique-filename@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230"
- integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==
- dependencies:
- unique-slug "^2.0.0"
-
-unique-slug@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c"
- integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==
- dependencies:
- imurmurhash "^0.1.4"
-
unpipe@1.0.0, unpipe@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
@@ -6249,11 +5338,6 @@ urix@^0.1.0:
resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
-url-join@^2.0.2:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/url-join/-/url-join-2.0.5.tgz#5af22f18c052a000a48d7b82c5e9c2e2feeda728"
- integrity sha1-WvIvGMBSoACkjXuCxenC4v7tpyg=
-
url@^0.11.0:
version "0.11.0"
resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
@@ -6294,27 +5378,20 @@ util@^0.10.3:
dependencies:
inherits "2.0.3"
-util@^0.11.0:
- version "0.11.1"
- resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61"
- integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==
- dependencies:
- inherits "2.0.3"
-
utils-merge@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
-uuid@^3.1.0, uuid@^3.3.2:
+uuid@^3.3.2:
version "3.3.2"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==
-v8-compile-cache@2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz#00f7494d2ae2b688cfe2899df6ed2c54bef91dbe"
- integrity sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==
+uuid@^3.3.3:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
+ integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
validate-npm-package-license@^3.0.1:
version "3.0.4"
@@ -6340,25 +5417,11 @@ vm-browserify@0.0.4:
dependencies:
indexof "0.0.1"
-vm-browserify@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019"
- integrity sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==
-
void-elements@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec"
integrity sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=
-watchpack@^1.5.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00"
- integrity sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==
- dependencies:
- chokidar "^2.0.2"
- graceful-fs "^4.1.2"
- neo-async "^2.5.0"
-
wcwidth@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
@@ -6366,102 +5429,6 @@ wcwidth@^1.0.1:
dependencies:
defaults "^1.0.3"
-webpack-cli@^3.2.3:
- version "3.3.6"
- resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.6.tgz#2c8c399a2642133f8d736a359007a052e060032c"
- integrity sha512-0vEa83M7kJtxK/jUhlpZ27WHIOndz5mghWL2O53kiDoA9DIxSKnfqB92LoqEn77cT4f3H2cZm1BMEat/6AZz3A==
- dependencies:
- chalk "2.4.2"
- cross-spawn "6.0.5"
- enhanced-resolve "4.1.0"
- findup-sync "3.0.0"
- global-modules "2.0.0"
- import-local "2.0.0"
- interpret "1.2.0"
- loader-utils "1.2.3"
- supports-color "6.1.0"
- v8-compile-cache "2.0.3"
- yargs "13.2.4"
-
-webpack-combine-loaders@2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/webpack-combine-loaders/-/webpack-combine-loaders-2.0.4.tgz#27814d52b8329ed6565be39009aac76361e7e22c"
- integrity sha512-5O5PYVE5tZ3I3uUm3QB7niLEJzLketl8hvAcJwa4YmwNWS/vixfVsqhtUaBciP8J4u/GwIHV52d7kkgZJFvDnw==
- dependencies:
- qs "^6.5.2"
-
-webpack-config-utils@2.3.1:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/webpack-config-utils/-/webpack-config-utils-2.3.1.tgz#a51826ddd4de26c10dfdb81cbff8aac0debb0a36"
- integrity sha512-0uC5uj7sThFTePTQjfpe5Wqcbw3KSCxqswOmW96lwk2ZI2CU098rWY2ZqOVGJQYJ3hfEltmjcLNkKutw8LJAlg==
- dependencies:
- webpack-combine-loaders "2.0.4"
-
-webpack-dev-middleware@^2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-2.0.6.tgz#a51692801e8310844ef3e3790e1eacfe52326fd4"
- integrity sha512-tj5LLD9r4tDuRIDa5Mu9lnY2qBBehAITv6A9irqXhw/HQquZgTx3BCd57zYbU2gMDnncA49ufK2qVQSbaKJwOw==
- dependencies:
- loud-rejection "^1.6.0"
- memory-fs "~0.4.1"
- mime "^2.1.0"
- path-is-absolute "^1.0.0"
- range-parser "^1.0.3"
- url-join "^2.0.2"
- webpack-log "^1.0.1"
-
-webpack-log@^1.0.1, webpack-log@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-1.2.0.tgz#a4b34cda6b22b518dbb0ab32e567962d5c72a43d"
- integrity sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==
- dependencies:
- chalk "^2.1.0"
- log-symbols "^2.1.0"
- loglevelnext "^1.0.1"
- uuid "^3.1.0"
-
-webpack-node-externals@^1.6.0:
- version "1.7.2"
- resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-1.7.2.tgz#6e1ee79ac67c070402ba700ef033a9b8d52ac4e3"
- integrity sha512-ajerHZ+BJKeCLviLUUmnyd5B4RavLF76uv3cs6KNuO8W+HuQaEs0y0L7o40NQxdPy5w0pcv8Ew7yPUAQG0UdCg==
-
-webpack-sources@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85"
- integrity sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==
- dependencies:
- source-list-map "^2.0.0"
- source-map "~0.6.1"
-
-webpack@^4.29.6:
- version "4.36.1"
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.36.1.tgz#f546fda7a403a76faeaaa7196c50d12370ed18a9"
- integrity sha512-Ej01/N9W8DVyhEpeQnbUdGvOECw0L46FxS12cCOs8gSK7bhUlrbHRnWkjiXckGlHjUrmL89kDpTRIkUk6Y+fKg==
- dependencies:
- "@webassemblyjs/ast" "1.8.5"
- "@webassemblyjs/helper-module-context" "1.8.5"
- "@webassemblyjs/wasm-edit" "1.8.5"
- "@webassemblyjs/wasm-parser" "1.8.5"
- acorn "^6.2.0"
- ajv "^6.1.0"
- ajv-keywords "^3.1.0"
- chrome-trace-event "^1.0.0"
- enhanced-resolve "^4.1.0"
- eslint-scope "^4.0.0"
- json-parse-better-errors "^1.0.2"
- loader-runner "^2.3.0"
- loader-utils "^1.1.0"
- memory-fs "~0.4.1"
- micromatch "^3.1.8"
- mkdirp "~0.5.0"
- neo-async "^2.5.0"
- node-libs-browser "^2.0.0"
- schema-utils "^1.0.0"
- tapable "^1.1.0"
- terser-webpack-plugin "^1.1.0"
- watchpack "^1.5.0"
- webpack-sources "^1.3.0"
-
which-module@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
@@ -6472,13 +5439,20 @@ which-pm-runs@^1.0.0:
resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb"
integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=
-which@^1.1.1, which@^1.2.1, which@^1.2.14, which@^1.2.9, which@^1.3.0, which@^1.3.1:
+which@^1.1.1, which@^1.2.1, which@^1.2.9:
version "1.3.1"
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
dependencies:
isexe "^2.0.0"
+which@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
+ integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+ dependencies:
+ isexe "^2.0.0"
+
wide-align@^1.1.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
@@ -6496,43 +5470,29 @@ wordwrap@~0.0.2:
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc=
-worker-farm@^1.7.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8"
- integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==
- dependencies:
- errno "~0.1.7"
-
-wrap-ansi@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
- integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=
+wrap-ansi@^6.2.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
+ integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
dependencies:
- string-width "^1.0.1"
- strip-ansi "^3.0.1"
-
-wrap-ansi@^5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
- integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==
- dependencies:
- ansi-styles "^3.2.0"
- string-width "^3.0.0"
- strip-ansi "^5.0.0"
+ ansi-styles "^4.0.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
-write-file-atomic@^2.4.2:
- version "2.4.3"
- resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481"
- integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==
+write-file-atomic@^3.0.0:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8"
+ integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==
dependencies:
- graceful-fs "^4.1.11"
imurmurhash "^0.1.4"
+ is-typedarray "^1.0.0"
signal-exit "^3.0.2"
+ typedarray-to-buffer "^3.1.5"
write@1.0.3:
version "1.0.3"
@@ -6568,17 +5528,12 @@ xmlhttprequest-ssl@~1.5.4:
resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e"
integrity sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=
-xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1:
+xtend@^4.0.0, xtend@~4.0.0:
version "4.0.2"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
-y18n@^3.2.1:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
- integrity sha1-bRX7qITAhnnA136I53WegR4H+kE=
-
-"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0:
+y18n@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==
@@ -6588,91 +5543,40 @@ yallist@^2.1.2:
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
-yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3:
+yallist@^3.0.0, yallist@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9"
integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==
-yargs-parser@^11.1.1:
- version "11.1.1"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4"
- integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==
+yargs-parser@^18.1.2:
+ version "18.1.3"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"
+ integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==
dependencies:
camelcase "^5.0.0"
decamelize "^1.2.0"
-yargs-parser@^13.1.0:
- version "13.1.1"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0"
- integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==
+yargs@^15.0.2:
+ version "15.4.1"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8"
+ integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==
dependencies:
- camelcase "^5.0.0"
+ cliui "^6.0.0"
decamelize "^1.2.0"
-
-yargs-parser@^9.0.2:
- version "9.0.2"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077"
- integrity sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=
- dependencies:
- camelcase "^4.1.0"
-
-yargs@13.2.4:
- version "13.2.4"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.4.tgz#0b562b794016eb9651b98bd37acf364aa5d6dc83"
- integrity sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==
- dependencies:
- cliui "^5.0.0"
- find-up "^3.0.0"
+ find-up "^4.1.0"
get-caller-file "^2.0.1"
- os-locale "^3.1.0"
require-directory "^2.1.1"
require-main-filename "^2.0.0"
set-blocking "^2.0.0"
- string-width "^3.0.0"
+ string-width "^4.2.0"
which-module "^2.0.0"
y18n "^4.0.0"
- yargs-parser "^13.1.0"
-
-yargs@^11.0.0:
- version "11.1.0"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.1.0.tgz#90b869934ed6e871115ea2ff58b03f4724ed2d77"
- integrity sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==
- dependencies:
- cliui "^4.0.0"
- decamelize "^1.1.1"
- find-up "^2.1.0"
- get-caller-file "^1.0.1"
- os-locale "^2.0.0"
- require-directory "^2.1.1"
- require-main-filename "^1.0.1"
- set-blocking "^2.0.0"
- string-width "^2.0.0"
- which-module "^2.0.0"
- y18n "^3.2.1"
- yargs-parser "^9.0.2"
-
-yargs@^12.0.5:
- version "12.0.5"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13"
- integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==
- dependencies:
- cliui "^4.0.0"
- decamelize "^1.2.0"
- find-up "^3.0.0"
- get-caller-file "^1.0.1"
- os-locale "^3.0.0"
- require-directory "^2.1.1"
- require-main-filename "^1.0.1"
- set-blocking "^2.0.0"
- string-width "^2.0.0"
- which-module "^2.0.0"
- y18n "^3.2.1 || ^4.0.0"
- yargs-parser "^11.1.1"
+ yargs-parser "^18.1.2"
yarn@^1.17.3:
- version "1.22.0"
- resolved "https://registry.yarnpkg.com/yarn/-/yarn-1.22.0.tgz#acf82906e36bcccd1ccab1cfb73b87509667c881"
- integrity sha512-KMHP/Jq53jZKTY9iTUt3dIVl/be6UPs2INo96+BnZHLKxYNTfwMmlgHTaMWyGZoO74RI4AIFvnWhYrXq2USJkg==
+ version "1.22.10"
+ resolved "https://registry.yarnpkg.com/yarn/-/yarn-1.22.10.tgz#c99daa06257c80f8fa2c3f1490724e394c26b18c"
+ integrity sha512-IanQGI9RRPAN87VGTF7zs2uxkSyQSrSPsju0COgbsKQOOXr5LtcVPeyXWgwVa0ywG3d8dg6kSYKGBuYK021qeA==
yeast@0.1.2:
version "0.1.2"