UNPKG

@microsoft/api-extractor

Version:

Validatation, documentation, and auditing for the exported API of a TypeScript package

59 lines (57 loc) 2.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var ApiPackage_1 = require("./definitions/ApiPackage"); var ApiEnum_1 = require("./definitions/ApiEnum"); var ApiEnumValue_1 = require("./definitions/ApiEnumValue"); var ApiFunction_1 = require("./definitions/ApiFunction"); var ApiStructuredType_1 = require("./definitions/ApiStructuredType"); var ApiMethod_1 = require("./definitions/ApiMethod"); var ApiProperty_1 = require("./definitions/ApiProperty"); /** * This is a helper class that provides a standard way to walk the ApiItem * abstract syntax tree. */ var ApiItemVisitor = (function () { function ApiItemVisitor() { } ApiItemVisitor.prototype.visit = function (apiItem, refObject) { if (this.apiTagsToSkip && this.apiTagsToSkip.indexOf(apiItem.documentation.apiTag) >= 0) { return; } if (apiItem instanceof ApiStructuredType_1.default) { this.visitApiStructuredType(apiItem, refObject); } else if (apiItem instanceof ApiEnum_1.default) { this.visitApiEnum(apiItem, refObject); } else if (apiItem instanceof ApiEnumValue_1.default) { this.visitApiEnumValue(apiItem, refObject); } else if (apiItem instanceof ApiFunction_1.default) { this.visitApiFunction(apiItem, refObject); } else if (apiItem instanceof ApiPackage_1.default) { this.visitApiPackage(apiItem, refObject); } else if (apiItem instanceof ApiProperty_1.default) { this.visitApiProperty(apiItem, refObject); } else if (apiItem instanceof ApiMethod_1.default) { this.visitApiMethod(apiItem, refObject); } else { throw new Error('Not implemented'); } }; ApiItemVisitor.prototype.visitApiMethod = function (apiMethod, refObject) { this.visitApiMember(apiMethod, refObject); }; ; ApiItemVisitor.prototype.visitApiProperty = function (apiProperty, refObject) { this.visitApiMember(apiProperty, refObject); }; ; return ApiItemVisitor; }()); exports.default = ApiItemVisitor; //# sourceMappingURL=ApiItemVisitor.js.map