npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

dromanis.finora.types

v3.3.9

Published

Type definitions for Dromanis Finora projects

Downloads

367

Readme

Dromanis Finora Types

npm version License: MIT TypeScript

A comprehensive TypeScript type library for Dromanis Finora financial applications, providing robust type definitions for trading, portfolio management, analytics, market data, and user management systems.

🚀 Features

  • Complete Type Coverage - Comprehensive types for all financial entities
  • Modern TypeScript - Built with latest TypeScript features and best practices
  • Zero Dependencies - Pure type definitions with no runtime dependencies
  • Dual Module Support - Both ESM and CommonJS exports
  • Extensive Documentation - Fully documented interfaces with JSDoc comments
  • Financial Domain Focused - Specifically designed for financial trading applications

📦 Installation

npm install dromanis.finora.types
yarn add dromanis.finora.types
pnpm add dromanis.finora.types

🎯 Quick Start

Basic Usage

import {
  Portfolio,
  Trade,
  Transaction,
  Instrument,
  InstrumentType,
  TradeTransactionDirection,
  UserClassification
} from 'dromanis.finora.types';

// Create a portfolio
const portfolio: Portfolio = {
  id: 'portfolio-1',
  name: 'My Investment Portfolio',
  currency: 'USD',
  notes: 'Long-term growth portfolio'
};

// Define an instrument
const instrument: Instrument = {
  id: 'NASDAQ:AAPL',
  name: 'Apple Inc.',
  symbol: 'AAPL',
  exchange: 'NASDAQ',
  type: InstrumentType.STOCK,
  currency: 'USD',
  sector: 'Technology'
};

// User-defined classification for personalized organization
const userClassification: UserClassification = {
  instrumentId: 'NASDAQ:AAPL',
  sector: 'Consumer Electronics',
  industry: 'Smartphone Manufacturing'
};

Advanced Usage

import {
  PortfolioAnalytics,
  AnalyticsSummary,
  RiskAnalytics,
  Strategy,
  InstrumentRating,
  MarketNewsData
} from 'dromanis.finora.types';

// Portfolio analytics with performance metrics
const analytics: PortfolioAnalytics = {
  portfolioId: 'portfolio-1',
  asOfDateTime: '2024-01-15 10:30:00',
  analyticsSummary: {
    realizedProfitLoss: 1500.00,
    runningProfitLoss: 2300.50,
    totalInvestment: 50000.00,
    currentInvestment: 45000.00,
    totalValue: 52800.50,
    currentValue: 47300.50,
    previousDayValue: 46800.00,
    dailyChangePercentage: 1.07,
    totalReturnPercentage: 5.60,
    runningReturnPercentage: 5.11
  },
  riskAnalytics: {
    beta: 1.15,
    volatility: 0.22,
    sharpeRatio: 1.38
  },
  instrumentBreakdowns: []
};

📊 Type Categories

Core Trading Types

  • Trade - Buy transactions with P&L tracking
  • Transaction - Individual buy/sell transactions
  • TradeLot - Partial sale tracking for trades

Portfolio Management

Financial Instruments

Cash Management

Market Data

User & Account Management

Investment Strategy

Analytics & Reporting

Supporting Types

  • Broker - Financial brokers and platforms
  • Currency - Currency definitions

📚 Detailed Type Reference

Core Trading Types

Trade

Represents a buy transaction with comprehensive profit/loss tracking and analytics.

interface Trade {
  /** Unique identifier for the trade (same as buy transaction id) */
  id: string;
  /** Identifier of the portfolio to which this trade belongs */
  portfolioId: string;
  /** Identifier of the instrument associated with this trade */
  instrumentId: string;
  /** Date and time (UTC) when profit/loss and return calculations are valid */
  asOfDateTime: string;
  /** Total quantity acquired in the buy transaction */
  totalQuantity: number;
  /** Quantity that has been sold from the original buy transaction */
  soldQuantity: number;
  /** Quantity still held (open position) from the original buy transaction */
  remainingQuantity: number;
  /** Analytics summary for this trade */
  analyticsSummary: AnalyticsSummary;
  /** List of trade lots associated with this trade */
  tradeLots: TradeLot[];
}

Note: All monetary values are in portfolio currency, not transaction currency.

Transaction

Represents an individual financial transaction (buy or sell operation).

