49 lines
1.3 KiB
TypeScript
49 lines
1.3 KiB
TypeScript
import type {
|
|
CompanyFinancialStatementsResponse,
|
|
FinancialHistoryWindow,
|
|
FinancialStatementKind
|
|
} from '@/lib/types';
|
|
import {
|
|
defaultFinancialSyncLimit,
|
|
getCompanyFinancialTaxonomy
|
|
} from '@/lib/server/financial-taxonomy';
|
|
|
|
type GetCompanyFinancialStatementsInput = {
|
|
ticker: string;
|
|
statement: FinancialStatementKind;
|
|
window: FinancialHistoryWindow;
|
|
includeDimensions: boolean;
|
|
includeFacts?: boolean;
|
|
factsCursor?: string | null;
|
|
factsLimit?: number;
|
|
cursor?: string | null;
|
|
limit?: number;
|
|
v2Enabled?: boolean;
|
|
v3Enabled?: boolean;
|
|
queuedSync: boolean;
|
|
};
|
|
|
|
export async function getCompanyFinancialStatements(
|
|
input: GetCompanyFinancialStatementsInput
|
|
): Promise<CompanyFinancialStatementsResponse> {
|
|
return await getCompanyFinancialTaxonomy({
|
|
ticker: input.ticker,
|
|
statement: input.statement,
|
|
window: input.window,
|
|
includeDimensions: input.includeDimensions,
|
|
includeFacts: input.includeFacts ?? false,
|
|
factsCursor: input.factsCursor,
|
|
factsLimit: input.factsLimit,
|
|
cursor: input.cursor,
|
|
limit: input.limit,
|
|
v3Enabled: input.v3Enabled ?? input.v2Enabled ?? true,
|
|
queuedSync: input.queuedSync
|
|
});
|
|
}
|
|
|
|
export { defaultFinancialSyncLimit };
|
|
|
|
export const __financialStatementsInternals = {
|
|
defaultFinancialSyncLimit
|
|
};
|