/
Mikhail823
/
todo
Обзор
Документация
Войти
/
Mikhail823
/
todo
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
node_modules/postcss-calc/src/index.js
51 строка
1 KB
Mikhail Popov
j
23 фев 2026, 16:12
23 фев 2026, 16:12
ff7232a
Код
Авторство
О чём код?
'use strict'; const transform = require('./lib/transform.js'); /** * @typedef {{precision?: number | false, * preserve?: boolean, * warnWhenCannotResolve?: boolean, * mediaQueries?: boolean, * selectors?: boolean}} PostCssCalcOptions */ /** * @type {import('postcss').PluginCreator<PostCssCalcOptions>} * @param {PostCssCalcOptions} opts * @return {import('postcss').Plugin} */ function pluginCreator(opts) { const options = Object.assign( { precision: 5, preserve: false, warnWhenCannotResolve: false, mediaQueries: false, selectors: false, }, opts ); return { postcssPlugin: 'postcss-calc', OnceExit(css, { result }) { css.walk((node) => { const { type } = node; if (type === 'decl') { transform(node, 'value', options, result); } if (type === 'atrule' && options.mediaQueries) { transform(node, 'params', options, result); } if (type === 'rule' && options.selectors) { transform(node, 'selector', options, result); } }); }, }; } pluginCreator.postcss = true; module.exports = pluginCreator;