shelving
Version:
Toolkit for using data in JavaScript.
22 lines (21 loc) • 1.04 kB
TypeScript
import type { ImmutableArray } from "../util/array.js";
import { type CurrencyCode } from "../util/currency.js";
import type { StringSchemaOptions } from "./StringSchema.js";
import { StringSchema } from "./StringSchema.js";
/** Options for a `CurrencyCodeSchema` */
export interface CurrencyCodeSchemaOptions extends Omit<StringSchemaOptions, "input" | "min" | "max" | "match" | "rows"> {
currencies?: ImmutableArray<CurrencyCode>;
}
/**
* Type of `StringSchema` that defines a valid currency code.
*/
export declare class CurrencyCodeSchema extends StringSchema {
readonly currencies: ImmutableArray<CurrencyCode>;
constructor({ one, title, currencies, ...options }: CurrencyCodeSchemaOptions);
sanitize(insaneString: string): string;
validate(value?: unknown): string;
}
/** Valid currency code, e.g. `GBP` */
export declare const CURRENCY_CODE: CurrencyCodeSchema;
/** Valid currency code, e.g. `GBP`, or `null` */
export declare const NULLABLE_CURRENCY_CODE: import("./NullableSchema.js").NullableSchema<string>;