Skip to content
This repository was archived by the owner on Jan 20, 2021. It is now read-only.

Repository files navigation

@OADA/types

This package is TypeScript type definitions for known OADA formats. These type are based on @OADA/formats.

Installation

yarn add @oada/types

Usage

The type definiton for a given format can be imported based on its $id. For example, the OADA Bookmarks v1 format can be imported like so:

/** * Import the type definition for * {@link https://formats.openag.io/oada/bookmarks/v1.schema.json} */importBookmarksfrom'@oada/types/oada/bookmarks/v1'

Runtime Validation

Since the formats are backed by schemas, it is possible to check data against a format at runtime. All the types in this package export methods for doing so which are typed properly for TypeScript to understand their type implications.

/** * Every type also exports both @method is and @method assert */importBookmarks,{is,assert}from'@oada/types/oada/bookmarks/v1'constdata1: any=/* Some data */// True if data matches type Bookmarks, false if notif(is(data1)){// TS understands data is a bookmarks hereconstbookmarks: Bookmarks=data1}constdata2: any=/* Some data */// Throws if data is not of type Bookmarksassert(data2)// TS understands data is a bookmarks hereconstbookmarks: Bookmarks=data2

About

TypeScript types based on OADA/formats

Topics

Resources

Stars

0 stars

Watchers

10 watching

Forks

Releases

Packages

Used by

Contributors

Languages