UNPKG

@yoroi/common

Version:
84 lines (76 loc) 2.26 kB
/** * Flowtype definitions for parse-number-from-text * Generated by Flowgen from a Typescript Definition * Flowgen v1.21.0 */ import { Balance, Numbers } from "@yoroi/types"; declare export var asQuantity: ( value: BigNumber | number | string ) => Balance.Quantity; export type ParseNumberFromTextOptions = { /** * The input text to parse */ text: string, /** * Token denomination (e.g., 6 for ADA) - optional for unitless numbers */ denomination?: number, /** * Locale format for decimal separator - optional, defaults to English locale for sanitization */ format?: Numbers.Locale, /** * Maximum decimal places user can input (UI limit) - defaults to denomination or 12 */ precision?: number, ... }; export type ParseNumberFromTextResult = { /** * The sanitizedInput input string */ sanitizedInput: string, /** * The formatted input string to display (undefined when format is not provided) */ formattedValue: string | void, /** * Number in valid JS number format */ numericValue: number, /** * The parsed quantity in atomic units (undefined for unitless numbers) */ quantity?: Balance.Quantity, ... }; /** * Parses a number from text input with proper locale support and formatting. * Handles keyboard-locale mismatch, intermediate states, and preserves formatting. * @param options - Configuration options for parsing * @returns Object containing display value and parsed quantity * @example // With denomination (for tokens) * parseNumberFromText({ * text: '123.45', * denomination: 6, * format: { decimalSeparator: '.' }, * precision: 6 * }) * // Returns: { formattedValue: '123.45', quantity: '123450000' } * @example // Without denomination (for unitless numbers) * parseNumberFromText({ * text: '123.45', * format: { decimalSeparator: '.' } * }) * // Returns: { formattedValue: '123.45', quantity: undefined } * @example // Without format (formattedValue will be undefined) * parseNumberFromText({ * text: '123.45', * denomination: 6 * }) * // Returns: { formattedValue: undefined, quantity: '123450000' } */ declare export var parseNumberFromText: ( x: ParseNumberFromTextOptions ) => ParseNumberFromTextResult;