Change:
What is the reasoning behind not allowing via the Monaco standalone editor checks? It seems to be valid ES6 when I look at where it is defined:
idk - requires at least edge 14, unsure what our edge minimum version is:
Looking at the compat tables, I think it should be safe to use it. I guess it must have been a left-over from the IE era. I don't remember adding any rule like this, so I don't know where to begin looking to remove it. Leaving it to you .
I opened to do this and it has the advantage that we can get rid of another file in our folder () which actually even seems to have the wrong signature compared to TS. According to , Edge 13 has very low usages and Edge 14 is out since 2016: !
Unsure how and are connected. Or is this two clean-ups in one? I have the latter because for the longest time there was a TS bug which would remove type info from arrays after checking E.g If that's now fixed, I am very happy with removing
ah good to know, I just checked both in our code and the playground and I see that this no longer seems to be the case: ! I will go ahead and merge my PR then.
it

Discussion:
}, "lib": [ "ES2015", <ins> "ES2016.Array.Include", </ins> "ES2017.String", "ES2018.Promise", "DOM",

"include": [ "typings/require.d.ts", "typings/thenable.d.ts", <del> "typings/lib.array-ext.d.ts", </del> "vs/css.d.ts", "vs/monaco.d.ts", "vs/nls.d.ts",

<del> /*--------------------------------------------------------------------------------------------- *  Copyright (c) Microsoft Corporation. All rights reserved. *  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ interface ArrayConstructor { isArray<T>(arg: ReadonlyArray<T> | null | undefined): arg is ReadonlyArray<T>; isArray<T>(arg: Array<T> | null | undefined): arg is Array<T>; isArray(arg: any): arg is Array<any>; isArray<T>(arg: any): arg is Array<T>; } </del>  No newline at end of file

provideColors(resource: URI, token: CancellationToken): Promise<extHostProtocol.IRawColorInfo[]> { const doc = this._documents.getDocument(resource); return asPromise(() => this._provider.provideDocumentColors(doc, token)).then(colors => { <del> if (!Array.isArray<vscode.ColorInformation>(colors)) { </del> <ins> if (!Array.isArray(colors)) { </ins> return []; }

} if (isPrimaryGroup(group)) { <del> const to = Array.isArray<IAction>(target) ? target : target.primary; </del> <ins> const to = Array.isArray(target) ? target : target.primary; </ins> to.unshift(...actions); } else { <del> const to = Array.isArray<IAction>(target) ? target : target.secondary; </del> <ins> const to = Array.isArray(target) ? target : target.secondary; </ins> if (to.length > 0) { to.push(new Separator());

private getCachedRecommendations(): IStringDictionary<number> { let storedRecommendations = JSON.parse(this.storageService.get(recommendationsStorageKey, StorageScope.GLOBAL, '[]')); <del> if (Array.isArray<string>(storedRecommendations)) { </del> <ins> if (Array.isArray(storedRecommendations)) { </ins> storedRecommendations = storedRecommendations.reduce((result, id) => { result[id] = Date.now(); return result; }, <IStringDictionary<number>>{}); } const result: IStringDictionary<number> = {};

const isPrimary = isPrimaryGroup(group); if (isPrimary) { <del> const to = Array.isArray<IAction>(target) ? target : target.primary; </del> <ins> const to = Array.isArray(target) ? target : target.primary; </ins> if (to.length > 0) { to.push(new VerticalSeparator());

} if (!isPrimary || alwaysFillSecondary) { <del> const to = Array.isArray<IAction>(target) ? target : target.secondary; </del> <ins> const to = Array.isArray(target) ? target : target.secondary; </ins> if (to.length > 0) { to.push(new Separator());