chenyc
2025-12-09 545c24c6a711d71b65f3d4e8122fee3837fb1edc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
"use strict";
 
var repeat = require("es5-ext/string/#/repeat")
  , esniff = require("./");
 
module.exports = exports = function (code/*, options*/) {
    var options = Object(arguments[1]);
 
    var comments = esniff(code, function (emitter, accessor) {
        accessor.shouldCollectComments = true;
    });
 
    if (!comments.length) return code;
    var i = 0, result = [];
    comments.forEach(function (commentMeta) {
        result.push(code.slice(i, commentMeta.point));
        if (options.preserveLocation) {
            result.push(repeat.call(" ", commentMeta.endPoint - commentMeta.point));
        }
        i = commentMeta.endPoint;
    });
    result.push(code.slice(i));
    return result.join("");
};