1 /*! *****************************************************************************
2 Copyright (c) Microsoft Corporation. All rights reserved.
3 Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4 this file except in compliance with the License. You may obtain a copy of the
5 License at http://www.apache.org/licenses/LICENSE-2.0
7 THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8 KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
9 WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
10 MERCHANTABLITY OR NON-INFRINGEMENT.
12 See the Apache Version 2.0 License for specific language governing permissions
13 and limitations under the License.
14 ***************************************************************************** */
18 /// <reference no-default-lib="true"/>
\r
21 interface SymbolConstructor {
\r
23 * A reference to the prototype.
\r
25 readonly prototype: Symbol;
\r
28 * Returns a new unique Symbol value.
\r
29 * @param description Description of the new Symbol object.
\r
31 (description?: string | number): symbol;
\r
34 * Returns a Symbol object from the global symbol registry matching the given key if found.
\r
35 * Otherwise, returns a new symbol with this key.
\r
36 * @param key key to search for.
\r
38 for(key: string): symbol;
\r
41 * Returns a key from the global symbol registry matching the given Symbol if found.
\r
42 * Otherwise, returns a undefined.
\r
43 * @param sym Symbol to find the key for.
\r
45 keyFor(sym: symbol): string | undefined;
\r
48 declare var Symbol: SymbolConstructor;