# All files / helpers stripUnit.js

100% Statements 4/4
100% Branches 2/2
100% Functions 1/1
100% Lines 3/3

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31

    73x
    73x
    69x

     // @flow

    /**
     * Strip the unit from a given CSS value, returning just the number. (or the original value if an invalid string was passed)
     *
     * @example
     * // Styles as object usage
     * const styles = {
     *   '--dimension': stripUnit(100px)
     * }
     *
     * // styled-components usage
     * const div = styled.div`
     *   --dimension: ${stripUnit(100px)}
     * `
     *
     * // CSS in JS Output
     *
     * element {
     *   '--dimension': 100
     * }
     */

    function stripUnit(value: string): number|string {
      const unitlessValue = parseFloat(value)
      if (isNaN(unitlessValue)) return value
      return unitlessValue
    }

    export default stripUnit