UNPKG

stock-nse-india

Version:

This package will help us to get equity/index details and historical data from National Stock Exchange of India.

67 lines 2.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const index_1 = require("./index"); const nseIndia = new index_1.NseIndia(); function stringArrayFilter(input, filter) { let data = [...input]; const { offset, limit, eq, neq, in: inside, nin, startsWith, regex } = filter || {}; if (startsWith) { data = data.filter(item => item.startsWith(startsWith)); } if (regex) { const re = new RegExp(regex); data = data.filter(item => re.test(item)); } if (inside === null || inside === void 0 ? void 0 : inside.length) { data = data.filter(item => inside.includes(item)); } if (nin === null || nin === void 0 ? void 0 : nin.length) { data = data.filter(item => !nin.includes(item)); } if (eq) { data = data.filter(item => item === eq); } if (neq) { data = data.filter(item => item !== neq); } if (offset !== undefined) { data = data.filter((_, index) => index > offset); } if (limit !== undefined) { data = data.filter((_, index) => index < limit); } return data; } function objectFilter(input, filterBy, filter) { const { regex } = filter || {}; let data = [...input]; if (regex && filterBy) { const re = new RegExp(regex); data = data.filter((item) => re.test(item[filterBy])); } return data; } exports.default = { Query: { equities: async (_parent, { symbolFilter }) => { const results = await nseIndia.getAllStockSymbols(); return stringArrayFilter(results, symbolFilter); }, indices: async (_parent, { filter }) => { const indices = await nseIndia.getDataByEndpoint(index_1.ApiList.ALL_INDICES); if (filter) return objectFilter(indices.data, filter.filterBy, filter.criteria); return indices.data; } }, Equity: { symbol: (parent) => { return parent; }, details: async (parent) => { const result = await nseIndia.getEquityDetails(parent); return result; } } }; //# sourceMappingURL=root.resolver.js.map