@ty-ras/spec

[![Coverage](https://codecov.io/gh/ty-ras/server/branch/main/graph/badge.svg?flag=spec)](https://codecov.io/gh/ty-ras/server)


License
MIT
Install
npm install @ty-ras/spec@0.10.0

Documentation

Typesafe REST API Specification - HTTP Server Related Generic Libraries

CI Pipeline CD Pipeline

The Typesafe REST API Specification is a family of libraries used to enable seamless development of Backend and/or Frontend which communicate via HTTP protocol. The protocol specification is checked both at compile-time and run-time to verify that communication indeed adhers to the protocol. This all is done in such way that it does not make development tedious or boring, but instead robust and fun!

This particular repository contains generic HTTP server related libraries, and is designed to be consumed by other TyRAS libraries:

  • endpoint library exposes AppEndpoint interface to represent an endpoint in HTTP REST API to be handled by HTTP server,
  • endpoint-spec library adds typesafe and easy-to-use builder functionality to holistically construct REST API by defining AppEndpoints using TS5/ES decorators,
  • server library adds some common concepts to be used by various TyRAS libaries implementing serving AppEndpoints utilizing some specific HTTP server,
  • server-test-support library adds common test suite to be run by TyRAS libraries adding AppEndpoint support to various HTTP server frameworks, and
  • state library defines aspects of generic state concept, which should suffice the vast majority of user code using the state concept.