All files / src/form/fields Currency.tsx

100% Statements 7/7
100% Branches 2/2
100% Functions 3/3
100% Lines 7/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23        67x 6x 2x   4x     67x 3x     3x              
import React, { ReactElement } from "react";
import { InputNumber } from "antd";
import { InputNumberProps } from "antd/lib/input-number";
 
export const parseValue = (value: string | undefined): string => {
  if (value == null) {
    return "";
  }
  return value.replace(/\$\s?|(,*)/g, '');
};
 
const Currency = (props: InputNumberProps): ReactElement => {
  return (
    <InputNumber
      {...props}
      formatter={value => `$ ${value}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',')}
      parser={parseValue}
    />
  );
};
 
export default Currency;