@textlint/kernel
Version:
textlint kernel is core logic by pure JavaScript.
29 lines • 1.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseByPlugin = void 0;
const isPluginParsedObject_1 = require("./isPluginParsedObject");
/**
* Parse text by plugin
* If parse error is occurred, return an Error
* @param preProcess
* @param sourceText
* @param filePath
*/
const parseByPlugin = async ({ preProcess, sourceText, filePath }) => {
try {
const preProcessResult = await preProcess(sourceText, filePath);
const isParsedObject = (0, isPluginParsedObject_1.isPluginParsedObject)(preProcessResult);
const textForAST = isParsedObject ? preProcessResult.text : sourceText;
const ast = isParsedObject ? preProcessResult.ast : preProcessResult;
return {
text: textForAST,
ast
};
}
catch (error) {
// Parse error
return error instanceof Error ? error : new Error(String(error));
}
};
exports.parseByPlugin = parseByPlugin;
//# sourceMappingURL=parse-by-plugin.js.map