// @flow import type {Plugin} from 'jss' /** * Sort props by length. */ export default function jssPropsSort(): Plugin { const sort = (prop0, prop1) => { if (prop0.length === prop1.length) { return prop0 > prop1 ? 1 : -1 } return prop0.length - prop1.length } return { onProcessStyle(style, rule) { if (rule.type !== 'style') return style const newStyle = {} const props = Object.keys(style).sort(sort) for (let i = 0; i < props.length; i++) { newStyle[props[i]] = style[props[i]] } return newStyle } } }