UNPKG

tradingview-screener-ts

Version:

TypeScript port of TradingView Screener with 100% Python parity - Based on the original Python library by shner-elmo (https://github.com/shner-elmo/TradingView-Screener)

153 lines 11.1 kB
"use strict"; /** * TradingView Screener TypeScript Library * * A world-class TypeScript package for creating stock screeners with the TradingView API. * This package retrieves data directly from TradingView without web scraping or HTML parsing. * * 🎯 **100% Python Parity** - Complete feature compatibility with the original Python library * 🔒 **Full Type Safety** - Comprehensive TypeScript definitions with IntelliSense support * 🌍 **Global Markets** - 67+ countries including dedicated India market support * 📊 **3000+ Fields** - Complete access to all TradingView data fields * ⚡ **Modern Async** - Promise-based API with async/await patterns * 🇮🇳 **India Market** - Dedicated support with INR currency formatting * * @example * Basic stock screening: * ```typescript * import { Query, col } from 'tradingview-screener-ts'; * * const result = await new Query() * .select('name', 'close', 'volume', 'market_cap_basic') * .where( * col('market_cap_basic').gt(1_000_000_000), * col('volume').gt(1_000_000) * ) * .getScannerData(); * * console.log(`Found ${result.totalCount} stocks`); * ``` * * @example * India market screening: * ```typescript * import { Query, col } from 'tradingview-screener-ts'; * * const indiaStocks = await new Query() * .setMarkets('india') * .select('name', 'close', 'volume', 'market_cap_basic', 'P/E') * .where( * col('market_cap_basic').gt(10_000_000_000), // ₹10B+ * col('P/E').between(8, 35), * col('volume').gt(100_000) * ) * .getScannerData(); * ``` * * @example * Advanced technical analysis: * ```typescript * import { Query, col, And, Or } from 'tradingview-screener-ts'; * * const technicalScreen = await new Query() * .select('name', 'close', 'RSI', 'MACD.macd', 'MACD.signal') * .where( * And( * col('RSI').between(30, 70), * col('MACD.macd').gt(col('MACD.signal')), * Or( * col('close').gt(col('EMA20')), * col('volume').gt(col('volume').sma(20)) * ) * ) * ) * .orderBy('volume', false) * .getScannerData(); * ``` * * @example * Multi-market screening: * ```typescript * const globalScreen = await new Query() * .setMarkets('america', 'india', 'uk', 'germany') * .where(col('market_cap_basic').gt(5_000_000_000)) * .getScannerData(); * ``` * * @packageDocumentation * @version 1.0.3 * @author TradingView Screener TypeScript Team * @license MIT * @see {@link https://github.com/Anny26022/TradingView-Screener-ts} GitHub Repository * @see {@link https://www.npmjs.com/package/tradingview-screener-ts} NPM Package */ Object.defineProperty(exports, "__esModule", { value: true }); exports.QueryEventManager = exports.DataProcessingContext = exports.CryptoDataProcessor = exports.IndiaStockDataProcessor = exports.StockDataProcessor = exports.IndiaStockQueryBuilder = exports.ForexQueryBuilder = exports.CryptoQueryBuilder = exports.StockQueryBuilder = exports.QueryFactory = exports.Architecture = exports.TestFixtures = exports.MockHttpClient = exports.TestUtils = exports.MockDataGenerator = exports.Testing = exports.CryptoUtils = exports.SecurityAuditor = exports.ErrorSanitizer = exports.RequestSanitizer = exports.InputValidator = exports.Security = exports.monitored = exports.bundleInfo = exports.MemoryMonitor = exports.rateLimiter = exports.RateLimiter = exports.PerformanceMonitor = exports.performanceMonitor = exports.getMarketsByType = exports.getMarketCode = exports.getMarketName = exports.getMarketInfo = exports.isValidMarket = exports.MARKET_INFO = exports.COUNTRY_MARKETS = exports.ASSET_CLASSES = exports.MARKETS_LIST = exports.MARKETS_WITH_NAMES = exports.MARKETS = exports.default = exports.formatTechnicalRating = exports.col = exports.Column = exports.HEADERS = exports.URL = exports.DEFAULT_RANGE = exports.Or = exports.And = exports.Query = void 0; exports.PluginManager = exports.PerformanceObserver = void 0; // Export main classes var query_1 = require("./query"); Object.defineProperty(exports, "Query", { enumerable: true, get: function () { return query_1.Query; } }); Object.defineProperty(exports, "And", { enumerable: true, get: function () { return query_1.And; } }); Object.defineProperty(exports, "Or", { enumerable: true, get: function () { return query_1.Or; } }); Object.defineProperty(exports, "DEFAULT_RANGE", { enumerable: true, get: function () { return query_1.DEFAULT_RANGE; } }); Object.defineProperty(exports, "URL", { enumerable: true, get: function () { return query_1.URL; } }); Object.defineProperty(exports, "HEADERS", { enumerable: true, get: function () { return query_1.HEADERS; } }); var column_1 = require("./column"); Object.defineProperty(exports, "Column", { enumerable: true, get: function () { return column_1.Column; } }); Object.defineProperty(exports, "col", { enumerable: true, get: function () { return column_1.col; } }); // Export utility functions var util_1 = require("./util"); Object.defineProperty(exports, "formatTechnicalRating", { enumerable: true, get: function () { return util_1.formatTechnicalRating; } }); // Re-export for convenience var query_2 = require("./query"); Object.defineProperty(exports, "default", { enumerable: true, get: function () { return query_2.Query; } }); // Export constants - maintaining Python compatibility var constants_1 = require("./constants"); Object.defineProperty(exports, "MARKETS", { enumerable: true, get: function () { return constants_1.MARKETS; } }); Object.defineProperty(exports, "MARKETS_WITH_NAMES", { enumerable: true, get: function () { return constants_1.MARKETS_WITH_NAMES; } }); Object.defineProperty(exports, "MARKETS_LIST", { enumerable: true, get: function () { return constants_1.MARKETS_LIST; } }); Object.defineProperty(exports, "ASSET_CLASSES", { enumerable: true, get: function () { return constants_1.ASSET_CLASSES; } }); Object.defineProperty(exports, "COUNTRY_MARKETS", { enumerable: true, get: function () { return constants_1.COUNTRY_MARKETS; } }); Object.defineProperty(exports, "MARKET_INFO", { enumerable: true, get: function () { return constants_1.MARKET_INFO; } }); Object.defineProperty(exports, "isValidMarket", { enumerable: true, get: function () { return constants_1.isValidMarket; } }); Object.defineProperty(exports, "getMarketInfo", { enumerable: true, get: function () { return constants_1.getMarketInfo; } }); Object.defineProperty(exports, "getMarketName", { enumerable: true, get: function () { return constants_1.getMarketName; } }); Object.defineProperty(exports, "getMarketCode", { enumerable: true, get: function () { return constants_1.getMarketCode; } }); Object.defineProperty(exports, "getMarketsByType", { enumerable: true, get: function () { return constants_1.getMarketsByType; } }); // Export advanced modules for enterprise features var performance_1 = require("./performance"); Object.defineProperty(exports, "performanceMonitor", { enumerable: true, get: function () { return performance_1.performanceMonitor; } }); Object.defineProperty(exports, "PerformanceMonitor", { enumerable: true, get: function () { return performance_1.PerformanceMonitor; } }); Object.defineProperty(exports, "RateLimiter", { enumerable: true, get: function () { return performance_1.RateLimiter; } }); Object.defineProperty(exports, "rateLimiter", { enumerable: true, get: function () { return performance_1.rateLimiter; } }); Object.defineProperty(exports, "MemoryMonitor", { enumerable: true, get: function () { return performance_1.MemoryMonitor; } }); Object.defineProperty(exports, "bundleInfo", { enumerable: true, get: function () { return performance_1.bundleInfo; } }); Object.defineProperty(exports, "monitored", { enumerable: true, get: function () { return performance_1.monitored; } }); var security_1 = require("./security"); Object.defineProperty(exports, "Security", { enumerable: true, get: function () { return security_1.Security; } }); Object.defineProperty(exports, "InputValidator", { enumerable: true, get: function () { return security_1.InputValidator; } }); Object.defineProperty(exports, "RequestSanitizer", { enumerable: true, get: function () { return security_1.RequestSanitizer; } }); Object.defineProperty(exports, "ErrorSanitizer", { enumerable: true, get: function () { return security_1.ErrorSanitizer; } }); Object.defineProperty(exports, "SecurityAuditor", { enumerable: true, get: function () { return security_1.SecurityAuditor; } }); Object.defineProperty(exports, "CryptoUtils", { enumerable: true, get: function () { return security_1.CryptoUtils; } }); var testing_1 = require("./testing"); Object.defineProperty(exports, "Testing", { enumerable: true, get: function () { return testing_1.Testing; } }); Object.defineProperty(exports, "MockDataGenerator", { enumerable: true, get: function () { return testing_1.MockDataGenerator; } }); Object.defineProperty(exports, "TestUtils", { enumerable: true, get: function () { return testing_1.TestUtils; } }); Object.defineProperty(exports, "MockHttpClient", { enumerable: true, get: function () { return testing_1.MockHttpClient; } }); Object.defineProperty(exports, "TestFixtures", { enumerable: true, get: function () { return testing_1.TestFixtures; } }); var architecture_1 = require("./architecture"); Object.defineProperty(exports, "Architecture", { enumerable: true, get: function () { return architecture_1.Architecture; } }); Object.defineProperty(exports, "QueryFactory", { enumerable: true, get: function () { return architecture_1.QueryFactory; } }); Object.defineProperty(exports, "StockQueryBuilder", { enumerable: true, get: function () { return architecture_1.StockQueryBuilder; } }); Object.defineProperty(exports, "CryptoQueryBuilder", { enumerable: true, get: function () { return architecture_1.CryptoQueryBuilder; } }); Object.defineProperty(exports, "ForexQueryBuilder", { enumerable: true, get: function () { return architecture_1.ForexQueryBuilder; } }); Object.defineProperty(exports, "IndiaStockQueryBuilder", { enumerable: true, get: function () { return architecture_1.IndiaStockQueryBuilder; } }); Object.defineProperty(exports, "StockDataProcessor", { enumerable: true, get: function () { return architecture_1.StockDataProcessor; } }); Object.defineProperty(exports, "IndiaStockDataProcessor", { enumerable: true, get: function () { return architecture_1.IndiaStockDataProcessor; } }); Object.defineProperty(exports, "CryptoDataProcessor", { enumerable: true, get: function () { return architecture_1.CryptoDataProcessor; } }); Object.defineProperty(exports, "DataProcessingContext", { enumerable: true, get: function () { return architecture_1.DataProcessingContext; } }); Object.defineProperty(exports, "QueryEventManager", { enumerable: true, get: function () { return architecture_1.QueryEventManager; } }); Object.defineProperty(exports, "PerformanceObserver", { enumerable: true, get: function () { return architecture_1.PerformanceObserver; } }); Object.defineProperty(exports, "PluginManager", { enumerable: true, get: function () { return architecture_1.PluginManager; } }); //# sourceMappingURL=index.js.map