interface Transaction {
  /** Unique identifier for the transaction */
  id: string;
  /** Reference to the instrument being traded */
  instrumentId: string;
  /** Direction of the transaction (buy/sell) */
  direction: TradeTransactionDirection;
  /** Quantity of the instrument traded */
  quantity: number;
  /** Price per unit (in instrument currency) */
  price: number;
  /** Exchange rate to convert to portfolio currency */
  exchangeRateToPortfolioCurrency: number;
  /** Date and time of the transaction in UTC (YYYY-MM-DD HH:mm:ss format) */
  transactionDateTime: string;
  /** Transaction fee (in instrument currency) */
  transactionFee: number;
  /** Reference to the portfolio this transaction belongs to */
  portfolioId: string;
  /** Optional reference to the broker */
  brokerId?: string;
  /** Optional transaction ID from the broker */
  brokerTransactionId?: string;
  /** Optional notes about the transaction */
  notes?: string;
}

TradeLot

Represents a portion of a trade that has been sold, enabling FIFO/LIFO tracking.

interface TradeLot {
  /** Reference to the sell transaction */
  sellTransactionId: string;
  /** Quantity sold in this lot */
  sellQuantity: number;
}

Portfolio Management

Portfolio

Represents an individual investment portfolio.

interface Portfolio {
  /** Unique identifier for the portfolio */
  id: string;
  /** Name of the portfolio */
  name: string;
  /** Currency of the portfolio */
  currency: string;
  /** Optional notes about the portfolio */
  notes?: string;
}

PortfolioGroup

Represents a collection of portfolios for consolidated management.

interface PortfolioGroup {
  /** Unique identifier for the portfolio group */
  id: string;
  /** Currency of the portfolio group */
  currency: string;
  /** Collection of portfolio IDs */
  portfolioIds: string[];
  /** Optional notes about the portfolio group */
  notes?: string;
}

PortfolioAnalytics

Comprehensive portfolio-level analytics and performance metrics.

interface PortfolioAnalytics {
  /** Reference to the portfolio */
  portfolioId: string;
  /** Date and time when analytics are valid (in UTC) */
  asOfDateTime: string;
  /** Analytics summary for this portfolio */
  analyticsSummary: AnalyticsSummary;
  /** Risk analytics and metrics for this portfolio */
  riskAnalytics: RiskAnalytics;
  /** List of instrument-level breakdowns */
  instrumentBreakdowns: PortfolioInstrumentBreakdown[];
}

PortfolioInstrumentBreakdown

Analytics metrics for a specific instrument within a portfolio.

interface PortfolioInstrumentBreakdown {
  /** Reference to the instrument */
  instrumentId: string;
  /** Total open quantity of the instrument */
  totalOpenQuantity: number;
  /** Total sold quantity of the instrument */
  totalSoldQuantity: number;
  /** Analytics summary for this instrument */
  analyticsSummary: AnalyticsSummary;
}

PortfolioAnalysis

AI-generated analysis and insights for a portfolio.

interface PortfolioAnalysis {
  /** Unique identifier for the portfolio analysis */
  id: string;
  /** Date and time when the analysis was created in UTC (YYYY-MM-DD HH:mm:ss format) */
  createDateTime: string;
  /** Reference to the portfolio that was analyzed */
  portfolioId: string;
  /** AI-generated analysis text content */
  analysis: string;
}

Financial Instruments

Instrument

Represents a financial instrument (stock, bond, ETF, etc.).

interface Instrument {
  /** Unique identifier (exchange + symbol) */
  id: string;
  /** Name of the instrument */
  name: string;
  /** Symbol/ticker of the instrument */
  symbol: string;
  /** Exchange where the instrument is traded */
  exchange: string;
  /** Type of the instrument */
  type: InstrumentType;
  /** Currency of the instrument */
  currency: string;
  /** Industry classification of the instrument (optional) */
  industry?: string;
  /** Sector classification of the instrument (optional) */
  sector?: string;
  /** Optional notes about the instrument */
  notes?: string;
}

UserInstrument

Financial instrument with user-specific data and current market information.

