Skip to main content
Module

x/tpy/mod.ts

🔑 A strongly typed Pylon API client.
Go to Latest
import * as tpy from "https://deno.land/x/tpy@v1.0.0-pre-release-6/mod.ts";

Tpy, a strongly typed Pylon API client.

The center of Tpy starts at the default Tpy class, defining the Pylon token and optionally a global deployment ID.

const client = new Tpy('PYLON_TOKEN', 'DEPLOYMENT_ID');
client.KV('NAMESPACE');
client.getDeployment();
client.publishDeployment({} as Deployment.POST.Request<false>);

// or

const client2 = new Tpy('PYLON_TOKEN');
client2.KV('NAMESPACE', 'DEPLOYMENT_ID');
client2.getDeployment('DEPLOYMENT_ID');
client2.publishDeployment(
  {} as Deployment.POST.Request<false>,
  'DEPLOYMENT_ID',
);

Even if a default is set, it can be overridden.

client2.publishDeployment(
  {} as Deployment.POST.Request<false>,
  'ANOTHER_DEPLOYMENT_ID',
);

fetch API in Node.js

Node.js v18 has a native browser-like fetch interface. Versions below are normally using node-fetch to circumvent this issue.

For environments using Node v18 and earlier, Tpy uses the native fetch without requiring the package. Environments containing earlier versions of Node will require the package.

Namespaces

Request and response structures related to the /deployments resource.

Schemas for GET /deployments/*.

Schemas for POST /deployments/*.

Not an API resource, this namespace behaves as templates and other base types.

Request and response structures related to the /guilds resource.

Schemas for GET /guilds.

Not an API resource, this namespace behaves as templates and other base types.

Request and response structures related to the /user resource.

Schemas for GET /user.

Response schema for GET /user/guilds.

Classes

Provides parameter context about the current execution environment to provide error reporting data to generate reports that include said information comprised inside the given Context.

An error wrapper of TpyErrors that provides specific context of the environment to explain why it was thrown.

A KVNamespace interface that (almost) matches the Pylon KVNamespace SDK class.

This class forwards WebSocket recieving events to create a persistant stream to keep listeners active with automatic reconnection (with customizable timeouts).

Enums

A deployment's 'up' status. Altered by Pylon administrators.

The type of deployment.

Variables

The set of errors returned by TpyError that describes a dictionary based on the name as the index/key which consists of two values: a ITpyErrorsProperty.description | description string and a ITpyErrorsProperty.message | message method to create a description with specific context information.

Type Aliases

Response schema for GET /deployments/:id.

Request schema for POST /deployments/:id.

Response schema for POST /deployments/:id.

The base structure of some deployment related responses.

Deployment configurations; recieved as a string.

Pylon uses FastAPI, this is a FastAPI error.

Response schema for GET /guilds/:id.

Response schema for GET /guilds/:id/stats.

Base guild payload.

Response schema for GET /user/guilds.

Response schema for GET /user/guilds/available.

Response schema for GET /user.