expo-finance-kit
Version:
Native Expo module for Apple FinanceKit - Access financial data from Apple Card and other accounts
87 lines • 3.43 kB
TypeScript
/**
* 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