files
   1| 
   2| 
   3| 
   4| 
   5| 
   6| 
   7| 
   8| 
   9| 
  10| 
  11| 
  12| 
  13| 
  14| 
  15| 
  16| 
  17| 
  18| 
  19| 
  20| 
  21| 
  22| 
  23| 
  24| 
  25| 
  26| 
  27| 
  28| 
  29| 
  30| 
  31| 
  32| 
  33| 
  34| 
  35| 
  36| 
  37| 
  38| 
  39| 
  40| 
  41| 
  42| 
  43| 
  44| 
  45| 
  46| 
  47| 
  48| 
  49| 
  50| 
  51| 
  52| 
  53| 
  54| 
  55| 
  56| 
  57| 
  58| 
  59| 
  60| 
  61| 
  62| 
  63| 
  64| 
  65| 
  66| 
  67| 
  68| 
  69| 
  70| 
  71| 
  72| 
  73| 
  74| 
  75| 
  76| 
  77| 
  78| 
  79| 
  80| 
  81| 
  82| 
  83| 
  84| 
  85| 
  86| 
  87| 
  88| 
  89| 
  90| 
  91| 
  92| 
  93| 
  94| 
  95| 
  96| 
  97| 
  98| 
  99| 
 100| 
 101| 
 102| 
 103| 
 104| 
 105| 
 106| 
 107| 
 108| 
 109| 
 110| 
 111| 
 112| 
 113| 
 114| 
 115| 
 116| 
 117| 
 118| 
 119| 
 120| 
 121| 
 122| 
 123| 
 124| 
 125| 
 126| 
 127| 
 128| 
 129| 
 130| 
 131| 
 132| 
 133| 
 134| 
 135| 
 136| 
 137| 
 138| 
 139| 
 140| 
 141| 
 142| 
 143| 
 144| 
 145| 
 146| 
 147| 
 148| 
 149| 
 150| 
 151| 
 152| 
 153| 
 154| 
 155| 
 156| 
 157| 
 158| 
 159| 
 160| 
 161| 
 162| 
 163| 
 164| 
 165| 
 166| 
 167| 
 168| 
 169| 
 170| 
 171| 
 172| 
 173| 
 174| 
 175| 
 176| 
 177| 
 178| 
 179| 
 180| 
 181| 
 182| 
 183| 
 184| 
 185| 
 186| 
 187| 
 188| 
 189| 
 190| 
 191| 
 192| 
 193| 
 194| 
 195| 
 196| 
 197| 
 198| 
 199| 
 200| 
 201| 
 202| 
 203| 
 204| 
 205| 
 206| 
 207| 
 208| 
 209| 
 210| 
 211| 
 212| 
 213| 
 214| 
 215| 
 216| 
 217| 
 218| 
 219| 
 220| 
 221| 
 222| 
 223| 
 224| 
 225| 
 226| 
 227| 
 228| 
 229| 
 230| 
 231| 
 232| 
 233| 
 234| 
 235| 
 236| 
 237| 
 238| 
 239| 
 240| 
 241| 
 242| 
 243| 
 244| 
 245| 
 246| 
 247| 
 248| 
 249| 
 250| 
 251| 
 252| 
 253| 
 254| 
 255| 
 256| 
 257| 
 258| 
 259| 
 260| 
 261| 
 262| 
 263| 
 264| 
 265| 
 266| 
 267| 
 268| 
 269| 
 270| 
 271| 
 272| 
 273| 
 274| 
 275| 
 276| 
 277| 
 278| 
 279| 
 280| 
 281| 
 282| 
 283| 
 284| 
 285| 
 286| 
 287| 
 288| 
 289| 
 290| 
 291| 
 292| 
 293| 
 294| 
 295| 
 296| 
 297| 
 298| 
 299| 
 300| 
 301| 
 302| 
 303| 
 304| 
 305| 
 306| 
 307| 
 308| 
 309| 
 310| 
 311| 
 312| 
 313| 
 314| 
 315| 
 316| 
 317| 
 318| 
 319| 
 320| 
 321| 
 322| 
 323| 
 324| 
 325| 

    
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0

THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.

