@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
TypeScript
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