interface UserInstrument {
  /** Unique identifier (exchange + symbol) */
  id: string;
  /** Name of the instrument */
  name: string;
  /** Symbol/ticker of the instrument */
  symbol: string;
  /** Type of the instrument */
  type: InstrumentType;
  /** Currency of the instrument */
  currency: string;
  /** Industry classification of the instrument (optional) */
  industry?: string;
  /** Sector classification of the instrument (optional) */
  sector?: string;
  /** Optional notes about the instrument */
  notes?: string;
  /** Risk level of the instrument */
  riskLevel: string;
  /** Current price */
  price: number;
  /** Closing price */
  close: number;
}

PricePoint

Comprehensive price data for a financial instrument.

interface PricePoint {
  /** Reference to the instrument */
  instrumentId: string;
  /** Date and time of the price data in UTC (YYYY-MM-DD HH:mm:ss format) */
  asOfDateTime: string;
  /** Current price */
  price: number;
  /** Opening price */
  open: number;
  /** Highest price during the period */
  high: number;
  /** Lowest price during the period */
  low: number;
  /** Closing price */
  close: number;
  /** Trading volume */
  volume: number;
  /** Pre-market change */
  preMarketChange: number;
  /** Pre-market change percentage */
  preMarketChangePercent: number;
  /** Shares outstanding */
  sharesOutstanding: number;
  /** Market cap */
  marketCap: number;
  /** Forward EPS */
  epsForward: number;
  /** Forward P/E */
  forwardPE: number;
}

Note: All prices are in the currency of the instrument.

InstrumentRating

Analyst ratings and recommendations for a financial instrument.

interface InstrumentRating {
  /** Reference to the instrument being rated */
  instrumentId: string;
  /** Average analyst rating (if available) */
  averageRating?: number | null;
  /** Number of analysts with a "Strong Buy" recommendation */
  strongBuy: number;
  /** Number of analysts with a "Buy" recommendation */
  buy: number;
  /** Number of analysts with a "Hold" recommendation */
  hold: number;
  /** Number of analysts with a "Sell" recommendation */
  sell: number;
  /** Number of analysts with a "Strong Sell" recommendation */
  strongSell: number;
  /** Total number of analysts providing recommendations */
  totalAnalysts: number;
  /** Consensus price target (if available) */
  priceTarget?: number | null;
  /** Highest price target among all analysts (if available) */
  priceTargetHigh?: number | null;
  /** Lowest price target among all analysts (if available) */
  priceTargetLow?: number | null;
  /** Mean (average) price target among all analysts (if available) */
  priceTargetMean?: number | null;
  /** Median price target among all analysts (if available) */
  priceTargetMedian?: number | null;
  /** Recommendation trend analysis (if available) */
  recommendationTrend?: string | null;
  /** Date and time when the rating data was captured in UTC (YYYY-MM-DD HH:mm:ss format) */
  asOfDateTime: string;
}

InstrumentUpgradeDowngrade

Analyst rating changes (upgrades/downgrades) for a financial instrument.

interface InstrumentUpgradeDowngrade {
  /** Reference to the instrument that received the rating change */
  instrumentId: string;
  /** Name of the financial firm or analyst that issued the rating change */
  firm: string;
  /** New rating assigned to the instrument (if available) */
  toGrade?: string;
  /** Previous rating before the change (if available) */
  fromGrade?: string;
  /** Type of action taken (e.g., "upgrade", "downgrade", "initiate", "reiterate") */
  action: string;
  /** Timestamp of the grade date in epoch format (if available) */
  epochGradeDate?: number;
  /** Date when the rating change was issued in readable format (if available) */
  gradeDate?: string;
  /** New price target set by the analyst (if available) */
  priceTarget?: number;
  /** Change in price target from previous target (if available) */
  priceTargetChange?: number;
  /** Date and time when the upgrade/downgrade data was captured in UTC (YYYY-MM-DD HH:mm:ss format) */
  asOfDateTime: string;
}

InstrumentRiskProfile

Risk assessment metrics for a financial instrument.

interface InstrumentRiskProfile {
  /** Reference to the instrument being assessed */
  instrumentId: string;
  /** Beta coefficient measuring the instrument's volatility relative to the market (if available) */
  beta: number | null;
  /** Annualized standard deviation of daily returns, indicating price volatility (if available) */
  volatility: number | null;
  /** Sharpe ratio measuring risk-adjusted return performance (if available) */
  sharpeRatio: number | null;
  /** Overall risk score on a 0-100 scale, where higher values indicate higher risk (if available) */
  riskScore: number | null;
  /** Categorized risk level based on quantitative analysis (if available) */
  riskLevel: InstrumentRiskLevel | null;
  /** Date and time when the risk profile data was captured in UTC (YYYY-MM-DD HH:mm:ss format) */
  asOfDateTime: string;
}

