utils/node_modules/@microsoft/api-extractor-model/lib/model/Parameter.js
2024-02-07 01:33:07 -05:00

43 lines
1.4 KiB
JavaScript

"use strict";
// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
// See LICENSE in the project root for license information.
Object.defineProperty(exports, "__esModule", { value: true });
exports.Parameter = void 0;
const ApiDocumentedItem_1 = require("../items/ApiDocumentedItem");
/**
* Represents a named parameter for a function-like declaration.
*
* @remarks
*
* `Parameter` represents a TypeScript declaration such as `x: number` in this example:
*
* ```ts
* export function add(x: number, y: number): number {
* return x + y;
* }
* ```
*
* `Parameter` objects belong to the {@link (ApiParameterListMixin:interface).parameters} collection.
*
* @public
*/
class Parameter {
constructor(options) {
this.name = options.name;
this.parameterTypeExcerpt = options.parameterTypeExcerpt;
this.isOptional = options.isOptional;
this._parent = options.parent;
}
/**
* Returns the `@param` documentation for this parameter, if present.
*/
get tsdocParamBlock() {
if (this._parent instanceof ApiDocumentedItem_1.ApiDocumentedItem) {
if (this._parent.tsdocComment) {
return this._parent.tsdocComment.params.tryGetBlockByName(this.name);
}
}
}
}
exports.Parameter = Parameter;
//# sourceMappingURL=Parameter.js.map