UNPKG

@atlaskit/eslint-plugin-design-system

Version:

The essential plugin for use with the Atlassian Design System.

35 lines 1.24 kB
import { callExpression, identifier, literal, memberExpression, property } from 'eslint-codemod-utils'; function createMemberExpressionFromArray(array) { if (array.length === 1) { return identifier(array[0]); } var property = array.pop(); return memberExpression({ object: createMemberExpressionFromArray(array), property: identifier(property) }); } function getTokenNode(tokenName, fallbackValue) { var isFallbackMember = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var callExpressionArgs = [literal({ value: "'".concat(tokenName, "'") })]; if (fallbackValue) { var fallback = isFallbackMember ? createMemberExpressionFromArray(fallbackValue.split('.')) : literal(fallbackValue); callExpressionArgs.push(fallback); } return callExpression({ callee: identifier({ name: 'token' }), arguments: callExpressionArgs, optional: false }); } export function getTokenProperty(propertyName, tokenName, tokenFallback) { var isFallbackMember = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; return property({ key: identifier(propertyName), value: getTokenNode(tokenName, tokenFallback, isFallbackMember) }); }