@tricoteuses/assemblee
Version:
Retrieve, clean up & handle French Assemblée nationale's open data
113 lines (112 loc) • 4.47 kB
TypeScript
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;
};