@microsoft/api-extractor
Version:
Validatation, documentation, and auditing for the exported API of a TypeScript package
54 lines (52 loc) • 2.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var ApiDocumentation_1 = require("./definitions/ApiDocumentation");
var ApiJsonFile_1 = require("./generators/ApiJsonFile");
/**
* A class to abstract away the difference between an item from our public API that could be
* represented by either an ApiItem or an IDocItem that is retrieved from a JSON file.
*/
var ResolvedApiItem = (function () {
function ResolvedApiItem(kind, summary, remarks, deprecatedMessage, isBeta, params, returnsMessage, apiTag, apiItem) {
this.kind = kind;
this.summary = summary;
this.remarks = remarks;
this.deprecatedMessage = deprecatedMessage;
this.isBeta = isBeta;
this.params = params;
this.returnsMessage = returnsMessage;
this.apiTag = apiTag;
this.apiItem = apiItem;
}
/**
* A function to abstract the construction of a ResolvedApiItem instance
* from an ApiItem.
*/
ResolvedApiItem.createFromApiItem = function (apiItem) {
return new ResolvedApiItem(apiItem.kind, apiItem.documentation.summary, apiItem.documentation.remarks, apiItem.documentation.deprecatedMessage, apiItem.documentation.apiTag === ApiDocumentation_1.ApiTag.Beta, apiItem.documentation.parameters, apiItem.documentation.returnsMessage, apiItem.documentation.apiTag, apiItem);
};
/**
* A function to abstract the construction of a ResolvedApiItem instance
* from a JSON object that symbolizes an IDocItem.
*/
ResolvedApiItem.createFromJson = function (docItem) {
var parameters = undefined;
var returnsMessage = undefined;
switch (docItem.kind) {
case 'function':
parameters = docItem.parameters;
returnsMessage = docItem.returnValue.description;
break;
case 'method':
parameters = docItem.parameters;
returnsMessage = docItem.returnValue.description;
break;
default:
break;
}
return new ResolvedApiItem(ApiJsonFile_1.default.convertJsonToKind(docItem.kind), docItem.summary, docItem.remarks, docItem.deprecatedMessage, docItem.isBeta, parameters, returnsMessage, ApiDocumentation_1.ApiTag.Public, undefined);
};
return ResolvedApiItem;
}());
exports.default = ResolvedApiItem;
//# sourceMappingURL=ResolvedApiItem.js.map