scriptures-byu-edu-http-client
Version:
TypeScript SDK for querying the BYU Scripture Citation Index API (for Bun)
56 lines (55 loc) • 1.5 kB
TypeScript
export type { Speakers } from "./speakers";
export type Tab = "t" | "s";
export declare enum TalkSourceFlag {
GeneralConference = "g",
JournalOfDiscourses = "j",
TeachingsOfJosephSmith = "t"
}
export declare enum ScriptureSourceFlag {
OldTestament = "o",
NewTestament = "n",
JSTFootnotes = "f",
BookOfMormon = "b",
DoctrineAndCovenants = "d",
PearlOfGreatPrice = "p",
JST = "j"
}
export type SourceFlag = TalkSourceFlag | ScriptureSourceFlag;
export type SortOrder = "r" | "n";
/**
* Citation query for Talks tab ('t').
* Includes speakerId, startYear, endYear.
*/
export interface TalksCitationIndexQuery {
tab: "t";
speakerId?: string;
startYear?: number;
endYear?: number;
sources: TalkSourceFlag[];
sort?: SortOrder;
pageSize?: number;
offset?: number;
query: string;
}
/**
* Citation query for Scriptures tab ('s').
* Does NOT include speakerId, startYear, endYear.
*/
export interface ScripturesCitationIndexQuery {
tab: "s";
sources: ScriptureSourceFlag[];
sort?: SortOrder;
pageSize?: number;
offset?: number;
query: string;
}
/**
* Union type for citation queries.
*/
export type CitationIndexQuery = TalksCitationIndexQuery | ScripturesCitationIndexQuery;
export declare const resultTitleClass = "resultTitle";
export declare const resultContextClass = "resultContext";
export interface CitationIndexResult {
[resultTitleClass]: string;
[resultContextClass]: string;
}