See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */



/// <reference no-default-lib="true"/>


/// <reference lib="es2015.symbol" />

interface SymbolConstructor {
    /**
     * A method that determines if a constructor object recognizes an object as one of the
     * constructor’s instances. Called by the semantics of the instanceof operator.
     */
    readonly hasInstance: unique symbol;

    /**
     * A Boolean value that if true indicates that an object should flatten to its array elements
     * by Array.prototype.concat.
     */
    readonly isConcatSpreadable: unique symbol;

    /**
     * A regular expression method that matches the regular expression against a string. Called
     * by the String.prototype.match method.
     */
    readonly match: unique symbol;

    /**
     * A regular expression method that replaces matched substrings of a string. Called by the
     * String.prototype.replace method.
     */
    readonly replace: unique symbol;

    /**
     * A regular expression method that returns the index within a string that matches the
     * regular expression. Called by the String.prototype.search method.
     */
    readonly search: unique symbol;

    /**
     * A function valued property that is the constructor function that is used to create
     * derived objects.
     */
    readonly species: unique symbol;

    /**
     * A regular expression method that splits a string at the indices that match the regular
     * expression. Called by the String.prototype.split method.
     */
    readonly split: unique symbol;

    /**
     * A method that converts an object to a corresponding primitive value.
     * Called by the ToPrimitive abstract operation.
     */
    readonly toPrimitive: unique symbol;

    /**
     * A String value that is used in the creation of the default string description of an object.
     * Called by the built-in method Object.prototype.toString.
     */
    readonly toStringTag: unique symbol;

    /**
     * An Object whose own property names are property names that are excluded from the 'with'
     * environment bindings of the associated objects.
     */
    readonly unscopables: unique symbol;
}

interface Symbol {
    /**
     * Converts a Symbol object to a symbol.
     */
    [Symbol.toPrimitive](hint: string): symbol;

    readonly [Symbol.toStringTag]: string;
}

interface Array<T> {
    /**
     * Returns an object whose properties have the value 'true'
     * when they will be absent when used in a 'with' statement.
     */
    [Symbol.unscopables](): {
        copyWithin: boolean;
        entries: boolean;
        fill: boolean;
        find: boolean;
        findIndex: boolean;
        keys: boolean;
        values: boolean;
    };
}

interface Date {
    /**
     * Converts a Date object to a string.
     */
    [Symbol.toPrimitive](hint: "default"): string;
    /**
     * Converts a Date object to a string.
     */
    [Symbol.toPrimitive](hint: "string"): string;
    /**
     * Converts a Date object to a number.
     */
    [Symbol.toPrimitive](hint: "number"): number;
    /**
     * Converts a Date object to a string or number.
     *
     * @param hint The strings "number", "string", or "default" to specify what primitive to return.
     *
     * @throws {TypeError} If 'hint' was given something other than "number", "string", or "default".
     * @returns A number if 'hint' was "number", a string if 'hint' was "string" or "default".
     */
    [Symbol.toPrimitive](hint: string): string | number;
}

interface Map<K, V> {
    readonly [Symbol.toStringTag]: string;
}

interface WeakMap<K extends object, V> {
    readonly [Symbol.toStringTag]: string;
}

interface Set<T> {
    readonly [Symbol.toStringTag]: string;
}

interface WeakSet<T extends object> {
    readonly [Symbol.toStringTag]: string;
}

interface JSON {
    readonly [Symbol.toStringTag]: string;
}

interface Function {
    /**
     * Determines whether the given value inherits from this function if this function was used
     * as a constructor function.
     *
     * A constructor function can control which objects are recognized as its instances by
     * 'instanceof' by overriding this method.
     */
    [Symbol.hasInstance](value: any): boolean;
}

interface GeneratorFunction {
    readonly [Symbol.toStringTag]: string;
}

interface Math {
    readonly [Symbol.toStringTag]: string;
}

interface Promise<T> {
    readonly [Symbol.toStringTag]: string;
}

interface PromiseConstructor {
    readonly [Symbol.species]: PromiseConstructor;
}