InstrumentFinancialMetric

Financial metric for an instrument at a specific year.

interface InstrumentFinancialMetric {
  /** Reference to the instrument for which the metric is reported */
  instrumentId: string;
  /** Year for which the financial metric is reported */
  year: number;
  /** Name or type of the financial metric (e.g., "revenue", "net_income", "eps") */
  metric: string;
  /** Value of the financial metric for the specified year (if available) */
  value: number | null;
  /** Date and time when the financial metric data was captured in UTC (YYYY-MM-DD HH:mm:ss format) */
  asOfDateTime: string;
}

Cash Management

CashTransaction

Represents a cash flow transaction (deposits, withdrawals, dividends, etc.).

interface CashTransaction {
  /** Unique identifier for the cash transaction */
  id: string;
  /** Reference to the portfolio this cash transaction belongs to */
  portfolioId: string;
  /** Type of the cash transaction */
  type: CashTransactionType;
  /** Direction of the cash flow (in/out) */
  direction: CashTransactionDirection;
  /** Amount of the cash transaction (in portfolio currency) */
  amount: number;
  /** Date and time of the cash transaction in UTC (YYYY-MM-DD HH:mm:ss format) */
  transactionDateTime: string;
  /** Optional notes about the cash transaction */
  notes?: string;
}

CashBalance

Cash balance information for a portfolio or portfolio group.

interface CashBalance {
  /** Total cash in (deposits, dividends, etc.) */
  totalCashIn: number;
  /** Total cash out (withdrawals, fees, etc.) */
  totalCashOut: number;
  /** Net cash from cash transactions (totalCashIn - totalCashOut) */
  netCashTransactions: number;
  /** Net cash from trade transactions (buy/sell) */
  netTradeCash: number;
  /** Total cash balance */
  totalBalance: number;
}

Market Data

MarketNewsData

Market news data at a specific point in time.

interface MarketNewsData {
  /** Date and time when the market news data was captured in UTC (YYYY-MM-DD HH:mm:ss format) */
  asOfDateTime: string;
  /** JSON string containing the market news data */
  data: string;
}

MarketGainersLosersData

Market gainers and losers data at a specific point in time.

interface MarketGainersLosersData {
  /** Date and time when the market gainers and losers data was captured in UTC (YYYY-MM-DD HH:mm:ss format) */
  asOfDateTime: string;
  /** JSON string containing the market gainers and losers data */
  data: string;
}

FxRatePoint

Foreign exchange rate at a specific point in time.

interface FxRatePoint {
  /** Date and time of the exchange rate in UTC (YYYY-MM-DD HH:mm:ss format) */
  asOfDateTime: string;
  /** Base currency (currency being converted from) */
  baseCurrency: string;
  /** Target currency (currency being converted to) */
  toCurrency: string;
  /** Exchange rate (how much of toCurrency you get for 1 baseCurrency) */
  rate: number;
}

User & Account Management

User

Represents a user account in the system.

interface User {
  /** Unique identifier for the user */
  id: string;
  /** Email address of the user */
  emailAddress: string;
  /** Display name for the user */
  displayName: string;
  /** Source of user authentication */
  source: UserSource;
  /** Whether the user account is active */
  isActive: boolean;
  /** Hash of the user's password */
  passwordHash: string;
}

UserProfile

User profile information and preferences.

interface UserProfile {
  /** Display name for the user */
  displayName: string;
  /** Default currency for the user */
  defaultCurrency: string;
  /** Theme preference for the user */
  theme: string;
  /** Subscription plan for the user */
  subscriptionPlan: SubscriptionPlan;
}

UserClassification

User-defined sector and industry classifications for financial instruments.

interface UserClassification {
  /** Unique Instrument ID */
  instrumentId: string;
  /** Sector classification of the instrument */
  sector: string;
  /** Industry classification of the instrument */
  industry: string;
}

WatchList

User's watch list of financial instruments.

interface WatchList {
  /** Unique identifier for the watch list */
  id: string;
  /** Name of the watch list */
  name: string;
  /** Description of the watch list */
  description: string;
  /** Array of instrument IDs in this watch list */
  instrumentIds: string[];
}

