UNPKG

convert-svg-react

Version:

Converts SVG XML code to be used as ReactJS component.

134 lines (107 loc) 3.93 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var ConvertSvg = require('./svgconverter'); var server = require('./server'); /** * Will open port 8000 to copy transformed svg to a usable React component * For CommonJS * @param {string} path - path to svg file or file itself * @returns {Promise} */ function read_File_CommonJS(_x) { return _read_File_CommonJS.apply(this, arguments); } /** * Will open port 8000 to copy transformed svg to a usable React component * For CommonJS * @param {string} string - path to svg file or file itself * @returns {String} */ function _read_File_CommonJS() { _read_File_CommonJS = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(path) { var fs, svg, REACTsvg; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: fs = require('fs').promises; _context.next = 3; return fs.readFile(path, 'utf8'); case 3: svg = _context.sent; REACTsvg = new ConvertSvg(svg).findAndReplace(); server(REACTsvg.forCopy); // Retruns transformed svg also for terminal copying for testing. return _context.abrupt("return", REACTsvg); case 7: case "end": return _context.stop(); } } }, _callee); })); return _read_File_CommonJS.apply(this, arguments); } function from_string_CommonJS(string) { var REACTsvg = new ConvertSvg(string).findAndReplace(); server(REACTsvg.forCopy); // Retruns transformed svg also for terminal copying for testing. return REACTsvg; } /** * For browsers * @param {string} string - string * @returns {Object[]} */ function from_string_ES2016(string) { var _require = require('../components/StringToJSX'), StringToJSX = _require.StringToJSX; var REACTsvg = new ConvertSvg(string).findAndReplace(); return StringToJSX(REACTsvg, 'fromString'); } /** * For browsers only * @param {string} path - path to svg file or file itself * @returns {Promise<Array>} */ function read_File_ES2016(_x2) { return _read_File_ES.apply(this, arguments); } function _read_File_ES() { _read_File_ES = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(path) { var _require2, StringToJSX, res, svg, REACTsvg; return _regenerator["default"].wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _require2 = require('../components/StringToJSX'), StringToJSX = _require2.StringToJSX; // Will make VueJS svg resuable component from here _context2.prev = 1; _context2.next = 4; return fetch(path); case 4: res = _context2.sent; _context2.next = 7; return res.text(); case 7: svg = _context2.sent; REACTsvg = new ConvertSvg(svg).findAndReplace(); return _context2.abrupt("return", StringToJSX(REACTsvg, 'fromFile')); case 12: _context2.prev = 12; _context2.t0 = _context2["catch"](1); return _context2.abrupt("return", _context2.t0); case 15: case "end": return _context2.stop(); } } }, _callee2, null, [[1, 12]]); })); return _read_File_ES.apply(this, arguments); } module.exports = { read_File_ES2016: read_File_ES2016, from_string_ES2016: from_string_ES2016, read_File_CommonJS: read_File_CommonJS, from_string_CommonJS: from_string_CommonJS };