UNPKG

@tricoteuses/assemblee

Version:

Retrieve, clean up & handle French Assemblée nationale's open data

113 lines (112 loc) 4.47 kB
import { z } from 'zod'; import { ActeurCleanSchema, MandatCleanSchema, OrganeClean, DeportCleanSchema } from '../clean/acteurs_et_organes.js'; /** * Suppleant enriched - extends SuppleantClean * Adds resolved acteur from suppleantRef */ export declare const SuppleantEnrichedSchema: z.ZodObject<{ dateDebut: z.ZodPipe<z.ZodPipe<z.ZodTransform<string | Date | undefined, unknown>, z.ZodOptional<z.ZodDate>> & z.ZodType<Date, unknown, z.core.$ZodTypeInternals<Date, unknown>>, z.ZodTransform<Date, Date>>; dateFin: z.ZodPipe<z.ZodTransform<string | Date | undefined, unknown>, z.ZodOptional<z.ZodDate>>; suppleantRef: z.ZodString; suppleant: z.ZodOptional<z.ZodLazy<z.ZodType<ActeurEnriched, unknown, z.core.$ZodTypeInternals<ActeurEnriched, unknown>>>>; }, z.core.$strip>; export type SuppleantEnriched = z.infer<typeof SuppleantEnrichedSchema>; /** * Mandat enriched - extends MandatClean * Adds: * - acteur?: Acteur (from acteurRef) * - organes?: Organe[] (from organesRefs) */ export declare const MandatEnrichedSchema: z.ZodType<MandatEnriched>; export type MandatEnriched = z.infer<typeof MandatCleanSchema> & { acteur?: ActeurEnriched; organes?: OrganeEnriched[]; suppleant?: SuppleantEnriched; }; /** * Organe enriched - extends OrganeClean * Note: organeParent and organePrecedent already in clean schema * (they were added by cleanOrgane, not by enrichment) */ export declare const OrganeEnrichedSchema: z.ZodType<OrganeClean, unknown, z.core.$ZodTypeInternals<OrganeClean, unknown>>; export type OrganeEnriched = OrganeClean; /** * Deport enriched - extends DeportClean * Adds: * - acteur?: Acteur (from refActeur) */ export declare const DeportEnrichedSchema: z.ZodType<DeportEnriched>; export type DeportEnriched = z.infer<typeof DeportCleanSchema> & { acteur?: ActeurEnriched; }; /** * Acteur enriched - extends ActeurClean * Note: Acteur doesn't have enrichment fields (doesn't reference other entities) * But mandats array contains MandatEnriched */ export declare const ActeurEnrichedSchema: z.ZodType<ActeurEnriched>; export type ActeurEnriched = z.infer<typeof ActeurCleanSchema> & { mandats?: MandatEnriched[]; deports?: DeportEnriched[]; }; /** * ActeursEtOrganes enriched - extends ActeursEtOrganesClean */ export declare const ActeursEtOrganesEnrichedSchema: z.ZodObject<{ organes: z.ZodArray<z.ZodType<OrganeClean, unknown, z.core.$ZodTypeInternals<OrganeClean, unknown>>>; acteurs: z.ZodArray<z.ZodType<ActeurEnriched, unknown, z.core.$ZodTypeInternals<ActeurEnriched, unknown>>>; }, z.core.$strip>; export type ActeursEtOrganesEnriched = z.infer<typeof ActeursEtOrganesEnrichedSchema>; /** * Parse Acteur from JSON string */ export declare function parseActeurEnriched(json: string): ActeurEnriched; /** * Parse Organe from JSON string */ export declare function parseOrganeEnriched(json: string): OrganeEnriched; /** * Parse Deport from JSON string */ export declare function parseDeportEnriched(json: string): DeportEnriched; /** * Parse ActeursEtOrganes from JSON string */ export declare function parseActeursEtOrganesEnriched(json: string): ActeursEtOrganesEnriched; /** * Serialize Acteur to JSON string */ export declare function acteurEnrichedToJson(value: ActeurEnriched): string; /** * Serialize Organe to JSON string */ export declare function organeEnrichedToJson(value: OrganeEnriched): string; /** * Serialize Deport to JSON string */ export declare function deportEnrichedToJson(value: DeportEnriched): string; /** * Serialize ActeursEtOrganes to JSON string */ export declare function acteursEtOrganesEnrichedToJson(value: ActeursEtOrganesEnriched): string; /** * File-specific Convert object matching Quicktype's Convert class API * * @example * ```typescript * import { ActeursEtOrganesEnrichedConvert } from "@tricoteuses/assemblee/zod" * * const acteur = ActeursEtOrganesEnrichedConvert.toActeur(json) * const json = ActeursEtOrganesEnrichedConvert.acteurToJson(acteur) * ``` */ export declare const ActeursEtOrganesEnrichedConvert: { toActeur: typeof parseActeurEnriched; acteurToJson: typeof acteurEnrichedToJson; toOrgane: typeof parseOrganeEnriched; organeToJson: typeof organeEnrichedToJson; toDeport: typeof parseDeportEnriched; deportToJson: typeof deportEnrichedToJson; toActeursEtOrganes: typeof parseActeursEtOrganesEnriched; acteursEtOrganesToJson: typeof acteursEtOrganesEnrichedToJson; };