44 lines
831 B
TypeScript
44 lines
831 B
TypeScript
|
/**
|
||
|
* External dependencies
|
||
|
*/
|
||
|
import { Currency, CurrencyResponse } from '@woocommerce/types';
|
||
|
import snakecaseKeys from 'snakecase-keys';
|
||
|
|
||
|
export const currencies: Record< string, Currency > = {
|
||
|
EUR: {
|
||
|
code: 'EUR',
|
||
|
symbol: '€',
|
||
|
thousandSeparator: '.',
|
||
|
decimalSeparator: ',',
|
||
|
minorUnit: 2,
|
||
|
prefix: '',
|
||
|
suffix: '€',
|
||
|
},
|
||
|
USD: {
|
||
|
code: 'USD',
|
||
|
symbol: '$',
|
||
|
thousandSeparator: ',',
|
||
|
decimalSeparator: '.',
|
||
|
minorUnit: 2,
|
||
|
prefix: '$',
|
||
|
suffix: '',
|
||
|
},
|
||
|
} as const;
|
||
|
|
||
|
export const currenciesAPIShape: Record<
|
||
|
string,
|
||
|
CurrencyResponse
|
||
|
> = Object.fromEntries(
|
||
|
Object.entries( currencies ).map( ( [ key, value ] ) => [
|
||
|
key,
|
||
|
snakecaseKeys( value ),
|
||
|
] )
|
||
|
);
|
||
|
|
||
|
export const currencyControl = {
|
||
|
control: 'select',
|
||
|
defaultValue: currencies.USD,
|
||
|
mapping: currencies,
|
||
|
options: Object.keys( currencies ),
|
||
|
};
|