interface RegExp {
    /**
     * Matches a string with this regular expression, and returns an array containing the results of
     * that search.
     * @param string A string to search within.
     */
    [Symbol.match](string: string): RegExpMatchArray | null;

    /**
     * Replaces text in a string, using this regular expression.
     * @param string A String object or string literal whose contents matching against
     *               this regular expression will be replaced
     * @param replaceValue A String object or string literal containing the text to replace for every
     *                     successful match of this regular expression.
     */
    [Symbol.replace](string: string, replaceValue: string): string;

    /**
     * Replaces text in a string, using this regular expression.
     * @param string A String object or string literal whose contents matching against
     *               this regular expression will be replaced
     * @param replacer A function that returns the replacement text.
     */
    [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string;

    /**
     * Finds the position beginning first substring match in a regular expression search
     * using this regular expression.
     *
     * @param string The string to search within.
     */
    [Symbol.search](string: string): number;

    /**
     * Returns an array of substrings that were delimited by strings in the original input that
     * match against this regular expression.
     *
     * If the regular expression contains capturing parentheses, then each time this
     * regular expression matches, the results (including any undefined results) of the
     * capturing parentheses are spliced.
     *
     * @param string string value to split
     * @param limit if not undefined, the output array is truncated so that it contains no more
     * than 'limit' elements.
     */
    [Symbol.split](string: string, limit?: number): string[];
}

interface RegExpConstructor {
    readonly [Symbol.species]: RegExpConstructor;
}

interface String {
    /**
     * Matches a string or an object that supports being matched against, and returns an array
     * containing the results of that search, or null if no matches are found.
     * @param matcher An object that supports being matched against.
     */
    match(matcher: { [Symbol.match](string: string): RegExpMatchArray | null; }): RegExpMatchArray | null;

    /**
     * Replaces first match with string or all matches with RegExp.
     * @param searchValue A string or RegExp search value.
     * @param replaceValue A string containing the text to replace for match.
     */
    replace(searchValue: { [Symbol.replace](string: string, replaceValue: string): string; }, replaceValue: string): string;

    /**
     * Replaces text in a string, using an object that supports replacement within a string.
     * @param searchValue A object can search for and replace matches within a string.
     * @param replacer A function that returns the replacement text.
     */
    replace(searchValue: { [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string; }, replacer: (substring: string, ...args: any[]) => string): string;

    /**
     * Finds the first substring match in a regular expression search.
     * @param searcher An object which supports searching within a string.
     */
    search(searcher: { [Symbol.search](string: string): number; }): number;

    /**
     * Split a string into substrings using the specified separator and return them as an array.
     * @param splitter An object that can split a string.
     * @param limit A value used to limit the number of elements returned in the array.
     */
    split(splitter: { [Symbol.split](string: string, limit?: number): string[]; }, limit?: number): string[];
}

interface ArrayBuffer {
    readonly [Symbol.toStringTag]: string;
}

interface DataView {
    readonly [Symbol.toStringTag]: string;
}

interface Int8Array {
    readonly [Symbol.toStringTag]: "Int8Array";
}

interface Uint8Array {
    readonly [Symbol.toStringTag]: "Uint8Array";
}

interface Uint8ClampedArray {
    readonly [Symbol.toStringTag]: "Uint8ClampedArray";
}

interface Int16Array {
    readonly [Symbol.toStringTag]: "Int16Array";
}

interface Uint16Array {
    readonly [Symbol.toStringTag]: "Uint16Array";
}

interface Int32Array {
    readonly [Symbol.toStringTag]: "Int32Array";
}

interface Uint32Array {
    readonly [Symbol.toStringTag]: "Uint32Array";
}

interface Float32Array {
    readonly [Symbol.toStringTag]: "Float32Array";
}

interface Float64Array {
    readonly [Symbol.toStringTag]: "Float64Array";
}

interface ArrayConstructor {
    readonly [Symbol.species]: ArrayConstructor;
}
interface MapConstructor {
    readonly [Symbol.species]: MapConstructor;
}
interface SetConstructor {
    readonly [Symbol.species]: SetConstructor;
}
interface ArrayBufferConstructor {
    readonly [Symbol.species]: ArrayBufferConstructor;
}