no-var rule for typescript

This commit is contained in:
Val Erastov 2022-08-15 19:07:53 -07:00
parent 8b6b72946a
commit ffc1312da7
9 changed files with 116 additions and 116 deletions

View file

@ -27,7 +27,7 @@
"no-console": "off", "no-console": "off",
"no-extra-boolean-cast": "off", "no-extra-boolean-cast": "off",
"prefer-const": "off", "prefer-const": "off",
"no-var": "off", "no-var": "error",
"no-empty": "off", "no-empty": "off",
"no-fallthrough": "off", "no-fallthrough": "off",
"@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/no-explicit-any": "off",

10
externals.d.ts vendored
View file

@ -3,9 +3,9 @@ declare module '*.less' {
export = resource; export = resource;
} }
declare var verb: any; declare const verb: any;
declare var FS: any; declare const FS: any;
declare var __CAD_APP: any; declare const __CAD_APP: any;
declare var __DEBUG__: any; declare const __DEBUG__: any;
declare var Module: any; declare const Module: any;

View file

@ -1,6 +1,6 @@
/* eslint @typescript-eslint/ban-types: 0 */ /* eslint @typescript-eslint/ban-types: 0 */
declare var Module: { declare let Module: {
_SPI_box: Function; _SPI_box: Function;
_SPI_torus: Function; _SPI_torus: Function;
_SPI_sphere: Function; _SPI_sphere: Function;

View file

@ -8,17 +8,17 @@ import {IDENTITY_BASIS3} from "math/basis";
import Vector from "math/vector"; import Vector from "math/vector";
export function circleFromPoints(p1, p2, p3) { export function circleFromPoints(p1, p2, p3) {
var center = new Vector(); let center = new Vector();
var offset = p2.x * p2.x + p2.y * p2.y; let offset = p2.x * p2.x + p2.y * p2.y;
var bc = (p1.x * p1.x + p1.y * p1.y - offset) / 2.0; let bc = (p1.x * p1.x + p1.y * p1.y - offset) / 2.0;
var cd = (offset - p3.x * p3.x - p3.y * p3.y) / 2.0; let cd = (offset - p3.x * p3.x - p3.y * p3.y) / 2.0;
var det = (p1.x - p2.x) * (p2.y - p3.y) - (p2.x - p3.x) * (p1.y - p2.y); let det = (p1.x - p2.x) * (p2.y - p3.y) - (p2.x - p3.x) * (p1.y - p2.y);
if (Math.abs(det) < 1e-6) { if (Math.abs(det) < 1e-6) {
return null; return null;
} }
var idet = 1 / det; let idet = 1 / det;
center.x = (bc * (p2.y - p3.y) - cd * (p1.y - p2.y)) * idet; center.x = (bc * (p2.y - p3.y) - cd * (p1.y - p2.y)) * idet;
center.y = (cd * (p1.x - p2.x) - bc * (p2.x - p3.x)) * idet; center.y = (cd * (p1.x - p2.x) - bc * (p2.x - p3.x)) * idet;
@ -67,21 +67,21 @@ export function polygonOffsetByDelta(polygon, delta) {
} }
export function isPointInsidePolygon(inPt, inPolygon) { export function isPointInsidePolygon(inPt, inPolygon) {
var EPSILON = TIGHT_TOLERANCE; let EPSILON = TIGHT_TOLERANCE;
var polyLen = inPolygon.length; let polyLen = inPolygon.length;
// inPt on polygon contour => immediate success or // inPt on polygon contour => immediate success or
// toggling of inside/outside at every single! intersection point of an edge // toggling of inside/outside at every single! intersection point of an edge
// with the horizontal line through inPt, left of inPt // with the horizontal line through inPt, left of inPt
// not counting lowerY endpoints of edges and whole edges on that line // not counting lowerY endpoints of edges and whole edges on that line
var inside = false; let inside = false;
for (var p = polyLen - 1, q = 0; q < polyLen; p = q++) { for (let p = polyLen - 1, q = 0; q < polyLen; p = q++) {
var edgeLowPt = inPolygon[p]; let edgeLowPt = inPolygon[p];
var edgeHighPt = inPolygon[q]; let edgeHighPt = inPolygon[q];
var edgeDx = edgeHighPt.x - edgeLowPt.x; let edgeDx = edgeHighPt.x - edgeLowPt.x;
var edgeDy = edgeHighPt.y - edgeLowPt.y; let edgeDy = edgeHighPt.y - edgeLowPt.y;
if (Math.abs(edgeDy) > EPSILON) { // not parallel if (Math.abs(edgeDy) > EPSILON) { // not parallel
if (edgeDy < 0) { if (edgeDy < 0) {
@ -96,7 +96,7 @@ export function isPointInsidePolygon(inPt, inPolygon) {
if (inPt.x == edgeLowPt.x) return true; // inPt is on contour ? if (inPt.x == edgeLowPt.x) return true; // inPt is on contour ?
// continue; // no intersection or edgeLowPt => doesn't count !!! // continue; // no intersection or edgeLowPt => doesn't count !!!
} else { } else {
var perpEdge = edgeDy * (inPt.x - edgeLowPt.x) - edgeDx * (inPt.y - edgeLowPt.y); let perpEdge = edgeDy * (inPt.x - edgeLowPt.x) - edgeDx * (inPt.y - edgeLowPt.y);
if (perpEdge == 0) return true; // inPt is on contour ? if (perpEdge == 0) return true; // inPt is on contour ?
if (perpEdge < 0) continue; if (perpEdge < 0) continue;
inside = !inside; // true intersection left of inPt inside = !inside; // true intersection left of inPt
@ -114,9 +114,9 @@ export function isPointInsidePolygon(inPt, inPolygon) {
} }
export function area(contour) { export function area(contour) {
var n = contour.length; let n = contour.length;
var a = 0.0; let a = 0.0;
for (var p = n - 1, q = 0; q < n; p = q++) { for (let p = n - 1, q = 0; q < n; p = q++) {
a += contour[p].x * contour[q].y - contour[q].x * contour[p].y; a += contour[p].x * contour[q].y - contour[q].x * contour[p].y;
} }
return a * 0.5; return a * 0.5;
@ -205,8 +205,8 @@ export function lineLineIntersection(p1, p2, v1, v2) {
export function ConvexHull2D(points) { export function ConvexHull2D(points) {
function removeMiddle(a, b, c) { function removeMiddle(a, b, c) {
var cross = (a.x - b.x) * (c.y - b.y) - (a.y - b.y) * (c.x - b.x); let cross = (a.x - b.x) * (c.y - b.y) - (a.y - b.y) * (c.x - b.x);
var dot = (a.x - b.x) * (c.x - b.x) + (a.y - b.y) * (c.y - b.y); let dot = (a.x - b.x) * (c.x - b.x) + (a.y - b.y) * (c.y - b.y);
return cross < 0 || cross == 0 && dot <= 0; return cross < 0 || cross == 0 && dot <= 0;
} }

View file

@ -3,8 +3,8 @@ export function distanceAB(a, b) {
} }
export function distance(x1, y1, x2, y2) { export function distance(x1, y1, x2, y2) {
var dx = x1 - x2; let dx = x1 - x2;
var dy = y1 - y2; let dy = y1 - y2;
return Math.sqrt(dx * dx + dy * dy); return Math.sqrt(dx * dx + dy * dy);
} }
@ -25,9 +25,9 @@ export function distanceSquaredANegB3(a, b) {
} }
export function distanceSquared3(x1, y1, z1, x2, y2, z2) { export function distanceSquared3(x1, y1, z1, x2, y2, z2) {
var dx = x1 - x2; let dx = x1 - x2;
var dy = y1 - y2; let dy = y1 - y2;
var dz = z1 - z2; let dz = z1 - z2;
return dx * dx + dy * dy + dz * dz; return dx * dx + dy * dy + dz * dz;
} }

View file

@ -38,7 +38,7 @@ export class Matrix3x4 {
}; };
setBasis(basis: [Vector, Vector, Vector]): Matrix3x4 { setBasis(basis: [Vector, Vector, Vector]): Matrix3x4 {
var b = basis; let b = basis;
this.mxx = b[0].x; this.mxx = b[0].x;
this.mxy = b[1].x; this.mxy = b[1].x;
this.mxz = b[2].x; this.mxz = b[2].x;
@ -254,7 +254,7 @@ export class Matrix3x4 {
__invert(out: Matrix3x4): Matrix3x4 { __invert(out: Matrix3x4): Matrix3x4 {
var det = let det =
this.mxx * (this.myy * this.mzz - this.mzy * this.myz) + this.mxx * (this.myy * this.mzz - this.mzy * this.myz) +
this.mxy * (this.myz * this.mzx - this.mzz * this.myx) + this.mxy * (this.myz * this.mzx - this.mzz * this.myx) +
this.mxz * (this.myx * this.mzy - this.mzx * this.myy); this.mxz * (this.myx * this.mzy - this.mzx * this.myy);
@ -263,22 +263,22 @@ export class Matrix3x4 {
return null; return null;
} }
var cxx = this.myy * this.mzz - this.myz * this.mzy; let cxx = this.myy * this.mzz - this.myz * this.mzy;
var cyx = -this.myx * this.mzz + this.myz * this.mzx; let cyx = -this.myx * this.mzz + this.myz * this.mzx;
var czx = this.myx * this.mzy - this.myy * this.mzx; let czx = this.myx * this.mzy - this.myy * this.mzx;
var cxt = -this.mxy * (this.myz * this.tz - this.mzz * this.ty) let cxt = -this.mxy * (this.myz * this.tz - this.mzz * this.ty)
- this.mxz * (this.ty * this.mzy - this.tz * this.myy) - this.mxz * (this.ty * this.mzy - this.tz * this.myy)
- this.tx * (this.myy * this.mzz - this.mzy * this.myz); - this.tx * (this.myy * this.mzz - this.mzy * this.myz);
var cxy = -this.mxy * this.mzz + this.mxz * this.mzy; let cxy = -this.mxy * this.mzz + this.mxz * this.mzy;
var cyy = this.mxx * this.mzz - this.mxz * this.mzx; let cyy = this.mxx * this.mzz - this.mxz * this.mzx;
var czy = -this.mxx * this.mzy + this.mxy * this.mzx; let czy = -this.mxx * this.mzy + this.mxy * this.mzx;
var cyt = this.mxx * (this.myz * this.tz - this.mzz * this.ty) let cyt = this.mxx * (this.myz * this.tz - this.mzz * this.ty)
+ this.mxz * (this.ty * this.mzx - this.tz * this.myx) + this.mxz * (this.ty * this.mzx - this.tz * this.myx)
+ this.tx * (this.myx * this.mzz - this.mzx * this.myz); + this.tx * (this.myx * this.mzz - this.mzx * this.myz);
var cxz = this.mxy * this.myz - this.mxz * this.myy; let cxz = this.mxy * this.myz - this.mxz * this.myy;
var cyz = -this.mxx * this.myz + this.mxz * this.myx; let cyz = -this.mxx * this.myz + this.mxz * this.myx;
var czz = this.mxx * this.myy - this.mxy * this.myx; let czz = this.mxx * this.myy - this.mxy * this.myx;
var czt = -this.mxx * (this.myy * this.tz - this.mzy * this.ty) let czt = -this.mxx * (this.myy * this.tz - this.mzy * this.ty)
- this.mxy * (this.ty * this.mzx - this.tz * this.myx) - this.mxy * (this.ty * this.mzx - this.tz * this.myx)
- this.tx * (this.myx * this.mzy - this.mzx * this.myy); - this.tx * (this.myx * this.mzy - this.mzx * this.myy);
@ -298,20 +298,20 @@ export class Matrix3x4 {
}; };
combine(transform: Matrix3x4, out?: Matrix3x4): Matrix3x4 { combine(transform: Matrix3x4, out?: Matrix3x4): Matrix3x4 {
var txx = transform.mxx; let txx = transform.mxx;
var txy = transform.mxy; let txy = transform.mxy;
var txz = transform.mxz; let txz = transform.mxz;
var ttx = transform.tx; let ttx = transform.tx;
var tyx = transform.myx; let tyx = transform.myx;
var tyy = transform.myy; let tyy = transform.myy;
var tyz = transform.myz; let tyz = transform.myz;
var tty = transform.ty; let tty = transform.ty;
var tzx = transform.mzx; let tzx = transform.mzx;
var tzy = transform.mzy; let tzy = transform.mzy;
var tzz = transform.mzz; let tzz = transform.mzz;
var ttz = transform.tz; let ttz = transform.tz;
var m = out || new Matrix3x4(); let m = out || new Matrix3x4();
m.mxx = (this.mxx * txx + this.mxy * tyx + this.mxz * tzx); m.mxx = (this.mxx * txx + this.mxy * tyx + this.mxz * tzx);
m.mxy = (this.mxx * txy + this.mxy * tyy + this.mxz * tzy); m.mxy = (this.mxx * txy + this.mxy * tyy + this.mxz * tzy);
m.mxz = (this.mxx * txz + this.mxy * tyz + this.mxz * tzz); m.mxz = (this.mxx * txz + this.mxy * tyz + this.mxz * tzz);
@ -329,20 +329,20 @@ export class Matrix3x4 {
}; };
combine3x3(transform: Matrix3x4, out?: Matrix3x4): Matrix3x4 { combine3x3(transform: Matrix3x4, out?: Matrix3x4): Matrix3x4 {
var txx = transform.mxx; let txx = transform.mxx;
var txy = transform.mxy; let txy = transform.mxy;
var txz = transform.mxz; let txz = transform.mxz;
var tyx = transform.myx; let tyx = transform.myx;
var tyy = transform.myy; let tyy = transform.myy;
var tyz = transform.myz; let tyz = transform.myz;
var tzx = transform.mzx; let tzx = transform.mzx;
var tzy = transform.mzy; let tzy = transform.mzy;
var tzz = transform.mzz; let tzz = transform.mzz;
var m = out || new Matrix3x4(); let m = out || new Matrix3x4();
m.mxx = (this.mxx * txx + this.mxy * tyx + this.mxz * tzx); m.mxx = (this.mxx * txx + this.mxy * tyx + this.mxz * tzx);
m.mxy = (this.mxx * txy + this.mxy * tyy + this.mxz * tzy); m.mxy = (this.mxx * txy + this.mxy * tyy + this.mxz * tzy);
m.mxz = (this.mxx * txz + this.mxy * tyz + this.mxz * tzz); m.mxz = (this.mxx * txz + this.mxy * tyz + this.mxz * tzz);
@ -444,8 +444,8 @@ export class Matrix3x4 {
} }
static rotationMatrix(cos: number, sin: number, axis: Vector, pivot: Vector, matrix?: Matrix3x4): Matrix3x4 { static rotationMatrix(cos: number, sin: number, axis: Vector, pivot: Vector, matrix?: Matrix3x4): Matrix3x4 {
var axisX, axisY, axisZ; let axisX, axisY, axisZ;
var m = matrix || new Matrix3x4(); let m = matrix || new Matrix3x4();
if (axis === AXIS.X || axis === AXIS.Y || axis === AXIS.Z) { if (axis === AXIS.X || axis === AXIS.Y || axis === AXIS.Z) {
axisX = axis.x; axisX = axis.x;
@ -453,7 +453,7 @@ export class Matrix3x4 {
axisZ = axis.z; axisZ = axis.z;
} else { } else {
// normalize // normalize
var mag = axis.length(); let mag = axis.length();
if (mag == 0.0) { if (mag == 0.0) {
return m; return m;
@ -464,9 +464,9 @@ export class Matrix3x4 {
} }
} }
var px = pivot.x; let px = pivot.x;
var py = pivot.y; let py = pivot.y;
var pz = pivot.z; let pz = pivot.z;
m.mxx = cos + axisX * axisX * (1 - cos); m.mxx = cos + axisX * axisX * (1 - cos);
m.mxy = axisX * axisY * (1 - cos) - axisZ * sin; m.mxy = axisX * axisY * (1 - cos) - axisZ * sin;

View file

@ -244,8 +244,8 @@ export class IO {
} }
cleanUpData() { cleanUpData() {
for (var l = 0; l < this.viewer.layers.length; ++l) { for (let l = 0; l < this.viewer.layers.length; ++l) {
var layer = this.viewer.layers[l]; let layer = this.viewer.layers[l];
if (layer.objects.length !== 0) { if (layer.objects.length !== 0) {
layer.objects = []; layer.objects = [];
} }
@ -342,12 +342,12 @@ export class IO {
}; };
getLayersToExport() { getLayersToExport() {
var ws = this.getWorkspaceToExport(); let ws = this.getWorkspaceToExport();
var toExport = []; let toExport = [];
for (var t = 0; t < ws.length; ++t) { for (let t = 0; t < ws.length; ++t) {
var layers = ws[t]; let layers = ws[t];
for (var l = 0; l < layers.length; ++l) { for (let l = 0; l < layers.length; ++l) {
var layer = layers[l]; let layer = layers[l];
toExport.push(layer) toExport.push(layer)
} }
} }
@ -461,10 +461,10 @@ export class IO {
function _format(str, args) { function _format(str, args) {
if (args.length == 0) return str; if (args.length == 0) return str;
var i = 0; let i = 0;
return str.replace(/\$/g, function () { return str.replace(/\$/g, function () {
if (args === undefined || args[i] === undefined) throw "format arguments mismatch"; if (args === undefined || args[i] === undefined) throw "format arguments mismatch";
var val = args[i]; let val = args[i];
if (typeof val === 'number') val = val.toPrecision(); if (typeof val === 'number') val = val.toPrecision();
i++; i++;
return val; return val;
@ -473,8 +473,8 @@ function _format(str, args) {
/** @constructor */ /** @constructor */
function PrettyColors() { function PrettyColors() {
var colors = ["#000000", "#00008B", "#006400", "#8B0000", "#FF8C00", "#E9967A"]; let colors = ["#000000", "#00008B", "#006400", "#8B0000", "#FF8C00", "#E9967A"];
var colIdx = 0; let colIdx = 0;
this.next = function () { this.next = function () {
return colors[colIdx++ % colors.length]; return colors[colIdx++ % colors.length];
} }
@ -500,13 +500,13 @@ function TextBuilder() {
/** @constructor */ /** @constructor */
function BBox() { function BBox() {
var bbox = [Number.MAX_VALUE, Number.MAX_VALUE, - Number.MAX_VALUE, - Number.MAX_VALUE]; let bbox = [Number.MAX_VALUE, Number.MAX_VALUE, - Number.MAX_VALUE, - Number.MAX_VALUE];
var T = SketchTypes; let T = SketchTypes;
this.checkLayers = function (layers) { this.checkLayers = function (layers) {
for (var l = 0; l < layers.length; ++l) for (let l = 0; l < layers.length; ++l)
for (var i = 0; i < layers[l].objects.length; ++i) for (let i = 0; i < layers[l].objects.length; ++i)
this.check(layers[l].objects[i]); this.check(layers[l].objects[i]);
}; };

View file

@ -129,21 +129,21 @@ export class Arc extends SketchObject {
} }
isPointInsideSector(x, y) { isPointInsideSector(x, y) {
var ca = new Vector(this.a.x - this.c.x, this.a.y - this.c.y); let ca = new Vector(this.a.x - this.c.x, this.a.y - this.c.y);
var cb = new Vector(this.b.x - this.c.x, this.b.y - this.c.y); let cb = new Vector(this.b.x - this.c.x, this.b.y - this.c.y);
var ct = new Vector(x - this.c.x, y - this.c.y); let ct = new Vector(x - this.c.x, y - this.c.y);
ca._normalize(); ca._normalize();
cb._normalize(); cb._normalize();
ct._normalize(); ct._normalize();
var cosAB = ca.dot(cb); let cosAB = ca.dot(cb);
var cosAT = ca.dot(ct); let cosAT = ca.dot(ct);
var isInside = cosAT >= cosAB; let isInside = cosAT >= cosAB;
var abInverse = ca.cross(cb).z < 0; let abInverse = ca.cross(cb).z < 0;
var atInverse = ca.cross(ct).z < 0; let atInverse = ca.cross(ct).z < 0;
var result; let result;
if (abInverse) { if (abInverse) {
result = !atInverse || !isInside; result = !atInverse || !isInside;
} else { } else {
@ -154,7 +154,7 @@ export class Arc extends SketchObject {
normalDistance(aim) { normalDistance(aim) {
var isInsideSector = this.isPointInsideSector(aim.x, aim.y); let isInsideSector = this.isPointInsideSector(aim.x, aim.y);
if (isInsideSector) { if (isInsideSector) {
return Math.abs(distance(aim.x, aim.y, this.c.x, this.c.y) - this.radiusForDrawing()); return Math.abs(distance(aim.x, aim.y, this.c.x, this.c.y) - this.radiusForDrawing());
} else { } else {

View file

@ -163,7 +163,7 @@ export class Viewer {
}; };
addSegment(x1, y1, x2, y2, layer) { addSegment(x1, y1, x2, y2, layer) {
var line = new Segment(x1, y1, x2, y2); const line = new Segment(x1, y1, x2, y2);
layer.add(line); layer.add(line);
return line; return line;
}; };
@ -186,15 +186,15 @@ export class Viewer {
buffer /= this.scale / this.retinaPxielRatio; buffer /= this.scale / this.retinaPxielRatio;
buffer *= 0.5; buffer *= 0.5;
var pickResult = []; const pickResult = [];
var aim = new Vector(x, y); const aim = new Vector(x, y);
var heroIdx = 0; let heroIdx = 0;
var unreachable = buffer * 2; const unreachable = buffer * 2;
var heroLength = unreachable; // unreachable let heroLength = unreachable; // unreachable
function isFiltered(o) { function isFiltered(o) {
for (var i = 0; i < filter.length; ++i) { for (let i = 0; i < filter.length; ++i) {
if (filter[i] === o) return true; if (filter[i] === o) return true;
} }
return false; return false;
@ -202,10 +202,10 @@ export class Viewer {
for (let layers of this._workspace) { for (let layers of this._workspace) {
for (let i = 0; i < layers.length; i++) { for (let i = 0; i < layers.length; i++) {
var objs = layers[i].objects; let objs = layers[i].objects;
for (var j = 0; j < objs.length; j++) { for (let j = 0; j < objs.length; j++) {
var l = unreachable + 1; let l = unreachable + 1;
var before = pickResult.length; let before = pickResult.length;
objs[j].accept((o) => { objs[j].accept((o) => {
if (!o.visible) return true; if (!o.visible) return true;
if (onlyPoints && !isEndPoint(o)) { if (onlyPoints && !isEndPoint(o)) {
@ -218,7 +218,7 @@ export class Viewer {
} }
return true; return true;
}); });
var hit = before - pickResult.length != 0; let hit = before - pickResult.length != 0;
if (hit) { if (hit) {
if (!deep && pickResult.length != 0) return pickResult; if (!deep && pickResult.length != 0) return pickResult;
if (l >= 0 && l < heroLength) { if (l >= 0 && l < heroLength) {
@ -230,7 +230,7 @@ export class Viewer {
} }
} }
if (pickResult.length > 0) { if (pickResult.length > 0) {
var _f = pickResult[0]; let _f = pickResult[0];
pickResult[0] = pickResult[heroIdx]; pickResult[0] = pickResult[heroIdx];
pickResult[heroIdx] = _f; pickResult[heroIdx] = _f;
} }
@ -431,7 +431,7 @@ export class Viewer {
} }
findLayerByName(name) { findLayerByName(name) {
for (var i = 0; i < this.layers.length; i++) { for (let i = 0; i < this.layers.length; i++) {
if (this.layers[i].name == name) { if (this.layers[i].name == name) {
return this.layers[i]; return this.layers[i];
} }
@ -440,7 +440,7 @@ export class Viewer {
}; };
findById(id) { findById(id) {
var result = null; let result = null;
this.accept(function (o) { this.accept(function (o) {
if (o.id === id) { if (o.id === id) {
result = o; result = o;