laplace-api
Version:
Client library for Laplace API for the US stock market and BIST (Istanbul stock market) fundamental financial data.
77 lines (71 loc) • 2.02 kB
text/typescript
import { Client } from "./client";
import { Region } from "./collections";
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 | null;
spkApplicationDate: string | null;
spkApprovalDate: string | null;
paymentDate: string | null;
registrationDate: string | null;
specifiedCurrency: string;
symbol: string;
relatedDisclosureIds: number[];
rightsRate: string;
rightsPrice: string;
rightsTotalAmount: string;
rightsStartDate: string | null;
rightsEndDate: string | null;
rightsLastSellDate: string | null;
bonusRate: string;
bonusTotalAmount: string;
bonusStartDate: string | null;
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 },
});
}
}