diff options
author | 2016-09-04 17:20:01 -0800 | |
---|---|---|
committer | 2016-09-04 18:32:53 -0700 | |
commit | cce8636a9175948ebf035f034d73c2d4cb2a8baf (patch) | |
tree | 68c7da03079abf72d9f4fb123cc9960d271d170a /tensorflow | |
parent | b33f0b79cb05a62834cb9efa3281b87e900a1d5a (diff) |
Correct lint errors across TensorBoard.
Change: 132203379
Diffstat (limited to 'tensorflow')
16 files changed, 89 insertions, 82 deletions
diff --git a/tensorflow/tensorboard/components/tf-graph-common/lib/scene/minimap.ts b/tensorflow/tensorboard/components/tf-graph-common/lib/scene/minimap.ts index f5217ab876..769984feb4 100644 --- a/tensorflow/tensorboard/components/tf-graph-common/lib/scene/minimap.ts +++ b/tensorflow/tensorboard/components/tf-graph-common/lib/scene/minimap.ts @@ -271,7 +271,8 @@ export class Minimap { let blob = new Blob([svgXml], {type: 'image/svg+xml;charset=utf-8'}); image.src = URL.createObjectURL(blob); }; - image.src = 'data:image/svg+xml;charset=utf-8,' + encodeURIComponent(svgXml); + image.src = + 'data:image/svg+xml;charset=utf-8,' + encodeURIComponent(svgXml); } /** diff --git a/tensorflow/tensorboard/components/vz-data-summary/vz-data-summary.ts b/tensorflow/tensorboard/components/vz-data-summary/vz-data-summary.ts index 7a8c68ee4e..9895f01631 100644 --- a/tensorflow/tensorboard/components/vz-data-summary/vz-data-summary.ts +++ b/tensorflow/tensorboard/components/vz-data-summary/vz-data-summary.ts @@ -130,7 +130,8 @@ function getTextColor(hexTripletColor: string) { color = convertedHex; } else { // RGB string is currently not handled. - console.log( + /* tslint:disable:no-console */ + console.warn( 'WARNING: Could not convert color to hex,' + 'please specify color as name or hex string.'); return 'black'; diff --git a/tensorflow/tensorboard/components/vz-projector/bh_tsne.ts b/tensorflow/tensorboard/components/vz-projector/bh_tsne.ts index 95c207ec6c..35a8328cd6 100644 --- a/tensorflow/tensorboard/components/vz-projector/bh_tsne.ts +++ b/tensorflow/tensorboard/components/vz-projector/bh_tsne.ts @@ -67,10 +67,9 @@ function zerosArray(length: number): number[] { return result; } - /** Returns the square euclidean distance between two vectors. */ export function dist2(a: number[], b: number[]): number { - if (a.length != b.length) { + if (a.length !== b.length) { throw new Error('Vectors a and b must be of same length'); } @@ -105,7 +104,7 @@ function gaussRandom(rng: () => number): number { let u = 2 * rng() - 1; let v = 2 * rng() - 1; let r = u * u + v * v; - if (r == 0 || r > 1) { + if (r === 0 || r > 1) { return gaussRandom(rng); } let c = Math.sqrt(-2 * Math.log(r) / r); @@ -173,7 +172,7 @@ function nearest2P( let psum = 0.0; for (let k = 0; k < neighbors.length; ++k) { let neighbor = neighbors[k]; - let pij = (i == neighbor.index) ? 0 : Math.exp(-neighbor.dist * beta); + let pij = (i === neighbor.index) ? 0 : Math.exp(-neighbor.dist * beta); pRow[k] = pij; psum += pij; } @@ -273,9 +272,9 @@ export class TSNE { this.epsilon = opt.epsilon || 10; this.rng = opt.rng || Math.random; this.dim = opt.dim; - if (opt.dim == 2) { + if (opt.dim === 2) { this.dist2 = dist2_2D; - } else if (opt.dim == 3) { + } else if (opt.dim === 3) { this.dist2 = dist2_3D; } else { this.dist2 = dist2; @@ -376,7 +375,7 @@ export class TSNE { let annotateTree = (node: AugmSPNode): {numCells: number, yCell: number[]} => { let numCells = node.points ? node.points.length : 0; - if (node.children == null) { + if (node.children === null) { // Update the current node and tell the parent. node.numCells = numCells; // TODO(smilkov): yCell should be average across all points. @@ -388,7 +387,7 @@ export class TSNE { node.points ? node.points[0].slice() : zerosArray(this.dim); for (let i = 0; i < node.children.length; ++i) { let child = node.children[i]; - if (child == null) { + if (child === null) { continue; } let result = annotateTree(child as AugmSPNode); @@ -433,7 +432,7 @@ export class TSNE { tree.visit((node: AugmSPNode) => { let squaredDistToCell = this.dist2(pointI, node.yCell); // Squared distance from point i to cell. - if (node.children == null || + if (node.children === null || (node.rCell / Math.sqrt(squaredDistToCell) < THETA)) { let qijZ = 1 / (1 + squaredDistToCell); let dZ = node.numCells * qijZ; diff --git a/tensorflow/tensorboard/components/vz-projector/data.ts b/tensorflow/tensorboard/components/vz-projector/data.ts index a9f68fae08..0a3e6155db 100644 --- a/tensorflow/tensorboard/components/vz-projector/data.ts +++ b/tensorflow/tensorboard/components/vz-projector/data.ts @@ -20,7 +20,6 @@ import * as scatter from './scatter'; import {shuffle} from './util'; import * as vector from './vector'; - /** * A DataSource is our ground truth data. The original parsed data should never * be modified, only copied out. @@ -184,7 +183,6 @@ export class DataSet implements scatter.DataSet { return traces; } - /** * Computes the centroid, shifts all points to that centroid, * then makes them all unit norm. @@ -312,7 +310,6 @@ export class DataSet implements scatter.DataSet { this.tsne.initDataDist(this.nearest); }).then(step); - }); } diff --git a/tensorflow/tensorboard/components/vz-projector/data_test.ts b/tensorflow/tensorboard/components/vz-projector/data_test.ts index 07286f8bcc..28041b1f47 100644 --- a/tensorflow/tensorboard/components/vz-projector/data_test.ts +++ b/tensorflow/tensorboard/components/vz-projector/data_test.ts @@ -15,7 +15,6 @@ limitations under the License. import {DataPoint, DataSet} from './data'; - /** * Helper method that makes a list of points given an array of * trace indexes. diff --git a/tensorflow/tensorboard/components/vz-projector/external.d.ts b/tensorflow/tensorboard/components/vz-projector/external.d.ts index de7b960797..ae746c4d95 100644 --- a/tensorflow/tensorboard/components/vz-projector/external.d.ts +++ b/tensorflow/tensorboard/components/vz-projector/external.d.ts @@ -37,4 +37,4 @@ interface Weblas { } declare let numeric: any; -declare let weblas: Weblas;
\ No newline at end of file +declare let weblas: Weblas; diff --git a/tensorflow/tensorboard/components/vz-projector/heap.ts b/tensorflow/tensorboard/components/vz-projector/heap.ts index 35f178e000..ac3144e649 100644 --- a/tensorflow/tensorboard/components/vz-projector/heap.ts +++ b/tensorflow/tensorboard/components/vz-projector/heap.ts @@ -90,7 +90,7 @@ export class MinHeap<T> { this.arr[right].key < this.arr[largest].key) { largest = right; } - if (largest != pos) { + if (largest !== pos) { this.swap(largest, pos); this.bubbleDown(largest); } @@ -141,6 +141,6 @@ export class KMin<T> { /** Returns the largest key in the list. */ getLargestKey(): number { - return this.maxHeap.size() == 0 ? null : -this.maxHeap.peek().key; + return this.maxHeap.size() === 0 ? null : -this.maxHeap.peek().key; } } diff --git a/tensorflow/tensorboard/components/vz-projector/knn.ts b/tensorflow/tensorboard/components/vz-projector/knn.ts index 4d64595a3f..963845e76f 100644 --- a/tensorflow/tensorboard/components/vz-projector/knn.ts +++ b/tensorflow/tensorboard/components/vz-projector/knn.ts @@ -212,7 +212,7 @@ export function findKNNofPoint<T>( let kMin = new KMin<NearestEntry>(k); let a = accessor(dataPoints[pointIndex]); for (let i = 0; i < dataPoints.length; ++i) { - if (i == pointIndex) { + if (i === pointIndex) { continue; } let b = accessor(dataPoints[i]); diff --git a/tensorflow/tensorboard/components/vz-projector/label.ts b/tensorflow/tensorboard/components/vz-projector/label.ts index 9689ef5869..c041a6c5cb 100644 --- a/tensorflow/tensorboard/components/vz-projector/label.ts +++ b/tensorflow/tensorboard/components/vz-projector/label.ts @@ -148,4 +148,4 @@ export class CollisionGrid { private getCellY(y: number) { return Math.floor((y - this.bound.loY) / this.cellHeight); }; -}
\ No newline at end of file +} diff --git a/tensorflow/tensorboard/components/vz-projector/scatter.ts b/tensorflow/tensorboard/components/vz-projector/scatter.ts index 392d8085c6..c6c6590272 100644 --- a/tensorflow/tensorboard/components/vz-projector/scatter.ts +++ b/tensorflow/tensorboard/components/vz-projector/scatter.ts @@ -21,7 +21,6 @@ export interface Point3D { /** Original z coordinate. */ z: number; } -; /** The spacial data of points and lines that will be shown in the projector. */ export interface DataSet { @@ -74,7 +73,7 @@ export interface Scatter { setMode(mode: Mode): void; /** Returns the interaction mode. */ getMode(): Mode; - /** Resets the zoom level to 1.*/ + /** Resets the zoom level to 1. */ resetZoom(): void; /** * Increases/decreases the zoom level. diff --git a/tensorflow/tensorboard/components/vz-projector/scatterWebGL.ts b/tensorflow/tensorboard/components/vz-projector/scatterWebGL.ts index f68311b4f9..a4608b571c 100644 --- a/tensorflow/tensorboard/components/vz-projector/scatterWebGL.ts +++ b/tensorflow/tensorboard/components/vz-projector/scatterWebGL.ts @@ -740,7 +740,7 @@ export class ScatterWebGL implements Scatter { } } else if ( !e.ctrlKey && - this.cameraControls.mouseButtons.ORBIT == THREE.MOUSE.RIGHT) { + this.cameraControls.mouseButtons.ORBIT === THREE.MOUSE.RIGHT) { // The user happened to press the ctrl key when the tab was active, // unpressed the ctrl when the tab was inactive, and now he/she // is back to the projector tab. @@ -748,14 +748,13 @@ export class ScatterWebGL implements Scatter { this.cameraControls.mouseButtons.PAN = THREE.MOUSE.RIGHT; } else if ( e.ctrlKey && - this.cameraControls.mouseButtons.ORBIT == THREE.MOUSE.LEFT) { + this.cameraControls.mouseButtons.ORBIT === THREE.MOUSE.LEFT) { // Similarly to the situation above. this.cameraControls.mouseButtons.ORBIT = THREE.MOUSE.RIGHT; this.cameraControls.mouseButtons.PAN = THREE.MOUSE.LEFT; } } - /** When we stop dragging/zooming, return to normal behavior. */ private onMouseUp(e: any) { if (this.selecting) { @@ -793,7 +792,7 @@ export class ScatterWebGL implements Scatter { } else if (!this.mouseIsDown) { let lastNearestPoint = this.nearestPoint; this.setNearestPointToMouse(e); - if (lastNearestPoint != this.nearestPoint) { + if (lastNearestPoint !== this.nearestPoint) { this.onHoverListeners.forEach(l => l(this.nearestPoint)); } } @@ -849,7 +848,7 @@ export class ScatterWebGL implements Scatter { // Interpret the pixel as an ID. let id = (pixelBuffer[0] << 16) | (pixelBuffer[1] << 8) | pixelBuffer[2]; this.nearestPoint = - id != 0xffffff && id < this.dataSet.points.length ? id : null; + id !== 0xffffff && id < this.dataSet.points.length ? id : null; } /** Returns the squared distance to the mouse for the i-th point. */ diff --git a/tensorflow/tensorboard/components/vz-projector/util.ts b/tensorflow/tensorboard/components/vz-projector/util.ts index 975f7e122c..5941c4174d 100644 --- a/tensorflow/tensorboard/components/vz-projector/util.ts +++ b/tensorflow/tensorboard/components/vz-projector/util.ts @@ -40,4 +40,4 @@ export function assert(condition: boolean, message?: string) { message = message || 'Assertion failed'; throw new Error(message); } -}
\ No newline at end of file +} diff --git a/tensorflow/tensorboard/components/vz-projector/vector.ts b/tensorflow/tensorboard/components/vz-projector/vector.ts index edb6e9bdd0..82fef77b7b 100644 --- a/tensorflow/tensorboard/components/vz-projector/vector.ts +++ b/tensorflow/tensorboard/components/vz-projector/vector.ts @@ -15,7 +15,6 @@ limitations under the License. import {assert} from './util'; - /** * @fileoverview Useful vector utilities. */ @@ -25,7 +24,7 @@ export type Point2D = [number, number]; /** Returns the dot product of two vectors. */ export function dot(a: Vector, b: Vector): number { - assert(a.length == b.length, 'Vectors a and b must be of same length'); + assert(a.length === b.length, 'Vectors a and b must be of same length'); let result = 0; for (let i = 0; i < a.length; ++i) { result += a[i] * b[i]; @@ -44,7 +43,7 @@ export function sum(a: Vector): number { /** Returns the sum of two vectors, i.e. a + b */ export function add(a: Vector, b: Vector): Vector { - assert(a.length == b.length, 'Vectors a and b must be of same length'); + assert(a.length === b.length, 'Vectors a and b must be of same length'); let result = new Array(a.length); for (let i = 0; i < a.length; ++i) { result[i] = a[i] + b[i]; @@ -54,7 +53,7 @@ export function add(a: Vector, b: Vector): Vector { /** Subtracts vector b from vector a, i.e. returns a - b */ export function sub(a: Vector, b: Vector): Vector { - assert(a.length == b.length, 'Vectors a and b must be of same length'); + assert(a.length === b.length, 'Vectors a and b must be of same length'); let result = new Array(a.length); for (let i = 0; i < a.length; ++i) { result[i] = a[i] - b[i]; @@ -78,7 +77,7 @@ export function dist(a: Vector, b: Vector): number { /** Returns the square euclidean distance between two vectors. */ export function dist2(a: Vector, b: Vector): number { - assert(a.length == b.length, 'Vectors a and b must be of same length'); + assert(a.length === b.length, 'Vectors a and b must be of same length'); let result = 0; for (let i = 0; i < a.length; ++i) { let diff = a[i] - b[i]; @@ -107,7 +106,7 @@ export function dist2_3D(a: Vector, b: Vector): number { * exit (returns -1) if the distance is >= to the provided limit. */ export function dist2WithLimit(a: Vector, b: Vector, limit: number): number { - assert(a.length == b.length, 'Vectors a and b must be of same length'); + assert(a.length === b.length, 'Vectors a and b must be of same length'); let result = 0; for (let i = 0; i < a.length; ++i) { let diff = a[i] - b[i]; @@ -184,7 +183,7 @@ export type Predicate<T> = (a: T) => boolean; export function centroid<T>( dataPoints: T[], predicate: Predicate<T>, accessor?: (a: T) => Vector): {centroid: Vector, numMatches: number} { - if (accessor == null) { + if (accessor === null) { accessor = (a: T) => <any>a; } assert(dataPoints.length >= 0, '`vectors` must be of length >= 1'); @@ -201,7 +200,7 @@ export function centroid<T>( centroid[j] += vector[j]; } } - if (n == 0) { + if (n === 0) { return {centroid: null, numMatches: 0}; } for (let j = 0; j < centroid.length; ++j) { diff --git a/tensorflow/tensorboard/components/vz-projector/vz-projector-data-loader.ts b/tensorflow/tensorboard/components/vz-projector/vz-projector-data-loader.ts index f44bb6bbe9..6b7515c2dd 100644 --- a/tensorflow/tensorboard/components/vz-projector/vz-projector-data-loader.ts +++ b/tensorflow/tensorboard/components/vz-projector/vz-projector-data-loader.ts @@ -17,7 +17,6 @@ import {runAsyncTask, updateMessage} from './async'; import {DataPoint, DataSet, DatasetMetadata, DataSource} from './data'; import {PolymerElement} from './vz-projector-util'; - /** Prefix added to the http requests when asking the server for data. */ const DATA_URL = 'data'; @@ -145,7 +144,7 @@ class DataLoader extends DataLoaderPolymer { let names = Object.keys(info.tensors) .filter(name => { let shape = info.tensors[name]; - return shape.length == 2 && shape[0] > 1 && shape[1] > 1; + return shape.length === 2 && shape[0] > 1 && shape[1] > 1; }) .sort((a, b) => info.tensors[b][0] - info.tensors[a][0]); this.tensorNames = @@ -157,7 +156,7 @@ class DataLoader extends DataLoaderPolymer { let labelIndex = -1; this.labelOptions = columnStats.length > 1 ? columnStats.map((stats, i) => { // Make the default label by the first non-numeric column. - if (!stats.isNumeric && labelIndex == -1) { + if (!stats.isNumeric && labelIndex === -1) { labelIndex = i; } return stats.name; @@ -169,7 +168,7 @@ class DataLoader extends DataLoaderPolymer { let standardColorOption: ColorOption[] = [ {name: 'No color map'}, // TODO(smilkov): Implement this. - //{name: 'Distance of neighbors', + // {name: 'Distance of neighbors', // desc: 'How far is each point from its neighbors'} ]; let metadataColorOption: ColorOption[] = @@ -185,7 +184,7 @@ class DataLoader extends DataLoaderPolymer { // Re-order the range. let newRange = range.map((color, i) => { let index = (i * 2) % (range.length - 1); - if (index == 0) { + if (index === 0) { index = range.length - 1; } return range[index]; @@ -217,12 +216,12 @@ class DataLoader extends DataLoaderPolymer { // Demo dataset dropdown let demoDatasetChanged = (demoDataSet: DemoDataset) => { - if (demoDataSet == null) { + if (demoDataSet === null) { return; } this.dom.selectAll('.file-name').style('display', 'none'); - let separator = demoDataSet.fpath.substr(-3) == 'tsv' ? '\t' : ' '; + let separator = demoDataSet.fpath.substr(-3) === 'tsv' ? '\t' : ' '; fetchDemoData(`${DATA_URL}/${demoDataSet.fpath}`, separator) .then(points => { @@ -391,7 +390,7 @@ function parseTensors(content: string, delim = '\t'): Promise<DataPoint[]> { let lines = content.split('\n'); lines.forEach(line => { line = line.trim(); - if (line == '') { + if (line === '') { return; } let row = line.split(delim); @@ -403,17 +402,17 @@ function parseTensors(content: string, delim = '\t'): Promise<DataPoint[]> { projectedPoint: null }; // If the first label is not a number, take it as the label. - if (isNaN(row[0] as any) || numDim == row.length - 1) { + if (isNaN(row[0] as any) || numDim === row.length - 1) { dataPoint.metadata['label'] = row[0]; dataPoint.vector = row.slice(1).map(Number); } else { dataPoint.vector = row.map(Number); } data.push(dataPoint); - if (numDim == null) { + if (numDim === null) { numDim = dataPoint.vector.length; } - if (numDim != dataPoint.vector.length) { + if (numDim !== dataPoint.vector.length) { updateMessage('Parsing failed. Vector dimensions do not match'); throw Error('Parsing failed'); } @@ -439,10 +438,10 @@ function parseAndMergeMetadata( content: string, data: DataPoint[]): Promise<ColumnStats[]> { return runAsyncTask('Parsing metadata...', () => { let lines = content.split('\n').filter(line => line.trim().length > 0); - let hasHeader = (lines.length - 1 == data.length); + let hasHeader = (lines.length - 1 === data.length); // Dimension mismatch. - if (lines.length != data.length && !hasHeader) { + if (lines.length !== data.length && !hasHeader) { throw Error('Dimensions do not match'); } diff --git a/tensorflow/tensorboard/components/vz-projector/vz-projector.ts b/tensorflow/tensorboard/components/vz-projector/vz-projector.ts index e69e4a4d87..cf4492d080 100644 --- a/tensorflow/tensorboard/components/vz-projector/vz-projector.ts +++ b/tensorflow/tensorboard/components/vz-projector/vz-projector.ts @@ -21,7 +21,6 @@ import * as vector from './vector'; import {ColorOption} from './vz-projector-data-loader'; import {PolymerElement} from './vz-projector-util'; - /** T-SNE perplexity. Roughly how many neighbors each point influences. */ let perplexity: number = 30; /** T-SNE learning rate. */ @@ -366,7 +365,7 @@ class Projector extends ProjectorPolymer { searchButton.on('click', () => { let mode = this.scatter.getMode(); this.scatter.setMode(mode === Mode.SEARCH ? Mode.HOVER : Mode.SEARCH); - if (this.scatter.getMode() == Mode.HOVER) { + if (this.scatter.getMode() === Mode.HOVER) { this.selectedPoints = []; this.selectionWasUpdated(); } else { @@ -441,8 +440,8 @@ class Projector extends ProjectorPolymer { let pointHighlightColor = modeIsNight ? POINT_HIGHLIGHT_COLOR_NIGHT : POINT_HIGHLIGHT_COLOR_DAY; this.highlightedPoints = pointIndices.map((index, i) => { - let color = i == 0 ? pointHighlightColor : - this.dist2color(neighbors[i - 1].dist, minDist); + let color = i === 0 ? pointHighlightColor : + this.dist2color(neighbors[i - 1].dist, minDist); return {index: index, color: color}; }); } @@ -486,18 +485,18 @@ class Projector extends ProjectorPolymer { if (!selectedPoints.length) { this.selectedPoints = []; this.updateNNList([]); - } + // If only one point is selected, we want to get its nearest neighbors // and change the UI accordingly. - else if (selectedPoints.length === 1) { + } else if (selectedPoints.length === 1) { let selectedPoint = selectedPoints[0]; this.showTab('inspector'); let neighbors = this.findNeighbors(selectedPoint); this.selectedPoints = [selectedPoint].concat(neighbors.map(n => n.index)); this.updateNNList(neighbors); - } + // Otherwise, select all points and hide nearest neighbors list. - else { + } else { this.selectedPoints = selectedPoints as number[]; this.highlightedPoints = []; this.updateNNList([]); @@ -512,7 +511,7 @@ class Projector extends ProjectorPolymer { let x = this.pcaX; let y = this.pcaY; let z = this.pcaZ; - let hasZ = dimension == 3; + let hasZ = dimension === 3; this.scatter.setXAccessor(i => this.points[i].projections['pca-' + x]); this.scatter.setYAccessor(i => this.points[i].projections['pca-' + y]); this.scatter.setZAccessor( @@ -595,23 +594,25 @@ class Projector extends ProjectorPolymer { let selectedPoint = this.points[this.selectedPoints[0]]; for (let metadataKey in selectedPoint.metadata) { - let rowElement = document.createElement('div'); - rowElement.className = 'ink-panel-metadata-row vz-projector'; + if (selectedPoint.hasOwnProperty(metadataKey)) { + let rowElement = document.createElement('div'); + rowElement.className = 'ink-panel-metadata-row vz-projector'; - let keyElement = document.createElement('div'); - keyElement.className = 'ink-panel-metadata-key vz-projector'; - keyElement.textContent = metadataKey; + let keyElement = document.createElement('div'); + keyElement.className = 'ink-panel-metadata-key vz-projector'; + keyElement.textContent = metadataKey; - let valueElement = document.createElement('div'); - valueElement.className = 'ink-panel-metadata-value vz-projector'; - valueElement.textContent = '' + selectedPoint.metadata[metadataKey]; + let valueElement = document.createElement('div'); + valueElement.className = 'ink-panel-metadata-value vz-projector'; + valueElement.textContent = '' + selectedPoint.metadata[metadataKey]; - rowElement.appendChild(keyElement); - rowElement.appendChild(valueElement); + rowElement.appendChild(keyElement); + rowElement.appendChild(valueElement); - metadataContainerElement.append(function() { - return this.appendChild(rowElement); - }); + metadataContainerElement.append(function() { + return this.appendChild(rowElement); + }); + } } display = true; @@ -632,7 +633,7 @@ class Projector extends ProjectorPolymer { NN_HIGHLIGHT_COLOR; }; let favor = (i: number) => { - return i == 0 || (i < this.highlightedPoints.length ? false : true); + return i === 0 || (i < this.highlightedPoints.length ? false : true); }; this.scatter.highlightPoints(allPoints, stroke, favor); this.updateIsolateButton(); @@ -668,7 +669,7 @@ class Projector extends ProjectorPolymer { let nnlist = this.dom.select('.nn-list'); nnlist.html(''); - if (neighbors.length == 0) { + if (neighbors.length === 0) { this.dom.select('#nn-title').text(''); return; } @@ -728,7 +729,7 @@ class Projector extends ProjectorPolymer { if (pattern == null) { return {numMatches: 0}; } - if (pattern == '') { + if (pattern === '') { if (this.allCentroid == null) { this.allCentroid = vector.centroid(this.points, () => true, accessor).centroid; @@ -739,7 +740,8 @@ class Projector extends ProjectorPolymer { let regExp: RegExp; let predicate: (a: DataPoint) => boolean; // Check for a regex. - if (pattern.charAt(0) == '/' && pattern.charAt(pattern.length - 1) == '/') { + if (pattern.charAt(0) === '/' && + pattern.charAt(pattern.length - 1) === '/') { pattern = pattern.slice(1, pattern.length - 1); try { regExp = new RegExp(pattern, 'i'); @@ -750,7 +752,7 @@ class Projector extends ProjectorPolymer { (a: DataPoint) => { return regExp.test('' + a.metadata['label']); }; // else does an exact match } else { - predicate = (a: DataPoint) => { return a.metadata['label'] == pattern; }; + predicate = (a: DataPoint) => { return a.metadata['label'] === pattern; }; } return vector.centroid(this.points, predicate, accessor); } diff --git a/tensorflow/tensorboard/components/vz-sorting/sorting.ts b/tensorflow/tensorboard/components/vz-sorting/sorting.ts index d80f805f45..c1a656c34b 100644 --- a/tensorflow/tensorboard/components/vz-sorting/sorting.ts +++ b/tensorflow/tensorboard/components/vz-sorting/sorting.ts @@ -28,8 +28,12 @@ module VZ.Sorting { let ai = 0; let bi = 0; while (true) { - if (ai === a.length) return bi === b.length ? 0 : -1; - if (bi === b.length) return 1; + if (ai === a.length) { + return bi === b.length ? 0 : -1; + } + if (bi === b.length) { + return 1; + } if (isDigit(a[ai]) && isDigit(b[bi])) { const ais = ai; const bis = bi; @@ -37,12 +41,18 @@ module VZ.Sorting { bi = consumeNumber(b, bi + 1); const an = parseFloat(a.slice(ais, ai)); const bn = parseFloat(b.slice(bis, bi)); - if (an < bn) return -1; - if (an > bn) return 1; + if (an < bn) { + return -1; + } + if (an > bn) { + return 1; + } continue; } if (isBreak(a[ai])) { - if (!isBreak(b[bi])) return -1; + if (!isBreak(b[bi])) { + return -1; + } } else if (isBreak(b[bi])) { return 1; } else if (a[ai] < b[bi]) { @@ -80,7 +90,9 @@ module VZ.Sorting { break; } } else if (state === State.EXPONENT) { - if (!isDigit(s[i])) break; + if (!isDigit(s[i])) { + break; + } } } return i; |