@atlaskit/eslint-plugin-ui-styling-standard
Version:
The eslint plugin to enforce and educate on Atlassian's UI Styling Standard
36 lines (35 loc) • 1.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isSafeKeyframes = isSafeKeyframes;
var _eslintCodemodUtils = require("eslint-codemod-utils");
var _isSafeProperty = require("./is-safe-property");
var _isSafeStyleObject = require("./is-safe-style-object");
function isSafeKeyframePropertyValue(value) {
if (value.type !== 'ObjectExpression') {
return false;
}
return (0, _isSafeStyleObject.isSafeStyleObject)(value);
}
function isSafeKeyframes(keyframes) {
return keyframes.references.every(function (ref) {
var callExpression = (0, _eslintCodemodUtils.closestOfType)(ref.identifier, 'CallExpression');
if (!callExpression) {
return false;
}
if (callExpression.callee !== ref.identifier) {
return false;
}
if (callExpression.arguments.length !== 1) {
return false;
}
var argument = callExpression.arguments[0];
if (argument.type !== 'ObjectExpression') {
return false;
}
return argument.properties.every(function (property) {
return (0, _isSafeProperty.isSafeProperty)(property, isSafeKeyframePropertyValue);
});
});
}