Tudásbázis
Típusos SDK-k
Először egy TypeScript kliens, aztán a többi.
Részletek
- Közzétéve az npm-en, és használatban. A @openemail/sdk teljes, függőségmentes TypeScript kliens, ESM és CommonJS formában is közzétéve, egy-egy metódussal minden dokumentált művelethez, amelyet az API kiszolgál, továbbá azzal a két hitelesítés nélküli metavégponttal, amelyre egy kliensgenerátornak szüksége van, valamint az OPENEMAIL_API_KEY változóból beolvasott kulccsal, próbálkozásonkénti 30 másodperces időtúllépéssel, két újrapróbálkozással, hívásonkénti apiKey felülbírálással a több munkaterületet kiszolgáló folyamatokhoz, és az emails.iterate() metódussal, amellyel a lista lapozható a kurzorciklus megírása nélkül. Fut Node 18-on és felette, Workers, Deno, Bun környezetben és a böngészőben. A rossz előtagú kulcs már a példányosításkor hibát dob, nem az első híváskor ad 401-et; az ellenőrzés csak az előtagot nézi, így egy jó formátumú, de visszavont kulcs továbbra is a hálózaton bukik el.
- A szerverhez egy paritásellenőrzés köti, amely minden buildnél beolvassa az OpenAPI dokumentumot, és hibát jelez, ha a kettő elcsúszik: olyan metódus, amely a specifikációban nem létező műveletre mutat; dokumentált művelet metódus nélkül; olyan hatóköri lista, amely nem egyezik azzal, amit a művelet megkövetel; olyan névtér, amelynek vannak metódusai, de nincs bejegyzése a referenciában; vagy olyan metódus, amely nem azt a kérést küldi, amelyet a saját manifesztje megnevez. Kiírja, mit bizonyított be, és ez ma úgy szól, hogy 116 SDK-metódus fedi le mind a 104 dokumentált műveletet. Mellette két generátorszkript áll, amelyek megtagadják az olyan művelet kiadását, amely besorolatlan vagy gondolatjellel íródott. Ezért nem utólag megírt burkoló ez a kliens. Nem maradhat le egy kiadással az API mögött.
- Ami hiányzik, az a kiadási gépezet. A csomag fenn van az npm-en, így a
bun add @openemail/sdkműködik, de nincs kiadási munkafolyamat: a közzététel az előellenőrzés, a build és abun publishkézi lefuttatása, ami azt jelenti, hogy egy verzió akkor kerül fel az npm-re, amikor valakinek eszébe jut, nem akkor, amikor a változás beérkezik. Az API, amelyet alapértelmezés szerint használ, be van kapcsolva és válaszol. - A TypeScript az egyetlen nyelv, a többire pedig szándékosan az OpenAPI dokumentum a válasz, nem pedig öt kézzel írt kliens, amelyek eltérő ütemben maradnak le. A repóban nincs Python-, Go- vagy Ruby-kliens, és nem is lesz addig, amíg nem a dokumentum az, amiből generáljuk őket.