0.2.2 • Published 6 months ago

cddl2ts v0.2.2

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

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.

0.2.2

6 months ago

0.2.1

12 months ago

0.2.0

12 months ago

0.1.0

12 months ago