UNPKG

expo-finance-kit

Version:

Native Expo module for Apple FinanceKit - Access financial data from Apple Card and other accounts

87 lines 3.43 kB
/** * Validation utilities for Expo Finance Kit * Ensures data integrity and type safety */ import { Account, AccountQueryOptions, Transaction, TransactionQueryOptions, AccountBalance, BalanceQueryOptions, AccountType, CreditDebitIndicator, AuthorizationStatus } from '../ExpoFinanceKit.types'; /** * Validates account query options * @param options - Options to validate * @throws {FinanceKitError} If validation fails */ export declare function validateAccountQueryOptions(options: AccountQueryOptions): void; /** * Validates transaction query options * @param options - Options to validate * @throws {FinanceKitError} If validation fails */ export declare function validateTransactionQueryOptions(options: TransactionQueryOptions): void; /** * Validates balance query options * @param options - Options to validate * @throws {FinanceKitError} If validation fails */ export declare function validateBalanceQueryOptions(options: BalanceQueryOptions): void; /** * Transforms raw account data from native module * @param rawAccount - Raw account data * @returns Transformed account object */ export declare function transformAccount(rawAccount: any): Account; /** * Transforms raw transaction data from native module * @param rawTransaction - Raw transaction data * @returns Transformed transaction object */ export declare function transformTransaction(rawTransaction: any): Transaction; /** * Normalizes transaction amount based on account type and credit/debit indicator * @param amount - The raw transaction amount * @param accountType - The type of account (asset or liability) * @param creditDebitIndicator - Whether the transaction is a credit or debit * @returns Normalized amount (positive for increases in value, negative for decreases) */ export declare function normalizeTransactionAmount(amount: number, accountType: AccountType, creditDebitIndicator: CreditDebitIndicator): number; /** * Transforms raw balance data from native module * @param rawBalance - Raw balance data * @returns Transformed balance object */ export declare function transformBalance(rawBalance: any): AccountBalance; /** * Validates a currency code * @param code - Currency code to validate * @returns Boolean indicating validity */ export declare function isValidCurrencyCode(code: string): boolean; /** * Validates an account ID (UUID format) * @param id - ID to validate * @returns Boolean indicating validity */ export declare function isValidAccountId(id: string): boolean; /** * Sanitizes transaction description * @param description - Description to sanitize * @returns Sanitized description */ export declare function sanitizeTransactionDescription(description: string): string; /** * Formats amount for display * @param amount - Amount to format * @param currencyCode - Currency code * @returns Formatted amount string */ export declare function formatAmount(amount: number, currencyCode: string): string; /** * Type guard for checking if a value is a valid AuthorizationStatus */ export declare const isAuthorizationStatus: (value: any) => value is AuthorizationStatus; /** * Type guard for checking if a value is a valid Transaction */ export declare const isTransaction: (value: any) => value is Transaction; /** * Type guard for checking if a value is a valid Account */ export declare const isAccount: (value: any) => value is Account; //# sourceMappingURL=validators.d.ts.map