// Run this script to build the stock symbole file console.log("runing script"); import { dnetwork } from "./dnetwork"; import { TObject } from "./dtypes"; let fs = require("fs"); const csv = require("csvtojson"); const URL_CONFIG = [ "https://www1.nseindia.com/content/indices/ind_nifty50list.csv", "https://www1.nseindia.com/content/indices/ind_niftynext50list.csv", "https://www1.nseindia.com/content/indices/ind_nifty100list.csv", "https://www1.nseindia.com/content/indices/ind_nifty200list.csv", "https://www1.nseindia.com/content/indices/ind_nifty500list.csv", "https://www1.nseindia.com/content/indices/ind_niftymidcap150list.csv", "https://www1.nseindia.com/content/indices/ind_niftymidcap50list.csv", "https://www1.nseindia.com/content/indices/ind_niftymidcap100list.csv", "https://www1.nseindia.com/content/indices/ind_niftysmallcap250list.csv", "https://www1.nseindia.com/content/indices/ind_niftysmallcap50list.csv", "https://www1.nseindia.com/content/indices/ind_niftysmallcap100list.csv", "https://www1.nseindia.com/content/indices/ind_niftylargemidcap250list.csv", "https://www1.nseindia.com/content/indices/ind_niftymidsmallcap400list.csv", "https://www1.nseindia.com/content/indices/ind_niftyautolist.csv", "https://www1.nseindia.com/content/indices/ind_niftybanklist.csv", "https://www1.nseindia.com/content/indices/ind_niftyconsumerdurableslist.csv", "https://www1.nseindia.com/content/indices/ind_niftyfinancelist.csv", "https://www1.nseindia.com/content/indices/ind_niftyfinancialservices25_50list.csv", "https://www1.nseindia.com/content/indices/ind_niftyfmcglist.csv", "https://www1.nseindia.com/content/indices/ind_niftyhealthcarelist.csv", "https://www1.nseindia.com/content/indices/ind_niftyitlist.csv", "https://www1.nseindia.com/content/indices/ind_niftymedialist.csv", "https://www1.nseindia.com/content/indices/ind_niftymetallist.csv", "https://www1.nseindia.com/content/indices/ind_niftyoilgaslist.csv", "https://www1.nseindia.com/content/indices/ind_niftypharmalist.csv", "https://www1.nseindia.com/content/indices/ind_nifty_privatebanklist.csv", "https://www1.nseindia.com/content/indices/ind_niftypsubanklist.csv", "https://www1.nseindia.com/content/indices/ind_niftyrealtylist.csv", ]; async function run() { let result: TObject = {}; for (let i of URL_CONFIG) { let res = await dnetwork.get(i); let json = await csv().fromString(res); let key = i.split("/").slice(-1)[0].replace("list.csv", "").replace("ind_", ""); let symbol_list = json.map((x: any) => x.Symbol); result[key.toUpperCase()] = symbol_list; } let content = ` //Dip: This is a autogenerated file - to regenerate this please run build_nse.ts from VS code. export type NSE_KEY = ${Object.keys(result) .map((x) => `"${x}"`) .join(" | ")} export const SYMBOL_LIST = ${JSON.stringify(result || {}, null, 1)} `; console.log(content); fs.writeFile("./src/symbol.ts", content, function (err: any) { if (err) { console.log("Not generted file"); return console.log(err); } else { console.log("symbol.ts genarated successfully"); } }); } run();