/* * @license Apache-2.0 * * Copyright (c) 2021 The Stdlib Authors. * * 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 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ // TypeScript Version: 4.1 /* eslint-disable max-lines */ import AsyncIteratorSymbol = require( './../../async-iterator' ); import Symbol = require( './../../ctor' ); import HasInstanceSymbol = require( './../../has-instance' ); import IsConcatSpreadableSymbol = require( './../../is-concat-spreadable' ); import IteratorSymbol = require( './../../iterator' ); import ReplaceSymbol = require( './../../replace' ); import ToPrimitiveSymbol = require( './../../to-primitive' ); /** * Interface describing the `symbol` namespace. */ interface Namespace { /** * Async iterator symbol. * * ## Notes * * - This symbol specifies the default async iterator for an object. * - The symbol is only supported in ES6/ES2015+ environments. For non-supporting environments, the value is `null`. */ AsyncIteratorSymbol: typeof AsyncIteratorSymbol; /** * Returns a symbol. * * ## Notes * * - Unlike conventional constructors, this function does **not** support the `new` keyword. * - This function is only supported in environments which support symbols. * * @param description - symbol description which can be used for debugging but not to access the symbol itself * @returns symbol */ Symbol: typeof Symbol; /** * Has instance symbol. * * ## Notes * * - This symbol is used to determine whether a constructor object recognizes an object as its instance. * - The symbol is only supported in ES6/ES2015+ environments. For non-supporting environments, the value is `null`. */ HasInstanceSymbol: typeof HasInstanceSymbol; /** * Concat spreadable symbol. * * ## Notes * * - This symbol specifies whether an array-like object should be flattened to its array elements during concatenation. * - The symbol is only supported in ES6/ES2015+ environments. For non-supporting environments, the value is `null`. */ IsConcatSpreadableSymbol: typeof IsConcatSpreadableSymbol; /** * Iterator symbol. * * ## Notes * * - This symbol specifies the default iterator for an object. * - The symbol is only supported in ES6/ES2015+ environments. For non-supporting environments, the value is `null`. */ IteratorSymbol: typeof IteratorSymbol; /** * Replace symbol. * * ## Notes * * - This symbol provides a method for replacing substrings matched by the current object. * - The symbol is only supported in ES6/ES2015+ environments. For non-supporting environments, the value is `null`. */ ReplaceSymbol: typeof ReplaceSymbol; /** * Symbol which specifies a method for converting an object to a primitive value. * * ## Notes * * - The symbol is only supported in ES6/ES2015+ environments. For non-supporting environments, the value is `null`. */ ToPrimitiveSymbol: typeof ToPrimitiveSymbol; } /** * Symbol. */ declare var ns: Namespace; // EXPORTS // export = ns;