Enable no-var-keyword tslint rule

This commit is contained in:
Matt Bierner 2019-01-03 18:02:48 -08:00
parent 3f8579f96a
commit 5cc00861fc
42 changed files with 557 additions and 561 deletions

View file

@ -295,8 +295,8 @@ export function expandEmmetAbbreviation(args: any): Thenable<boolean | undefined
let selectionsInReverseOrder = editor.selections.slice(0);
selectionsInReverseOrder.sort((a, b) => {
var posA = a.isReversed ? a.anchor : a.active;
var posB = b.isReversed ? b.anchor : b.active;
const posA = a.isReversed ? a.anchor : a.active;
const posB = b.isReversed ? b.anchor : b.active;
return posA.compareTo(posB) * -1;
});

View file

@ -18,7 +18,7 @@ export interface HTMLDocumentRegions {
getImportedScripts(): string[];
}
export var CSS_STYLE_RULE = '__';
export const CSS_STYLE_RULE = '__';
interface EmbeddedRegion { languageId: string | undefined; start: number; end: number; attributeValue?: boolean; }

View file

@ -78,7 +78,7 @@ export function getHTMLMode(htmlLanguageService: HTMLLanguageService, workspace:
}
function merge(src: any, dst: any): any {
for (var key in src) {
for (const key in src) {
if (src.hasOwnProperty(key)) {
dst[key] = src[key];
}

View file

@ -67,7 +67,7 @@ export interface LanguageModeRange extends Range {
export function getLanguageModes(supportedLanguages: { [languageId: string]: boolean; }, workspace: Workspace, customTags?: ITagSet, customAttributes?: IAttributeSet): LanguageModes {
var htmlLanguageService = getHTMLLanguageService({
const htmlLanguageService = getHTMLLanguageService({
customTags,
customAttributes
});

View file

@ -5,7 +5,7 @@
export function pushAll<T>(to: T[], from: T[]) {
if (from) {
for (var i = 0; i < from.length; i++) {
for (let i = 0; i < from.length; i++) {
to.push(from[i]);
}
}

View file

@ -52,7 +52,7 @@ export function endsWith(haystack: string, needle: string): boolean {
}
export function repeat(value: string, count: number) {
var s = '';
let s = '';
while (count > 0) {
if ((count & 1) === 1) {
s += value;

View file

@ -180,7 +180,7 @@ let formatterRegistration: Thenable<Disposable> | null = null;
// The settings have changed. Is send on server activation as well.
connection.onDidChangeConfiguration((change) => {
var settings = <Settings>change.settings;
let settings = <Settings>change.settings;
configureHttpRequests(settings.http && settings.http.proxy, settings.http && settings.http.proxyStrictSSL);
jsonConfigurationSettings = settings.json && settings.json.schemas;
@ -233,7 +233,7 @@ function updateConfiguration() {
schemas: new Array<SchemaConfiguration>()
};
if (schemaAssociations) {
for (var pattern in schemaAssociations) {
for (const pattern in schemaAssociations) {
const association = schemaAssociations[pattern];
if (Array.isArray(association)) {
association.forEach(uri => {

View file

@ -12,7 +12,7 @@ import throttle = require('lodash.throttle');
declare var acquireVsCodeApi: any;
var scrollDisabled = true;
let scrollDisabled = true;
const marker = new ActiveLineMarker();
const settings = getSettings();

View file

@ -35,7 +35,7 @@ export class Delayer<T> {
}).then(() => {
this.completionPromise = null;
this.onSuccess = null;
var result = this.task!();
let result = this.task!();
this.task = null;
return result;
});

View file

@ -91,8 +91,7 @@ export default class DocumentMergeConflictTracker implements vscode.Disposable,
return false;
}
var task = this.cache.get(key);
const task = this.cache.get(key);
if (!task) {
return false;
}

View file

@ -153,7 +153,7 @@ export default class MergeDecorator implements vscode.Disposable {
}
private applyDecorationsFromEvent(eventDocument: vscode.TextDocument) {
for (var i = 0; i < vscode.window.visibleTextEditors.length; i++) {
for (let i = 0; i < vscode.window.visibleTextEditors.length; i++) {
if (vscode.window.visibleTextEditors[i].document === eventDocument) {
// Attempt to apply
this.applyDecorations(vscode.window.visibleTextEditors[i]);

View file

@ -343,7 +343,7 @@ export function startDebugging(scriptName: string, protocol: string, port: numbe
export type StringMap = { [s: string]: string; };
async function findAllScripts(buffer: string): Promise<StringMap> {
var scripts: StringMap = {};
let scripts: StringMap = {};
let script: string | undefined = undefined;
let inScripts = false;
@ -380,7 +380,7 @@ async function findAllScripts(buffer: string): Promise<StringMap> {
}
export function findAllScriptRanges(buffer: string): Map<string, [number, number, string]> {
var scripts: Map<string, [number, number, string]> = new Map();
let scripts: Map<string, [number, number, string]> = new Map();
let script: string | undefined = undefined;
let offset: number;
let length: number;
@ -469,8 +469,8 @@ export async function getScripts(packageJsonUri: Uri): Promise<StringMap | undef
}
try {
var contents = await readFile(packageJson);
var json = findAllScripts(contents);//JSON.parse(contents);
let contents = await readFile(packageJson);
let json = findAllScripts(contents);//JSON.parse(contents);
return json;
} catch (e) {
let localizedParseError = localize('npm.parseError', 'Npm task detection: failed to parse the file {0}', packageJsonUri.fsPath);

View file

@ -17,8 +17,8 @@ export default class PHPCompletionItemProvider implements CompletionItemProvider
return Promise.resolve(result);
}
var range = document.getWordRangeAtPosition(position);
var prefix = range ? document.getText(range) : '';
let range = document.getWordRangeAtPosition(position);
let prefix = range ? document.getText(range) : '';
if (!range) {
range = new Range(position, position);
}
@ -31,9 +31,9 @@ export default class PHPCompletionItemProvider implements CompletionItemProvider
}
}
var added: any = {};
var createNewProposal = function (kind: CompletionItemKind, name: string, entry: phpGlobals.IEntry | null): CompletionItem {
var proposal: CompletionItem = new CompletionItem(name);
let added: any = {};
let createNewProposal = function (kind: CompletionItemKind, name: string, entry: phpGlobals.IEntry | null): CompletionItem {
let proposal: CompletionItem = new CompletionItem(name);
proposal.kind = kind;
if (entry) {
if (entry.description) {
@ -46,7 +46,7 @@ export default class PHPCompletionItemProvider implements CompletionItemProvider
return proposal;
};
var matches = (name: string) => {
let matches = (name: string) => {
return prefix.length === 0 || name.length >= prefix.length && name.substr(0, prefix.length) === prefix;
};
@ -62,47 +62,47 @@ export default class PHPCompletionItemProvider implements CompletionItemProvider
}
}
for (var globalvariables in phpGlobals.globalvariables) {
for (let globalvariables in phpGlobals.globalvariables) {
if (phpGlobals.globalvariables.hasOwnProperty(globalvariables) && matches(globalvariables)) {
added[globalvariables] = true;
result.push(createNewProposal(CompletionItemKind.Variable, globalvariables, phpGlobals.globalvariables[globalvariables]));
}
}
for (var globalfunctions in phpGlobalFunctions.globalfunctions) {
for (let globalfunctions in phpGlobalFunctions.globalfunctions) {
if (phpGlobalFunctions.globalfunctions.hasOwnProperty(globalfunctions) && matches(globalfunctions)) {
added[globalfunctions] = true;
result.push(createNewProposal(CompletionItemKind.Function, globalfunctions, phpGlobalFunctions.globalfunctions[globalfunctions]));
}
}
for (var compiletimeconstants in phpGlobals.compiletimeconstants) {
for (let compiletimeconstants in phpGlobals.compiletimeconstants) {
if (phpGlobals.compiletimeconstants.hasOwnProperty(compiletimeconstants) && matches(compiletimeconstants)) {
added[compiletimeconstants] = true;
result.push(createNewProposal(CompletionItemKind.Field, compiletimeconstants, phpGlobals.compiletimeconstants[compiletimeconstants]));
}
}
for (var keywords in phpGlobals.keywords) {
for (let keywords in phpGlobals.keywords) {
if (phpGlobals.keywords.hasOwnProperty(keywords) && matches(keywords)) {
added[keywords] = true;
result.push(createNewProposal(CompletionItemKind.Keyword, keywords, phpGlobals.keywords[keywords]));
}
}
var text = document.getText();
let text = document.getText();
if (prefix[0] === '$') {
var variableMatch = /\$([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)/g;
var match: RegExpExecArray | null = null;
let variableMatch = /\$([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)/g;
let match: RegExpExecArray | null = null;
while (match = variableMatch.exec(text)) {
var word = match[0];
let word = match[0];
if (!added[word]) {
added[word] = true;
result.push(createNewProposal(CompletionItemKind.Variable, word, null));
}
}
}
var functionMatch = /function\s+([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)\s*\(/g;
var match2: RegExpExecArray | null = null;
let functionMatch = /function\s+([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)\s*\(/g;
let match2: RegExpExecArray | null = null;
while (match2 = functionMatch.exec(text)) {
var word2 = match2[1];
let word2 = match2[1];
if (!added[word2]) {
added[word2] = true;
result.push(createNewProposal(CompletionItemKind.Function, word2, null));

View file

@ -23,7 +23,7 @@ export default class PHPHoverProvider implements HoverProvider {
let name = document.getText(wordRange);
var entry = phpGlobalFunctions.globalfunctions[name] || phpGlobals.compiletimeconstants[name] || phpGlobals.globalvariables[name] || phpGlobals.keywords[name];
let entry = phpGlobalFunctions.globalfunctions[name] || phpGlobals.compiletimeconstants[name] || phpGlobals.globalvariables[name] || phpGlobals.keywords[name];
if (entry && entry.description) {
let signature = name + (entry.signature || '');
let contents: MarkedString[] = [textToMarkedString(entry.description), { language: 'php', value: signature }];

View file

@ -7,7 +7,7 @@
import { IEntries } from './phpGlobals';
export var globalfunctions: IEntries = {
export const globalfunctions: IEntries = {
debug_backtrace: {
description: 'Generates a backtrace',
signature: '([ int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT [, int $limit = 0 ]]): array'

View file

@ -8,7 +8,7 @@
export interface IEntry { description?: string; signature?: string; }
export interface IEntries { [name: string]: IEntry; }
export var globalvariables: IEntries = {
export const globalvariables: IEntries = {
$GLOBALS: {
description: 'An associative array containing references to all variables which are currently defined in the global scope of the script. The variable names are the keys of the array.',
},
@ -55,7 +55,7 @@ export var globalvariables: IEntries = {
description: 'Refers to the current object',
},
};
export var compiletimeconstants: IEntries = {
export const compiletimeconstants: IEntries = {
__CLASS__: {
description: 'The class name. (Added in PHP 4.3.0) As of PHP 5 this constant returns the class name as it was declared (case-sensitive). In PHP 4 its value is always lowercased.',
},
@ -159,7 +159,7 @@ export var compiletimeconstants: IEntries = {
description: 'The default algorithm to use for hashing if no algorithm is provided. This may change in newer PHP releases when newer, stronger hashing algorithms are supported.',
},
};
export var keywords: IEntries = {
export const keywords: IEntries = {
define: {
description: 'Defines a named constant at runtime.',
signature: '( string $name , mixed $value [, bool $case_insensitive = false ] ): bool'

View file

@ -7,27 +7,27 @@ import { SignatureHelpProvider, SignatureHelp, SignatureInformation, Cancellatio
import phpGlobals = require('./phpGlobals');
import phpGlobalFunctions = require('./phpGlobalFunctions');
var _NL = '\n'.charCodeAt(0);
var _TAB = '\t'.charCodeAt(0);
var _WSB = ' '.charCodeAt(0);
var _LBracket = '['.charCodeAt(0);
var _RBracket = ']'.charCodeAt(0);
var _LCurly = '{'.charCodeAt(0);
var _RCurly = '}'.charCodeAt(0);
var _LParent = '('.charCodeAt(0);
var _RParent = ')'.charCodeAt(0);
var _Comma = ','.charCodeAt(0);
var _Quote = '\''.charCodeAt(0);
var _DQuote = '"'.charCodeAt(0);
var _USC = '_'.charCodeAt(0);
var _a = 'a'.charCodeAt(0);
var _z = 'z'.charCodeAt(0);
var _A = 'A'.charCodeAt(0);
var _Z = 'Z'.charCodeAt(0);
var _0 = '0'.charCodeAt(0);
var _9 = '9'.charCodeAt(0);
const _NL = '\n'.charCodeAt(0);
const _TAB = '\t'.charCodeAt(0);
const _WSB = ' '.charCodeAt(0);
const _LBracket = '['.charCodeAt(0);
const _RBracket = ']'.charCodeAt(0);
const _LCurly = '{'.charCodeAt(0);
const _RCurly = '}'.charCodeAt(0);
const _LParent = '('.charCodeAt(0);
const _RParent = ')'.charCodeAt(0);
const _Comma = ','.charCodeAt(0);
const _Quote = '\''.charCodeAt(0);
const _DQuote = '"'.charCodeAt(0);
const _USC = '_'.charCodeAt(0);
const _a = 'a'.charCodeAt(0);
const _z = 'z'.charCodeAt(0);
const _A = 'A'.charCodeAt(0);
const _Z = 'Z'.charCodeAt(0);
const _0 = '0'.charCodeAt(0);
const _9 = '9'.charCodeAt(0);
var BOF = 0;
const BOF = 0;
class BackwardIterator {
@ -58,7 +58,7 @@ class BackwardIterator {
this.lineNumber = -1;
return BOF;
}
var ch = this.line.charCodeAt(this.offset);
let ch = this.line.charCodeAt(this.offset);
this.offset--;
return ch;
}
@ -74,27 +74,27 @@ export default class PHPSignatureHelpProvider implements SignatureHelpProvider {
return null;
}
var iterator = new BackwardIterator(document, position.character - 1, position.line);
let iterator = new BackwardIterator(document, position.character - 1, position.line);
var paramCount = this.readArguments(iterator);
let paramCount = this.readArguments(iterator);
if (paramCount < 0) {
return null;
}
var ident = this.readIdent(iterator);
let ident = this.readIdent(iterator);
if (!ident) {
return null;
}
var entry = phpGlobalFunctions.globalfunctions[ident] || phpGlobals.keywords[ident];
let entry = phpGlobalFunctions.globalfunctions[ident] || phpGlobals.keywords[ident];
if (!entry || !entry.signature) {
return null;
}
var paramsString = entry.signature.substring(0, entry.signature.lastIndexOf(')') + 1);
let paramsString = entry.signature.substring(0, entry.signature.lastIndexOf(')') + 1);
let signatureInfo = new SignatureInformation(ident + paramsString, entry.description);
var re = /\w*\s+\&?\$[\w_\.]+|void/g;
var match: RegExpExecArray | null = null;
let re = /\w*\s+\&?\$[\w_\.]+|void/g;
let match: RegExpExecArray | null = null;
while ((match = re.exec(paramsString)) !== null) {
signatureInfo.parameters.push({ label: match[0], documentation: '' });
}
@ -106,12 +106,12 @@ export default class PHPSignatureHelpProvider implements SignatureHelpProvider {
}
private readArguments(iterator: BackwardIterator): number {
var parentNesting = 0;
var bracketNesting = 0;
var curlyNesting = 0;
var paramCount = 0;
let parentNesting = 0;
let bracketNesting = 0;
let curlyNesting = 0;
let paramCount = 0;
while (iterator.hasNext()) {
var ch = iterator.next();
let ch = iterator.next();
switch (ch) {
case _LParent:
parentNesting--;
@ -153,10 +153,10 @@ export default class PHPSignatureHelpProvider implements SignatureHelpProvider {
}
private readIdent(iterator: BackwardIterator): string {
var identStarted = false;
var ident = '';
let identStarted = false;
let ident = '';
while (iterator.hasNext()) {
var ch = iterator.next();
let ch = iterator.next();
if (!identStarted && (ch === _WSB || ch === _TAB || ch === _NL)) {
continue;
}

View file

@ -44,10 +44,10 @@ export class Throttler<T> {
this.queuedPromiseFactory = promiseFactory;
if (!this.queuedPromise) {
var onComplete = () => {
let onComplete = () => {
this.queuedPromise = null;
var result = this.queue(this.queuedPromiseFactory!);
let result = this.queue(this.queuedPromiseFactory!);
this.queuedPromiseFactory = null;
return result;
@ -127,7 +127,7 @@ export class Delayer<T> {
this.completionPromise = null;
this.onResolve = null;
var result = this.task!();
let result = this.task!();
this.task = null;
return result;

View file

@ -23,20 +23,20 @@ export class LineDecoder {
}
public write(buffer: Buffer): string[] {
var result: string[] = [];
var value = this.remaining
let result: string[] = [];
let value = this.remaining
? this.remaining + this.stringDecoder.write(buffer)
: this.stringDecoder.write(buffer);
if (value.length < 1) {
return result;
}
var start = 0;
var ch: number;
let start = 0;
let ch: number;
while (start < value.length && ((ch = value.charCodeAt(start)) === 13 || ch === 10)) {
start++;
}
var idx = start;
let idx = start;
while (idx < value.length) {
ch = value.charCodeAt(idx);
if (ch === 13 || ch === 10) {

View file

@ -81,6 +81,7 @@ export default class TypeScriptServiceClient extends Disposable implements IType
this.pathSeparator = path.sep;
this.lastStart = Date.now();
// tslint:disable-next-line: no-var-keyword
var p = new Promise<void>((resolve, reject) => {
this._onReady = { promise: p, resolve, reject };
});

View file

@ -35,7 +35,7 @@ export class Delayer<T> {
}).then(() => {
this.completionPromise = null;
this.onSuccess = null;
var result = this.task && this.task();
const result = this.task && this.task();
this.task = null;
return result;
});

View file

@ -482,9 +482,9 @@ export class ListView<T> implements ISpliceable<T>, IDisposable {
return;
}
var diff = this.dragAndDropMouseY - viewTop;
var scrollDiff = 0;
var upperLimit = this.renderHeight - 35;
let diff = this.dragAndDropMouseY - viewTop;
let scrollDiff = 0;
let upperLimit = this.renderHeight - 35;
if (diff < 35) {
scrollDiff = Math.max(-14, 0.2 * (diff - 35));

View file

@ -498,7 +498,7 @@ export function shuffle<T>(array: T[], _seed?: number): void {
// Seeded random number generator in JS. Modified from:
// https://stackoverflow.com/questions/521295/seeding-the-random-number-generator-in-javascript
rand = () => {
var x = Math.sin(seed++) * 179426549; // throw away most significant digits and reduce any potential bias
const x = Math.sin(seed++) * 179426549; // throw away most significant digits and reduce any potential bias
return x - Math.floor(x);
};
} else {

View file

@ -79,7 +79,7 @@ export class Lock {
}
public run(item: Item, fn: () => Promise<any>): Promise<any> {
var lock = this.getLock(item);
let lock = this.getLock(item);
if (lock) {
return new Promise((c, e) => {
@ -89,7 +89,7 @@ export class Lock {
});
}
var result: Promise<any>;
let result: Promise<any>;
return new Promise((c, e) => {
@ -97,7 +97,7 @@ export class Lock {
return e(new Error('Item is disposed.'));
}
var lock = this.locks[item.id] = new LockData(item);
let lock = this.locks[item.id] = new LockData(item);
result = fn().then((r) => {
delete this.locks[item.id];
@ -111,10 +111,10 @@ export class Lock {
}
private getLock(item: Item): LockData {
var key: string;
let key: string;
for (key in this.locks) {
var lock = this.locks[key];
let lock = this.locks[key];
if (item.intersects(lock.item)) {
return lock;
@ -346,7 +346,7 @@ export class Item {
}
public reveal(relativeTop: number | null = null): void {
var eventData: IItemRevealEvent = { item: this, relativeTop: relativeTop };
let eventData: IItemRevealEvent = { item: this, relativeTop: relativeTop };
this._onDidReveal.fire(eventData);
}
@ -355,13 +355,13 @@ export class Item {
return Promise.resolve(false);
}
var result = this.lock.run(this, () => {
let result = this.lock.run(this, () => {
if (this.isExpanded() || !this.doesHaveChildren) {
return Promise.resolve(false);
}
var eventData: IItemExpandEvent = { item: this };
var result: Promise<any>;
let eventData: IItemExpandEvent = { item: this };
let result: Promise<any>;
this._onExpand.fire(eventData);
if (this.needsChildrenRefresh) {
@ -393,7 +393,7 @@ export class Item {
public collapse(recursive: boolean = false): Promise<any> {
if (recursive) {
var collapseChildrenPromise = Promise.resolve(null);
let collapseChildrenPromise = Promise.resolve(null);
this.forEachChild((child) => {
collapseChildrenPromise = collapseChildrenPromise.then(() => child.collapse(true));
});
@ -406,7 +406,7 @@ export class Item {
}
return this.lock.run(this, () => {
var eventData: IItemCollapseEvent = { item: this };
let eventData: IItemCollapseEvent = { item: this };
this._onCollapse.fire(eventData);
this._setExpanded(false);
this._onDidCollapse.fire(eventData);
@ -417,13 +417,13 @@ export class Item {
}
public addTrait(trait: string): void {
var eventData: IItemTraitEvent = { item: this, trait: trait };
let eventData: IItemTraitEvent = { item: this, trait: trait };
this.traits[trait] = true;
this._onDidAddTrait.fire(eventData);
}
public removeTrait(trait: string): void {
var eventData: IItemTraitEvent = { item: this, trait: trait };
let eventData: IItemTraitEvent = { item: this, trait: trait };
delete this.traits[trait];
this._onDidRemoveTrait.fire(eventData);
}
@ -433,8 +433,8 @@ export class Item {
}
public getAllTraits(): string[] {
var result: string[] = [];
var trait: string;
let result: string[] = [];
let trait: string;
for (trait in this.traits) {
if (this.traits.hasOwnProperty(trait) && this.traits[trait]) {
result.push(trait);
@ -461,11 +461,11 @@ export class Item {
this.needsChildrenRefresh = false;
var doRefresh = () => {
var eventData: IItemChildrenRefreshEvent = { item: this, isNested: safe };
let doRefresh = () => {
let eventData: IItemChildrenRefreshEvent = { item: this, isNested: safe };
this._onRefreshChildren.fire(eventData);
var childrenPromise: Promise<any>;
let childrenPromise: Promise<any>;
if (this.doesHaveChildren) {
childrenPromise = this.context.dataSource.getChildren(this.context.tree, this.element);
} else {
@ -484,16 +484,16 @@ export class Item {
elements = !elements ? [] : elements.slice(0);
elements = this.sort(elements);
var staleItems: IItemMap = {};
let staleItems: IItemMap = {};
while (this.firstChild !== null) {
staleItems[this.firstChild.id] = this.firstChild;
this.removeChild(this.firstChild);
}
for (var i = 0, len = elements.length; i < len; i++) {
var element = elements[i];
var id = this.context.dataSource.getId(this.context.tree, element);
var item = staleItems[id] || new Item(id, this.registry, this.context, this.lock, element);
for (let i = 0, len = elements.length; i < len; i++) {
let element = elements[i];
let id = this.context.dataSource.getId(this.context.tree, element);
let item = staleItems[id] || new Item(id, this.registry, this.context, this.lock, element);
item.element = element;
if (recursive) {
item.needsChildrenRefresh = recursive;
@ -502,7 +502,7 @@ export class Item {
this.addChild(item);
}
for (var staleItemId in staleItems) {
for (let staleItemId in staleItems) {
if (staleItems.hasOwnProperty(staleItemId)) {
staleItems[staleItemId].dispose();
}
@ -559,8 +559,8 @@ export class Item {
}
public getHierarchy(): Item[] {
var result: Item[] = [];
var node: Item = this;
let result: Item[] = [];
let node: Item = this;
do {
result.push(node);
@ -582,9 +582,9 @@ export class Item {
}
private addChild(item: Item, afterItem: Item = this.lastChild): void {
var isEmpty = this.firstChild === null;
var atHead = afterItem === null;
var atTail = afterItem === this.lastChild;
let isEmpty = this.firstChild === null;
let atHead = afterItem === null;
let atTail = afterItem === this.lastChild;
if (isEmpty) {
this.firstChild = this.lastChild = item;
@ -611,8 +611,8 @@ export class Item {
}
private removeChild(item: Item): void {
var isFirstChild = this.firstChild === item;
var isLastChild = this.lastChild === item;
let isFirstChild = this.firstChild === item;
let isLastChild = this.lastChild === item;
if (isFirstChild && isLastChild) {
this.firstChild = this.lastChild = null;
@ -632,7 +632,7 @@ export class Item {
}
private forEachChild(fn: (child: Item) => void): void {
var child = this.firstChild, next: Item;
let child = this.firstChild, next: Item;
while (child) {
next = child.next;
fn(child);
@ -641,7 +641,7 @@ export class Item {
}
private mapEachChild<T>(fn: (child: Item) => T): T[] {
var result: T[] = [];
let result: T[] = [];
this.forEachChild((child) => {
result.push(fn(child));
});
@ -794,7 +794,7 @@ export class TreeNavigator implements INavigator<Item> {
public previous(): Item {
if (this.item) {
do {
var previous = TreeNavigator.lastDescendantOf(this.item.previous);
let previous = TreeNavigator.lastDescendantOf(this.item.previous);
if (previous) {
this.item = previous;
} else if (this.item.parent && this.item.parent !== this.start && this.item.parent.isVisible()) {
@ -809,7 +809,7 @@ export class TreeNavigator implements INavigator<Item> {
public parent(): Item {
if (this.item) {
var parent = this.item.parent;
let parent = this.item.parent;
if (parent && parent !== this.start && parent.isVisible()) {
this.item = parent;
} else {
@ -831,17 +831,17 @@ export class TreeNavigator implements INavigator<Item> {
}
function getRange(one: Item, other: Item): Item[] {
var oneHierarchy = one.getHierarchy();
var otherHierarchy = other.getHierarchy();
var length = arrays.commonPrefixLength(oneHierarchy, otherHierarchy);
var item = oneHierarchy[length - 1];
var nav = item.getNavigator();
let oneHierarchy = one.getHierarchy();
let otherHierarchy = other.getHierarchy();
let length = arrays.commonPrefixLength(oneHierarchy, otherHierarchy);
let item = oneHierarchy[length - 1];
let nav = item.getNavigator();
var oneIndex: number | null = null;
var otherIndex: number | null = null;
let oneIndex: number | null = null;
let otherIndex: number | null = null;
var index = 0;
var result: Item[] = [];
let index = 0;
let result: Item[] = [];
while (item && (oneIndex === null || otherIndex === null)) {
result.push(item);
@ -861,8 +861,8 @@ function getRange(one: Item, other: Item): Item[] {
return [];
}
var min = Math.min(oneIndex, otherIndex);
var max = Math.max(oneIndex, otherIndex);
let min = Math.min(oneIndex, otherIndex);
let max = Math.max(oneIndex, otherIndex);
return result.slice(min, max + 1);
}
@ -930,7 +930,7 @@ export class TreeModel {
}
public setInput(element: any): Promise<any> {
var eventData: IInputEvent = { item: this.input };
let eventData: IInputEvent = { item: this.input };
this._onSetInput.fire(eventData);
this.setSelection([]);
@ -965,7 +965,7 @@ export class TreeModel {
this.registryDisposable = this.registry
.onDidDisposeItem(item => item.getAllTraits().forEach(trait => delete this.traitsToItems[trait][item.id]));
var id = this.context.dataSource.getId(this.context.tree, element);
let id = this.context.dataSource.getId(this.context.tree, element);
this.input = new RootItem(id, this.registry, this.context, this.lock, element);
eventData = { item: this.input };
this._onDidSetInput.fire(eventData);
@ -977,13 +977,13 @@ export class TreeModel {
}
public refresh(element: any = null, recursive: boolean = true): Promise<any> {
var item = this.getItem(element);
let item = this.getItem(element);
if (!item) {
return Promise.resolve(null);
}
var eventData: IRefreshEvent = { item: item, recursive: recursive };
let eventData: IRefreshEvent = { item: item, recursive: recursive };
this._onRefresh.fire(eventData);
return item.refresh(recursive).then(() => {
this._onDidRefresh.fire(eventData);
@ -991,7 +991,7 @@ export class TreeModel {
}
public expand(element: any): Promise<any> {
var item = this.getItem(element);
let item = this.getItem(element);
if (!item) {
return Promise.resolve(false);
@ -1004,8 +1004,8 @@ export class TreeModel {
if (!elements) {
elements = [];
var item: Item;
var nav = this.getNavigator();
let item: Item;
let nav = this.getNavigator();
while (item = nav.next()) {
elements.push(item);
@ -1024,7 +1024,7 @@ export class TreeModel {
const elementsToDelay: any[] = [];
for (const element of elements) {
var item = this.getItem(element);
let item = this.getItem(element);
if (item) {
elementsToExpand.push(element);
@ -1042,15 +1042,15 @@ export class TreeModel {
}
private __expandAll(elements: any[]): Promise<any> {
var promises = [];
for (var i = 0, len = elements.length; i < len; i++) {
let promises = [];
for (let i = 0, len = elements.length; i < len; i++) {
promises.push(this.expand(elements[i]));
}
return Promise.all(promises);
}
public collapse(element: any, recursive: boolean = false): Promise<any> {
var item = this.getItem(element);
let item = this.getItem(element);
if (!item) {
return Promise.resolve(false);
@ -1064,8 +1064,8 @@ export class TreeModel {
elements = [this.input];
recursive = true;
}
var promises = [];
for (var i = 0, len = elements.length; i < len; i++) {
let promises = [];
for (let i = 0, len = elements.length; i < len; i++) {
promises.push(this.collapse(elements[i], recursive));
}
return Promise.all(promises);
@ -1076,15 +1076,15 @@ export class TreeModel {
}
public toggleExpansionAll(elements: any[]): Promise<any> {
var promises = [];
for (var i = 0, len = elements.length; i < len; i++) {
let promises = [];
for (let i = 0, len = elements.length; i < len; i++) {
promises.push(this.toggleExpansion(elements[i]));
}
return Promise.all(promises);
}
public isExpanded(element: any): boolean {
var item = this.getItem(element);
let item = this.getItem(element);
if (!item) {
return false;
@ -1094,9 +1094,9 @@ export class TreeModel {
}
public getExpandedElements(): any[] {
var result: any[] = [];
var item: Item;
var nav = this.getNavigator();
let result: any[] = [];
let item: Item;
let nav = this.getNavigator();
while (item = nav.next()) {
if (item.isExpanded()) {
@ -1109,7 +1109,7 @@ export class TreeModel {
public reveal(element: any, relativeTop: number | null = null): Promise<any> {
return this.resolveUnknownParentChain(element).then((chain: any[]) => {
var result = Promise.resolve(null);
let result = Promise.resolve(null);
chain.forEach((e) => {
result = result.then(() => this.expand(e));
@ -1117,7 +1117,7 @@ export class TreeModel {
return result;
}).then(() => {
var item = this.getItem(element);
let item = this.getItem(element);
if (item) {
return item.reveal(relativeTop);
@ -1140,17 +1140,17 @@ export class TreeModel {
public setHighlight(element?: any, eventPayload?: any): void {
this.setTraits('highlighted', element ? [element] : []);
var eventData: _.IHighlightEvent = { highlight: this.getHighlight(), payload: eventPayload };
let eventData: _.IHighlightEvent = { highlight: this.getHighlight(), payload: eventPayload };
this._onDidHighlight.fire(eventData);
}
public getHighlight(includeHidden?: boolean): any {
var result = this.getElementsWithTrait('highlighted', includeHidden);
let result = this.getElementsWithTrait('highlighted', includeHidden);
return result.length === 0 ? null : result[0];
}
public isHighlighted(element: any): boolean {
var item = this.getItem(element);
let item = this.getItem(element);
if (!item) {
return false;
@ -1164,8 +1164,8 @@ export class TreeModel {
}
public selectRange(fromElement: any, toElement: any, eventPayload?: any): void {
var fromItem = this.getItem(fromElement);
var toItem = this.getItem(toElement);
let fromItem = this.getItem(fromElement);
let toItem = this.getItem(toElement);
if (!fromItem || !toItem) {
return;
@ -1175,8 +1175,8 @@ export class TreeModel {
}
public deselectRange(fromElement: any, toElement: any, eventPayload?: any): void {
var fromItem = this.getItem(fromElement);
var toItem = this.getItem(toElement);
let fromItem = this.getItem(fromElement);
let toItem = this.getItem(toElement);
if (!fromItem || !toItem) {
return;
@ -1187,7 +1187,7 @@ export class TreeModel {
public selectAll(elements: any[], eventPayload?: any): void {
this.addTraits('selected', elements);
var eventData: _.ISelectionEvent = { selection: this.getSelection(), payload: eventPayload };
let eventData: _.ISelectionEvent = { selection: this.getSelection(), payload: eventPayload };
this._onDidSelect.fire(eventData);
}
@ -1197,24 +1197,24 @@ export class TreeModel {
public deselectAll(elements: any[], eventPayload?: any): void {
this.removeTraits('selected', elements);
var eventData: _.ISelectionEvent = { selection: this.getSelection(), payload: eventPayload };
let eventData: _.ISelectionEvent = { selection: this.getSelection(), payload: eventPayload };
this._onDidSelect.fire(eventData);
}
public setSelection(elements: any[], eventPayload?: any): void {
this.setTraits('selected', elements);
var eventData: _.ISelectionEvent = { selection: this.getSelection(), payload: eventPayload };
let eventData: _.ISelectionEvent = { selection: this.getSelection(), payload: eventPayload };
this._onDidSelect.fire(eventData);
}
public toggleSelection(element: any, eventPayload?: any): void {
this.toggleTrait('selected', element);
var eventData: _.ISelectionEvent = { selection: this.getSelection(), payload: eventPayload };
let eventData: _.ISelectionEvent = { selection: this.getSelection(), payload: eventPayload };
this._onDidSelect.fire(eventData);
}
public isSelected(element: any): boolean {
var item = this.getItem(element);
let item = this.getItem(element);
if (!item) {
return false;
@ -1228,12 +1228,12 @@ export class TreeModel {
}
public selectNext(count: number = 1, clearSelection: boolean = true, eventPayload?: any): void {
var selection = this.getSelection();
var item: Item = selection.length > 0 ? selection[0] : this.input;
var nextItem: Item;
var nav = this.getNavigator(item, false);
let selection = this.getSelection();
let item: Item = selection.length > 0 ? selection[0] : this.input;
let nextItem: Item;
let nav = this.getNavigator(item, false);
for (var i = 0; i < count; i++) {
for (let i = 0; i < count; i++) {
nextItem = nav.next();
if (!nextItem) {
break;
@ -1249,7 +1249,7 @@ export class TreeModel {
}
public selectPrevious(count: number = 1, clearSelection: boolean = true, eventPayload?: any): void {
var selection = this.getSelection(),
let selection = this.getSelection(),
item: Item | null = null,
previousItem: Item | null = null;
@ -1266,7 +1266,7 @@ export class TreeModel {
item = selection[0];
let nav = this.getNavigator(item, false);
for (var i = 0; i < count; i++) {
for (let i = 0; i < count; i++) {
previousItem = nav.previous();
if (!previousItem) {
break;
@ -1283,10 +1283,10 @@ export class TreeModel {
}
public selectParent(eventPayload?: any, clearSelection: boolean = true): void {
var selection = this.getSelection();
var item: Item = selection.length > 0 ? selection[0] : this.input;
var nav = this.getNavigator(item, false);
var parent = nav.parent();
let selection = this.getSelection();
let item: Item = selection.length > 0 ? selection[0] : this.input;
let nav = this.getNavigator(item, false);
let parent = nav.parent();
if (parent) {
if (clearSelection) {
@ -1299,12 +1299,12 @@ export class TreeModel {
public setFocus(element?: any, eventPayload?: any): void {
this.setTraits('focused', element ? [element] : []);
var eventData: _.IFocusEvent = { focus: this.getFocus(), payload: eventPayload };
let eventData: _.IFocusEvent = { focus: this.getFocus(), payload: eventPayload };
this._onDidFocus.fire(eventData);
}
public isFocused(element: any): boolean {
var item = this.getItem(element);
let item = this.getItem(element);
if (!item) {
return false;
@ -1314,16 +1314,16 @@ export class TreeModel {
}
public getFocus(includeHidden?: boolean): any {
var result = this.getElementsWithTrait('focused', includeHidden);
let result = this.getElementsWithTrait('focused', includeHidden);
return result.length === 0 ? null : result[0];
}
public focusNext(count: number = 1, eventPayload?: any): void {
var item: Item = this.getFocus() || this.input;
var nextItem: Item;
var nav = this.getNavigator(item, false);
let item: Item = this.getFocus() || this.input;
let nextItem: Item;
let nav = this.getNavigator(item, false);
for (var i = 0; i < count; i++) {
for (let i = 0; i < count; i++) {
nextItem = nav.next();
if (!nextItem) {
break;
@ -1335,11 +1335,11 @@ export class TreeModel {
}
public focusPrevious(count: number = 1, eventPayload?: any): void {
var item: Item = this.getFocus() || this.input;
var previousItem: Item;
var nav = this.getNavigator(item, false);
let item: Item = this.getFocus() || this.input;
let previousItem: Item;
let nav = this.getNavigator(item, false);
for (var i = 0; i < count; i++) {
for (let i = 0; i < count; i++) {
previousItem = nav.previous();
if (!previousItem) {
break;
@ -1351,9 +1351,9 @@ export class TreeModel {
}
public focusParent(eventPayload?: any): void {
var item: Item = this.getFocus() || this.input;
var nav = this.getNavigator(item, false);
var parent = nav.parent();
let item: Item = this.getFocus() || this.input;
let nav = this.getNavigator(item, false);
let parent = nav.parent();
if (parent) {
this.setFocus(parent, eventPayload);
@ -1376,10 +1376,10 @@ export class TreeModel {
}
public focusNth(index: number, eventPayload?: any, from?: any): void {
var navItem = this.getParent(from);
var nav = this.getNavigator(navItem);
var item = nav.first();
for (var i = 0; i < index; i++) {
let navItem = this.getParent(from);
let nav = this.getNavigator(navItem);
let item = nav.first();
for (let i = 0; i < index; i++) {
item = nav.next();
}
@ -1389,12 +1389,12 @@ export class TreeModel {
}
public focusLast(eventPayload?: any, from?: any): void {
var navItem = this.getParent(from);
var item: Item;
let navItem = this.getParent(from);
let item: Item;
if (from) {
item = navItem.lastChild;
} else {
var nav = this.getNavigator(navItem);
let nav = this.getNavigator(navItem);
item = nav.last();
}
@ -1405,7 +1405,7 @@ export class TreeModel {
private getParent(from?: any): Item {
if (from) {
var fromItem = this.getItem(from);
let fromItem = this.getItem(from);
if (fromItem && fromItem.parent) {
return fromItem.parent;
}
@ -1431,9 +1431,9 @@ export class TreeModel {
}
public addTraits(trait: string, elements: any[]): void {
var items: IItemMap = this.traitsToItems[trait] || <IItemMap>{};
var item: Item;
for (var i = 0, len = elements.length; i < len; i++) {
let items: IItemMap = this.traitsToItems[trait] || <IItemMap>{};
let item: Item;
for (let i = 0, len = elements.length; i < len; i++) {
item = this.getItem(elements[i]);
if (item) {
@ -1445,9 +1445,9 @@ export class TreeModel {
}
public removeTraits(trait: string, elements: any[]): void {
var items: IItemMap = this.traitsToItems[trait] || <IItemMap>{};
var item: Item;
var id: string;
let items: IItemMap = this.traitsToItems[trait] || <IItemMap>{};
let item: Item;
let id: string;
if (elements.length === 0) {
for (id in items) {
@ -1460,7 +1460,7 @@ export class TreeModel {
delete this.traitsToItems[trait];
} else {
for (var i = 0, len = elements.length; i < len; i++) {
for (let i = 0, len = elements.length; i < len; i++) {
item = this.getItem(elements[i]);
if (item) {
@ -1472,12 +1472,12 @@ export class TreeModel {
}
public hasTrait(trait: string, element: any): boolean {
var item = this.getItem(element);
let item = this.getItem(element);
return item && item.hasTrait(trait);
}
private toggleTrait(trait: string, element: any): void {
var item = this.getItem(element);
let item = this.getItem(element);
if (!item) {
return;
@ -1494,8 +1494,8 @@ export class TreeModel {
if (elements.length === 0) {
this.removeTraits(trait, elements);
} else {
var items: { [id: string]: Item; } = {};
var item: Item;
let items: { [id: string]: Item; } = {};
let item: Item;
for (let i = 0, len = elements.length; i < len; i++) {
item = this.getItem(elements[i]);
@ -1505,9 +1505,9 @@ export class TreeModel {
}
}
var traitItems: IItemMap = this.traitsToItems[trait] || <IItemMap>{};
var itemsToRemoveTrait: Item[] = [];
var id: string;
let traitItems: IItemMap = this.traitsToItems[trait] || <IItemMap>{};
let itemsToRemoveTrait: Item[] = [];
let id: string;
for (id in traitItems) {
if (traitItems.hasOwnProperty(id)) {
@ -1538,9 +1538,9 @@ export class TreeModel {
}
private getElementsWithTrait(trait: string, includeHidden: boolean): any[] {
var elements = [];
var items = this.traitsToItems[trait] || {};
var id: string;
let elements = [];
let items = this.traitsToItems[trait] || {};
let id: string;
for (id in items) {
if (items.hasOwnProperty(id) && (items[id].isVisible() || includeHidden)) {
elements.push(items[id].getElement());

View file

@ -48,13 +48,13 @@ export class RowCache implements Lifecycle.IDisposable {
}
public alloc(templateId: string): IRow {
var result = this.cache(templateId).pop();
let result = this.cache(templateId).pop();
if (!result) {
var content = document.createElement('div');
let content = document.createElement('div');
content.className = 'content';
var row = document.createElement('div');
let row = document.createElement('div');
row.appendChild(content);
let templateData: any = null;
@ -195,7 +195,7 @@ export class ViewItem implements IViewItem {
return;
}
var classes = ['monaco-tree-row'];
let classes = ['monaco-tree-row'];
classes.push.apply(classes, Object.keys(this._styles));
if (this.model.hasChildren()) {
@ -240,7 +240,7 @@ export class ViewItem implements IViewItem {
(<HTMLElement>this.row.element.firstElementChild).style.paddingLeft = this.context.options.twistiePixels + 'px';
}
var uri = this.context.dnd.getDragURI(this.context.tree, this.model.getElement());
let uri = this.context.dnd.getDragURI(this.context.tree, this.model.getElement());
if (uri !== this.uri) {
if (this.unbindDragStart) {
@ -362,7 +362,7 @@ class RootViewItem extends ViewItem {
return;
}
var classes = ['monaco-tree-wrapper'];
let classes = ['monaco-tree-wrapper'];
classes.push.apply(classes, Object.keys(this._styles));
if (this.model.hasChildren()) {
@ -544,7 +544,7 @@ export class TreeView extends HeightMap {
this.rowsContainer.className += ' show-twisties';
}
var focusTracker = DOM.trackFocus(this.domNode);
let focusTracker = DOM.trackFocus(this.domNode);
this.viewListeners.push(focusTracker.onDidFocus(() => this.onFocus()));
this.viewListeners.push(focusTracker.onDidBlur(() => this.onBlur()));
this.viewListeners.push(focusTracker);
@ -572,7 +572,7 @@ export class TreeView extends HeightMap {
event.stopPropagation();
event.preventDefault();
var result = { translationY: event.translationY, translationX: event.translationX };
let result = { translationY: event.translationY, translationX: event.translationX };
if (lastEvent) {
result.translationY += lastEvent.translationY;
@ -694,12 +694,12 @@ export class TreeView extends HeightMap {
}
private render(scrollTop: number, viewHeight: number, scrollLeft: number, viewWidth: number, scrollWidth: number): void {
var i: number;
var stop: number;
let i: number;
let stop: number;
var renderTop = scrollTop;
var renderBottom = scrollTop + viewHeight;
var thisRenderBottom = this.lastRenderTop + this.lastRenderHeight;
let renderTop = scrollTop;
let renderBottom = scrollTop + viewHeight;
let thisRenderBottom = this.lastRenderTop + this.lastRenderHeight;
// when view scrolls down, start rendering from the renderBottom
for (i = this.indexAfter(renderBottom) - 1, stop = this.indexAt(Math.max(thisRenderBottom, renderTop)); i >= stop; i--) {
@ -721,7 +721,7 @@ export class TreeView extends HeightMap {
this.removeItemFromDOM(<ViewItem>this.itemAtIndex(i));
}
var topItem = this.itemAtIndex(this.indexAt(renderTop));
let topItem = this.itemAtIndex(this.indexAt(renderTop));
if (topItem) {
this.rowsContainer.style.top = (topItem.top - renderTop) + 'px';
@ -793,15 +793,15 @@ export class TreeView extends HeightMap {
}
public focusNextPage(eventPayload?: any): void {
var lastPageIndex = this.indexAt(this.scrollTop + this.viewHeight);
let lastPageIndex = this.indexAt(this.scrollTop + this.viewHeight);
lastPageIndex = lastPageIndex === 0 ? 0 : lastPageIndex - 1;
var lastPageElement = this.itemAtIndex(lastPageIndex).model.getElement();
var currentlyFocusedElement = this.model.getFocus();
let lastPageElement = this.itemAtIndex(lastPageIndex).model.getElement();
let currentlyFocusedElement = this.model.getFocus();
if (currentlyFocusedElement !== lastPageElement) {
this.model.setFocus(lastPageElement, eventPayload);
} else {
var previousScrollTop = this.scrollTop;
let previousScrollTop = this.scrollTop;
this.scrollTop += this.viewHeight;
if (this.scrollTop !== previousScrollTop) {
@ -815,7 +815,7 @@ export class TreeView extends HeightMap {
}
public focusPreviousPage(eventPayload?: any): void {
var firstPageIndex: number;
let firstPageIndex: number;
if (this.scrollTop === 0) {
firstPageIndex = this.indexAt(this.scrollTop);
@ -823,13 +823,13 @@ export class TreeView extends HeightMap {
firstPageIndex = this.indexAfter(this.scrollTop - 1);
}
var firstPageElement = this.itemAtIndex(firstPageIndex).model.getElement();
var currentlyFocusedElement = this.model.getFocus();
let firstPageElement = this.itemAtIndex(firstPageIndex).model.getElement();
let currentlyFocusedElement = this.model.getFocus();
if (currentlyFocusedElement !== firstPageElement) {
this.model.setFocus(firstPageElement, eventPayload);
} else {
var previousScrollTop = this.scrollTop;
let previousScrollTop = this.scrollTop;
this.scrollTop -= this.viewHeight;
if (this.scrollTop !== previousScrollTop) {
@ -893,7 +893,7 @@ export class TreeView extends HeightMap {
// Events
private onClearingInput(e: Model.IInputEvent): void {
var item = <Model.Item>e.item;
let item = <Model.Item>e.item;
if (item) {
this.onRemoveItems(new MappedIterator(item.getNavigator(), item => item && item.id));
this.onRowsChanged();
@ -906,8 +906,8 @@ export class TreeView extends HeightMap {
}
private onItemChildrenRefreshing(e: Model.IItemChildrenRefreshEvent): void {
var item = <Model.Item>e.item;
var viewItem = this.items[item.id];
let item = <Model.Item>e.item;
let viewItem = this.items[item.id];
if (viewItem && this.context.options.showLoading) {
viewItem.loadingTimer = setTimeout(() => {
@ -917,9 +917,9 @@ export class TreeView extends HeightMap {
}
if (!e.isNested) {
var childrenIds: string[] = [];
var navigator = item.getNavigator();
var childItem: Model.Item;
let childrenIds: string[] = [];
let navigator = item.getNavigator();
let childItem: Model.Item;
while (childItem = navigator.next()) {
childrenIds.push(childItem.id);
@ -930,8 +930,8 @@ export class TreeView extends HeightMap {
}
private onItemChildrenRefreshed(e: Model.IItemChildrenRefreshEvent): void {
var item = <Model.Item>e.item;
var viewItem = this.items[item.id];
let item = <Model.Item>e.item;
let viewItem = this.items[item.id];
if (viewItem) {
if (viewItem.loadingTimer) {
@ -943,10 +943,10 @@ export class TreeView extends HeightMap {
}
if (!e.isNested) {
var previousChildrenIds = this.refreshingPreviousChildrenIds[item.id];
var afterModelItems: Model.Item[] = [];
var navigator = item.getNavigator();
var childItem: Model.Item;
let previousChildrenIds = this.refreshingPreviousChildrenIds[item.id];
let afterModelItems: Model.Item[] = [];
let navigator = item.getNavigator();
let childItem: Model.Item;
while (childItem = navigator.next()) {
afterModelItems.push(childItem);
@ -976,7 +976,7 @@ export class TreeView extends HeightMap {
// of the elements has changed
doToInsertItemsAlreadyExist = diff.some(d => {
if (d.modifiedLength > 0) {
for (var i = d.modifiedStart, len = d.modifiedStart + d.modifiedLength; i < len; i++) {
for (let i = d.modifiedStart, len = d.modifiedStart + d.modifiedLength; i < len; i++) {
if (this.items.hasOwnProperty(afterModelItems[i].id)) {
return true;
}
@ -1025,20 +1025,20 @@ export class TreeView extends HeightMap {
}
private onItemExpanding(e: Model.IItemExpandEvent): void {
var viewItem = this.items[e.item.id];
let viewItem = this.items[e.item.id];
if (viewItem) {
viewItem.expanded = true;
}
}
private onItemExpanded(e: Model.IItemExpandEvent): void {
var item = <Model.Item>e.item;
var viewItem = this.items[item.id];
let item = <Model.Item>e.item;
let viewItem = this.items[item.id];
if (viewItem) {
viewItem.expanded = true;
var height = this.onInsertItems(item.getNavigator(), item.id);
var scrollTop = this.scrollTop;
let height = this.onInsertItems(item.getNavigator(), item.id);
let scrollTop = this.scrollTop;
if (viewItem.top + viewItem.height <= this.scrollTop) {
scrollTop += height;
@ -1049,8 +1049,8 @@ export class TreeView extends HeightMap {
}
private onItemCollapsing(e: Model.IItemCollapseEvent): void {
var item = <Model.Item>e.item;
var viewItem = this.items[item.id];
let item = <Model.Item>e.item;
let viewItem = this.items[item.id];
if (viewItem) {
viewItem.expanded = false;
this.onRemoveItems(new MappedIterator(item.getNavigator(), item => item && item.id));
@ -1075,7 +1075,7 @@ export class TreeView extends HeightMap {
public getRelativeTop(item: Model.Item): number {
if (item && item.isVisible()) {
var viewItem = this.items[item.id];
let viewItem = this.items[item.id];
if (viewItem) {
return (viewItem.top - this.scrollTop) / (this.viewHeight - viewItem.height);
}
@ -1084,20 +1084,20 @@ export class TreeView extends HeightMap {
}
private onItemReveal(e: Model.IItemRevealEvent): void {
var item = <Model.Item>e.item;
var relativeTop = <number>e.relativeTop;
var viewItem = this.items[item.id];
let item = <Model.Item>e.item;
let relativeTop = <number>e.relativeTop;
let viewItem = this.items[item.id];
if (viewItem) {
if (relativeTop !== null) {
relativeTop = relativeTop < 0 ? 0 : relativeTop;
relativeTop = relativeTop > 1 ? 1 : relativeTop;
// y = mx + b
var m = viewItem.height - this.viewHeight;
let m = viewItem.height - this.viewHeight;
this.scrollTop = m * relativeTop + viewItem.top;
} else {
var viewItemBottom = viewItem.top + viewItem.height;
var wrapperBottom = this.scrollTop + this.viewHeight;
let viewItemBottom = viewItem.top + viewItem.height;
let wrapperBottom = this.scrollTop + this.viewHeight;
if (viewItem.top < this.scrollTop) {
this.scrollTop = viewItem.top;
@ -1109,9 +1109,9 @@ export class TreeView extends HeightMap {
}
private onItemAddTrait(e: Model.IItemTraitEvent): void {
var item = <Model.Item>e.item;
var trait = <string>e.trait;
var viewItem = this.items[item.id];
let item = <Model.Item>e.item;
let trait = <string>e.trait;
let viewItem = this.items[item.id];
if (viewItem) {
viewItem.addClass(trait);
}
@ -1129,9 +1129,9 @@ export class TreeView extends HeightMap {
}
private onItemRemoveTrait(e: Model.IItemTraitEvent): void {
var item = <Model.Item>e.item;
var trait = <string>e.trait;
var viewItem = this.items[item.id];
let item = <Model.Item>e.item;
let trait = <string>e.trait;
let viewItem = this.items[item.id];
if (viewItem) {
viewItem.removeClass(trait);
}
@ -1198,8 +1198,8 @@ export class TreeView extends HeightMap {
return;
}
var event = new Mouse.StandardMouseEvent(e);
var item = this.getItemAround(event.target);
let event = new Mouse.StandardMouseEvent(e);
let item = this.getItemAround(event.target);
if (!item) {
return;
@ -1222,8 +1222,8 @@ export class TreeView extends HeightMap {
return;
}
var event = new Mouse.StandardMouseEvent(e);
var item = this.getItemAround(event.target);
let event = new Mouse.StandardMouseEvent(e);
let item = this.getItemAround(event.target);
if (!item) {
return;
@ -1242,13 +1242,13 @@ export class TreeView extends HeightMap {
return;
}
var event = new Mouse.StandardMouseEvent(e);
let event = new Mouse.StandardMouseEvent(e);
if (event.ctrlKey && Platform.isNative && Platform.isMacintosh) {
return;
}
var item = this.getItemAround(event.target);
let item = this.getItemAround(event.target);
if (!item) {
return;
@ -1266,13 +1266,13 @@ export class TreeView extends HeightMap {
return;
}
var event = new Mouse.StandardMouseEvent(e);
let event = new Mouse.StandardMouseEvent(e);
if (event.ctrlKey && Platform.isNative && Platform.isMacintosh) {
return;
}
var item = this.getItemAround(event.target);
let item = this.getItemAround(event.target);
if (!item) {
return;
@ -1282,7 +1282,7 @@ export class TreeView extends HeightMap {
}
private onTap(e: Touch.GestureEvent): void {
var item = this.getItemAround(<HTMLElement>e.initialTarget);
let item = this.getItemAround(<HTMLElement>e.initialTarget);
if (!item) {
return;
@ -1301,31 +1301,31 @@ export class TreeView extends HeightMap {
private onContextMenu(keyboardEvent: KeyboardEvent): void;
private onContextMenu(mouseEvent: MouseEvent): void;
private onContextMenu(event: KeyboardEvent | MouseEvent): void {
var resultEvent: _.ContextMenuEvent;
var element: any;
let resultEvent: _.ContextMenuEvent;
let element: any;
if (event instanceof KeyboardEvent || this.didJustPressContextMenuKey) {
this.didJustPressContextMenuKey = false;
var keyboardEvent = new Keyboard.StandardKeyboardEvent(<KeyboardEvent>event);
let keyboardEvent = new Keyboard.StandardKeyboardEvent(<KeyboardEvent>event);
element = this.model.getFocus();
var position: DOM.IDomNodePagePosition;
let position: DOM.IDomNodePagePosition;
if (!element) {
element = this.model.getInput();
position = DOM.getDomNodePagePosition(this.inputItem.element);
} else {
var id = this.context.dataSource.getId(this.context.tree, element);
var viewItem = this.items[id];
let id = this.context.dataSource.getId(this.context.tree, element);
let viewItem = this.items[id];
position = DOM.getDomNodePagePosition(viewItem.element);
}
resultEvent = new _.KeyboardContextMenuEvent(position.left + position.width, position.top, keyboardEvent);
} else {
var mouseEvent = new Mouse.StandardMouseEvent(<MouseEvent>event);
var item = this.getItemAround(mouseEvent.target);
let mouseEvent = new Mouse.StandardMouseEvent(<MouseEvent>event);
let item = this.getItemAround(mouseEvent.target);
if (!item) {
return;
@ -1339,7 +1339,7 @@ export class TreeView extends HeightMap {
}
private onKeyDown(e: KeyboardEvent): void {
var event = new Keyboard.StandardKeyboardEvent(e);
let event = new Keyboard.StandardKeyboardEvent(e);
this.didJustPressContextMenuKey = event.keyCode === KeyCode.ContextMenu || (event.shiftKey && event.keyCode === KeyCode.F10);
@ -1369,9 +1369,9 @@ export class TreeView extends HeightMap {
return;
}
var element = item.model.getElement();
var selection = this.model.getSelection();
var elements: any[];
let element = item.model.getElement();
let selection = this.model.getSelection();
let elements: any[];
if (selection.indexOf(element) > -1) {
elements = selection;
@ -1405,7 +1405,7 @@ export class TreeView extends HeightMap {
}
private setupDragAndDropScrollInterval(): void {
var viewTop = DOM.getTopLeftOffset(this.wrapper).top;
let viewTop = DOM.getTopLeftOffset(this.wrapper).top;
if (!this.dragAndDropScrollInterval) {
this.dragAndDropScrollInterval = window.setInterval(() => {
@ -1413,9 +1413,9 @@ export class TreeView extends HeightMap {
return;
}
var diff = this.dragAndDropMouseY - viewTop;
var scrollDiff = 0;
var upperLimit = this.viewHeight - 35;
let diff = this.dragAndDropMouseY - viewTop;
let scrollDiff = 0;
let upperLimit = this.viewHeight - 35;
if (diff < 35) {
scrollDiff = Math.max(-14, 0.2 * (diff - 35));
@ -1452,9 +1452,9 @@ export class TreeView extends HeightMap {
}
private onDragOver(e: DragEvent): boolean {
var event = new Mouse.DragMouseEvent(e);
let event = new Mouse.DragMouseEvent(e);
var viewItem = this.getItemAround(event.target);
let viewItem = this.getItemAround(event.target);
if (!viewItem || (event.posx === 0 && event.posy === 0 && event.browserEvent.type === DOM.EventType.DRAG_LEAVE)) {
// dragging outside of tree
@ -1495,9 +1495,9 @@ export class TreeView extends HeightMap {
this.currentDragAndDropData.update(event);
var element: any;
var item: Model.Item = viewItem.model;
var reaction: _.IDragOverReaction;
let element: any;
let item: Model.Item = viewItem.model;
let reaction: _.IDragOverReaction;
// check the bubble up behavior
do {
@ -1516,7 +1516,7 @@ export class TreeView extends HeightMap {
return false;
}
var canDrop = reaction && reaction.accept;
let canDrop = reaction && reaction.accept;
if (canDrop) {
this.currentDropElement = item.getElement();
@ -1529,7 +1529,7 @@ export class TreeView extends HeightMap {
// item is the model item where drop() should be called
// can be null
var currentDropTarget = item.id === this.inputItem.id ? this.inputItem : this.items[item.id];
let currentDropTarget = item.id === this.inputItem.id ? this.inputItem : this.items[item.id];
if (this.shouldInvalidateDropReaction || this.currentDropTarget !== currentDropTarget || !reactionEquals(this.currentDropElementReaction, reaction)) {
this.shouldInvalidateDropReaction = false;
@ -1552,8 +1552,8 @@ export class TreeView extends HeightMap {
}
if (reaction.bubble === _.DragOverBubble.BUBBLE_DOWN) {
var nav = item.getNavigator();
var child: Model.Item;
let nav = item.getNavigator();
let child: Model.Item;
while (child = nav.next()) {
viewItem = this.items[child.id];
if (viewItem) {
@ -1579,7 +1579,7 @@ export class TreeView extends HeightMap {
private onDrop(e: DragEvent): void {
if (this.currentDropElement) {
var event = new Mouse.DragMouseEvent(e);
let event = new Mouse.DragMouseEvent(e);
event.preventDefault();
this.currentDragAndDropData.update(event);
this.context.dnd.drop(this.context.tree, this.currentDragAndDropData, this.currentDropElement, event);
@ -1630,7 +1630,7 @@ export class TreeView extends HeightMap {
}
// Circumvent IE11 breaking change in e.pointerType & TypeScript's stale definitions
var pointerType = event.pointerType;
let pointerType = event.pointerType;
if (pointerType === ((<any>event).MSPOINTER_TYPE_MOUSE || 'mouse')) {
this.lastPointerType = 'mouse';
return;
@ -1658,8 +1658,8 @@ export class TreeView extends HeightMap {
// DOM changes
private insertItemInDOM(item: ViewItem): void {
var elementAfter: HTMLElement | null = null;
var itemAfter = <ViewItem>this.itemAfter(item);
let elementAfter: HTMLElement | null = null;
let itemAfter = <ViewItem>this.itemAfter(item);
if (itemAfter && itemAfter.element) {
elementAfter = itemAfter.element;
@ -1683,7 +1683,7 @@ export class TreeView extends HeightMap {
}
private getItemAround(element: HTMLElement): ViewItem {
var candidate: ViewItem = this.inputItem;
let candidate: ViewItem = this.inputItem;
do {
if ((<any>element)[TreeView.BINDING]) {
candidate = (<any>element)[TreeView.BINDING];

View file

@ -24,16 +24,16 @@ export class HeightMap {
}
public getContentHeight(): number {
var last = this.heightMap[this.heightMap.length - 1];
let last = this.heightMap[this.heightMap.length - 1];
return !last ? 0 : last.top + last.height;
}
public onInsertItems(iterator: INextIterator<Item>, afterItemId: string | null = null): number {
var item: Item;
var viewItem: IViewItem;
var i: number, j: number;
var totalSize: number;
var sizeDiff = 0;
let item: Item;
let viewItem: IViewItem;
let i: number, j: number;
let totalSize: number;
let sizeDiff = 0;
if (afterItemId === null) {
i = 0;
@ -50,9 +50,9 @@ export class HeightMap {
totalSize = viewItem.top + viewItem.height;
}
var boundSplice = this.heightMap.splice.bind(this.heightMap, i, 0);
let boundSplice = this.heightMap.splice.bind(this.heightMap, i, 0);
var itemsToInsert: IViewItem[] = [];
let itemsToInsert: IViewItem[] = [];
while (item = iterator.next()) {
viewItem = this.createViewItem(item);
@ -88,11 +88,11 @@ export class HeightMap {
// Contiguous items
public onRemoveItems(iterator: INextIterator<string>): void {
var itemId: string;
var viewItem: IViewItem;
var startIndex: number | null = null;
var i: number;
var sizeDiff = 0;
let itemId: string;
let viewItem: IViewItem;
let startIndex: number | null = null;
let i: number;
let sizeDiff = 0;
while (itemId = iterator.next()) {
i = this.indexes[itemId];
@ -131,17 +131,17 @@ export class HeightMap {
}
public onRefreshItemSet(items: Item[]): void {
var sortedItems = items.sort((a, b) => this.indexes[a.id] - this.indexes[b.id]);
let sortedItems = items.sort((a, b) => this.indexes[a.id] - this.indexes[b.id]);
this.onRefreshItems(new ArrayIterator(sortedItems));
}
// Ordered, but not necessarily contiguous items
public onRefreshItems(iterator: INextIterator<Item>): void {
var item: Item;
var viewItem: IViewItem;
var newHeight: number;
var i: number, j: number | null = null;
var cummDiff = 0;
let item: Item;
let viewItem: IViewItem;
let newHeight: number;
let i: number, j: number | null = null;
let cummDiff = 0;
while (item = iterator.next()) {
i = this.indexes[item.id];
@ -186,16 +186,16 @@ export class HeightMap {
public withItemsInRange(start: number, end: number, fn: (item: string) => void): void {
start = this.indexAt(start);
end = this.indexAt(end);
for (var i = start; i <= end; i++) {
for (let i = start; i <= end; i++) {
fn(this.heightMap[i].model.id);
}
}
public indexAt(position: number): number {
var left = 0;
var right = this.heightMap.length;
var center: number;
var item: IViewItem;
let left = 0;
let right = this.heightMap.length;
let center: number;
let item: IViewItem;
// Binary search
while (left < right) {

View file

@ -105,7 +105,7 @@ class EventCounter {
}
}
var SAMPLE: any = {
const SAMPLE: any = {
ONE: { id: 'one' },
AB: {
@ -179,8 +179,8 @@ class TestDataSource implements _.IDataSource {
}
suite('TreeModel', () => {
var model: model.TreeModel;
var counter: EventCounter;
let model: model.TreeModel;
let counter: EventCounter;
setup(() => {
counter = new EventCounter();
@ -313,7 +313,7 @@ suite('TreeModel', () => {
return model.setInput(SAMPLE.AB).then(() => {
return model.expandAll(['a', 'c']).then(() => {
// going internals
var r = (<any>model).registry;
const r = (<any>model).registry;
assert(r.getItem('a').intersects(r.getItem('a')));
assert(r.getItem('a').intersects(r.getItem('aa')));
@ -331,8 +331,8 @@ suite('TreeModel', () => {
});
suite('TreeModel - TreeNavigator', () => {
var model: model.TreeModel;
var counter: EventCounter;
let model: model.TreeModel;
let counter: EventCounter;
setup(() => {
counter = new EventCounter();
@ -348,7 +348,7 @@ suite('TreeModel - TreeNavigator', () => {
test('next()', () => {
return model.setInput(SAMPLE.AB).then(() => {
var nav = model.getNavigator();
const nav = model.getNavigator();
assert.equal(nav.next()!.id, 'a');
assert.equal(nav.next()!.id, 'b');
assert.equal(nav.next()!.id, 'c');
@ -358,7 +358,7 @@ suite('TreeModel - TreeNavigator', () => {
test('previous()', () => {
return model.setInput(SAMPLE.AB).then(() => {
var nav = model.getNavigator();
const nav = model.getNavigator();
nav.next();
nav.next();
@ -373,7 +373,7 @@ suite('TreeModel - TreeNavigator', () => {
test('parent()', () => {
return model.setInput(SAMPLE.AB).then(() => {
return model.expandAll([{ id: 'a' }, { id: 'c' }]).then(() => {
var nav = model.getNavigator();
const nav = model.getNavigator();
assert.equal(nav.next()!.id, 'a');
assert.equal(nav.next()!.id, 'aa');
@ -397,7 +397,7 @@ suite('TreeModel - TreeNavigator', () => {
test('next() - scoped', () => {
return model.setInput(SAMPLE.AB).then(() => {
var nav = model.getNavigator(SAMPLE.AB.children[0]);
const nav = model.getNavigator(SAMPLE.AB.children[0]);
return model.expand({ id: 'a' }).then(() => {
assert.equal(nav.next()!.id, 'aa');
assert.equal(nav.next()!.id, 'ab');
@ -408,7 +408,7 @@ suite('TreeModel - TreeNavigator', () => {
test('previous() - scoped', () => {
return model.setInput(SAMPLE.AB).then(() => {
var nav = model.getNavigator(SAMPLE.AB.children[0]);
const nav = model.getNavigator(SAMPLE.AB.children[0]);
return model.expand({ id: 'a' }).then(() => {
assert.equal(nav.next()!.id, 'aa');
assert.equal(nav.next()!.id, 'ab');
@ -421,7 +421,7 @@ suite('TreeModel - TreeNavigator', () => {
test('parent() - scoped', () => {
return model.setInput(SAMPLE.AB).then(() => {
return model.expandAll([{ id: 'a' }, { id: 'c' }]).then(() => {
var nav = model.getNavigator(SAMPLE.AB.children[0]);
const nav = model.getNavigator(SAMPLE.AB.children[0]);
assert.equal(nav.next()!.id, 'aa');
assert.equal(nav.next()!.id, 'ab');
@ -432,7 +432,7 @@ suite('TreeModel - TreeNavigator', () => {
test('next() - non sub tree only', () => {
return model.setInput(SAMPLE.AB).then(() => {
var nav = model.getNavigator(SAMPLE.AB.children[0], false);
const nav = model.getNavigator(SAMPLE.AB.children[0], false);
return model.expand({ id: 'a' }).then(() => {
assert.equal(nav.next()!.id, 'aa');
assert.equal(nav.next()!.id, 'ab');
@ -445,7 +445,7 @@ suite('TreeModel - TreeNavigator', () => {
test('previous() - non sub tree only', () => {
return model.setInput(SAMPLE.AB).then(() => {
var nav = model.getNavigator(SAMPLE.AB.children[0], false);
const nav = model.getNavigator(SAMPLE.AB.children[0], false);
return model.expand({ id: 'a' }).then(() => {
assert.equal(nav.next()!.id, 'aa');
assert.equal(nav.next()!.id, 'ab');
@ -463,7 +463,7 @@ suite('TreeModel - TreeNavigator', () => {
test('parent() - non sub tree only', () => {
return model.setInput(SAMPLE.AB).then(() => {
return model.expandAll([{ id: 'a' }, { id: 'c' }]).then(() => {
var nav = model.getNavigator(SAMPLE.AB.children[0], false);
const nav = model.getNavigator(SAMPLE.AB.children[0], false);
assert.equal(nav.next()!.id, 'aa');
assert.equal(nav.next()!.id, 'ab');
@ -477,7 +477,7 @@ suite('TreeModel - TreeNavigator', () => {
return model.setInput(SAMPLE.DEEP).then(() => {
return model.expand(SAMPLE.DEEP.children[0]).then(() => {
return model.expand(SAMPLE.DEEP.children[0].children[0]).then(() => {
var nav = model.getNavigator(SAMPLE.DEEP.children[0].children[0]);
const nav = model.getNavigator(SAMPLE.DEEP.children[0].children[0]);
assert.equal(nav.next()!.id, 'xa');
assert.equal(nav.next()!.id, 'xb');
assert.equal(nav.next() && false, null);
@ -490,7 +490,7 @@ suite('TreeModel - TreeNavigator', () => {
return model.setInput(SAMPLE.DEEP).then(() => {
return model.expand(SAMPLE.DEEP.children[0]).then(() => {
return model.expand(SAMPLE.DEEP.children[0].children[0]).then(() => {
var nav = model.getNavigator(SAMPLE.DEEP.children[0].children[0]);
const nav = model.getNavigator(SAMPLE.DEEP.children[0].children[0]);
assert.equal(nav.next()!.id, 'xa');
assert.equal(nav.next()!.id, 'xb');
assert.equal(nav.previous()!.id, 'xa');
@ -511,8 +511,8 @@ suite('TreeModel - TreeNavigator', () => {
});
suite('TreeModel - Expansion', () => {
var model: model.TreeModel;
var counter: EventCounter;
let model: model.TreeModel;
let counter: EventCounter;
setup(() => {
counter = new EventCounter();
@ -530,13 +530,13 @@ suite('TreeModel - Expansion', () => {
return model.setInput(SAMPLE.AB).then(() => {
counter.listen(model.onExpandItem, (e) => {
assert.equal(e.item.id, 'a');
var nav = model.getNavigator(e.item);
const nav = model.getNavigator(e.item);
assert.equal(nav.next() && false, null);
});
counter.listen(model.onDidExpandItem, (e) => {
assert.equal(e.item.id, 'a');
var nav = model.getNavigator(e.item);
const nav = model.getNavigator(e.item);
assert.equal(nav.next()!.id, 'aa');
assert.equal(nav.next()!.id, 'ab');
assert.equal(nav.next() && false, null);
@ -544,7 +544,7 @@ suite('TreeModel - Expansion', () => {
assert(!model.isExpanded(SAMPLE.AB.children[0]));
var nav = model.getNavigator();
let nav = model.getNavigator();
assert.equal(nav.next()!.id, 'a');
assert.equal(nav.next()!.id, 'b');
assert.equal(nav.next()!.id, 'c');
@ -563,7 +563,7 @@ suite('TreeModel - Expansion', () => {
assert.equal(nav.next()!.id, 'c');
assert.equal(nav.next() && false, null);
var expandedElements = model.getExpandedElements();
const expandedElements = model.getExpandedElements();
assert.equal(expandedElements.length, 1);
assert.equal(expandedElements[0].id, 'a');
@ -626,18 +626,18 @@ suite('TreeModel - Expansion', () => {
assert(!model.isExpanded(SAMPLE.AB.children[0]));
var nav = model.getNavigator();
let nav = model.getNavigator();
assert.equal(nav.next()!.id, 'a');
assert.equal(nav.next()!.id, 'b');
assert.equal(nav.next()!.id, 'c');
assert.equal(nav.next() && false, null);
var f: () => void = counter.listen(model.onRefreshItemChildren, (e) => {
const f: () => void = counter.listen(model.onRefreshItemChildren, (e) => {
assert.equal(e.item.id, 'a');
f();
});
var g: () => void = counter.listen(model.onDidRefreshItemChildren, (e) => {
const g: () => void = counter.listen(model.onDidRefreshItemChildren, (e) => {
assert.equal(e.item.id, 'a');
g();
});
@ -661,7 +661,7 @@ suite('TreeModel - Expansion', () => {
test('top level collapsed', () => {
return model.setInput(SAMPLE.AB).then(() => {
return model.collapseAll([{ id: 'a' }, { id: 'b' }, { id: 'c' }]).then(() => {
var nav = model.getNavigator();
const nav = model.getNavigator();
assert.equal(nav.next()!.id, 'a');
assert.equal(nav.next()!.id, 'b');
assert.equal(nav.next()!.id, 'c');
@ -712,9 +712,9 @@ class TestFilter implements _.IFilter {
}
suite('TreeModel - Filter', () => {
var model: model.TreeModel;
var counter: EventCounter;
var filter: TestFilter;
let model: model.TreeModel;
let counter: EventCounter;
let filter: TestFilter;
setup(() => {
counter = new EventCounter();
@ -734,7 +734,7 @@ suite('TreeModel - Filter', () => {
return model.setInput(SAMPLE.AB).then(() => {
return model.expandAll([{ id: 'a' }, { id: 'c' }]).then(() => {
var nav = model.getNavigator();
const nav = model.getNavigator();
assert.equal(nav.next()!.id, 'a');
assert.equal(nav.next()!.id, 'aa');
assert.equal(nav.next()!.id, 'ab');
@ -759,7 +759,7 @@ suite('TreeModel - Filter', () => {
return model.setInput(SAMPLE.AB).then(() => {
return model.refresh().then(() => {
var nav = model.getNavigator();
const nav = model.getNavigator();
assert.equal(nav.next() && false, null);
});
});
@ -772,7 +772,7 @@ suite('TreeModel - Filter', () => {
return model.setInput(SAMPLE.AB).then(() => {
return model.expand({ id: 'a' }).then(() => {
var nav = model.getNavigator();
const nav = model.getNavigator();
assert.equal(nav.next()!.id, 'a');
assert.equal(nav.next()!.id, 'aa');
assert.equal(nav.next()!.id, 'ab');
@ -789,7 +789,7 @@ suite('TreeModel - Filter', () => {
return model.setInput(SAMPLE.AB).then(() => {
return model.expand({ id: 'a' }).then(() => {
var nav = model.getNavigator();
const nav = model.getNavigator();
assert.equal(nav.next()!.id, 'a');
assert.equal(nav.next()!.id, 'aa');
assert.equal(nav.next()!.id, 'b');
@ -806,7 +806,7 @@ suite('TreeModel - Filter', () => {
return model.setInput(SAMPLE.AB).then(() => {
return model.expand({ id: 'c' }).then(() => {
var nav = model.getNavigator();
const nav = model.getNavigator();
assert.equal(nav.next()!.id, 'b');
assert.equal(nav.next()!.id, 'c');
assert.equal(nav.next()!.id, 'ca');
@ -826,7 +826,7 @@ suite('TreeModel - Filter', () => {
return model.setInput(SAMPLE.AB).then(() => {
return model.expand({ id: 'c' }).then(() => {
var nav = model.getNavigator();
const nav = model.getNavigator();
assert.equal(nav.next()!.id, 'b');
assert.equal(nav.next()!.id, 'c');
assert.equal(nav.next()!.id, 'ca');
@ -844,7 +844,7 @@ suite('TreeModel - Filter', () => {
filter.fn = (e) => e.id !== 'b';
return model.setInput(SAMPLE.AB).then(() => {
var nav = model.getNavigator({ id: 'c' }, false);
const nav = model.getNavigator({ id: 'c' }, false);
assert.equal(nav.previous()!.id, 'a');
assert.equal(nav.previous() && false, null);
});
@ -852,8 +852,8 @@ suite('TreeModel - Filter', () => {
});
suite('TreeModel - Traits', () => {
var model: model.TreeModel;
var counter: EventCounter;
let model: model.TreeModel;
let counter: EventCounter;
setup(() => {
counter = new EventCounter();
@ -1126,7 +1126,7 @@ class DynamicModel implements _.IDataSource {
public getChildren(tree, element): Promise<any> {
this._onGetChildren.fire(element);
var result = this.promiseFactory ? this.promiseFactory() : Promise.resolve(null);
const result = this.promiseFactory ? this.promiseFactory() : Promise.resolve(null);
return result.then(() => {
this._onDidGetChildren.fire(element);
return Promise.resolve(this.data[element]);
@ -1139,9 +1139,9 @@ class DynamicModel implements _.IDataSource {
}
suite('TreeModel - Dynamic data model', () => {
var model: model.TreeModel;
var dataModel: DynamicModel;
var counter: EventCounter;
let model: model.TreeModel;
let dataModel: DynamicModel;
let counter: EventCounter;
setup(() => {
counter = new EventCounter();
@ -1167,8 +1167,8 @@ suite('TreeModel - Dynamic data model', () => {
return model.expandAll(['grandfather', 'father', 'son']).then(() => {
dataModel.removeChild('grandfather', 'father');
var items = ['baby', 'son', 'daughter', 'father'];
var times = 0;
const items = ['baby', 'son', 'daughter', 'father'];
let times = 0;
counter.listen(model.onDidDisposeItem, item => {
assert.equal(items[times++], item.id);
});
@ -1187,7 +1187,7 @@ suite('TreeModel - Dynamic data model', () => {
dataModel.addChild('root', 'mega');
return model.setInput('root').then(() => {
var nav = model.getNavigator();
let nav = model.getNavigator();
assert.equal(nav.next()!.id, 'super');
assert.equal(nav.next()!.id, 'hyper');
assert.equal(nav.next()!.id, 'mega');
@ -1237,7 +1237,7 @@ suite('TreeModel - Dynamic data model', () => {
return model.expand('super').then(() => {
var nav = model.getNavigator();
let nav = model.getNavigator();
assert.equal(nav.next()!.id, 'super');
assert.equal(nav.next()!.id, 'apples');
assert.equal(nav.next()!.id, 'bananas');
@ -1274,8 +1274,8 @@ suite('TreeModel - Dynamic data model', () => {
return model.setInput('root').then(() => {
return model.expand('grandfather').then(() => {
return model.collapse('father').then(() => {
var times = 0;
var listener = dataModel.onGetChildren((element) => {
let times = 0;
let listener = dataModel.onGetChildren((element) => {
times++;
assert.equal(element, 'grandfather');
});
@ -1309,7 +1309,7 @@ suite('TreeModel - Dynamic data model', () => {
return model.expand('father').then(() => {
return model.expand('mother').then(() => {
var nav = model.getNavigator();
let nav = model.getNavigator();
assert.equal(nav.next()!.id, 'father');
assert.equal(nav.next()!.id, 'son');
assert.equal(nav.next()!.id, 'mother');
@ -1323,16 +1323,16 @@ suite('TreeModel - Dynamic data model', () => {
dataModel.promiseFactory = () => { return timeout(0); };
var getTimes = 0;
var gotTimes = 0;
var getListener = dataModel.onGetChildren((element) => { getTimes++; });
var gotListener = dataModel.onDidGetChildren((element) => { gotTimes++; });
let getTimes = 0;
let gotTimes = 0;
const getListener = dataModel.onGetChildren((element) => { getTimes++; });
const gotListener = dataModel.onDidGetChildren((element) => { gotTimes++; });
var p1 = model.refresh('father');
const p1 = model.refresh('father');
assert.equal(getTimes, 1);
assert.equal(gotTimes, 0);
var p2 = model.refresh('mother');
const p2 = model.refresh('mother');
assert.equal(getTimes, 2);
assert.equal(gotTimes, 0);
@ -1363,22 +1363,22 @@ suite('TreeModel - Dynamic data model', () => {
return model.setInput('root').then(() => {
return model.expand('grandfather').then(() => {
return model.expand('father').then(() => {
var nav = model.getNavigator();
let nav = model.getNavigator();
assert.equal(nav.next()!.id, 'grandfather');
assert.equal(nav.next()!.id, 'father');
assert.equal(nav.next()!.id, 'son');
assert.equal(nav.next() && false, null);
var refreshTimes = 0;
let refreshTimes = 0;
counter.listen(model.onDidRefreshItem, (e) => { refreshTimes++; });
var getTimes = 0;
var getListener = dataModel.onGetChildren((element) => { getTimes++; });
let getTimes = 0;
const getListener = dataModel.onGetChildren((element) => { getTimes++; });
var gotTimes = 0;
var gotListener = dataModel.onDidGetChildren((element) => { gotTimes++; });
let gotTimes = 0;
const gotListener = dataModel.onDidGetChildren((element) => { gotTimes++; });
var p1Completes: Array<(value?: any) => void> = [];
const p1Completes: Array<(value?: any) => void> = [];
dataModel.promiseFactory = () => { return new Promise((c) => { p1Completes.push(c); }); };
model.refresh('grandfather').then(() => {
@ -1395,9 +1395,9 @@ suite('TreeModel - Dynamic data model', () => {
assert.equal(getTimes, 2);
assert.equal(gotTimes, 1);
var p2Complete;
let p2Complete;
dataModel.promiseFactory = () => { return new Promise((c) => { p2Complete = c; }); };
var p2 = model.refresh('father');
const p2 = model.refresh('father');
// same situation still
assert.equal(refreshTimes, 3); // (+1) second father refresh
@ -1529,7 +1529,7 @@ suite('TreeModel - Dynamic data model', () => {
// delay expansions and refreshes
dataModel.promiseFactory = () => { return timeout(0); };
var promises: Promise<any>[] = [];
const promises: Promise<any>[] = [];
promises.push(model.expand('father'));
dataModel.removeChild('root', 'father');
@ -1549,7 +1549,7 @@ suite('TreeModel - Dynamic data model', () => {
});
suite('TreeModel - bugs', () => {
var counter: EventCounter;
let counter: EventCounter;
setup(() => {
counter = new EventCounter();
@ -1580,10 +1580,10 @@ suite('TreeModel - bugs', () => {
let listeners = <any>[];
// helpers
var getGetRootChildren = (children: string[], millis = 0) => () => timeout(millis).then(() => children);
var getRootChildren = getGetRootChildren(['homer', 'bart', 'lisa', 'marge', 'maggie'], 0);
var getGetBartChildren = (millis = 0) => () => timeout(millis).then(() => ['milhouse', 'nelson']);
var getBartChildren = getGetBartChildren(0);
const getGetRootChildren = (children: string[], millis = 0) => () => timeout(millis).then(() => children);
let getRootChildren = getGetRootChildren(['homer', 'bart', 'lisa', 'marge', 'maggie'], 0);
const getGetBartChildren = (millis = 0) => () => timeout(millis).then(() => ['milhouse', 'nelson']);
const getBartChildren = getGetBartChildren(0);
// item expanding should not exist!
counter.listen(model.onExpandItem, () => { assert(false, 'should never receive item:expanding event'); });
@ -1595,14 +1595,14 @@ suite('TreeModel - bugs', () => {
getRootChildren = getGetRootChildren(['homer', 'lisa', 'marge', 'maggie'], 10);
// refresh root
var p1 = model.refresh('root', true).then(() => {
const p1 = model.refresh('root', true).then(() => {
assert(true);
}, () => {
assert(false, 'should never reach this');
});
// at the same time, try to expand bart!
var p2 = model.expand('bart').then(() => {
const p2 = model.expand('bart').then(() => {
assert(false, 'should never reach this');
}, () => {
assert(true, 'bart should fail to expand since he was removed meanwhile');

View file

@ -17,9 +17,9 @@ function makeItem(id, height): any {
}
function makeItems(...args: any[]) {
var r: any[] = [];
let r: any[] = [];
for (var i = 0; i < args.length; i += 2) {
for (let i = 0; i < args.length; i += 2) {
r.push(makeItem(args[i], args[i + 1]));
}
@ -27,8 +27,8 @@ function makeItems(...args: any[]) {
}
function makeNavigator(...args: any[]): any {
var items = makeItems.apply(null, args);
var i = 0;
let items = makeItems.apply(null, args);
let i = 0;
return {
next: function () {
@ -50,7 +50,7 @@ class TestHeightMap extends HeightMap {
}
suite('TreeView - HeightMap', () => {
var rangeMap: HeightMap;
let rangeMap: HeightMap;
setup(() => {
rangeMap = new TestHeightMap();
@ -76,7 +76,7 @@ suite('TreeView - HeightMap', () => {
});
test('onInsertItems at beginning', () => {
var navigator = makeNavigator('x', 4, 'y', 20, 'z', 8);
let navigator = makeNavigator('x', 4, 'y', 20, 'z', 8);
rangeMap.onInsertItems(navigator);
assert.equal(rangeMap.itemAt(0), 'x');
@ -97,7 +97,7 @@ suite('TreeView - HeightMap', () => {
});
test('onInsertItems in middle', () => {
var navigator = makeNavigator('x', 4, 'y', 20, 'z', 8);
let navigator = makeNavigator('x', 4, 'y', 20, 'z', 8);
rangeMap.onInsertItems(navigator, 'a');
assert.equal(rangeMap.itemAt(0), 'a');
@ -118,7 +118,7 @@ suite('TreeView - HeightMap', () => {
});
test('onInsertItems at end', () => {
var navigator = makeNavigator('x', 4, 'y', 20, 'z', 8);
let navigator = makeNavigator('x', 4, 'y', 20, 'z', 8);
rangeMap.onInsertItems(navigator, 'd');
assert.equal(rangeMap.itemAt(0), 'a');
@ -171,7 +171,7 @@ suite('TreeView - HeightMap', () => {
});
test('onRefreshItems at beginning', () => {
var navigator = makeNavigator('a', 1, 'b', 1);
let navigator = makeNavigator('a', 1, 'b', 1);
rangeMap.onRefreshItems(navigator);
assert.equal(rangeMap.itemAt(0), 'a');
@ -184,7 +184,7 @@ suite('TreeView - HeightMap', () => {
});
test('onRefreshItems in middle', () => {
var navigator = makeNavigator('b', 40, 'c', 4);
let navigator = makeNavigator('b', 40, 'c', 4);
rangeMap.onRefreshItems(navigator);
assert.equal(rangeMap.itemAt(0), 'a');
@ -199,7 +199,7 @@ suite('TreeView - HeightMap', () => {
});
test('onRefreshItems at end', () => {
var navigator = makeNavigator('d', 22);
let navigator = makeNavigator('d', 22);
rangeMap.onRefreshItems(navigator);
assert.equal(rangeMap.itemAt(0), 'a');
@ -214,8 +214,8 @@ suite('TreeView - HeightMap', () => {
});
test('withItemsInRange', () => {
var i = 0;
var itemsInRange = ['a', 'b'];
let i = 0;
let itemsInRange = ['a', 'b'];
rangeMap.withItemsInRange(2, 27, function (item) { assert.equal(item, itemsInRange[i++]); });
assert.equal(i, itemsInRange.length);

View file

@ -8,7 +8,7 @@ import { renderMarkdown, renderText, renderFormattedText } from 'vs/base/browser
suite('HtmlContent', () => {
test('render simple element', () => {
var result: HTMLElement = renderText('testing');
let result: HTMLElement = renderText('testing');
assert.strictEqual(result.nodeType, document.ELEMENT_NODE);
assert.strictEqual(result.textContent, 'testing');
@ -16,7 +16,7 @@ suite('HtmlContent', () => {
});
test('render element with class', () => {
var result: HTMLElement = renderText('testing', {
let result: HTMLElement = renderText('testing', {
className: 'testClass'
});
assert.strictEqual(result.nodeType, document.ELEMENT_NODE);
@ -24,7 +24,7 @@ suite('HtmlContent', () => {
});
test('simple formatting', () => {
var result: HTMLElement = renderFormattedText('**bold**');
let result: HTMLElement = renderFormattedText('**bold**');
assert.strictEqual(result.children.length, 1);
assert.strictEqual(result.firstChild!.textContent, 'bold');
assert.strictEqual((<HTMLElement>result.firstChild).tagName, 'B');
@ -38,18 +38,18 @@ suite('HtmlContent', () => {
});
test('no formatting', () => {
var result: HTMLElement = renderFormattedText('this is just a string');
let result: HTMLElement = renderFormattedText('this is just a string');
assert.strictEqual(result.innerHTML, 'this is just a string');
});
test('preserve newlines', () => {
var result: HTMLElement = renderFormattedText('line one\nline two');
let result: HTMLElement = renderFormattedText('line one\nline two');
assert.strictEqual(result.innerHTML, 'line one<br>line two');
});
test('action', () => {
var callbackCalled = false;
var result: HTMLElement = renderFormattedText('[[action]]', {
let callbackCalled = false;
let result: HTMLElement = renderFormattedText('[[action]]', {
actionHandler: {
callback(content) {
assert.strictEqual(content, '0');
@ -60,15 +60,15 @@ suite('HtmlContent', () => {
});
assert.strictEqual(result.innerHTML, '<a href="#">action</a>');
var event: MouseEvent = <any>document.createEvent('MouseEvent');
let event: MouseEvent = <any>document.createEvent('MouseEvent');
event.initEvent('click', true, true);
result.firstChild!.dispatchEvent(event);
assert.strictEqual(callbackCalled, true);
});
test('fancy action', () => {
var callbackCalled = false;
var result: HTMLElement = renderFormattedText('__**[[action]]**__', {
let callbackCalled = false;
let result: HTMLElement = renderFormattedText('__**[[action]]**__', {
actionHandler: {
callback(content) {
assert.strictEqual(content, '0');
@ -79,14 +79,14 @@ suite('HtmlContent', () => {
});
assert.strictEqual(result.innerHTML, '<i><b><a href="#">action</a></b></i>');
var event: MouseEvent = <any>document.createEvent('MouseEvent');
let event: MouseEvent = <any>document.createEvent('MouseEvent');
event.initEvent('click', true, true);
result.firstChild!.firstChild!.firstChild!.dispatchEvent(event);
assert.strictEqual(callbackCalled, true);
});
test('escaped formatting', () => {
var result: HTMLElement = renderFormattedText('\\*\\*bold\\*\\*');
let result: HTMLElement = renderFormattedText('\\*\\*bold\\*\\*');
assert.strictEqual(result.children.length, 0);
assert.strictEqual(result.innerHTML, '**bold**');
});
@ -111,15 +111,15 @@ suite('HtmlContent', () => {
assert.strictEqual(result.innerHTML, imageFromMarked);
});
test('image width from title params', () => {
var result: HTMLElement = renderMarkdown({ value: `![image](someimageurl|width=100 'caption')` });
let result: HTMLElement = renderMarkdown({ value: `![image](someimageurl|width=100 'caption')` });
assert.strictEqual(result.innerHTML, `<p><img src="someimageurl" alt="image" title="caption" width="100"></p>`);
});
test('image height from title params', () => {
var result: HTMLElement = renderMarkdown({ value: `![image](someimageurl|height=100 'caption')` });
let result: HTMLElement = renderMarkdown({ value: `![image](someimageurl|height=100 'caption')` });
assert.strictEqual(result.innerHTML, `<p><img src="someimageurl" alt="image" title="caption" height="100"></p>`);
});
test('image width and height from title params', () => {
var result: HTMLElement = renderMarkdown({ value: `![image](someimageurl|height=200,width=100 'caption')` });
let result: HTMLElement = renderMarkdown({ value: `![image](someimageurl|height=200,width=100 'caption')` });
assert.strictEqual(result.innerHTML, `<p><img src="someimageurl" alt="image" title="caption" width="100" height="200"></p>`);
});
});

View file

@ -8,7 +8,7 @@ import { RangeMap, groupIntersect, consolidate } from 'vs/base/browser/ui/list/r
import { Range } from 'vs/base/common/range';
suite('RangeMap', () => {
var rangeMap: RangeMap;
let rangeMap: RangeMap;
setup(() => {
rangeMap = new RangeMap();

View file

@ -22,15 +22,15 @@ class StringDiffSequence implements ISequence {
function createArray<T>(length: number, value: T): T[] {
const r: T[] = [];
for (var i = 0; i < length; i++) {
for (let i = 0; i < length; i++) {
r[i] = value;
}
return r;
}
function maskBasedSubstring(str: string, mask: boolean[]): string {
var r = '';
for (var i = 0; i < str.length; i++) {
let r = '';
for (let i = 0; i < str.length; i++) {
if (mask[i]) {
r += str.charAt(i);
}
@ -39,10 +39,10 @@ function maskBasedSubstring(str: string, mask: boolean[]): string {
}
function assertAnswer(originalStr: string, modifiedStr: string, changes: IDiffChange[], answerStr: string, onlyLength: boolean = false): void {
var originalMask = createArray(originalStr.length, true);
var modifiedMask = createArray(modifiedStr.length, true);
let originalMask = createArray(originalStr.length, true);
let modifiedMask = createArray(modifiedStr.length, true);
var i, j, change;
let i, j, change;
for (i = 0; i < changes.length; i++) {
change = changes[i];
@ -59,8 +59,8 @@ function assertAnswer(originalStr: string, modifiedStr: string, changes: IDiffCh
}
}
var originalAnswer = maskBasedSubstring(originalStr, originalMask);
var modifiedAnswer = maskBasedSubstring(modifiedStr, modifiedMask);
let originalAnswer = maskBasedSubstring(originalStr, originalMask);
let modifiedAnswer = maskBasedSubstring(modifiedStr, modifiedMask);
if (onlyLength) {
assert.equal(originalAnswer.length, answerStr.length);
@ -72,14 +72,14 @@ function assertAnswer(originalStr: string, modifiedStr: string, changes: IDiffCh
}
function lcsInnerTest(Algorithm: any, originalStr: string, modifiedStr: string, answerStr: string, onlyLength: boolean = false): void {
var diff = new Algorithm(new StringDiffSequence(originalStr), new StringDiffSequence(modifiedStr));
var changes = diff.ComputeDiff();
let diff = new Algorithm(new StringDiffSequence(originalStr), new StringDiffSequence(modifiedStr));
let changes = diff.ComputeDiff();
assertAnswer(originalStr, modifiedStr, changes, answerStr, onlyLength);
}
function stringPower(str: string, power: number): string {
var r = str;
for (var i = 0; i < power; i++) {
let r = str;
for (let i = 0; i < power; i++) {
r += r;
}
return r;
@ -87,7 +87,7 @@ function stringPower(str: string, power: number): string {
function lcsTest(Algorithm: any, originalStr: string, modifiedStr: string, answerStr: string) {
lcsInnerTest(Algorithm, originalStr, modifiedStr, answerStr);
for (var i = 2; i <= 5; i++) {
for (let i = 2; i <= 5; i++) {
lcsInnerTest(Algorithm, stringPower(originalStr, i), stringPower(modifiedStr, i), stringPower(answerStr, i), true);
}
}
@ -116,14 +116,14 @@ suite('Diff', () => {
suite('Diff - Ported from VS', () => {
test('using continue processing predicate to quit early', function () {
var left = 'abcdef';
var right = 'abxxcyyydzzzzezzzzzzzzzzzzzzzzzzzzf';
let left = 'abcdef';
let right = 'abxxcyyydzzzzezzzzzzzzzzzzzzzzzzzzf';
// We use a long non-matching portion at the end of the right-side string, so the backwards tracking logic
// doesn't get there first.
var predicateCallCount = 0;
let predicateCallCount = 0;
var diff = new LcsDiff(new StringDiffSequence(left), new StringDiffSequence(right), function (leftIndex, leftSequence, longestMatchSoFar) {
let diff = new LcsDiff(new StringDiffSequence(left), new StringDiffSequence(right), function (leftIndex, leftSequence, longestMatchSoFar) {
assert.equal(predicateCallCount, 0);
predicateCallCount++;
@ -134,7 +134,7 @@ suite('Diff - Ported from VS', () => {
// cancel processing
return false;
});
var changes = diff.ComputeDiff(true);
let changes = diff.ComputeDiff(true);
assert.equal(predicateCallCount, 1);
@ -170,11 +170,11 @@ suite('Diff - Ported from VS', () => {
// Cancel *one iteration* after the second match ('d')
var hitSecondMatch = false;
let hitSecondMatch = false;
diff = new LcsDiff(new StringDiffSequence(left), new StringDiffSequence(right), function (leftIndex, leftSequence, longestMatchSoFar) {
assert(longestMatchSoFar <= 2); // We never see a match of length > 2
var hitYet = hitSecondMatch;
let hitYet = hitSecondMatch;
hitSecondMatch = longestMatchSoFar > 1;
// Continue processing as long as there hasn't been a match made.
return !hitYet;

View file

@ -9,23 +9,23 @@ import {
import { getParseErrorMessage } from 'vs/base/common/jsonErrorMessages';
function assertKinds(text: string, ...kinds: SyntaxKind[]): void {
var scanner = createScanner(text);
var kind: SyntaxKind;
let scanner = createScanner(text);
let kind: SyntaxKind;
while ((kind = scanner.scan()) !== SyntaxKind.EOF) {
assert.equal(kind, kinds.shift());
}
assert.equal(kinds.length, 0);
}
function assertScanError(text: string, expectedKind: SyntaxKind, scanError: ScanError): void {
var scanner = createScanner(text);
let scanner = createScanner(text);
scanner.scan();
assert.equal(scanner.getToken(), expectedKind);
assert.equal(scanner.getTokenError(), scanError);
}
function assertValidParse(input: string, expected: any, options?: ParseOptions): void {
var errors: ParseError[] = [];
var actual = parse(input, errors, options);
let errors: ParseError[] = [];
let actual = parse(input, errors, options);
if (errors.length !== 0) {
assert(false, getParseErrorMessage(errors[0].error));
@ -34,16 +34,16 @@ function assertValidParse(input: string, expected: any, options?: ParseOptions):
}
function assertInvalidParse(input: string, expected: any, options?: ParseOptions): void {
var errors: ParseError[] = [];
var actual = parse(input, errors, options);
let errors: ParseError[] = [];
let actual = parse(input, errors, options);
assert(errors.length > 0);
assert.deepEqual(actual, expected);
}
function assertTree(input: string, expected: any, expectedErrors: number[] = [], options?: ParseOptions): void {
var errors: ParseError[] = [];
var actual = parseTree(input, errors, options);
let errors: ParseError[] = [];
let actual = parseTree(input, errors, options);
assert.deepEqual(errors.map(e => e.error, expected), expectedErrors);
let checkParent = (node: Node) => {

View file

@ -9,14 +9,14 @@ suite('JSON - formatter', () => {
function format(content: string, expected: string, insertSpaces = true) {
let range: Formatter.Range | undefined = undefined;
var rangeStart = content.indexOf('|');
var rangeEnd = content.lastIndexOf('|');
const rangeStart = content.indexOf('|');
const rangeEnd = content.lastIndexOf('|');
if (rangeStart !== -1 && rangeEnd !== -1) {
content = content.substring(0, rangeStart) + content.substring(rangeStart + 1, rangeEnd) + content.substring(rangeEnd + 1);
range = { offset: rangeStart, length: rangeEnd - rangeStart };
}
var edits = Formatter.format(content, range, { tabSize: 2, insertSpaces: insertSpaces, eol: '\n' });
const edits = Formatter.format(content, range, { tabSize: 2, insertSpaces: insertSpaces, eol: '\n' });
let lastEditOffset = content.length;
for (let i = edits.length - 1; i >= 0; i--) {
@ -32,11 +32,11 @@ suite('JSON - formatter', () => {
}
test('object - single property', () => {
var content = [
const content = [
'{"x" : 1}'
].join('\n');
var expected = [
const expected = [
'{',
' "x": 1',
'}'
@ -45,11 +45,11 @@ suite('JSON - formatter', () => {
format(content, expected);
});
test('object - multiple properties', () => {
var content = [
const content = [
'{"x" : 1, "y" : "foo", "z" : true}'
].join('\n');
var expected = [
const expected = [
'{',
' "x": 1,',
' "y": "foo",',
@ -60,11 +60,11 @@ suite('JSON - formatter', () => {
format(content, expected);
});
test('object - no properties ', () => {
var content = [
const content = [
'{"x" : { }, "y" : {}}'
].join('\n');
var expected = [
const expected = [
'{',
' "x": {},',
' "y": {}',
@ -74,11 +74,11 @@ suite('JSON - formatter', () => {
format(content, expected);
});
test('object - nesting', () => {
var content = [
const content = [
'{"x" : { "y" : { "z" : { }}, "a": true}}'
].join('\n');
var expected = [
const expected = [
'{',
' "x": {',
' "y": {',
@ -93,11 +93,11 @@ suite('JSON - formatter', () => {
});
test('array - single items', () => {
var content = [
const content = [
'["[]"]'
].join('\n');
var expected = [
const expected = [
'[',
' "[]"',
']'
@ -107,11 +107,11 @@ suite('JSON - formatter', () => {
});
test('array - multiple items', () => {
var content = [
const content = [
'[true,null,1.2]'
].join('\n');
var expected = [
const expected = [
'[',
' true,',
' null,',
@ -123,11 +123,11 @@ suite('JSON - formatter', () => {
});
test('array - no items', () => {
var content = [
const content = [
'[ ]'
].join('\n');
var expected = [
const expected = [
'[]'
].join('\n');
@ -135,11 +135,11 @@ suite('JSON - formatter', () => {
});
test('array - nesting', () => {
var content = [
const content = [
'[ [], [ [ {} ], "a" ] ]'
].join('\n');
var expected = [
const expected = [
'[',
' [],',
' [',
@ -155,11 +155,11 @@ suite('JSON - formatter', () => {
});
test('syntax errors', () => {
var content = [
const content = [
'[ null 1.2 ]'
].join('\n');
var expected = [
const expected = [
'[',
' null 1.2',
']',
@ -169,7 +169,7 @@ suite('JSON - formatter', () => {
});
test('empty lines', () => {
var content = [
const content = [
'{',
'"a": true,',
'',
@ -177,7 +177,7 @@ suite('JSON - formatter', () => {
'}',
].join('\n');
var expected = [
const expected = [
'{',
'\t"a": true,',
'\t"b": true',
@ -187,14 +187,14 @@ suite('JSON - formatter', () => {
format(content, expected, false);
});
test('single line comment', () => {
var content = [
const content = [
'[ ',
'//comment',
'"foo", "bar"',
'] '
].join('\n');
var expected = [
const expected = [
'[',
' //comment',
' "foo",',
@ -205,14 +205,14 @@ suite('JSON - formatter', () => {
format(content, expected);
});
test('block line comment', () => {
var content = [
const content = [
'[{',
' /*comment*/ ',
'"foo" : true',
'}] '
].join('\n');
var expected = [
const expected = [
'[',
' {',
' /*comment*/',
@ -224,13 +224,13 @@ suite('JSON - formatter', () => {
format(content, expected);
});
test('single line comment on same line', () => {
var content = [
const content = [
' { ',
' "a": {}// comment ',
' } '
].join('\n');
var expected = [
const expected = [
'{',
' "a": {} // comment ',
'}',
@ -239,12 +239,12 @@ suite('JSON - formatter', () => {
format(content, expected);
});
test('single line comment on same line 2', () => {
var content = [
const content = [
'{ //comment',
'}'
].join('\n');
var expected = [
const expected = [
'{ //comment',
'}'
].join('\n');
@ -252,13 +252,13 @@ suite('JSON - formatter', () => {
format(content, expected);
});
test('block comment on same line', () => {
var content = [
const content = [
'{ "a": {}, /*comment*/ ',
' /*comment*/ "b": {}, ',
' "c": {/*comment*/} } ',
].join('\n');
var expected = [
const expected = [
'{',
' "a": {}, /*comment*/',
' /*comment*/ "b": {},',
@ -270,14 +270,14 @@ suite('JSON - formatter', () => {
});
test('block comment on same line advanced', () => {
var content = [
const content = [
' { "d": [',
' null',
' ] /*comment*/',
' ,"e": /*comment*/ [null] }',
].join('\n');
var expected = [
const expected = [
'{',
' "d": [',
' null',
@ -292,12 +292,12 @@ suite('JSON - formatter', () => {
});
test('multiple block comments on same line', () => {
var content = [
const content = [
'{ "a": {} /*comment*/, /*comment*/ ',
' /*comment*/ "b": {} /*comment*/ } '
].join('\n');
var expected = [
const expected = [
'{',
' "a": {} /*comment*/, /*comment*/',
' /*comment*/ "b": {} /*comment*/',
@ -307,12 +307,12 @@ suite('JSON - formatter', () => {
format(content, expected);
});
test('multiple mixed comments on same line', () => {
var content = [
const content = [
'[ /*comment*/ /*comment*/ // comment ',
']'
].join('\n');
var expected = [
const expected = [
'[ /*comment*/ /*comment*/ // comment ',
']'
].join('\n');
@ -321,13 +321,13 @@ suite('JSON - formatter', () => {
});
test('range', () => {
var content = [
const content = [
'{ "a": {},',
'|"b": [null, null]|',
'} '
].join('\n');
var expected = [
const expected = [
'{ "a": {},',
'"b": [',
' null,',
@ -340,14 +340,14 @@ suite('JSON - formatter', () => {
});
test('range with existing indent', () => {
var content = [
const content = [
'{ "a": {},',
' |"b": [null],',
'"c": {}',
'}|'
].join('\n');
var expected = [
const expected = [
'{ "a": {},',
' "b": [',
' null',
@ -360,14 +360,14 @@ suite('JSON - formatter', () => {
});
test('range with existing indent - tabs', () => {
var content = [
const content = [
'{ "a": {},',
'| "b": [null], ',
'"c": {}',
'} | '
].join('\n');
var expected = [
const expected = [
'{ "a": {},',
'\t"b": [',
'\t\tnull',
@ -381,7 +381,7 @@ suite('JSON - formatter', () => {
test('block comment none-line breaking symbols', () => {
var content = [
const content = [
'{ "a": [ 1',
'/* comment */',
', 2',
@ -394,7 +394,7 @@ suite('JSON - formatter', () => {
'}'
].join('\n');
var expected = [
const expected = [
'{',
' "a": [',
' 1',
@ -413,7 +413,7 @@ suite('JSON - formatter', () => {
format(content, expected);
});
test('line comment after none-line breaking symbols', () => {
var content = [
const content = [
'{ "a":',
'// comment',
'null,',
@ -424,7 +424,7 @@ suite('JSON - formatter', () => {
'}'
].join('\n');
var expected = [
const expected = [
'{',
' "a":',
' // comment',

View file

@ -20,9 +20,9 @@ suite('Marshalling', () => {
});
test('URI', () => {
let value = URI.from({ scheme: 'file', authority: 'server', path: '/shares/c#files', query: 'q', fragment: 'f' });
let raw = stringify(value);
let clone = <URI>parse(raw);
const value = URI.from({ scheme: 'file', authority: 'server', path: '/shares/c#files', query: 'q', fragment: 'f' });
const raw = stringify(value);
const clone = <URI>parse(raw);
assert.equal(value.scheme, clone.scheme);
assert.equal(value.authority, clone.authority);
@ -32,7 +32,7 @@ suite('Marshalling', () => {
});
test('Bug 16793:# in folder name => mirror models get out of sync', () => {
var uri1 = URI.file('C:\\C#\\file.txt');
const uri1 = URI.file('C:\\C#\\file.txt');
assert.equal(parse(stringify(uri1)).toString(), uri1.toString());
});
});

View file

@ -73,15 +73,15 @@ suite('URI', () => {
assert.equal(URI.from({ scheme: 'http', authority: 'a-test-site.com', path: '/', query: '', fragment: 'test=true' }).toString(true), 'http://a-test-site.com/#test=true');
assert.equal(URI.from({ scheme: 'http', path: '/api/files/test.me', query: 't=1234' }).toString(true), 'http:/api/files/test.me?t=1234');
var value = URI.parse('file://shares/pröjects/c%23/#l12');
const value = URI.parse('file://shares/pröjects/c%23/#l12');
assert.equal(value.authority, 'shares');
assert.equal(value.path, '/pröjects/c#/');
assert.equal(value.fragment, 'l12');
assert.equal(value.toString(), 'file://shares/pr%C3%B6jects/c%23/#l12');
assert.equal(value.toString(true), 'file://shares/pröjects/c%23/#l12');
var uri2 = URI.parse(value.toString(true));
var uri3 = URI.parse(value.toString());
const uri2 = URI.parse(value.toString(true));
const uri3 = URI.parse(value.toString());
assert.equal(uri2.authority, uri3.authority);
assert.equal(uri2.path, uri3.path);
assert.equal(uri2.query, uri3.query);
@ -130,7 +130,7 @@ suite('URI', () => {
});
test('parse', () => {
var value = URI.parse('http:/api/files/test.me?t=1234');
let value = URI.parse('http:/api/files/test.me?t=1234');
assert.equal(value.scheme, 'http');
assert.equal(value.authority, '');
assert.equal(value.path, '/api/files/test.me');
@ -238,7 +238,7 @@ suite('URI', () => {
test('URI#file, win-speciale', () => {
if (isWindows) {
var value = URI.file('c:\\test\\drive');
let value = URI.file('c:\\test\\drive');
assert.equal(value.path, '/c:/test/drive');
assert.equal(value.toString(), 'file:///c%3A/test/drive');
@ -298,7 +298,7 @@ suite('URI', () => {
test('URI#file, always slash', () => {
var value = URI.file('a.file');
let value = URI.file('a.file');
assert.equal(value.scheme, 'file');
assert.equal(value.authority, '');
assert.equal(value.path, '/a.file');
@ -312,12 +312,12 @@ suite('URI', () => {
});
test('URI.toString, only scheme and query', () => {
var value = URI.parse('stuff:?qüery');
const value = URI.parse('stuff:?qüery');
assert.equal(value.toString(), 'stuff:?q%C3%BCery');
});
test('URI#toString, upper-case percent espaces', () => {
var value = URI.parse('file://sh%c3%a4res/path');
const value = URI.parse('file://sh%c3%a4res/path');
assert.equal(value.toString(), 'file://sh%C3%A4res/path');
});
@ -328,12 +328,12 @@ suite('URI', () => {
test('URI#toString, escape all the bits', () => {
var value = URI.file('/Users/jrieken/Code/_samples/18500/Mödel + Other Thîngß/model.js');
const value = URI.file('/Users/jrieken/Code/_samples/18500/Mödel + Other Thîngß/model.js');
assert.equal(value.toString(), 'file:///Users/jrieken/Code/_samples/18500/M%C3%B6del%20%2B%20Other%20Th%C3%AEng%C3%9F/model.js');
});
test('URI#toString, don\'t encode port', () => {
var value = URI.parse('http://localhost:8080/far');
let value = URI.parse('http://localhost:8080/far');
assert.equal(value.toString(), 'http://localhost:8080/far');
value = URI.from({ scheme: 'http', authority: 'löcalhost:8080', path: '/far', query: undefined, fragment: undefined });
@ -341,7 +341,7 @@ suite('URI', () => {
});
test('URI#toString, user information in authority', () => {
var value = URI.parse('http://foo:bar@localhost/far');
let value = URI.parse('http://foo:bar@localhost/far');
assert.equal(value.toString(), 'http://foo:bar@localhost/far');
value = URI.parse('http://foo@localhost/far');
@ -359,11 +359,11 @@ suite('URI', () => {
test('correctFileUriToFilePath2', () => {
var test = (input: string, expected: string) => {
const test = (input: string, expected: string) => {
expected = normalize(expected, true);
var value = URI.parse(input);
const value = URI.parse(input);
assert.equal(value.fsPath, expected, 'Result for ' + input);
var value2 = URI.file(value.fsPath);
const value2 = URI.file(value.fsPath);
assert.equal(value2.fsPath, expected, 'Result for ' + input);
assert.equal(value.toString(), value2.toString());
};
@ -431,7 +431,7 @@ suite('URI', () => {
test('URI - (de)serialize', function () {
var values = [
const values = [
URI.parse('http://localhost:8080/far'),
URI.file('c:\\test with %25\\c#code'),
URI.file('\\\\shäres\\path\\c#\\plugin.json'),

View file

@ -7,16 +7,16 @@ import * as uuid from 'vs/base/common/uuid';
suite('UUID', () => {
test('generation', () => {
var asHex = uuid.v4().asHex();
const asHex = uuid.v4().asHex();
assert.equal(asHex.length, 36);
assert.equal(asHex[14], '4');
assert.ok(asHex[19] === '8' || asHex[19] === '9' || asHex[19] === 'a' || asHex[19] === 'b');
});
test('parse', () => {
var id = uuid.v4();
var asHext = id.asHex();
var id2 = uuid.parse(asHext);
const id = uuid.v4();
const asHext = id.asHex();
const id2 = uuid.parse(asHext);
assert.equal(id.asHex(), id2.asHex());
});
});

View file

@ -8,7 +8,7 @@ import { createMonacoBaseAPI } from 'vs/editor/common/standalone/standaloneBase'
import { createMonacoEditorAPI } from 'vs/editor/standalone/browser/standaloneEditor';
import { createMonacoLanguagesAPI } from 'vs/editor/standalone/browser/standaloneLanguages';
var global: any = self;
const global: any = self;
// Set defaults for standalone editor
(<any>EDITOR_DEFAULTS).wrappingIndent = WrappingIndent.None;

View file

@ -6,7 +6,7 @@ import * as assert from 'assert';
import { Graph } from 'vs/platform/instantiation/common/graph';
suite('Graph', () => {
var graph: Graph<string>;
let graph: Graph<string>;
setup(() => {
graph = new Graph<string>(s => s);
@ -34,7 +34,7 @@ suite('Graph', () => {
test('root', () => {
graph.insertEdge('1', '2');
var roots = graph.roots();
let roots = graph.roots();
assert.equal(roots.length, 1);
assert.equal(roots[0].data, '2');
@ -48,7 +48,7 @@ suite('Graph', () => {
graph.insertEdge('1', '3');
graph.insertEdge('3', '4');
var roots = graph.roots();
let roots = graph.roots();
assert.equal(roots.length, 2);
assert(['2', '4'].every(n => roots.some(node => node.data === n)));
});

View file

@ -73,9 +73,9 @@ class TestableLogService extends AbstractLogService implements ILogService {
}
suite('AIAdapter', () => {
var appInsightsMock: AppInsightsMock;
var adapter: AppInsightsAppender;
var prefix = 'prefix';
let appInsightsMock: AppInsightsMock;
let adapter: AppInsightsAppender;
let prefix = 'prefix';
setup(() => {
@ -107,33 +107,33 @@ suite('AIAdapter', () => {
});
test('property limits', () => {
var reallyLongPropertyName = 'abcdefghijklmnopqrstuvwxyz';
let reallyLongPropertyName = 'abcdefghijklmnopqrstuvwxyz';
for (let i = 0; i < 6; i++) {
reallyLongPropertyName += 'abcdefghijklmnopqrstuvwxyz';
}
assert(reallyLongPropertyName.length > 150);
var reallyLongPropertyValue = 'abcdefghijklmnopqrstuvwxyz012345678901234567890123';
let reallyLongPropertyValue = 'abcdefghijklmnopqrstuvwxyz012345678901234567890123';
for (let i = 0; i < 21; i++) {
reallyLongPropertyValue += 'abcdefghijklmnopqrstuvwxyz012345678901234567890123';
}
assert(reallyLongPropertyValue.length > 1024);
var data = Object.create(null);
let data = Object.create(null);
data[reallyLongPropertyName] = '1234';
data['reallyLongPropertyValue'] = reallyLongPropertyValue;
adapter.log('testEvent', data);
assert.equal(appInsightsMock.events.length, 1);
for (var prop in appInsightsMock.events[0].properties!) {
for (let prop in appInsightsMock.events[0].properties!) {
assert(prop.length < 150);
assert(appInsightsMock.events[0].properties![prop].length < 1024);
}
});
test('Different data types', () => {
var date = new Date();
let date = new Date();
adapter.log('testEvent', { favoriteDate: date, likeRed: false, likeBlue: true, favoriteNumber: 1, favoriteColor: 'blue', favoriteCars: ['bmw', 'audi', 'ford'] });
assert.equal(appInsightsMock.events.length, 1);

View file

@ -189,7 +189,7 @@ export class ReviewZoneWidget extends ZoneWidget {
}
protected _fillHead(container: HTMLElement): void {
var titleElement = dom.append(this._headElement, dom.$('.review-title'));
let titleElement = dom.append(this._headElement, dom.$('.review-title'));
this._headingLabel = dom.append(titleElement, dom.$('span.filename'));
this.createThreadLabel();
@ -286,7 +286,7 @@ export class ReviewZoneWidget extends ZoneWidget {
this._localToDispose.push(this.editor.onMouseDown(e => this.onEditorMouseDown(e)));
this._localToDispose.push(this.editor.onMouseUp(e => this.onEditorMouseUp(e)));
var headHeight = Math.ceil(this.editor.getConfiguration().lineHeight * 1.2);
let headHeight = Math.ceil(this.editor.getConfiguration().lineHeight * 1.2);
this._headElement.style.height = `${headHeight}px`;
this._headElement.style.lineHeight = this._headElement.style.height;

View file

@ -656,7 +656,7 @@ KeybindingsRegistry.registerCommandAndKeybindingRule({
});
export function getOuterEditor(accessor: ServicesAccessor): ICodeEditor {
let editor = accessor.get(ICodeEditorService).getFocusedCodeEditor();
const editor = accessor.get(ICodeEditorService).getFocusedCodeEditor();
if (editor instanceof EmbeddedCodeEditorWidget) {
return editor.getParentEditor();
}
@ -664,13 +664,12 @@ export function getOuterEditor(accessor: ServicesAccessor): ICodeEditor {
}
function closeReviewPanel(accessor: ServicesAccessor, args: any) {
var outerEditor = getOuterEditor(accessor);
const outerEditor = getOuterEditor(accessor);
if (!outerEditor) {
return;
}
let controller = ReviewController.get(outerEditor);
const controller = ReviewController.get(outerEditor);
if (!controller) {
return;
}

View file

@ -10,12 +10,9 @@
"no-eval": true,
"no-sparse-arrays": true,
"no-string-throw": true,
"no-unbound-method": [
true,
"ignore-static"
],
"no-unsafe-finally": true,
"no-unused-expression": true,
"no-var-keyword": true,
"curly": true,
"class-name": true,
"label-position": true,