Tpy - A strongly typed Pylon API client

Overview

tpy

A strongly typed Pylon API client. https://pylon.bot/

CI

The Pylon API does not have a standardized response, meaning there are alot of edge cases and can result sometimes in unexpected responses. Tpy aims to resolve this by providing type safe interaction along with a provided Go-like error handler. Tpy also provides a predictable interface with documentation on almost all used endpoints.

npm install tpy

import Tpy, { TpyErrToString } from 'https://deno.land/x/[email protected]/mod.ts';
// Or use Node
// import Tpy, { TpyErrToString } from 'tpy';

const client = new Tpy('My.pYl0N_tOKEn');
const [err, user] = await client.getUser();

// Tpy has strongly typed error handling so there are no need for type guards.
// If there's an error, the response will return undefined,
// Otherwise, the response will the requested type as expected.
if (err) {
  throw `There was an error while fetching the user: ${TpyErrToString(err)}.`;
  // user is now !undefined.
} else console.log(`User logged in: ${user.displayName}`);

// README integrity: passing

Contributing

Currently, the library is missing some documentation and has some dirty code. If you'd like to contribute, please read the contributing guide before you start working.

Legal

Pylon is a copyright (c) of Uplol Inc., all rights reserved to Uplol.

Tpy is licensed under the MIT License.

