es6-shim.d.ts 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670
  1. // Generated by typings
  2. // Source: https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/7de6c3dd94feaeb21f20054b9f30d5dabc5efabd/es6-shim/es6-shim.d.ts
  3. // Type definitions for es6-shim v0.31.2
  4. // Project: https://github.com/paulmillr/es6-shim
  5. // Definitions by: Ron Buckton <http://github.com/rbuckton>
  6. // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
  7. declare type PropertyKey = string | number | symbol;
  8. interface IteratorResult<T> {
  9. done: boolean;
  10. value?: T;
  11. }
  12. interface IterableShim<T> {
  13. /**
  14. * Shim for an ES6 iterable. Not intended for direct use by user code.
  15. */
  16. "_es6-shim iterator_"(): Iterator<T>;
  17. }
  18. interface Iterator<T> {
  19. next(value?: any): IteratorResult<T>;
  20. return?(value?: any): IteratorResult<T>;
  21. throw?(e?: any): IteratorResult<T>;
  22. }
  23. interface IterableIteratorShim<T> extends IterableShim<T>, Iterator<T> {
  24. /**
  25. * Shim for an ES6 iterable iterator. Not intended for direct use by user code.
  26. */
  27. "_es6-shim iterator_"(): IterableIteratorShim<T>;
  28. }
  29. interface StringConstructor {
  30. /**
  31. * Return the String value whose elements are, in order, the elements in the List elements.
  32. * If length is 0, the empty string is returned.
  33. */
  34. fromCodePoint(...codePoints: number[]): string;
  35. /**
  36. * String.raw is intended for use as a tag function of a Tagged Template String. When called
  37. * as such the first argument will be a well formed template call site object and the rest
  38. * parameter will contain the substitution values.
  39. * @param template A well-formed template string call site representation.
  40. * @param substitutions A set of substitution values.
  41. */
  42. raw(template: TemplateStringsArray, ...substitutions: any[]): string;
  43. }
  44. interface String {
  45. /**
  46. * Returns a nonnegative integer Number less than 1114112 (0x110000) that is the code point
  47. * value of the UTF-16 encoded code point starting at the string element at position pos in
  48. * the String resulting from converting this object to a String.
  49. * If there is no element at that position, the result is undefined.
  50. * If a valid UTF-16 surrogate pair does not begin at pos, the result is the code unit at pos.
  51. */
  52. codePointAt(pos: number): number;
  53. /**
  54. * Returns true if searchString appears as a substring of the result of converting this
  55. * object to a String, at one or more positions that are
  56. * greater than or equal to position; otherwise, returns false.
  57. * @param searchString search string
  58. * @param position If position is undefined, 0 is assumed, so as to search all of the String.
  59. */
  60. includes(searchString: string, position?: number): boolean;
  61. /**
  62. * Returns true if the sequence of elements of searchString converted to a String is the
  63. * same as the corresponding elements of this object (converted to a String) starting at
  64. * endPosition – length(this). Otherwise returns false.
  65. */
  66. endsWith(searchString: string, endPosition?: number): boolean;
  67. /**
  68. * Returns a String value that is made from count copies appended together. If count is 0,
  69. * T is the empty String is returned.
  70. * @param count number of copies to append
  71. */
  72. repeat(count: number): string;
  73. /**
  74. * Returns true if the sequence of elements of searchString converted to a String is the
  75. * same as the corresponding elements of this object (converted to a String) starting at
  76. * position. Otherwise returns false.
  77. */
  78. startsWith(searchString: string, position?: number): boolean;
  79. /**
  80. * Returns an <a> HTML anchor element and sets the name attribute to the text value
  81. * @param name
  82. */
  83. anchor(name: string): string;
  84. /** Returns a <big> HTML element */
  85. big(): string;
  86. /** Returns a <blink> HTML element */
  87. blink(): string;
  88. /** Returns a <b> HTML element */
  89. bold(): string;
  90. /** Returns a <tt> HTML element */
  91. fixed(): string
  92. /** Returns a <font> HTML element and sets the color attribute value */
  93. fontcolor(color: string): string
  94. /** Returns a <font> HTML element and sets the size attribute value */
  95. fontsize(size: number): string;
  96. /** Returns a <font> HTML element and sets the size attribute value */
  97. fontsize(size: string): string;
  98. /** Returns an <i> HTML element */
  99. italics(): string;
  100. /** Returns an <a> HTML element and sets the href attribute value */
  101. link(url: string): string;
  102. /** Returns a <small> HTML element */
  103. small(): string;
  104. /** Returns a <strike> HTML element */
  105. strike(): string;
  106. /** Returns a <sub> HTML element */
  107. sub(): string;
  108. /** Returns a <sup> HTML element */
  109. sup(): string;
  110. /**
  111. * Shim for an ES6 iterable. Not intended for direct use by user code.
  112. */
  113. "_es6-shim iterator_"(): IterableIteratorShim<string>;
  114. }
  115. interface ArrayConstructor {
  116. /**
  117. * Creates an array from an array-like object.
  118. * @param arrayLike An array-like object to convert to an array.
  119. * @param mapfn A mapping function to call on every element of the array.
  120. * @param thisArg Value of 'this' used to invoke the mapfn.
  121. */
  122. from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): Array<U>;
  123. /**
  124. * Creates an array from an iterable object.
  125. * @param iterable An iterable object to convert to an array.
  126. * @param mapfn A mapping function to call on every element of the array.
  127. * @param thisArg Value of 'this' used to invoke the mapfn.
  128. */
  129. from<T, U>(iterable: IterableShim<T>, mapfn: (v: T, k: number) => U, thisArg?: any): Array<U>;
  130. /**
  131. * Creates an array from an array-like object.
  132. * @param arrayLike An array-like object to convert to an array.
  133. */
  134. from<T>(arrayLike: ArrayLike<T>): Array<T>;
  135. /**
  136. * Creates an array from an iterable object.
  137. * @param iterable An iterable object to convert to an array.
  138. */
  139. from<T>(iterable: IterableShim<T>): Array<T>;
  140. /**
  141. * Returns a new array from a set of elements.
  142. * @param items A set of elements to include in the new array object.
  143. */
  144. of<T>(...items: T[]): Array<T>;
  145. }
  146. interface Array<T> {
  147. /**
  148. * Returns the value of the first element in the array where predicate is true, and undefined
  149. * otherwise.
  150. * @param predicate find calls predicate once for each element of the array, in ascending
  151. * order, until it finds one where predicate returns true. If such an element is found, find
  152. * immediately returns that element value. Otherwise, find returns undefined.
  153. * @param thisArg If provided, it will be used as the this value for each invocation of
  154. * predicate. If it is not provided, undefined is used instead.
  155. */
  156. find(predicate: (value: T, index: number, obj: Array<T>) => boolean, thisArg?: any): T;
  157. /**
  158. * Returns the index of the first element in the array where predicate is true, and undefined
  159. * otherwise.
  160. * @param predicate find calls predicate once for each element of the array, in ascending
  161. * order, until it finds one where predicate returns true. If such an element is found, find
  162. * immediately returns that element value. Otherwise, find returns undefined.
  163. * @param thisArg If provided, it will be used as the this value for each invocation of
  164. * predicate. If it is not provided, undefined is used instead.
  165. */
  166. findIndex(predicate: (value: T) => boolean, thisArg?: any): number;
  167. /**
  168. * Returns the this object after filling the section identified by start and end with value
  169. * @param value value to fill array section with
  170. * @param start index to start filling the array at. If start is negative, it is treated as
  171. * length+start where length is the length of the array.
  172. * @param end index to stop filling the array at. If end is negative, it is treated as
  173. * length+end.
  174. */
  175. fill(value: T, start?: number, end?: number): T[];
  176. /**
  177. * Returns the this object after copying a section of the array identified by start and end
  178. * to the same array starting at position target
  179. * @param target If target is negative, it is treated as length+target where length is the
  180. * length of the array.
  181. * @param start If start is negative, it is treated as length+start. If end is negative, it
  182. * is treated as length+end.
  183. * @param end If not specified, length of the this object is used as its default value.
  184. */
  185. copyWithin(target: number, start: number, end?: number): T[];
  186. /**
  187. * Returns an array of key, value pairs for every entry in the array
  188. */
  189. entries(): IterableIteratorShim<[number, T]>;
  190. /**
  191. * Returns an list of keys in the array
  192. */
  193. keys(): IterableIteratorShim<number>;
  194. /**
  195. * Returns an list of values in the array
  196. */
  197. values(): IterableIteratorShim<T>;
  198. /**
  199. * Shim for an ES6 iterable. Not intended for direct use by user code.
  200. */
  201. "_es6-shim iterator_"(): IterableIteratorShim<T>;
  202. }
  203. interface NumberConstructor {
  204. /**
  205. * The value of Number.EPSILON is the difference between 1 and the smallest value greater than 1
  206. * that is representable as a Number value, which is approximately:
  207. * 2.2204460492503130808472633361816 x 10‍−‍16.
  208. */
  209. EPSILON: number;
  210. /**
  211. * Returns true if passed value is finite.
  212. * Unlike the global isFininte, Number.isFinite doesn't forcibly convert the parameter to a
  213. * number. Only finite values of the type number, result in true.
  214. * @param number A numeric value.
  215. */
  216. isFinite(number: number): boolean;
  217. /**
  218. * Returns true if the value passed is an integer, false otherwise.
  219. * @param number A numeric value.
  220. */
  221. isInteger(number: number): boolean;
  222. /**
  223. * Returns a Boolean value that indicates whether a value is the reserved value NaN (not a
  224. * number). Unlike the global isNaN(), Number.isNaN() doesn't forcefully convert the parameter
  225. * to a number. Only values of the type number, that are also NaN, result in true.
  226. * @param number A numeric value.
  227. */
  228. isNaN(number: number): boolean;
  229. /**
  230. * Returns true if the value passed is a safe integer.
  231. * @param number A numeric value.
  232. */
  233. isSafeInteger(number: number): boolean;
  234. /**
  235. * The value of the largest integer n such that n and n + 1 are both exactly representable as
  236. * a Number value.
  237. * The value of Number.MIN_SAFE_INTEGER is 9007199254740991 2^53 − 1.
  238. */
  239. MAX_SAFE_INTEGER: number;
  240. /**
  241. * The value of the smallest integer n such that n and n − 1 are both exactly representable as
  242. * a Number value.
  243. * The value of Number.MIN_SAFE_INTEGER is −9007199254740991 (−(2^53 − 1)).
  244. */
  245. MIN_SAFE_INTEGER: number;
  246. /**
  247. * Converts a string to a floating-point number.
  248. * @param string A string that contains a floating-point number.
  249. */
  250. parseFloat(string: string): number;
  251. /**
  252. * Converts A string to an integer.
  253. * @param s A string to convert into a number.
  254. * @param radix A value between 2 and 36 that specifies the base of the number in numString.
  255. * If this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal.
  256. * All other strings are considered decimal.
  257. */
  258. parseInt(string: string, radix?: number): number;
  259. }
  260. interface ObjectConstructor {
  261. /**
  262. * Copy the values of all of the enumerable own properties from one or more source objects to a
  263. * target object. Returns the target object.
  264. * @param target The target object to copy to.
  265. * @param sources One or more source objects to copy properties from.
  266. */
  267. assign(target: any, ...sources: any[]): any;
  268. /**
  269. * Returns true if the values are the same value, false otherwise.
  270. * @param value1 The first value.
  271. * @param value2 The second value.
  272. */
  273. is(value1: any, value2: any): boolean;
  274. /**
  275. * Sets the prototype of a specified object o to object proto or null. Returns the object o.
  276. * @param o The object to change its prototype.
  277. * @param proto The value of the new prototype or null.
  278. * @remarks Requires `__proto__` support.
  279. */
  280. setPrototypeOf(o: any, proto: any): any;
  281. }
  282. interface RegExp {
  283. /**
  284. * Returns a string indicating the flags of the regular expression in question. This field is read-only.
  285. * The characters in this string are sequenced and concatenated in the following order:
  286. *
  287. * - "g" for global
  288. * - "i" for ignoreCase
  289. * - "m" for multiline
  290. * - "u" for unicode
  291. * - "y" for sticky
  292. *
  293. * If no flags are set, the value is the empty string.
  294. */
  295. flags: string;
  296. }
  297. interface Math {
  298. /**
  299. * Returns the number of leading zero bits in the 32-bit binary representation of a number.
  300. * @param x A numeric expression.
  301. */
  302. clz32(x: number): number;
  303. /**
  304. * Returns the result of 32-bit multiplication of two numbers.
  305. * @param x First number
  306. * @param y Second number
  307. */
  308. imul(x: number, y: number): number;
  309. /**
  310. * Returns the sign of the x, indicating whether x is positive, negative or zero.
  311. * @param x The numeric expression to test
  312. */
  313. sign(x: number): number;
  314. /**
  315. * Returns the base 10 logarithm of a number.
  316. * @param x A numeric expression.
  317. */
  318. log10(x: number): number;
  319. /**
  320. * Returns the base 2 logarithm of a number.
  321. * @param x A numeric expression.
  322. */
  323. log2(x: number): number;
  324. /**
  325. * Returns the natural logarithm of 1 + x.
  326. * @param x A numeric expression.
  327. */
  328. log1p(x: number): number;
  329. /**
  330. * Returns the result of (e^x - 1) of x (e raised to the power of x, where e is the base of
  331. * the natural logarithms).
  332. * @param x A numeric expression.
  333. */
  334. expm1(x: number): number;
  335. /**
  336. * Returns the hyperbolic cosine of a number.
  337. * @param x A numeric expression that contains an angle measured in radians.
  338. */
  339. cosh(x: number): number;
  340. /**
  341. * Returns the hyperbolic sine of a number.
  342. * @param x A numeric expression that contains an angle measured in radians.
  343. */
  344. sinh(x: number): number;
  345. /**
  346. * Returns the hyperbolic tangent of a number.
  347. * @param x A numeric expression that contains an angle measured in radians.
  348. */
  349. tanh(x: number): number;
  350. /**
  351. * Returns the inverse hyperbolic cosine of a number.
  352. * @param x A numeric expression that contains an angle measured in radians.
  353. */
  354. acosh(x: number): number;
  355. /**
  356. * Returns the inverse hyperbolic sine of a number.
  357. * @param x A numeric expression that contains an angle measured in radians.
  358. */
  359. asinh(x: number): number;
  360. /**
  361. * Returns the inverse hyperbolic tangent of a number.
  362. * @param x A numeric expression that contains an angle measured in radians.
  363. */
  364. atanh(x: number): number;
  365. /**
  366. * Returns the square root of the sum of squares of its arguments.
  367. * @param values Values to compute the square root for.
  368. * If no arguments are passed, the result is +0.
  369. * If there is only one argument, the result is the absolute value.
  370. * If any argument is +Infinity or -Infinity, the result is +Infinity.
  371. * If any argument is NaN, the result is NaN.
  372. * If all arguments are either +0 or −0, the result is +0.
  373. */
  374. hypot(...values: number[]): number;
  375. /**
  376. * Returns the integral part of the a numeric expression, x, removing any fractional digits.
  377. * If x is already an integer, the result is x.
  378. * @param x A numeric expression.
  379. */
  380. trunc(x: number): number;
  381. /**
  382. * Returns the nearest single precision float representation of a number.
  383. * @param x A numeric expression.
  384. */
  385. fround(x: number): number;
  386. /**
  387. * Returns an implementation-dependent approximation to the cube root of number.
  388. * @param x A numeric expression.
  389. */
  390. cbrt(x: number): number;
  391. }
  392. interface PromiseLike<T> {
  393. /**
  394. * Attaches callbacks for the resolution and/or rejection of the Promise.
  395. * @param onfulfilled The callback to execute when the Promise is resolved.
  396. * @param onrejected The callback to execute when the Promise is rejected.
  397. * @returns A Promise for the completion of which ever callback is executed.
  398. */
  399. then<TResult>(onfulfilled?: (value: T) => TResult | PromiseLike<TResult>, onrejected?: (reason: any) => TResult | PromiseLike<TResult>): PromiseLike<TResult>;
  400. then<TResult>(onfulfilled?: (value: T) => TResult | PromiseLike<TResult>, onrejected?: (reason: any) => void): PromiseLike<TResult>;
  401. }
  402. /**
  403. * Represents the completion of an asynchronous operation
  404. */
  405. interface Promise<T> {
  406. /**
  407. * Attaches callbacks for the resolution and/or rejection of the Promise.
  408. * @param onfulfilled The callback to execute when the Promise is resolved.
  409. * @param onrejected The callback to execute when the Promise is rejected.
  410. * @returns A Promise for the completion of which ever callback is executed.
  411. */
  412. then<TResult>(onfulfilled?: (value: T) => TResult | PromiseLike<TResult>, onrejected?: (reason: any) => TResult | PromiseLike<TResult>): Promise<TResult>;
  413. then<TResult>(onfulfilled?: (value: T) => TResult | PromiseLike<TResult>, onrejected?: (reason: any) => void): Promise<TResult>;
  414. /**
  415. * Attaches a callback for only the rejection of the Promise.
  416. * @param onrejected The callback to execute when the Promise is rejected.
  417. * @returns A Promise for the completion of the callback.
  418. */
  419. catch(onrejected?: (reason: any) => T | PromiseLike<T>): Promise<T>;
  420. catch(onrejected?: (reason: any) => void): Promise<T>;
  421. }
  422. interface PromiseConstructor {
  423. /**
  424. * A reference to the prototype.
  425. */
  426. prototype: Promise<any>;
  427. /**
  428. * Creates a new Promise.
  429. * @param executor A callback used to initialize the promise. This callback is passed two arguments:
  430. * a resolve callback used resolve the promise with a value or the result of another promise,
  431. * and a reject callback used to reject the promise with a provided reason or error.
  432. */
  433. new <T>(executor: (resolve: (value?: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void): Promise<T>;
  434. /**
  435. * Creates a Promise that is resolved with an array of results when all of the provided Promises
  436. * resolve, or rejected when any Promise is rejected.
  437. * @param values An array of Promises.
  438. * @returns A new Promise.
  439. */
  440. all<T>(values: IterableShim<T | PromiseLike<T>>): Promise<T[]>;
  441. /**
  442. * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
  443. * or rejected.
  444. * @param values An array of Promises.
  445. * @returns A new Promise.
  446. */
  447. race<T>(values: IterableShim<T | PromiseLike<T>>): Promise<T>;
  448. /**
  449. * Creates a new rejected promise for the provided reason.
  450. * @param reason The reason the promise was rejected.
  451. * @returns A new rejected Promise.
  452. */
  453. reject(reason: any): Promise<void>;
  454. /**
  455. * Creates a new rejected promise for the provided reason.
  456. * @param reason The reason the promise was rejected.
  457. * @returns A new rejected Promise.
  458. */
  459. reject<T>(reason: any): Promise<T>;
  460. /**
  461. * Creates a new resolved promise for the provided value.
  462. * @param value A promise.
  463. * @returns A promise whose internal state matches the provided promise.
  464. */
  465. resolve<T>(value: T | PromiseLike<T>): Promise<T>;
  466. /**
  467. * Creates a new resolved promise .
  468. * @returns A resolved promise.
  469. */
  470. resolve(): Promise<void>;
  471. }
  472. declare var Promise: PromiseConstructor;
  473. interface Map<K, V> {
  474. clear(): void;
  475. delete(key: K): boolean;
  476. forEach(callbackfn: (value: V, index: K, map: Map<K, V>) => void, thisArg?: any): void;
  477. get(key: K): V;
  478. has(key: K): boolean;
  479. set(key: K, value?: V): Map<K, V>;
  480. size: number;
  481. entries(): IterableIteratorShim<[K, V]>;
  482. keys(): IterableIteratorShim<K>;
  483. values(): IterableIteratorShim<V>;
  484. }
  485. interface MapConstructor {
  486. new <K, V>(): Map<K, V>;
  487. new <K, V>(iterable: IterableShim<[K, V]>): Map<K, V>;
  488. prototype: Map<any, any>;
  489. }
  490. declare var Map: MapConstructor;
  491. interface Set<T> {
  492. add(value: T): Set<T>;
  493. clear(): void;
  494. delete(value: T): boolean;
  495. forEach(callbackfn: (value: T, index: T, set: Set<T>) => void, thisArg?: any): void;
  496. has(value: T): boolean;
  497. size: number;
  498. entries(): IterableIteratorShim<[T, T]>;
  499. keys(): IterableIteratorShim<T>;
  500. values(): IterableIteratorShim<T>;
  501. }
  502. interface SetConstructor {
  503. new <T>(): Set<T>;
  504. new <T>(iterable: IterableShim<T>): Set<T>;
  505. prototype: Set<any>;
  506. }
  507. declare var Set: SetConstructor;
  508. interface WeakMap<K, V> {
  509. delete(key: K): boolean;
  510. get(key: K): V;
  511. has(key: K): boolean;
  512. set(key: K, value?: V): WeakMap<K, V>;
  513. }
  514. interface WeakMapConstructor {
  515. new <K, V>(): WeakMap<K, V>;
  516. new <K, V>(iterable: IterableShim<[K, V]>): WeakMap<K, V>;
  517. prototype: WeakMap<any, any>;
  518. }
  519. declare var WeakMap: WeakMapConstructor;
  520. interface WeakSet<T> {
  521. add(value: T): WeakSet<T>;
  522. delete(value: T): boolean;
  523. has(value: T): boolean;
  524. }
  525. interface WeakSetConstructor {
  526. new <T>(): WeakSet<T>;
  527. new <T>(iterable: IterableShim<T>): WeakSet<T>;
  528. prototype: WeakSet<any>;
  529. }
  530. declare var WeakSet: WeakSetConstructor;
  531. declare namespace Reflect {
  532. function apply(target: Function, thisArgument: any, argumentsList: ArrayLike<any>): any;
  533. function construct(target: Function, argumentsList: ArrayLike<any>): any;
  534. function defineProperty(target: any, propertyKey: PropertyKey, attributes: PropertyDescriptor): boolean;
  535. function deleteProperty(target: any, propertyKey: PropertyKey): boolean;
  536. function enumerate(target: any): IterableIteratorShim<any>;
  537. function get(target: any, propertyKey: PropertyKey, receiver?: any): any;
  538. function getOwnPropertyDescriptor(target: any, propertyKey: PropertyKey): PropertyDescriptor;
  539. function getPrototypeOf(target: any): any;
  540. function has(target: any, propertyKey: PropertyKey): boolean;
  541. function isExtensible(target: any): boolean;
  542. function ownKeys(target: any): Array<PropertyKey>;
  543. function preventExtensions(target: any): boolean;
  544. function set(target: any, propertyKey: PropertyKey, value: any, receiver?: any): boolean;
  545. function setPrototypeOf(target: any, proto: any): boolean;
  546. }
  547. declare module "es6-shim" {
  548. var String: StringConstructor;
  549. var Array: ArrayConstructor;
  550. var Number: NumberConstructor;
  551. var Math: Math;
  552. var Object: ObjectConstructor;
  553. var Map: MapConstructor;
  554. var Set: SetConstructor;
  555. var WeakMap: WeakMapConstructor;
  556. var WeakSet: WeakSetConstructor;
  557. var Promise: PromiseConstructor;
  558. namespace Reflect {
  559. function apply(target: Function, thisArgument: any, argumentsList: ArrayLike<any>): any;
  560. function construct(target: Function, argumentsList: ArrayLike<any>): any;
  561. function defineProperty(target: any, propertyKey: PropertyKey, attributes: PropertyDescriptor): boolean;
  562. function deleteProperty(target: any, propertyKey: PropertyKey): boolean;
  563. function enumerate(target: any): Iterator<any>;
  564. function get(target: any, propertyKey: PropertyKey, receiver?: any): any;
  565. function getOwnPropertyDescriptor(target: any, propertyKey: PropertyKey): PropertyDescriptor;
  566. function getPrototypeOf(target: any): any;
  567. function has(target: any, propertyKey: PropertyKey): boolean;
  568. function isExtensible(target: any): boolean;
  569. function ownKeys(target: any): Array<PropertyKey>;
  570. function preventExtensions(target: any): boolean;
  571. function set(target: any, propertyKey: PropertyKey, value: any, receiver?: any): boolean;
  572. function setPrototypeOf(target: any, proto: any): boolean;
  573. }
  574. }