@tricoteuses/senat
Version:
Handle French Sénat's open data
76 lines (75 loc) • 1.59 kB
TypeScript
export interface SearchParams {
search: string;
videotype: string;
period?: string;
begin?: string;
end?: string;
organe?: string;
}
export type MatchResult = {
best: BestMatch;
secondBest: BestMatch | null;
reason?: "margin_ambiguous_time_sp";
};
export type MatchWeights = {
minAccept: number;
margin: number;
titleDominance?: number;
orgUncertainPenalty?: number;
orgSkipDice?: number;
spTitleMin?: number;
spMargin?: number;
wTitle: number;
wOrg: number;
wSalle: number;
wTime: number;
sameOrgBonus: number;
titleMin?: number;
};
export type VideoScoreWeights = {
wTitle: number;
wOrg: number;
wSalle: number;
wTime: number;
sameOrgBonus: number;
titleMin?: number;
};
export type Candidate = {
id: string;
hash: string;
pageUrl: string;
title?: string;
isSeancePublique?: boolean;
};
export type VideoScoreSignals = {
titleScore: number;
orgScore: number;
salleScore: number;
timeScore: number;
sameOrg: boolean;
timeAmbigious: boolean;
};
export type BestMatch = {
id: string;
hash: string;
pageUrl: string;
epoch?: number;
vtitle?: string;
score: number;
vorgane?: string;
vsalle?: string;
m3u8: string;
signals: VideoScoreSignals;
};
export type MatchContext = {
session: number;
dataDir: string;
baseDir: string;
reunionUid: string;
agendaTs: number | null;
};
export type LastForVideo = {
agendaUid: string;
agendaJsonPath: string;
start: number;
};