1 | "use strict";
|
2 |
|
3 | exports.__esModule = true;
|
4 |
|
5 | var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck");
|
6 |
|
7 | var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
8 |
|
9 | var _normalizeAst = require("../helpers/normalize-ast");
|
10 |
|
11 | var _normalizeAst2 = _interopRequireDefault(_normalizeAst);
|
12 |
|
13 | var _plugin = require("./plugin");
|
14 |
|
15 | var _plugin2 = _interopRequireDefault(_plugin);
|
16 |
|
17 | var _file = require("./file");
|
18 |
|
19 | var _file2 = _interopRequireDefault(_file);
|
20 |
|
21 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
22 |
|
23 | var Pipeline = function () {
|
24 | function Pipeline() {
|
25 | (0, _classCallCheck3.default)(this, Pipeline);
|
26 | }
|
27 |
|
28 | Pipeline.prototype.lint = function lint(code) {
|
29 | var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
30 |
|
31 | opts.code = false;
|
32 | opts.mode = "lint";
|
33 | return this.transform(code, opts);
|
34 | };
|
35 |
|
36 | Pipeline.prototype.pretransform = function pretransform(code, opts) {
|
37 | var file = new _file2.default(opts, this);
|
38 | return file.wrap(code, function () {
|
39 | file.addCode(code);
|
40 | file.parseCode(code);
|
41 | return file;
|
42 | });
|
43 | };
|
44 |
|
45 | Pipeline.prototype.transform = function transform(code, opts) {
|
46 | var file = new _file2.default(opts, this);
|
47 | return file.wrap(code, function () {
|
48 | file.addCode(code);
|
49 | file.parseCode(code);
|
50 | return file.transform();
|
51 | });
|
52 | };
|
53 |
|
54 | Pipeline.prototype.analyse = function analyse(code) {
|
55 | var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
56 | var visitor = arguments[2];
|
57 |
|
58 | opts.code = false;
|
59 | if (visitor) {
|
60 | opts.plugins = opts.plugins || [];
|
61 | opts.plugins.push(new _plugin2.default({ visitor: visitor }));
|
62 | }
|
63 | return this.transform(code, opts).metadata;
|
64 | };
|
65 |
|
66 | Pipeline.prototype.transformFromAst = function transformFromAst(ast, code, opts) {
|
67 | ast = (0, _normalizeAst2.default)(ast);
|
68 |
|
69 | var file = new _file2.default(opts, this);
|
70 | return file.wrap(code, function () {
|
71 | file.addCode(code);
|
72 | file.addAst(ast);
|
73 | return file.transform();
|
74 | });
|
75 | };
|
76 |
|
77 | return Pipeline;
|
78 | }();
|
79 |
|
80 | exports.default = Pipeline;
|
81 | module.exports = exports["default"]; |
\ | No newline at end of file |