This project contains all of our shared, generic Typescript types that are used through out the UnumID ecosystem.
It as well has shared runtypes which allows for functionality like graceful runtime string literal type checking. To support runtypes we had to use a index.ts instead of just a type declaration index.d.ts file. This also means that a build step is necessary in order for changes to index.ts to be realized.
Generic types such as
PresentationRequest, as defined here, ought to be the simplest naming conventions. For example, the PresentationRequest entity definition types ought to go by
Types explicitly for HTTP interfaces ought have a trailing
PresentationRequestDto. Furthermore, if the Data Transfer Object is different between the HTTP request verbs, i.e. GET and POST, then include in the type as such,
Types that are used for cryptographic purposes should have a unsigned and signed version. However, the signed type should have the simpler naming convention, i.e.
Credential is the signed type of
In order to generate the documentation from the source code run the
createTypedocs.sh script. However, note that this is now handled automatically by the release CI job.
Releases are handled programmatically via Github Actions CI. Simply push a tag with a preceding 'v' followed by the semver version of the release, i.e. v3.4.3. The CI job will then handle updating the package version, creating new typedocs, creating a Github release, and publishing the package to NPM and Github Packages.