12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- "use strict";
- const version = require("./package.json").version;
- const core = require("./src/main/core");
- const getSupportInfo = require("./src/main/support").getSupportInfo;
- const sharedUtil = require("./src/common/util-shared");
- const doc = require("./src/doc");
- const internalPlugins = [
- require("./src/language-js"),
- require("./src/language-css"),
- require("./src/language-graphql"),
- require("./src/language-markdown"),
- require("./src/language-vue")
- ];
- const isArray =
- Array.isArray ||
- function(arr) {
- return Object.prototype.toString.call(arr) === "[object Array]";
- };
- // Luckily `opts` is always the 2nd argument
- function withPlugins(fn) {
- return function() {
- const args = Array.from(arguments);
- let plugins = (args[1] && args[1].plugins) || [];
- if (!isArray(plugins)) {
- plugins = Object.values(plugins);
- }
- args[1] = Object.assign({}, args[1], {
- plugins: internalPlugins.concat(plugins)
- });
- return fn.apply(null, args);
- };
- }
- const formatWithCursor = withPlugins(core.formatWithCursor);
- module.exports = {
- formatWithCursor: formatWithCursor,
- format(text, opts) {
- return formatWithCursor(text, opts).formatted;
- },
- check(text, opts) {
- const formatted = formatWithCursor(text, opts).formatted;
- return formatted === text;
- },
- doc,
- getSupportInfo: withPlugins(getSupportInfo),
- version,
- util: sharedUtil,
- __debug: {
- parse: withPlugins(core.parse),
- formatAST: withPlugins(core.formatAST),
- formatDoc: withPlugins(core.formatDoc),
- printToDoc: withPlugins(core.printToDoc),
- printDocToString: withPlugins(core.printDocToString)
- }
- };
|