import get from 'lodash/get';

import { BorderRadiusToken, BorderRadiusTokenRef, PropsWithTheme } from './types';

/**
 * Returns radius that can be used inside styled-component.
 *
 * ```tsx
 * import styled from 'styled-components/macro';
 * import { radius } from '../theme';
 *
 * const StyledDiv = styled.div`
 *   border-radius: ${radius("card")};
 * `;
 * ```
 */
export function radius(name: BorderRadiusTokenRef) {
  return (props: PropsWithTheme): BorderRadiusToken => get(props.theme, name.split('/'));
}
