File: //usr/share/opensearch-dashboards/node_modules/nano-css/addon/stylis/plugin-onRule.js
'use strict';
module.exports = function (insertRule) {
var delimiter = '/*|*/';
var needle = delimiter + '}';
function toSheet (block) {
if (block)
try {
insertRule(block + '}');
} catch (e) {
// eslint-disable-next-line
};
}
return function ruleSheet (context, content, selectors, parents, line, column, length, ns, depth, at) {
switch (context) {
// property
case 1:
// @import
if (depth === 0 && content.charCodeAt(0) === 64)
return insertRule(content+';'), '';
break;
// selector
case 2:
if (ns === 0)
return content + delimiter;
break;
// at-rule
case 3:
switch (ns) {
// @font-face, @page
case 102:
case 112:
return insertRule(selectors[0]+content), '';
default:
return content + (at === 0 ? delimiter : '');
}
case -2:
content.split(needle).forEach(toSheet);
}
};
};