Investment Strategy

Strategy

Investment strategy with associated instruments and performance metrics.

interface Strategy {
  /** Unique identifier for the strategy */
  id: string;
  /** Name of the strategy */
  name: string;
  /** Date and time when the strategy was created in UTC (YYYY-MM-DD HH:mm:ss format) */
  createDateTime: string;
  /** Reference to the portfolio this strategy belongs to */
  portfolioId: string;
  /** Amount of money to invest in this strategy */
  amount: number;
  /** Risk tolerance level for this strategy */
  riskLevel: string;
  /** Start date for the strategy implementation (YYYY-MM-DD format) */
  startDate: string;
  /** Duration of the strategy in a readable format */
  duration: string;
  /** End date for the strategy (YYYY-MM-DD format) */
  endDate: string;
  /** Expected return percentage for this strategy */
  expectedReturn: number;
  /** List of instruments included in this strategy */
  instruments: StrategyInstrument[];
}

StrategyInstrument

Individual instrument within an investment strategy.

interface StrategyInstrument {
  /** Symbol/ticker of the instrument */
  symbol: string;
  /** Exchange where the instrument is traded */
  exchange: string;
  /** Amount of money allocated to this instrument */
  amount: number;
  /** Date when position should be entered (YYYY-MM-DD format) */
  entryDate: string;
  /** Date when position should be exited (YYYY-MM-DD format) */
  exitDate: string;
  /** Target price for entering the position */
  entryPrice: number;
  /** Target price for exiting the position */
  exitPrice: number;
  /** Expected return percentage for this instrument */
  expectedReturn: number;
  /** Reasoning or rationale for including this instrument in the strategy */
  reason: string;
}

Analytics & Reporting

AnalyticsSummary

Comprehensive performance metrics summary for positions, trades, and portfolios.

interface AnalyticsSummary {
  /** Realized profit or loss from closed (sold) quantities */
  realizedProfitLoss: number;
  /** Running (unrealized) profit or loss for open positions */
  runningProfitLoss: number;
  /** Total amount invested (including both open and closed positions) */
  totalInvestment: number;
  /** Amount currently invested in open positions */
  currentInvestment: number;
  /** Total market value for both open and closed positions as of the given date */
  totalValue: number;
  /** Current market value for the open position based on market data as of the given date */
  currentValue: number;
  /** Previous day's market value for the open position */
  previousDayValue: number;
  /** Daily change percentage from previous day */
  dailyChangePercentage: number;
  /** Total return (including open and closed positions), expressed as a percentage */
  totalReturnPercentage: number;
  /** Running return for open positions, expressed as a percentage */
  runningReturnPercentage: number;
}

RiskAnalytics

Risk assessment metrics for financial analysis.

interface RiskAnalytics {
  /** Beta coefficient measuring volatility relative to the market (if available) */
  beta: number | null;
  /** Annualized standard deviation of daily returns, indicating price volatility (if available) */
  volatility: number | null;
  /** Sharpe ratio measuring risk-adjusted return performance (if available) */
  sharpeRatio: number | null;
}

InvestmentSummary

Summary of investment metrics across multiple portfolios.

interface InvestmentSummary {
  /** A dictionary of portfolio analytics, keyed by portfolio ID */
  portfoliosAnalytics: Record<string, PortfolioAnalytics>;
  /** A dictionary of portfolio cash balances, keyed by portfolio ID */
  portfoliosCashBalance: Record<string, CashBalance>;
}

Supporting Types

Broker

Represents a financial broker or trading platform.

interface Broker {
  /** Unique identifier for the broker */
  id: string;
  /** Name of the broker */
  name: string;
  /** Optional notes about the broker */
  notes?: string;
}

Currency

Currency code and description.

interface Currency {
  /** ISO currency code (e.g., 'USD', 'EUR') */
  code: string;
  /** Optional description of the currency */
  description?: string | null;
}

🏷️ Enumerations

InstrumentType

Different types of financial instruments.

enum InstrumentType {
  STOCK = 'stock',
  ETF = 'etf',
  BOND = 'bond',
  FOREX = 'forex',
  CRYPTO = 'crypto',
  COMMODITY = 'commodity',
  PRECIOUS_METAL = 'precious_metal',
  EXOTIC = 'exotic',
  INDEX = 'index',
  UNKNOWN = 'unknown'
}

