'use strict' var css = require('css') var util = require('./lib/util') var validateItem = require('./lib/validator').validate var shorthandParser = require('./lib/shorthand-parser') /** * mergeStyle * @param {*} object * @param {*} classNames * @param {*} preClassNames * @param {*} ruleResult * @param {*} prop * @param {*} index */ function mergeStyle (object, classNames, preClassNames, ruleResult, prop, index) { if (!process.env.UNI_USING_NVUE_STYLE_COMPILER) { object[classNames] = object[classNames] || {} object[classNames][prop] = ruleResult[prop] return } classNames = classNames.split('.').map(str => '.' + str).slice(1) var className = classNames.find(className => className in object) || classNames[0] // 假设选择器已经去重简化 preClassNames += classNames.filter(str => str !== className).sort().join('') var rules = object[className] = object[className] || {} var style = rules[preClassNames] = rules[preClassNames] || {} // 增加其他权重信息 style[prop] = [...ruleResult[prop], preClassNames.split('.').length - 1, index] } /** * Parse `