Baza e njohurive
SDK të tipizuar
Fillimisht një klient TypeScript, pastaj të tjerët.
Hollësi
- I publikuar në npm dhe në përdorim. @openemail/sdk është një klient TypeScript i plotë dhe pa varësi, i publikuar si ESM dhe si CommonJS, me nga një metodë për çdo operacion të dokumentuar që shërben API-ja, plus dy endpoint-et meta pa autentikim që i duhen një gjeneratori klientësh, dhe me çelësin e lexuar nga OPENEMAIL_API_KEY, një skadencë prej 30 sekondash për çdo provë, dy riprova, një mbivendosje apiKey për çdo thirrje për një proces që shërben disa hapësira pune, dhe emails.iterate() për të kaluar nëpër faqet e një liste pa shkruar ciklin e kursorit. Funksionon në Node 18 e lart, Workers, Deno, Bun dhe në shfletues. Një çelës me prefiks të gabuar hedh gabim në ndërtim, në vend që të kthejë 401 në thirrjen e parë; kontrolli është vetëm prefiksi dhe asgjë më shumë, ndaj një çelës i formuar mirë por i revokuar dështon prapëseprapë në rrjet.
- Ai mbahet i lidhur me serverin nga një kontroll barazie që lexon dokumentin OpenAPI në çdo ndërtim dhe dështon nëse të dy largohen nga njëri-tjetri: një metodë që drejton te një operacion që specifikimi nuk e ka, një operacion i dokumentuar pa metodë, një listë shtrirjesh lejesh që nuk përputhet me atë që kërkon operacioni, një hapësirë emrash me metoda por pa zë në referencë, ose një metodë që nuk dërgon kërkesën që emërton manifesti i saj. Ai shtyp atë që provoi, dhe sot kjo lexohet si 116 metoda SDK që mbulojnë të 104 operacionet e dokumentuara. Pranë tij qëndrojnë dy skripte gjeneratori që refuzojnë të nxjerrin një operacion të paklasifikuar ose të shkruar me vizë të gjatë. Prandaj klienti nuk është një mbështjellës i shkruar pasi u bë gjithçka. Ai nuk mund të mbetet pas API-së qoftë edhe një version.
- Ajo që mungon është mekanika e lëshimit. Paketa është në npm, ndaj
bun add @openemail/sdkfunksionon, por nuk ka një rrjedhë pune lëshimi: publikimi është një ekzekutim manual i kontrollit paraprak, i ndërtimit dhe ibun publish, që do të thotë se një version mbërrin në npm kur dikush e kujton dhe jo kur hyn ndryshimi. API-ja që ai përdor si parazgjedhje është e ndezur dhe përgjigjet. - TypeScript është gjuha e vetme, dhe dokumenti OpenAPI është qëllimisht përgjigjja për të tjerat, në vend të pesë klientëve të shkruar me dorë që mbeten pas me ritme të ndryshme. Në depo nuk ka klient Python, Go ose Ruby, dhe nuk do të ketë para se dokumenti të jetë gjëja prej së cilës ata gjenerohen.