react-docgen
Version:
A CLI and toolkit to extract information from React components for documentation generation.
53 lines (45 loc) • 1.5 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.traverseShallow = traverseShallow;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread"));
var _recast = _interopRequireDefault(require("recast"));
/*
* Copyright (c) 2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*
*
*/
/**
* A helper function that doesn't traverse into nested blocks / statements by
* default.
*/
function traverseShallow(ast, visitors) {
_recast.default.visit(ast, (0, _objectSpread2.default)({}, defaultVisitors, visitors));
}
const ignore = () => false;
const defaultVisitors = {
visitFunctionDeclaration: ignore,
visitFunctionExpression: ignore,
visitClassDeclaration: ignore,
visitClassExpression: ignore,
visitIfStatement: ignore,
visitWithStatement: ignore,
visitSwitchStatement: ignore,
visitWhileStatement: ignore,
visitDoWhileStatement: ignore,
visitForStatement: ignore,
visitForInStatement: ignore,
visitForOfStatement: ignore,
visitExportDeclaration: ignore,
visitExportNamedDeclaration: ignore,
visitExportDefaultDeclaration: ignore,
visitConditionalExpression: ignore
};