Skip to content

Commit ba963c3

Browse files
committed
Merge branch 'release-1.4' into parsePrimaryExpression
2 parents eaf1c5a + 60f3b9b commit ba963c3

File tree

30 files changed

+34841
-6238
lines changed

30 files changed

+34841
-6238
lines changed

bin/lib.core.d.ts

Lines changed: 64 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -124,10 +124,7 @@ interface Object {
124124
propertyIsEnumerable(v: string): boolean;
125125
}
126126

127-
/**
128-
* Provides functionality common to all JavaScript objects.
129-
*/
130-
declare var Object: {
127+
interface ObjectConstructor {
131128
new (value?: any): Object;
132129
(): any;
133130
(value: any): any;
@@ -221,6 +218,11 @@ declare var Object: {
221218
keys(o: any): string[];
222219
}
223220

221+
/**
222+
* Provides functionality common to all JavaScript objects.
223+
*/
224+
declare var Object: ObjectConstructor;
225+
224226
/**
225227
* Creates a new function.
226228
*/
@@ -255,8 +257,8 @@ interface Function {
255257
caller: Function;
256258
}
257259

258-
declare var Function: {
259-
/**
260+
interface FunctionConstructor {
261+
/**
260262
* Creates a new function.
261263
* @param args A list of arguments the function accepts.
262264
*/
@@ -265,6 +267,8 @@ declare var Function: {
265267
prototype: Function;
266268
}
267269

270+
declare var Function: FunctionConstructor;
271+
268272
interface IArguments {
269273
[index: number]: any;
270274
length: number;
@@ -424,24 +428,29 @@ interface String {
424428
[index: number]: string;
425429
}
426430

427-
/**
428-
* Allows manipulation and formatting of text strings and determination and location of substrings within strings.
429-
*/
430-
declare var String: {
431+
interface StringConstructor {
431432
new (value?: any): String;
432433
(value?: any): string;
433434
prototype: String;
434435
fromCharCode(...codes: number[]): string;
435436
}
436437

438+
/**
439+
* Allows manipulation and formatting of text strings and determination and location of substrings within strings.
440+
*/
441+
declare var String: StringConstructor;
442+
437443
interface Boolean {
438444
}
439-
declare var Boolean: {
445+
446+
interface BooleanConstructor {
440447
new (value?: any): Boolean;
441448
(value?: any): boolean;
442449
prototype: Boolean;
443450
}
444451

452+
declare var Boolean: BooleanConstructor;
453+
445454
interface Number {
446455
/**
447456
* Returns a string representation of an object.
@@ -468,8 +477,7 @@ interface Number {
468477
toPrecision(precision?: number): string;
469478
}
470479

471-
/** An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers. */
472-
declare var Number: {
480+
interface NumberConstructor {
473481
new (value?: any): Number;
474482
(value?: any): number;
475483
prototype: Number;
@@ -499,6 +507,9 @@ declare var Number: {
499507
POSITIVE_INFINITY: number;
500508
}
501509

510+
/** An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers. */
511+
declare var Number: NumberConstructor;
512+
502513
interface TemplateStringsArray extends Array<string> {
503514
raw: string[];
504515
}
@@ -768,7 +779,7 @@ interface Date {
768779
toJSON(key?: any): string;
769780
}
770781

771-
declare var Date: {
782+
interface DateConstructor {
772783
new (): Date;
773784
new (value: number): Date;
774785
new (value: string): Date;
@@ -794,6 +805,8 @@ declare var Date: {
794805
now(): number;
795806
}
796807

808+
declare var Date: DateConstructor;
809+
797810
interface RegExpMatchArray extends Array<string> {
798811
index?: number;
799812
input?: string;
@@ -834,9 +847,11 @@ interface RegExp {
834847
// Non-standard extensions
835848
compile(): RegExp;
836849
}
837-
declare var RegExp: {
850+
851+
interface RegExpConstructor {
838852
new (pattern: string, flags?: string): RegExp;
839853
(pattern: string, flags?: string): RegExp;
854+
prototype: RegExp;
840855

841856
// Non-standard extensions
842857
$1: string;
@@ -851,64 +866,87 @@ declare var RegExp: {
851866
lastMatch: string;
852867
}
853868

869+
declare var RegExp: RegExpConstructor;
870+
854871
interface Error {
855872
name: string;
856873
message: string;
857874
}
858-
declare var Error: {
875+
876+
interface ErrorConstructor {
859877
new (message?: string): Error;
860878
(message?: string): Error;
861879
prototype: Error;
862880
}
863881

882+
declare var Error: ErrorConstructor;
883+
864884
interface EvalError extends Error {
865885
}
866-
declare var EvalError: {
886+
887+
interface EvalErrorConstructor {
867888
new (message?: string): EvalError;
868889
(message?: string): EvalError;
869890
prototype: EvalError;
870891
}
871892

893+
declare var EvalError: EvalErrorConstructor;
894+
872895
interface RangeError extends Error {
873896
}
874-
declare var RangeError: {
897+
898+
interface RangeErrorConstructor {
875899
new (message?: string): RangeError;
876900
(message?: string): RangeError;
877901
prototype: RangeError;
878902
}
879903

904+
declare var RangeError: RangeErrorConstructor;
905+
880906
interface ReferenceError extends Error {
881907
}
882-
declare var ReferenceError: {
908+
909+
interface ReferenceErrorConstructor {
883910
new (message?: string): ReferenceError;
884911
(message?: string): ReferenceError;
885912
prototype: ReferenceError;
886913
}
887914

915+
declare var ReferenceError: ReferenceErrorConstructor;
916+
888917
interface SyntaxError extends Error {
889918
}
890-
declare var SyntaxError: {
919+
920+
interface SyntaxErrorConstructor {
891921
new (message?: string): SyntaxError;
892922
(message?: string): SyntaxError;
893923
prototype: SyntaxError;
894924
}
895925

926+
declare var SyntaxError: SyntaxErrorConstructor;
927+
896928
interface TypeError extends Error {
897929
}
898-
declare var TypeError: {
930+
931+
interface TypeErrorConstructor {
899932
new (message?: string): TypeError;
900933
(message?: string): TypeError;
901934
prototype: TypeError;
902935
}
903936

937+
declare var TypeError: TypeErrorConstructor;
938+
904939
interface URIError extends Error {
905940
}
906-
declare var URIError: {
941+
942+
interface URIErrorConstructor {
907943
new (message?: string): URIError;
908944
(message?: string): URIError;
909945
prototype: URIError;
910946
}
911947

948+
declare var URIError: URIErrorConstructor;
949+
912950
interface JSON {
913951
/**
914952
* Converts a JavaScript Object Notation (JSON) string into an object.
@@ -1111,7 +1149,8 @@ interface Array<T> {
11111149

11121150
[n: number]: T;
11131151
}
1114-
declare var Array: {
1152+
1153+
interface ArrayConstructor {
11151154
new (arrayLength?: number): any[];
11161155
new <T>(arrayLength: number): T[];
11171156
new <T>(...items: T[]): T[];
@@ -1121,3 +1160,5 @@ declare var Array: {
11211160
isArray(arg: any): boolean;
11221161
prototype: Array<any>;
11231162
}
1163+
1164+
declare var Array: ArrayConstructor;

0 commit comments

Comments
 (0)