UNPKG

laplace-api

Version:

Client library for Laplace API for the US stock market and BIST (Istanbul stock market) fundamental financial data.

81 lines (74 loc) 2.06 kB
import { Client } from './client'; import { Region, Locale } from './collections'; // type PaginatedResponse[T any] struct { // RecordCount int `json:"recordCount"` // Items []T `json:"items"` // } export interface PaginatedResponse<T> { recordCount: number; items: T[]; } export interface CapitalIncrease { id: number; boardDecisionDate: string; registeredCapitalCeiling: string; currentCapital: string; targetCapital: string; types: string[]; spkApplicationResult: string; spkApplicationDate: string; spkApprovalDate: string; paymentDate: string; registrationDate: string; specifiedCurrency: string; symbol: string; relatedDisclosureIDs: number[]; rightsRate: string; rightsPrice: string; rightsTotalAmount: string; rightsStartDate: string; rightsEndDate: string; bonusRate: string; bonusTotalAmount: string; bonusStartDate: string; bonusDividendRate: string; bonusDividendTotalAmount: string; externalCapitalIncreaseAmount: string; externalCapitalIncreaseRate: string; } export class CapitalIncreaseClient extends Client { async getAllCapitalIncreases( page: number, size: number, region: Region ): Promise<PaginatedResponse<CapitalIncrease>> { return this.sendRequest<PaginatedResponse<CapitalIncrease>>({ method: 'GET', url: '/api/v1/capital-increase/all', params: { region, page, size }, }); } async getCapitalIncreasesForInstrument( symbol: string, page: number, size: number, region: Region, ): Promise<PaginatedResponse<CapitalIncrease>> { return this.sendRequest<PaginatedResponse<CapitalIncrease>>({ method: 'GET', url: '/api/v1/capital-increase/' + symbol, params: { region, page, size }, }); } async getActiveRightsForInstrument( symbol: string, date: string, region: Region ): Promise<CapitalIncrease[]> { return this.sendRequest<CapitalIncrease[]>({ method: 'GET', url: '/api/v1/rights/active/' + symbol, params: { date, region }, }); } }