Files
menui_backend/node_modules/jss/src/utils/createRule.js
2020-07-15 19:54:48 +02:00

27 lines
593 B
JavaScript

/* @flow */
import warning from 'tiny-warning'
import type {Rule, RuleOptions, JssStyle} from '../types'
import cloneStyle from './cloneStyle'
/**
* Create a rule instance.
*/
export default function createRule(
name: string = 'unnamed',
decl: JssStyle,
options: RuleOptions
): Rule | null {
const {jss} = options
const declCopy = cloneStyle(decl)
const rule = jss.plugins.onCreateRule(name, declCopy, options)
if (rule) return rule
// It is an at-rule and it has no instance.
if (name[0] === '@') {
warning(false, `[JSS] Unknown rule ${name}`)
}
return null
}