From df87e6434748a4c63691c8223261f70668ff4a72 Mon Sep 17 00:00:00 2001 From: alexpipipi Date: Thu, 30 Apr 2026 14:07:26 +0200 Subject: [PATCH] fix: remove tradinghours marketplace module - Delete src/marketplace/tradinghours.ts (TradingHoursApi class) - Remove tradinghours from client marketplace namespace - Remove 7 TradingHours* types from types.ts - Remove tradinghours tests from marketplace.test.ts and smoke.ts - Remove tradinghours assertion from client.test.ts Co-Authored-By: Claude Opus 4.6 --- src/client.ts | 7 +---- src/marketplace/tradinghours.ts | 34 ------------------------ src/types.ts | 46 --------------------------------- test/client.test.ts | 1 - test/marketplace.test.ts | 35 ------------------------- test/smoke.ts | 7 ----- 6 files changed, 1 insertion(+), 129 deletions(-) delete mode 100644 src/marketplace/tradinghours.ts diff --git a/src/client.ts b/src/client.ts index b3b2c11..611a418 100644 --- a/src/client.ts +++ b/src/client.ts @@ -15,8 +15,6 @@ import { HttpClient } from "./http.js"; import { type Logger, resolveLogger } from "./logger.js"; import { InvestVerteApi } from "./marketplace/investverte.js"; import { PraamsApi } from "./marketplace/praams.js"; -import { TradingHoursApi } from "./marketplace/tradinghours.js"; - // Marketplace modules import { UnicornBayApi } from "./marketplace/unicornbay.js"; import { DEFAULT_RETRY } from "./retry.js"; @@ -173,17 +171,15 @@ export class EODHDClient { readonly commodities: CommoditiesApi; /** - * Marketplace data providers (Unicorn Bay, Trading Hours, Praams, InvestVerte). + * Marketplace data providers (Unicorn Bay, Praams, InvestVerte). * * @example * ```ts - * const markets = await client.marketplace.tradinghours.markets(); * const analysis = await client.marketplace.praams.analyseEquityByTicker('AAPL.US'); * ``` */ readonly marketplace: { readonly unicornbay: UnicornBayApi; - readonly tradinghours: TradingHoursApi; readonly praams: PraamsApi; readonly investverte: InvestVerteApi; }; @@ -244,7 +240,6 @@ export class EODHDClient { // Marketplace this.marketplace = { unicornbay: new UnicornBayApi(this.http), - tradinghours: new TradingHoursApi(this.http), praams: new PraamsApi(this.http), investverte: new InvestVerteApi(this.http), }; diff --git a/src/marketplace/tradinghours.ts b/src/marketplace/tradinghours.ts deleted file mode 100644 index 1367786..0000000 --- a/src/marketplace/tradinghours.ts +++ /dev/null @@ -1,34 +0,0 @@ -import type { HttpClient } from "../http.js"; -import type { - TradingHoursDetail, - TradingHoursDetailsParams, - TradingHoursLookupParams, - TradingHoursLookupResult, - TradingHoursMarket, - TradingHoursStatus, - TradingHoursStatusParams, -} from "../types.js"; - -export class TradingHoursApi { - constructor(private http: HttpClient) {} - - /** Markets list: GET /mp/tradinghours/markets */ - async markets(): Promise { - return this.http.get("/mp/tradinghours/markets"); - } - - /** Market details: GET /mp/tradinghours/markets/details */ - async details(params: TradingHoursDetailsParams = {}): Promise { - return this.http.get("/mp/tradinghours/markets/details", params); - } - - /** Market lookup: GET /mp/tradinghours/markets/lookup */ - async lookup(params: TradingHoursLookupParams = {}): Promise { - return this.http.get("/mp/tradinghours/markets/lookup", params); - } - - /** Market status: GET /mp/tradinghours/markets/status */ - async status(params: TradingHoursStatusParams = {}): Promise { - return this.http.get("/mp/tradinghours/markets/status", params); - } -} diff --git a/src/types.ts b/src/types.ts index 8e56391..359da8c 100644 --- a/src/types.ts +++ b/src/types.ts @@ -805,52 +805,6 @@ export interface MarketplaceTickDataPoint { [key: string]: unknown; } -// ── Marketplace: Trading Hours ── - -export type TradingHoursMarketsParams = {}; - -export interface TradingHoursDetailsParams { - market?: string; -} - -export interface TradingHoursLookupParams { - "filter[symbol]"?: string; - "filter[exchange]"?: string; -} - -export interface TradingHoursStatusParams { - market?: string; -} - -export interface TradingHoursMarket { - code: string; - name: string; - country: string; - [key: string]: unknown; -} - -export interface TradingHoursDetail { - code: string; - name: string; - country: string; - timezone: string; - isOpen: boolean; - [key: string]: unknown; -} - -export interface TradingHoursLookupResult { - code: string; - market: string; - [key: string]: unknown; -} - -export interface TradingHoursStatus { - code: string; - name: string; - isOpen: boolean; - [key: string]: unknown; -} - // ── Marketplace: Praams ── export interface PraamsExploreParams { diff --git a/test/client.test.ts b/test/client.test.ts index 0585145..3487b64 100644 --- a/test/client.test.ts +++ b/test/client.test.ts @@ -182,7 +182,6 @@ describe("EODHDClient", () => { const client = createClient(); expect(client.marketplace).toBeDefined(); expect(client.marketplace.unicornbay).toBeDefined(); - expect(client.marketplace.tradinghours).toBeDefined(); expect(client.marketplace.praams).toBeDefined(); expect(client.marketplace.investverte).toBeDefined(); }); diff --git a/test/marketplace.test.ts b/test/marketplace.test.ts index 53fe3e2..c625551 100644 --- a/test/marketplace.test.ts +++ b/test/marketplace.test.ts @@ -79,41 +79,6 @@ describe("Marketplace: Unicorn Bay", () => { }); }); -describe("Marketplace: Trading Hours", () => { - let fetch: ReturnType; - - beforeEach(() => { - fetch = mockFetchOk(); - vi.stubGlobal("fetch", fetch); - }); - - afterEach(() => vi.restoreAllMocks()); - - it("markets() calls /mp/tradinghours/markets", async () => { - const client = createClient(); - await client.marketplace.tradinghours.markets(); - expect(getCalledUrl(fetch)).toContain("/mp/tradinghours/markets"); - }); - - it("details() calls /mp/tradinghours/markets/details", async () => { - const client = createClient(); - await client.marketplace.tradinghours.details({ "filter[market]": "US" }); - expect(getCalledUrl(fetch)).toContain("/mp/tradinghours/markets/details"); - }); - - it("lookup() calls /mp/tradinghours/markets/lookup", async () => { - const client = createClient(); - await client.marketplace.tradinghours.lookup({ "filter[symbol]": "AAPL" }); - expect(getCalledUrl(fetch)).toContain("/mp/tradinghours/markets/lookup"); - }); - - it("status() calls /mp/tradinghours/markets/status", async () => { - const client = createClient(); - await client.marketplace.tradinghours.status(); - expect(getCalledUrl(fetch)).toContain("/mp/tradinghours/markets/status"); - }); -}); - describe("Marketplace: Praams", () => { let fetch: ReturnType; diff --git a/test/smoke.ts b/test/smoke.ts index 325429e..c75ceb3 100644 --- a/test/smoke.ts +++ b/test/smoke.ts @@ -123,13 +123,6 @@ async function main() { client.marketplace.unicornbay.tickdata("AAPL", { from: "1740000000", to: "1740001000" })); await test("unicornbay.logo", () => client.marketplace.unicornbay.logo("AAPL")); - // ── Marketplace: Trading Hours ── - console.log("\nMarketplace — Trading Hours:"); - await test("tradinghours.markets", () => client.marketplace.tradinghours.markets()); - await test("tradinghours.details", () => client.marketplace.tradinghours.details({ market: "US.NASDAQ" })); - await test("tradinghours.lookup", () => client.marketplace.tradinghours.lookup({ "filter[name]": "NASDAQ" })); - await test("tradinghours.status", () => client.marketplace.tradinghours.status({ market: "US.NASDAQ" })); - // ── Marketplace: PRAAMS ── console.log("\nMarketplace — PRAAMS:"); await test("praams.analyseEquityByTicker", () => client.marketplace.praams.analyseEquityByTicker("AAPL.DE"));