UNPKG

@scottlexium/finpro

Version:

🚀 FinPro.js by Scott Lexium - The most comprehensive TypeScript library for financial data operations. Features 154+ currencies, 250+ countries, MongoDB-style queries, dual ESM/CommonJS support, and flag integration. Created by Scott Lexium for modern Ja

50 lines • 1.97 kB
import type { QueryBuilder } from '../../types'; export interface Commodity { readonly id: string; readonly symbol: string; readonly name: string; readonly type: 'commodity'; readonly category: 'metals' | 'energy' | 'agriculture' | 'livestock'; readonly unit: string; readonly exchange: string; readonly isActive: boolean; readonly description?: string; } export interface PreciousMetal extends Commodity { readonly category: 'metals'; readonly subCategory: 'precious' | 'industrial'; readonly purity?: string; readonly weight?: string; } export interface Energy extends Commodity { readonly category: 'energy'; readonly subCategory: 'oil' | 'gas' | 'renewable'; readonly region?: string; } export interface Agriculture extends Commodity { readonly category: 'agriculture'; readonly subCategory: 'grains' | 'soft' | 'livestock'; readonly season?: string; readonly origin?: string; } export declare class CommoditiesModule { private commodityData; private metalsData; private energyData; private agricultureData; constructor(); commodity(): QueryBuilder<Commodity>; commodities(): QueryBuilder<Commodity>; metal(): QueryBuilder<PreciousMetal>; metals(): QueryBuilder<PreciousMetal>; energy(): QueryBuilder<Energy>; energies(): QueryBuilder<Energy>; agriculture(): QueryBuilder<Agriculture>; agricultures(): QueryBuilder<Agriculture>; getPrice(symbol: string): Promise<number | null>; getHistoricalData(symbol: string, period: string): Promise<any>; } export declare const getCommodity: (commoditiesModule: CommoditiesModule) => (symbol: string) => Commodity | null; export declare const getAllCommodities: (commoditiesModule: CommoditiesModule) => () => Commodity[]; export declare const findCommodities: (commoditiesModule: CommoditiesModule) => (filter: Record<string, any>) => Commodity[]; //# sourceMappingURL=index.d.ts.map