TradeTransactionDirection

Direction of trade transactions.

enum TradeTransactionDirection {
  BUY = 'buy',
  SELL = 'sell'
}

CashTransactionDirection

Direction of cash transactions.

enum CashTransactionDirection {
  IN = 'in',
  OUT = 'out'
}

CashTransactionType

Types of cash transactions.

enum CashTransactionType {
  DEPOSIT = 'deposit',
  DIVIDEND = 'dividend',
  INTEREST_EARNED = 'interestEarned',
  WITHDRAWAL = 'withdrawal',
  BROKER_MAINTENANCE_FEE = 'brokerMaintenanceFee',
  INTEREST_PAID = 'interestPaid',
  MISC = 'misc'
}

UserSource

Authentication providers for users.

enum UserSource {
  GOOGLE = 'google',
  FACEBOOK = 'facebook',
  LINKEDIN = 'linkedin',
  LOCAL = 'local'
}

SubscriptionPlan

Different subscription tiers available to users.

enum SubscriptionPlan {
  /** Free tier with basic features */
  FREE = 'free',
  /** Basic paid tier with additional features */
  BASIC = 'basic',
  /** Premium tier with all features and advanced analytics */
  PRO = 'pro'
}

InstrumentRiskLevel

Risk level classification for financial instruments.

type InstrumentRiskLevel = 'Low' | 'Medium' | 'High';

📝 Conventions & Standards

Date & Time Format

  • All date/time fields use UTC timezone
  • Format: YYYY-MM-DD HH:mm:ss (ISO 8601 without timezone designation)
  • Date-only fields use YYYY-MM-DD format

Currency Conventions

  • Portfolio Currency: All monetary calculations and P&L are in the portfolio's base currency
  • Instrument Currency: Price data and transaction fees are in the instrument's trading currency
  • Exchange Rates: Used to convert between instrument and portfolio currencies

Nullable Values

  • Optional fields use ?: syntax
  • Nullable values use | null union type
  • Undefined values are avoided in favor of explicit null

Naming Conventions

  • Interfaces: PascalCase (e.g., PortfolioAnalytics)
  • Properties: camelCase (e.g., portfolioId)
  • Enums: PascalCase with UPPER_CASE values
  • IDs: Always string type, typically kebab-case or colon-separated

🏗️ Project Structure

src/
├── types/
│   ├── analyticsSummary.ts
│   ├── broker.ts
│   ├── cashBalance.ts
│   ├── cashTransaction.ts
│   ├── cashTransactionDirection.ts
│   ├── cashTransactionType.ts
│   ├── currency.ts
│   ├── fxRatePoint.ts
│   ├── instrument.ts
│   ├── instrumentFinancialMetric.ts
│   ├── instrumentRating.ts
│   ├── instrumentRiskProfile.ts
│   ├── instrumentType.ts
│   ├── instrumentUpgradeDowngrade.ts
│   ├── investmentSummary.ts
│   ├── marketGainersLosersData.ts
│   ├── marketNewsData.ts
│   ├── portfolio.ts
│   ├── portfolioAnalysis.ts
│   ├── portfolioAnalytics.ts
│   ├── portfolioGroup.ts
│   ├── portfolioInstrumentBreakdown.ts
│   ├── pricePoint.ts
│   ├── riskAnalytics.ts
│   ├── strategy.ts
│   ├── trade.ts
│   ├── tradeLot.ts
│   ├── tradeTransactionDirection.ts
│   ├── transaction.ts
│   ├── user.ts
│   ├── userClassification.ts
│   ├── userInstrument.ts
│   ├── userProfile.ts
│   └── watchList.ts
├── index.ts
├── tsconfig.json
├── tsconfig.cjs.json
└── tsconfig.esm.json

🛠️ Development

Build Commands

# Build both ESM and CommonJS distributions
npm run build

# Build CommonJS only
npm run build:cjs

# Build ESM only
npm run build:esm

# Clean build artifacts
npm run clean

TypeScript Configuration

  • Target: ES2020
  • Module: Dual (ESM + CommonJS)
  • Strict Mode: Enabled
  • Declaration: Generated for both distributions

📄 License

MIT License - see LICENSE file for details.

🤝 Contributing

This package is part of the Dromanis Finora ecosystem. For contributions and issues, please contact the development team.


Built with ❤️ for the Dromanis Finora platform