Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

typify-parser

phadej79kMIT1.1.0

Type signature parser for typify

type, signature, parser, checking, typify, data, validation

readme

typify type parser

Type signature parser for typify

Build Status NPM version Dependency Status devDependency Status Code Climate

Turns (foo, bar 42) -> quux into

{
  "type": "function",
  "arg": {
    "type": "product",
    "args": [
      {
        "type": "ident",
        "value": "foo"
      },
      {
        "type": "application",
        "callee": {
          "type": "ident",
          "value": "bar"
        },
        "args": [
          {
            "type": "number",
            "value": 42
          }
        ]
      }
    ]
  },
  "result": {
    "type": "ident",
    "value": "quux"
  }
}

Synopsis

var parser = require("typify-parser");

// Example from above
var t = parser("(foo, bar 42) -> quux");

// Free vars
p.freeVars(t);                             // ['bar', 'foo', 'quux']
p.freeVars(p("rec list -> () | a & list")) // ['a']