UNPKG

4.34 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var tslib_1 = require("tslib");
4var environment_1 = tslib_1.__importDefault(require("./environment/environment"));
5var data_1 = tslib_1.__importDefault(require("./data"));
6var tree_1 = tslib_1.__importDefault(require("./tree"));
7var abstract_file_manager_1 = tslib_1.__importDefault(require("./environment/abstract-file-manager"));
8var abstract_plugin_loader_1 = tslib_1.__importDefault(require("./environment/abstract-plugin-loader"));
9var visitors_1 = tslib_1.__importDefault(require("./visitors"));
10var parser_1 = tslib_1.__importDefault(require("./parser/parser"));
11var functions_1 = tslib_1.__importDefault(require("./functions"));
12var contexts_1 = tslib_1.__importDefault(require("./contexts"));
13var less_error_1 = tslib_1.__importDefault(require("./less-error"));
14var transform_tree_1 = tslib_1.__importDefault(require("./transform-tree"));
15var utils = tslib_1.__importStar(require("./utils"));
16var plugin_manager_1 = tslib_1.__importDefault(require("./plugin-manager"));
17var logger_1 = tslib_1.__importDefault(require("./logger"));
18var source_map_output_1 = tslib_1.__importDefault(require("./source-map-output"));
19var source_map_builder_1 = tslib_1.__importDefault(require("./source-map-builder"));
20var parse_tree_1 = tslib_1.__importDefault(require("./parse-tree"));
21var import_manager_1 = tslib_1.__importDefault(require("./import-manager"));
22var parse_1 = tslib_1.__importDefault(require("./parse"));
23var render_1 = tslib_1.__importDefault(require("./render"));
24var package_json_1 = require("../../package.json");
25var parse_node_version_1 = tslib_1.__importDefault(require("parse-node-version"));
26function default_1(environment, fileManagers) {
27 var sourceMapOutput, sourceMapBuilder, parseTree, importManager;
28 environment = new environment_1.default(environment, fileManagers);
29 sourceMapOutput = source_map_output_1.default(environment);
30 sourceMapBuilder = source_map_builder_1.default(sourceMapOutput, environment);
31 parseTree = parse_tree_1.default(sourceMapBuilder);
32 importManager = import_manager_1.default(environment);
33 var render = render_1.default(environment, parseTree, importManager);
34 var parse = parse_1.default(environment, parseTree, importManager);
35 var v = parse_node_version_1.default("v" + package_json_1.version);
36 var initial = {
37 version: [v.major, v.minor, v.patch],
38 data: data_1.default,
39 tree: tree_1.default,
40 Environment: environment_1.default,
41 AbstractFileManager: abstract_file_manager_1.default,
42 AbstractPluginLoader: abstract_plugin_loader_1.default,
43 environment: environment,
44 visitors: visitors_1.default,
45 Parser: parser_1.default,
46 functions: functions_1.default(environment),
47 contexts: contexts_1.default,
48 SourceMapOutput: sourceMapOutput,
49 SourceMapBuilder: sourceMapBuilder,
50 ParseTree: parseTree,
51 ImportManager: importManager,
52 render: render,
53 parse: parse,
54 LessError: less_error_1.default,
55 transformTree: transform_tree_1.default,
56 utils: utils,
57 PluginManager: plugin_manager_1.default,
58 logger: logger_1.default
59 };
60 // Create a public API
61 var ctor = function (t) {
62 return function () {
63 var obj = Object.create(t.prototype);
64 t.apply(obj, Array.prototype.slice.call(arguments, 0));
65 return obj;
66 };
67 };
68 var t;
69 var api = Object.create(initial);
70 for (var n in initial.tree) {
71 /* eslint guard-for-in: 0 */
72 t = initial.tree[n];
73 if (typeof t === 'function') {
74 api[n.toLowerCase()] = ctor(t);
75 }
76 else {
77 api[n] = Object.create(null);
78 for (var o in t) {
79 /* eslint guard-for-in: 0 */
80 api[n][o.toLowerCase()] = ctor(t[o]);
81 }
82 }
83 }
84 /**
85 * Some of the functions assume a `this` context of the API object,
86 * which causes it to fail when wrapped for ES6 imports.
87 *
88 * An assumed `this` should be removed in the future.
89 */
90 initial.parse = initial.parse.bind(api);
91 initial.render = initial.render.bind(api);
92 return api;
93}
94exports.default = default_1;
95;
96//# sourceMappingURL=index.js.map
\No newline at end of file