UNPKG

penteract

Version:

The native Node.js bindings to the Tesseract OCR project.

51 lines (37 loc) 1.17 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.recognize = exports.fromFile = undefined; var _promise = require('babel-runtime/core-js/promise'); var _promise2 = _interopRequireDefault(_promise); var _penteract = require('../build/Release/penteract'); var _penteract2 = _interopRequireDefault(_penteract); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const DEFAULT_LANG = 'eng'; const LANG_DELIMITER = '+'; const handleOptions = ({ lang = DEFAULT_LANG } = {}) => { if (Array.isArray(lang)) { lang = lang.join(LANG_DELIMITER); } return { lang }; }; const makePromise = method => { return (arg, options) => new _promise2.default((resolve, reject) => { options = handleOptions(options); _penteract2.default[method](arg, options.lang, (err, text) => { if (err) { const error = new Error(text); error.code = err; return reject(error); } resolve(text.trim()); }); }); }; const fromFile = exports.fromFile = makePromise('fromFile'); const recognize = exports.recognize = makePromise('recognize');