0.2.3 • Published 1 year ago

typesource v0.2.3

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

Typesource

Your single source of application types.

Features:

  • Concise and human readable
  • Portable YAML format
  • Language agnostic
  • Can be used to generate JSDoc or other type declarations

Install

npm i -g typesource

Usage

Define your types in the schema directory of your application.

Create a file called types.yml and add your types like this:

company:
  desc: This is the company type
  fields:
    name: string
    number: integer?

This defines a company type with a required name attribute as a string, and an optional number attribute as an integer.

Extending types

You can extend types using the base attribute:

company_public:
  base: company
  fields:
    phone: string

Multiple schemas

You can add multiple types in one schema file, the file name is irrelevant.

For example, you might want to add this to a company.yml schema file to express variations of the company type:

company:
  fields:
    name: string

company_public:
  base: company
  fields:
    phone: string

Field description

To add descriptions to your types, use the object notation:

company:
  fields:
    name:
      type: string
      desc: This is the description

Generate types

When you're done adding your schemas run:

typesource generate schemas types

The first parameter, schemas, is the directory where your schemas are stored. The second parameter, types is the directory where you want the types to be written.

ISC Licensed. Enjoy!

0.2.3

1 year ago

0.2.2

1 year ago

0.2.1

1 year ago

0.2.0

1 year ago

0.1.0

1 year ago