cddl2ts
TypeScript icon, indicating that this package has built-in type declarations

0.2.2 • Public • Published

CDDL to TypeScript Test

A Node.js package that can generate a TypeScript definition based on a CDDL file

CDDL expresses Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON. This package allows you to transform a CDDL file into a TypeScript interface that you can use for other TypeScript project.

Related projects:

Install

To install this package run:

$ npm install cddl2ts

Using this package

This package exposes a CLI as well as a programmatic interface for transforming CDDL into TypeScript.

CLI

npx cddl2ts ./path/to/interface.cddl &> ./path/to/interface.ts

Programmatic Interface

The module exports a transform method that takes an CDDL AST object and returns a TypeScript definition as string, e.g.:

import { parse } from 'cddl'
import { transform } from 'cddl2ts'

/**
 * spec.cddl:
 *
 * session.CapabilityRequest = {
 *   ?acceptInsecureCerts: bool,
 *   ?browserName: text,
 *   ?browserVersion: text,
 *   ?platformName: text,
 * };
 */
const ast = parse('./spec.cddl')
const ts = transform(ast)
console.log(ts)
/**
 * outputs:
 *
 * interface SessionCapabilityRequest {
 *   acceptInsecureCerts?: boolean,
 *   browserName?: string,
 *   browserVersion?: string,
 *   platformName?: string,
 * }
 */

If you are interested in this project, please feel free to contribute ideas or code patches. Have a look at our contributing guidelines to get started.

Readme

Keywords

Package Sidebar

Install

npm i cddl2ts

Weekly Downloads

454

Version

0.2.2

License

MIT

Unpacked Size

16.2 kB

Total Files

13

Last publish

Collaborators

  • christian-bromann