nuclide-format-js
Version:
A collection of codemods to help auto format javascript
39 lines (31 loc) • 3.35 kB
JavaScript
var _FirstNode = require('../utils/FirstNode');
var _FirstNode2 = _interopRequireDefault(_FirstNode);
var _reprintComment = require('../utils/reprintComment');
var _reprintComment2 = _interopRequireDefault(_reprintComment);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function addLeadingComments(root, comments) {
if (!comments || comments.length === 0) {
return;
}
var firstPath = _FirstNode2.default.get(root);
if (!firstPath) {
return;
}
var first = firstPath.node;
first.comments = first.comments ? comments.concat(first.comments) : comments;
first.comments = first.comments.map(function (comment) {
return (0, _reprintComment2.default)(comment);
});
firstPath.replace(first);
} /*
* Copyright (c) 2015-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the license found in the LICENSE file in
* the root directory of this source tree.
*
*
*/
module.exports = addLeadingComments;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vcmVxdWlyZXMvYWRkTGVhZGluZ0NvbW1lbnRzLmpzIl0sIm5hbWVzIjpbImFkZExlYWRpbmdDb21tZW50cyIsInJvb3QiLCJjb21tZW50cyIsImxlbmd0aCIsImZpcnN0UGF0aCIsImdldCIsImZpcnN0Iiwibm9kZSIsImNvbmNhdCIsIm1hcCIsImNvbW1lbnQiLCJyZXBsYWNlIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7QUFZQTs7OztBQUNBOzs7Ozs7QUFFQSxTQUFTQSxrQkFBVCxDQUE0QkMsSUFBNUIsRUFBOENDLFFBQTlDLEVBQTRFO0FBQzFFLE1BQUksQ0FBQ0EsUUFBRCxJQUFhQSxTQUFTQyxNQUFULEtBQW9CLENBQXJDLEVBQXdDO0FBQ3RDO0FBQ0Q7O0FBRUQsTUFBTUMsWUFBWSxvQkFBVUMsR0FBVixDQUFjSixJQUFkLENBQWxCO0FBQ0EsTUFBSSxDQUFDRyxTQUFMLEVBQWdCO0FBQ2Q7QUFDRDtBQUNELE1BQU1FLFFBQVFGLFVBQVVHLElBQXhCO0FBQ0FELFFBQU1KLFFBQU4sR0FBaUJJLE1BQU1KLFFBQU4sR0FBaUJBLFNBQVNNLE1BQVQsQ0FBZ0JGLE1BQU1KLFFBQXRCLENBQWpCLEdBQW1EQSxRQUFwRTtBQUNBSSxRQUFNSixRQUFOLEdBQWlCSSxNQUFNSixRQUFOLENBQWVPLEdBQWYsQ0FBbUI7QUFBQSxXQUFXLDhCQUFlQyxPQUFmLENBQVg7QUFBQSxHQUFuQixDQUFqQjtBQUNBTixZQUFVTyxPQUFWLENBQWtCTCxLQUFsQjtBQUNELEMsQ0E1QkQ7Ozs7Ozs7Ozs7QUE4QkFNLE9BQU9DLE9BQVAsR0FBaUJiLGtCQUFqQiIsImZpbGUiOiJhZGRMZWFkaW5nQ29tbWVudHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE1LXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpblxuICogdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZsb3dcbiAqL1xuXG5pbXBvcnQgdHlwZSB7Q29sbGVjdGlvbiwgTm9kZX0gZnJvbSAnLi4vdHlwZXMvYXN0JztcblxuaW1wb3J0IEZpcnN0Tm9kZSBmcm9tICcuLi91dGlscy9GaXJzdE5vZGUnO1xuaW1wb3J0IHJlcHJpbnRDb21tZW50IGZyb20gJy4uL3V0aWxzL3JlcHJpbnRDb21tZW50JztcblxuZnVuY3Rpb24gYWRkTGVhZGluZ0NvbW1lbnRzKHJvb3Q6IENvbGxlY3Rpb24sIGNvbW1lbnRzOiA/QXJyYXk8Tm9kZT4pOiB2b2lkIHtcbiAgaWYgKCFjb21tZW50cyB8fCBjb21tZW50cy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBmaXJzdFBhdGggPSBGaXJzdE5vZGUuZ2V0KHJvb3QpO1xuICBpZiAoIWZpcnN0UGF0aCkge1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBmaXJzdCA9IGZpcnN0UGF0aC5ub2RlO1xuICBmaXJzdC5jb21tZW50cyA9IGZpcnN0LmNvbW1lbnRzID8gY29tbWVudHMuY29uY2F0KGZpcnN0LmNvbW1lbnRzKSA6IGNvbW1lbnRzO1xuICBmaXJzdC5jb21tZW50cyA9IGZpcnN0LmNvbW1lbnRzLm1hcChjb21tZW50ID0+IHJlcHJpbnRDb21tZW50KGNvbW1lbnQpKTtcbiAgZmlyc3RQYXRoLnJlcGxhY2UoZmlyc3QpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGFkZExlYWRpbmdDb21tZW50cztcbiJdfQ==
;