@element-ts/palladium

A type-safe promise based http/s request library.

Usage no npm install needed!

<script type="module">
  import elementTsPalladium from 'https://cdn.skypack.dev/@element-ts/palladium';
</script>

README

palladium

A type-safe promise based http/s request library.

Example

In the following example you create a PDRequest instance via the post() static method and then using builder methods you can add the correct attributed to the request and then at the end call the async method request(). This will return a PdResponse instance.

On the response instance there are helpful methods to handle type checking. Getting the headers, status code are obvious. However, you can get the raw body or use the json() method. This required an OObjectTypeDefinition which you can learn more about in element-ts/oxygen. This will return undefined if the response does not match the type definition provided, or return a generic defined value based on the type definition.

import {OStandardType} from "@element-ts/oxygen";
import {PdRequest, PdResponse} from "@element-ts/palladium";
const res: PdResponse = await PdRequest
    .post()
    .url("https://api.com/my-endpoint")
    .token("xxx")
    .body({
        email: "elijah@elijahcobb.com",
        password: "1234"
    })
    .request();

console.log(res.status());
console.log(res.headers());
console.log(res.json({
    token: OStandardType.string,
    timestamp: OStandardType.number
}));

Documentation

You can view the declaration files or even the source code on GitHub.

Bugs

If you find any bugs please create an issue on GitHub or if you are old-fashioned email me at elijah@elijahcobb.com.