1/*! ***************************************************************************** 2Copyright (c) Microsoft Corporation. All rights reserved. 3Licensed under the Apache License, Version 2.0 (the "License"); you may not use 4this file except in compliance with the License. You may obtain a copy of the 5License at http://www.apache.org/licenses/LICENSE-2.0 6 7THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 8KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED 9WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, 10MERCHANTABLITY OR NON-INFRINGEMENT. 11 12See the Apache Version 2.0 License for specific language governing permissions 13and limitations under the License. 14***************************************************************************** */ 15 16 17 18/// <reference no-default-lib="true"/> 19 20 21interface ObjectConstructor { 22 /** 23 * Returns an array of values of the enumerable properties of an object 24 * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object. 25 */ 26 values<T>(o: { [s: string]: T } | ArrayLike<T>): T[]; 27 28 /** 29 * Returns an array of values of the enumerable properties of an object 30 * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object. 31 */ 32 values(o: {}): any[]; 33 34 /** 35 * Returns an array of key/values of the enumerable properties of an object 36 * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object. 37 */ 38 entries<T>(o: { [s: string]: T } | ArrayLike<T>): [string, T][]; 39 40 /** 41 * Returns an array of key/values of the enumerable properties of an object 42 * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object. 43 */ 44 entries(o: {}): [string, any][]; 45 46 /** 47 * Returns an object containing all own property descriptors of an object 48 * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object. 49 */ 50 getOwnPropertyDescriptors<T>(o: T): {[P in keyof T]: TypedPropertyDescriptor<T[P]>} & { [x: string]: PropertyDescriptor }; 51} 52