Comments
  • Custom error handlers in `httpRaw()`

    Custom error handlers in `httpRaw()`

    Some endpoints have different implications to each kind of HTTP response code, for example, not all 500s are internal server errors, they could be authentication mismatching in specific context.

    Array<{
      // Determines if case is applicable; number for HTTP status code, or
      // a function that takes the response object and returns the validity.
      case: number | (r: Response) => boolean,
      // Function to run if `case` matches the response's HTTP status code
      // or is true.
      fn: () => void,
    }>
    

    Proposals

    • Add parameter that specifies an array of cases and functions.
    opened by insyri 2
  • `TpyError` enhancements

    `TpyError` enhancements

    • Use cause inside TpyError instead of determination.
    • Add documentation to resolve between message and description.
    • (?) Remove messageContext from public use.
    opened by insyri 2
  • Documentation/error wording suggestions

    Documentation/error wording suggestions

    I've edited some documentation and error messages to follow previously established conventions and also to make things more readable and cohesive (to me, at least).

    opened by liamhtml 2
  • Bump @types/ws from 8.5.3 to 8.5.4 in /node

    Bump @types/ws from 8.5.3 to 8.5.4 in /node

    Bumps @types/ws from 8.5.3 to 8.5.4.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Documentation Todos

    Documentation Todos

    (updated from d50b887 to 8a5c7be)

    The following need documentation completion. Of tree 8a5c7be.

    types/deployments.d.ts

    Problem: unknown reason of existence.

    Problem: said below. https://github.com/insyri/tpy/blob/8a5c7be6492d010c11b5a1155c582a05e518778d/src/types/deployments.d.ts#L5

    Problem: unknown reason of existence.

    types/guild.d.ts

    Problem: only appears as null, need to find it's !null value. https://github.com/insyri/tpy/blob/8a5c7be6492d010c11b5a1155c582a05e518778d/src/types/guild.d.ts#L5

    • [x] GET.Stats: kvOperations, executionMsAvg, cpuMsAvg, events, discordApiRequests

    Problem: values are sometimes absent, need to find why.

    documentation enhancement help wanted 
    opened by insyri 1
  • Bump typescript from 4.9.3 to 4.9.4 in /node

    Bump typescript from 4.9.3 to 4.9.4 in /node

    Bumps typescript from 4.9.3 to 4.9.4.

    Release notes

    Sourced from typescript's releases.

    TypeScript 4.9.4

    For release notes, check out the release announcement.

    For the complete list of fixed issues, check out the

    Downloads are available on:

    Changes:

    • e2868216f637e875a74c675845625eb15dcfe9a2 Bump version to 4.9.4 and LKG.
    • eb5419fc8d980859b98553586dfb5f40d811a745 Cherry-pick #51704 to release 4.9 (#51712)
    • b4d382b9b12460adf2da4cc0d1429cf19f8dc8be Cherry-pick changes for narrowing to tagged literal types.
    • e7a02f43fce47e1a39259ada5460bcc33c8e98b5 Port of #51626 and #51689 to release-4.9 (#51627)
    • 1727912f0437a7f367d90040fc4b0b4f3efd017a Cherry-pick fix around visitEachChild to release-4.9. (#51544)

    This list of changes was auto generated.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Reconnecting WebSocket on Node.js

    Reconnecting WebSocket on Node.js

    Reconnecting WebSockets in TpyWs work in Deno, but not in Node.js. Whether this issue is related to runtime differences or subtle changes in core implementation, there is a better way to implement the reconnecting WebSocket.

    Proposals

    • Asynchronous generator function to await and loop over closing events.
    opened by insyri 0
  • Bump typescript from 4.8.4 to 4.9.3 in /node

    Bump typescript from 4.8.4 to 4.9.3 in /node

    Bumps typescript from 4.8.4 to 4.9.3.

    Release notes

    Sourced from typescript's releases.

    TypeScript 4.9

    For release notes, check out the release announcement.

    Downloads are available on:

    Changes:

    • 93bd577458d55cd720b2677705feab5c91eb12ce Bump version to 4.9.3 and LKG.
    • 107f832b80df2dc97748021cb00af2b6813db75b Update LKG.
    • 31bee5682df130a14ffdd5742f994dbe7313dd0e Cherry-pick PR #50977 into release-4.9 (#51363) [ #50872 ]
    • 1e2fa7ae15f8530910fef8b916ec8a4ed0b59c45 Update version to 4.9.2-rc and LKG.
    • 7ab89e5c6e401d161f31f28a6c555a3ba530910e Merge remote-tracking branch 'origin/main' into release-4.9
    • e5cd686defb1a4cbdb36bd012357ba5bed28f371 Update package-lock.json
    • 8d40dc15d1b9945837e7860320fdccfe27c40cad Update package-lock.json
    • 5cfb3a2fe344a5350734305193e6cc99516285ca Only call return() for an abrupt completion in user code (#51297)
    • a7a9d158e817fcb0e94dc1c24e0a401b21be0cc9 Fix for broken baseline in yieldInForInInDownlevelGenerator (#51345)
    • 7f8426f4df0d0a7dd8b72079dafc3e60164a23b1 fix for-in enumeration containing yield in generator (#51295)
    • 3d2b4017eb6b9a2b94bc673291e56ae95e8beddd Fix assertion functions accessed via wildcard imports (#51324)
    • 64d0d5ae140b7b26a09e75114517b418d6bcaa9f fix(51301): Fixing an unused import at the end of a line removes the newline (#51320)
    • 754eeb2986bde30d5926e0fa99c87dda9266d01b Update CodeQL workflow and configuration, fix found bugs (#51263)
    • d8aad262006ad2d2c91aa7a0e4449b4b83c57f7b Update package-lock.json
    • d4f26c840b1db76c0b25a405c8e73830a2b45cbc fix(51245): Class with parameter decorator in arrow function causes "convert to default export" refactoring failure (#51256)
    • 16faf45682173ea437a50330feb4785578923d7f Update package-lock.json
    • 8b1ecdb701e2a2e19e9f8bcdd6b2beac087eabee fix(50654): "Move to a new file" breaks the declaration of referenced variable (#50681)
    • 170a17fad57eae619c5ef2b7bdb3ac00d6c32c47 Dom update 2022-10-25 (#51300)
    • 9c4e14d75174432f6a4dc5967a09712a6784ab88 Remove "No type information for this code" from baseline (#51311)
    • 88d25b4f232929df59729156dfda6b65277affec fix(50068): Refactors trigger debug failure when JSX text has a ' and a tag on the same line. (#51299)
    • 8bee69acf410d4986cb0cc102b949e2d133d5380 Update package-lock.json
    • 702de1eeaaef88a189e4d06e5a2aae287853790a Fix early call to return/throw on generator (#51294)
    • 2c12b1499908ad7718e65d20e264561207c22375 Add a GH Action to file a new issue if we go a week without seeing a typescript-error-deltas issue (#51271)
    • 6af270dee09d62516f6dc02ec102a745ffebc037 Update package-lock.json
    • 2cc4c16a26672a7ba6c97ba16309fcf334db7cae Update package-lock.json
    • 60934915d9ccc4ca9c0fb2cd060d7ec81601942b Fix apparent typo in getStringMappingType (#51248)
    • 61c26096e3373719ece686b84c698423890e9a5f Update package-lock.json
    • ef69116c41cb6805f89e6592eacb0ccb7f02207d Generate shortest rootDirs module specifier instead of first possible (#51244)
    • bbb42f453dc684e03d977c5b70391124d57543a9 Fix typo in canWatchDirectoryOrFile found by CodeQL (#51262)
    • a56b254ad3c52b598bc5d44f83f3d0a1cf806068 Include 'this' type parameter in isRelatedTo fast path (#51230)
    • 3abd351c0eea55758f27ee5558a4a1525b77f45b Fix super property transform in async arrow in method (#51240)
    • eed05112180e0d94f78aa02d676d49468f15dc31 Update package-lock.json
    • 2625c1feae25aede35465ca835440fc57bf13d52 Make the init config category order predictable (#51247)
    • 1ca99b34029dafad2c18af7bdc0711f4abf7e522 fix(50551): Destructuring assignment with var bypasses "variable is used before being assigned" check (2454) (#50560)
    • 3f28fa12dfecb8dfd66ce4684bf26f64e1f092f1 Update package-lock.json
    • 906ebe49334a3a9c2dbd73cd3c902898bc712b66 Revert structuredTypeRelatedTo change and fix isUnitLikeType (#51076)
    • 8ac465239f52de1da3ada8cdc4c3f107f4d62e45 change type (#51231)
    • 245a02cbed7ad50a21289730159abc8d19a66f40 fix(51222): Go-to-definition on return statements should jump to the containing function declaration (#51227)
    • 2dff34e8c4a91c0005ca9ccfb7e045e225b6f2e4 markAliasReferenced should include ExportValue as well (#51219)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump typescript from 4.7.4 to 4.8.4 in /node

    Bump typescript from 4.7.4 to 4.8.4 in /node

    Bumps typescript from 4.7.4 to 4.8.4.

    Release notes

    Sourced from typescript's releases.

    TypeScript 4.8.4

    For release notes, check out the release announcement.

    For the complete list of fixed issues, check out the

    Downloads are available on:

    TypeScript 4.8.3

    For release notes, check out the release announcement.

    For the complete list of fixed issues, check out the

    Downloads are available on:

    TypeScript 4.8

    For release notes, check out the release announcement.

    For the complete list of fixed issues, check out the

    Downloads are available on:

    TypeScript 4.8 RC

    For release notes, check out the release announcement.

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump discord-api-types from 0.37.0 to 0.37.14 in /node

    Bump discord-api-types from 0.37.0 to 0.37.14 in /node

    Bumps discord-api-types from 0.37.0 to 0.37.14.

    Release notes

    Sourced from discord-api-types's releases.

    0.37.14

    0.37.14 (2022-10-15)

    Bug Fixes

    Features

    Full Changelog: https://github.com/discordjs/discord-api-types/compare/0.37.13...0.37.14

    0.37.13

    0.37.13 (2022-10-14)

    Features

    Full Changelog: https://github.com/discordjs/discord-api-types/compare/0.37.12...0.37.13

    0.37.12

    0.37.12 (2022-10-06)

    Full Changelog: https://github.com/discordjs/discord-api-types/compare/0.37.11...0.37.12

    0.37.11

    0.37.11 (2022-09-26)

    Features

    Full Changelog: https://github.com/discordjs/discord-api-types/compare/0.37.10...0.37.11

    0.37.10

    0.37.10 (2022-09-15)

    Features

    ... (truncated)

    Changelog

    Sourced from discord-api-types's changelog.

    0.37.14 (2022-10-15)

    Bug Fixes

    • APIAutoModeration: export v10 json payloads and correct route types (#608) (bce0795)

    Features

    0.37.13 (2022-10-14)

    Features

    • APIAutoModeration: add support for auto moderation (#418) (b216f7a)

    0.37.12 (2022-10-06)

    0.37.11 (2022-09-26)

    Features

    • APIGuildForumChannel: add default_sort_order (#589) (143b003)
    • APIGuildForumChannel: update and add missing features (#575) (0f118d3)

    0.37.10 (2022-09-15)

    Features

    0.37.9 (2022-09-12)

    Features

    • ConnectionService: add new connections (#548) (afd3b55)

    0.37.8 (2022-09-08)

    Features

    0.37.7 (2022-09-05)

    Bug Fixes

    • ChannelType: bring back old names (b08f2e3)

    ... (truncated)

    Commits
    • e082afb chore(release): 0.37.14 🎉 (#609)
    • bce0795 fix(APIAutoModeration): export v10 json payloads and correct route types (#608)
    • 70826ed feat(RESTJSONErrorCodes): add error 50073 (#594)
    • 9978b77 chore(release): 0.37.13 🎉 (#606)
    • 3696ce7 refactor(APIAuditLogOptions): Use AuditLogRuleTriggerType for `auto_moderat...
    • b216f7a feat(APIAutoModeration): add support for auto moderation (#418)
    • 05cfe1b chore(deps): bump vm2 from 3.9.9 to 3.9.11 (#593)
    • 5ffb2d3 chore(release): 0.37.12 🎉 (#598)
    • f62f250 refactor(FormattingPatterns): update SlashCommand pattern (#597)
    • 2876125 chore(release): 0.37.11 🎉 (#591)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump @types/node from 18.6.3 to 18.11.3 in /node

    Bump @types/node from 18.6.3 to 18.11.3 in /node

    Bumps @types/node from 18.6.3 to 18.11.3.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Meta-issue of release TODO's

    Meta-issue of release TODO's

    Main

    • [x] #21 Reconnecting WebSockets in TpyWs work in Deno, but not in Node.js. Whether this issue is related to runtime differences or subtle changes in core implementation, there is a better way to implement the reconnecting WebSocket. (Idea: Asynchronous generator function to await and loop over closing events.)
    • [x] #20 Some endpoints have different implications to each kind of HTTP response code, for example, not all 500s are internal server errors, they could be authentication mismatching in specific context. (Idea: add parameter that specifies an array of cases and functions.)
      Array<{
        // Determines if case is applicable; number for HTTP status code, or
        // a function that takes the response object and returns the validity.
        case: number | (r: Response) => boolean,
        // Function to run if `case` matches the response's HTTP status code
        // or is true.
        fn: () => void,
      }>
      

    Subsequent

    • [x] #18
      • Use cause inside TpyError instead of determination.
      • Add documentation to resolve between message and description.
      • (?) Remove messageContext from public use.
    • [ ] #22
      • [ ] #23
      • [ ] #24
      • [ ] #25
      • [ ] #26
      • [ ] #27
      • [ ] #28
    • [x] #16
      • Guild.GET.Guild resolves type proper type instead of any.
    • [x] #19
    help wanted 
    opened by insyri 0
Releases(v1.0.0-pre-release-11)
Owner
insyri
a multilingual, software engineering, hobbyist highschool student.
insyri
Unofficial API client for the Tidbyt API. Use this client to control Tidbyt devices and integrate with other services.

Tidbyt Client for Node.js Unofficial API client for the Tidbyt API. Use this client to control Tidbyt devices and integrate with other services. Insta

Nicholas Penree 19 Dec 17, 2022
Demonstration of how you build full-stack, typed, NPM packages, the right way

NPM Packages - The Right way This repository aims to demonstrate how to build NPM packages the right way. my-package should import the shared code, bu

VulcanJS 61 Nov 27, 2022
Typed HyperText Markup Language

Typed HyperText Markup Language You can add types to the HyperText Markup Language. Types To declare two types, they must be separated by a period and

TypeMarkup 1 Jan 22, 2022
io-ts Typed Event Bus for the runtime of your Node.js application. A core for any event-driven architecture based app.

Typed Event Bus Based on io-ts types, this bus provides a handy interface to publish and consume events in the current runtime of the Node.js process.

Konstantin Knyazev 3 May 23, 2022
A fully-typed, low-level, and HyperScript-like Frontend Library 🚀

A fully-typed, low-level, and HyperScript-like Frontend Library ??

Eliaz Bobadilla 5 Apr 4, 2022
Small, typed, dependency free tool to round corners of 2d-polygon provided by an array of { x, y } points.

round-polygon Small, typed, dependency-free tool to round corners of 2d-polygon provided by an array of { x, y } points. The algorithm prevents roundi

Sergey Borovikov 10 Nov 26, 2022
easily building data structures that are serializable, validatable, and fully typed.

@davecode/structures [beta/wip] Structures is a TypeScript library for easily building data structure classes that are Serializable: Can convert rich

Dave Caruso 2 May 22, 2022
Lazy minting of ERC721 NFTs using EIP712 standard for typed, structured data. ✨

ERC721 - Signature minting Lazy minting of ERC721 NFTs using EIP712 standard for typed, structured data. ✨ How it works Lazy minting or Signature mint

Sunrit Jana 21 Oct 20, 2022
End-to-end typed monorepo template for your next project ⌨️

TYPE ⌨️ TRPC + Yarn Monorepo + Prisma + Expo This template project is a Yarn monorepo with full end-to-end type safety. Powered by: TRPC (on Fastify)

Matteo Lobello 35 Oct 22, 2022
📦 Fully typed and immutable store made on top of Immer with mutation, action, subscription and validation!

Riux is a fully typed and immutable store made on top of Immer with mutation, action, subscription and validation! Table of contents ?? Installation U

null 10 Aug 27, 2022
Fully-typed utilities for defining, validating and building your document

zhead Typed utilities for defining, validating and building best-practice document <head>'s. Status: Pre-release Please report any issues ?? Made poss

Harlan Wilton 70 Dec 21, 2022
📃 Typed primitives for Typescript to work with file paths

typed-file-system-path typed-file-system-path takes inspiration from Path.swift in swift-tools-support-core and provides typed primitives to work with

Craftweg 6 Dec 15, 2022
A simple, strictly typed ORM, to assist you in using Cloudflare's D1 product

D1-Orm ✨ A simple, strictly typed ORM, to assist you in using Cloudflare's D1 product API reference can be found at https://d1-orm.pages.dev/modules D

null 78 Dec 25, 2022
Automatically generated documentation for the Valorant API endpoints the client uses internally.

Valorant API Docs To read documentation and get started, see Docs This is a project designed to automatically document Valorant endpoints based on a J

Techdoodle 223 Dec 25, 2022
API client to test endpoints over HTTP. Uses superagent under the hood

@japa/client API client to test endpoints over HTTP. Uses superagent under the hood The API client plugin of Japa makes it super simple to test your A

Japa.dev 8 Apr 13, 2022
OAuth 2 / OpenID Connect Client for Web API runtimes

OAuth 2 / OpenID Connect Client for Web APIs runtime This is a collection of bits and pieces upon which a more streamlined Client module may be writte

Filip Skokan 187 Jan 6, 2023
Official Node.js client library for Devzat plugin API

Devzat plugin API client for Node.js This NPM package allows you to build Devzat plugins/bots with JavaScript/TypeScript. See example/index.ts for a f

Benjamin Smith 2 Apr 26, 2022
A wrapper client for Strike's public API.

node-strike A wrapper client for Strike's public API. Usage Import the wrapper and instantiate a client. import { NodeStrike } from 'node-strike'; //

hodlone 5 Apr 28, 2022
Deno client library for Bitwarden CLI's local REST API.

Bweno Think outside the bun ?? Bweno is a client library for Bitwarden CLI's local REST API. Pronounced as Spanish 'bueno', meaning 'good'. Requiremen

Wyatt Goettsch 3 May 26, 2022