Merge pull request #32337 from woocommerce/fix/currency-docs

Define `NumberConfig` data type, export type declarations from `@woo…/currency`
This commit is contained in:
Chi-Hsuan Huang 2022-03-25 18:24:37 +08:00 committed by GitHub
commit d5a9b5789c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 21 additions and 5 deletions

View File

@ -25,7 +25,7 @@ const total = storeCurrency.formatAmount( 20.923 ); // '$20.92'
// Get the rounded decimal value of a number at the precision used for the current currency,
// from the settings api. Defaults to 2.
const total = storeCurrency.formatDecimal( '6.2892' ); // 6.29 https://google.com/?q=test
const total = storeCurrency.formatDecimal( '6.2892' ); // 6.29
// Get the string representation of a floating point number to the precision used by the current
// currency. This is different from `formatAmount` by not returning the currency symbol.

View File

@ -7,6 +7,22 @@ import { sprintf } from '@wordpress/i18n';
import { numberFormat } from '@woocommerce/number';
import deprecated from '@wordpress/deprecated';
/**
* @typedef {import('@woocommerce/number').NumberConfig} NumberConfig
*/
/**
* @typedef {Object} CurrencyProps
* @property {string} code Currency ISO code.
* @property {string} symbol Symbol, can be multi-character.
* @property {string} symbolPosition Where the symbol should be relative to the amount. One of `'left' | 'right' | 'left_space | 'right_space'`.
* @typedef {NumberConfig & CurrencyProps} CurrencyConfig
*/
/**
*
* @param {CurrencyConfig} currencySetting
* @return {Object} currency object
*/
const CurrencyFactory = function ( currencySetting ) {
let currency;
@ -63,7 +79,6 @@ const CurrencyFactory = function ( currencySetting ) {
* Formats money value.
*
* @deprecated
*
* @param {number|string} number number to format
* @return {?string} A formatted string.
*/
@ -80,7 +95,7 @@ const CurrencyFactory = function ( currencySetting ) {
/**
* Get the default price format from a currency.
*
* @param {Object} config Currency configuration.
* @param {CurrencyConfig} config Currency configuration.
* @return {string} Price format.
*/
function getPriceFormat( config ) {
@ -108,7 +123,7 @@ const CurrencyFactory = function ( currencySetting ) {
* @param {string} countryCode Country code.
* @param {Object} localeInfo Locale info by country code.
* @param {Object} currencySymbols Currency symbols by symbol code.
* @return {Object} Formatted currency data for country.
* @return {CurrencyConfig | {}} Formatted currency data for country.
*/
function getDataForCountry(
countryCode,
@ -211,7 +226,6 @@ export default CurrencyFactory;
* Dev Note: When adding new currencies below, the exchange rate array should also be updated in WooCommerce Admin's `business-details.js`.
*
* @deprecated
*
* @return {Object} Curreny data.
*/
export function getCurrencyData() {

View File

@ -1,6 +1,7 @@
{
"extends": "../tsconfig-cjs",
"compilerOptions": {
"declaration": true,
"outDir": "build"
}
}

View File

@ -1,6 +1,7 @@
{
"extends": "../tsconfig",
"compilerOptions": {
"declaration": true,
"rootDir": "src",
"outDir": "build-module"
}