@kform/react
Version:
React integration for KForm.
72 lines (71 loc) • 2.46 kB
TypeScript
import { BigDecimal, BigInteger, Char, Long, Schema } from "@kform/core";
/**
* Minimum Kotlin `Byte` value.
*/
export declare const BYTE_MIN_VALUE = -128;
/**
* Maximum Kotlin `Byte` value.
*/
export declare const BYTE_MAX_VALUE = 127;
/**
* Minimum Kotlin {@link Char} value.
*/
export declare const CHAR_MIN_VALUE: Char;
/**
* Maximum Kotlin {@link Char} value.
*/
export declare const CHAR_MAX_VALUE: Char;
/**
* Minimum Kotlin `Short` value.
*/
export declare const SHORT_MIN_VALUE = -32768;
/**
* Maximum Kotlin `Short` value.
*/
export declare const SHORT_MAX_VALUE = 32767;
/**
* Minimum Kotlin `Int` value.
*/
export declare const INT_MIN_VALUE = -2147483648;
/**
* Maximum Kotlin `Int` value.
*/
export declare const INT_MAX_VALUE = 2147483647;
/**
* Minimum Kotlin {@link Long} value.
*/
export declare const LONG_MIN_VALUE: Long;
/**
* Maximum Kotlin {@link Long} value.
*/
export declare const LONG_MAX_VALUE: Long;
/**
* Supported numeric types.
*/
export type Numeric = number | Char | Long | BigInteger | BigDecimal | string;
/**
* Formats a numeric {@link value} as a string, given its {@link schema}.
* @param value Numeric value to format as a string.
* @param schema Schema of the numeric {@link value}.
* @returns String representation of the numeric {@link value}.
*/
export declare function formatNumericAsString<T extends Numeric | null = Numeric | null>(value: T | undefined, schema: Schema<T>): string;
/**
* Parses a formatted numeric [value]{@link formattedValue} as a numeric value,
* given the {@link schema} of the expected numeric value.
* @param formattedValue Formatted value to parse as a numeric value.
* @param schema Schema of the expected numeric value.
* @returns Numeric representation of the
* [formatted value]{@link formattedValue} according to {@link schema}.
*/
export declare function parseStringAsNumeric<T extends Numeric | null = Numeric | null>(formattedValue: string, schema: Schema<T>): T;
/**
* Returns the minimum and maximum numeric values supported by the given numeric
* {@link schema}, or `undefined` if there are no such limits.
* @param schema Numeric schema for which to get mininum/maximum values.
* @returns Minimum/maximum supported numeric value of {@link schema}.
*/
export declare function numericTypeMinMax<T extends Numeric | null = Numeric | null>(schema: Schema<T>): {
min: NonNullable<T> | undefined;
max: NonNullable<T> | undefined;
};