HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/design.system/node_modules/@microsoft/api-extractor/lib/collector/CollectorEntity.js.map
{"version":3,"file":"CollectorEntity.js","sourceRoot":"","sources":["../../src/collector/CollectorEntity.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n// See LICENSE in the project root for license information.\n\nimport * as ts from 'typescript';\n\nimport { AstSymbol } from '../analyzer/AstSymbol';\nimport { Collector } from './Collector';\nimport { Sort } from '@rushstack/node-core-library';\nimport type { AstEntity } from '../analyzer/AstEntity';\nimport { AstNamespaceExport } from '../analyzer/AstNamespaceExport';\n\n/**\n * This is a data structure used by the Collector to track an AstEntity that may be emitted in the *.d.ts file.\n *\n * @remarks\n * The additional contextual state beyond AstSymbol is:\n * - Whether it's an export of this entry point or not\n * - The nameForEmit, which may get renamed by DtsRollupGenerator._makeUniqueNames()\n * - The export name (or names, if the same symbol is exported multiple times)\n */\nexport class CollectorEntity {\n  /**\n   * The AstEntity that this entry represents.\n   */\n  public readonly astEntity: AstEntity;\n\n  private _exportNames: Set<string> = new Set();\n  private _exportNamesSorted: boolean = false;\n  private _singleExportName: string | undefined = undefined;\n  private _localExportNamesByParent: Map<CollectorEntity, Set<string>> = new Map();\n\n  private _nameForEmit: string | undefined = undefined;\n\n  private _sortKey: string | undefined = undefined;\n\n  public constructor(astEntity: AstEntity) {\n    this.astEntity = astEntity;\n  }\n\n  /**\n   * The declaration name that will be emitted in the .d.ts rollup, .api.md, and .api.json files. Generated by\n   * `Collector._makeUniqueNames`. Be aware that the declaration may be renamed to avoid conflicts with (1)\n   * global names (e.g. `Promise`) and (2) if local, other local names across different files.\n   */\n  public get nameForEmit(): string | undefined {\n    return this._nameForEmit;\n  }\n\n  public set nameForEmit(value: string | undefined) {\n    this._nameForEmit = value;\n    this._sortKey = undefined; // invalidate the cached value\n  }\n\n  /**\n   * The list of export names if this symbol is exported from the entry point.\n   *\n   * @remarks\n   * Note that a given symbol may be exported more than once:\n   * ```\n   * class X { }\n   * export { X }\n   * export { X as Y }\n   * ```\n   */\n  public get exportNames(): ReadonlySet<string> {\n    if (!this._exportNamesSorted) {\n      Sort.sortSet(this._exportNames);\n      this._exportNamesSorted = true;\n    }\n    return this._exportNames;\n  }\n\n  /**\n   * If exportNames contains only one string, then singleExportName is that string.\n   * In all other cases, it is undefined.\n   */\n  public get singleExportName(): string | undefined {\n    return this._singleExportName;\n  }\n\n  /**\n   * This is true if exportNames contains only one string, and the declaration can be exported using the inline syntax\n   * such as \"export class X { }\" instead of \"export { X }\".\n   */\n  public get shouldInlineExport(): boolean {\n    // We export the namespace directly\n    if (this.astEntity instanceof AstNamespaceExport) {\n      return true;\n    }\n\n    // We don't inline an AstImport\n    if (this.astEntity instanceof AstSymbol) {\n      // We don't inline a symbol with more than one exported name\n      if (this._singleExportName !== undefined && this._singleExportName !== ts.InternalSymbolName.Default) {\n        // We can't inline a symbol whose emitted name is different from the export name\n        if (this._nameForEmit === undefined || this._nameForEmit === this._singleExportName) {\n          return true;\n        }\n      }\n    }\n    return false;\n  }\n\n  /**\n   * Indicates that this entity is exported from the package entry point. Compare to `CollectorEntity.exported`.\n   */\n  public get exportedFromEntryPoint(): boolean {\n    return this.exportNames.size > 0;\n  }\n\n  /**\n   * Indicates that this entity is exported from its parent module (i.e. either the package entry point or\n   * a local namespace). Compare to `CollectorEntity.consumable`.\n   *\n   * @remarks\n   * In the example below:\n   *\n   * ```ts\n   * declare function add(): void;\n   * declare namespace calculator {\n   *  export {\n   *    add\n   *  }\n   * }\n   * ```\n   *\n   * Namespace `calculator` is neither exported nor consumable, function `add` is exported (from `calculator`)\n   * but not consumable.\n   */\n  public get exported(): boolean {\n    // Exported from top-level?\n    if (this.exportedFromEntryPoint) return true;\n\n    // Exported from parent?\n    for (const localExportNames of this._localExportNamesByParent.values()) {\n      if (localExportNames.size > 0) {\n        return true;\n      }\n    }\n\n    return false;\n  }\n\n  /**\n   * Indicates that it is possible for a consumer of the API to \"consume\" this entity, either by importing\n   * it directly or via a namespace. If an entity is not consumable, then API Extractor will report an\n   * `ae-forgotten-export` warning. Compare to `CollectorEntity.exported`.\n   *\n   * @remarks\n   * An API item is consumable if:\n   *\n   * 1. It is exported from the top-level entry point OR\n   * 2. It is exported from a consumable parent entity.\n   *\n   * For an example of #2, consider how `AstNamespaceImport` entities are processed. A generated rollup.d.ts\n   * might look like this:\n   *\n   * ```ts\n   * declare function add(): void;\n   * declare namespace calculator {\n   *   export {\n   *     add\n   *   }\n   * }\n   * export { calculator }\n   * ```\n   *\n   * In this example, `add` is exported via the consumable `calculator` namespace.\n   */\n  public get consumable(): boolean {\n    // Exported from top-level?\n    if (this.exportedFromEntryPoint) return true;\n\n    // Exported from consumable parent?\n    for (const [parent, localExportNames] of this._localExportNamesByParent) {\n      if (localExportNames.size > 0 && parent.consumable) {\n        return true;\n      }\n    }\n\n    return false;\n  }\n\n  /**\n   * Return the first consumable parent that exports this entity. If there is none, returns\n   * `undefined`.\n   */\n  public getFirstExportingConsumableParent(): CollectorEntity | undefined {\n    for (const [parent, localExportNames] of this._localExportNamesByParent) {\n      if (parent.consumable && localExportNames.size > 0) {\n        return parent;\n      }\n    }\n    return undefined;\n  }\n\n  /**\n   * Adds a new export name to the entity.\n   */\n  public addExportName(exportName: string): void {\n    if (!this._exportNames.has(exportName)) {\n      this._exportNamesSorted = false;\n      this._exportNames.add(exportName);\n\n      if (this._exportNames.size === 1) {\n        this._singleExportName = exportName;\n      } else {\n        this._singleExportName = undefined;\n      }\n    }\n  }\n\n  /**\n   * Adds a new local export name to the entity.\n   *\n   * @remarks\n   * In the example below:\n   *\n   * ```ts\n   * declare function add(): void;\n   * declare namespace calculator {\n   *  export {\n   *    add\n   *  }\n   * }\n   * ```\n   *\n   * `add` is the local export name for the `CollectorEntity` for `add`.\n   */\n  public addLocalExportName(localExportName: string, parent: CollectorEntity): void {\n    const localExportNames: Set<string> = this._localExportNamesByParent.get(parent) || new Set();\n    localExportNames.add(localExportName);\n\n    this._localExportNamesByParent.set(parent, localExportNames);\n  }\n\n  /**\n   * A sorting key used by DtsRollupGenerator._makeUniqueNames()\n   */\n  public getSortKey(): string {\n    if (!this._sortKey) {\n      this._sortKey = Collector.getSortKeyIgnoringUnderscore(this.nameForEmit || this.astEntity.localName);\n    }\n    return this._sortKey;\n  }\n}\n"]}