43 lines
1.4 KiB
JavaScript
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
|