4.0.0 • Published 28 days ago

@oada/types v4.0.0

Weekly downloads
124
License
MIT
Repository
github
Last release
28 days ago

@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}
 */
import Bookmarks from '@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
 */
import Bookmarks, {is, assert} from '@oada/types/oada/bookmarks/v1'

const data1: any = /* Some data */

// True if data matches type Bookmarks, false if not
if (is(data1)) {
  // TS understands data is a bookmarks here
  const bookmarks: Bookmarks = data1
}

const data2: any = /* Some data */

// Throws if data is not of type Bookmarks
assert(data2)
// TS understands data is a bookmarks here
const bookmarks: Bookmarks = data2
4.0.0

28 days ago

3.5.3

9 months ago

3.4.10

11 months ago

3.4.8

11 months ago

3.4.7

11 months ago

3.4.9

11 months ago

3.5.2

11 months ago

3.5.1

11 months ago

3.5.0

12 months ago

3.4.4

1 year ago

3.4.3

1 year ago

3.4.2

1 year ago

3.4.6

1 year ago

3.4.5

1 year ago

3.4.0

1 year ago

3.4.1

1 year ago

3.3.1

1 year ago

3.3.0

2 years ago

3.2.1

2 years ago

3.2.0

2 years ago

3.1.5

2 years ago

3.1.4

2 years ago

3.0.4

2 years ago

3.0.3

2 years ago

3.0.2

2 years ago

3.0.7

2 years ago

3.0.6

2 years ago

3.0.5

2 years ago

3.1.3

2 years ago

3.1.2

2 years ago

3.1.1

2 years ago

3.1.0

2 years ago

3.0.0

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

1.8.1

2 years ago

1.7.0

3 years ago

1.5.1

3 years ago

1.4.1

3 years ago

1.3.0

3 years ago

1.2.2

3 years ago

1.2.0

3 years ago

1.2.0-beta.18

3 years ago

1.2.0-beta.17

3 years ago

1.2.0-beta.14

3 years ago

1.2.0-beta.12

3 years ago

1.2.0-beta.10

3 years ago

1.2.0-beta.9

3 years ago

1.2.0-beta.8

3 years ago

1.2.0-beta.7

4 years ago

1.2.0-beta.6

4 years ago

1.2.0-beta.5

4 years ago

1.1.1-beta.77

4 years ago

1.1.1-beta.75

4 years ago

1.1.1-beta.74

4 years ago

1.2.0-alpha.0

4 years ago

1.0.9-beta.144

4 years ago

1.0.9-beta.143

4 years ago

1.0.9-beta.142

4 years ago

1.0.9-alpha.137

4 years ago

1.0.9-alpha.0

4 years ago

1.0.10

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.2

4 years ago

1.0.3

4 years ago

1.0.1

4 years ago