deckardcain

Identifies (media) type of API description files

Usage no npm install needed!

<script type="module">
  import deckardcain from 'https://cdn.skypack.dev/deckardcain';
</script>

README

Deckard Cain

Build Status

"As a token of my gratitude, I will identify items for you at no charge."

Introduction

Deckard Cain library identifies (media) type of API description files.

Supported API description formats

  • API Blueprint - text/vnd.apiblueprint
  • Legacy Apiary Blueprint (predecessor of API Blueprint) - text/vnd.legacyblueprint
  • Swagger - application/swagger+json (according to swagger-api/swagger-spec#110) and application/swagger+yaml
  • API Description Namespace - application/vnd.refract.api-description+json and application/vnd.refract.api-description+yaml

Install

npm install deckardcain

Usage

import {identify} from 'deckardcain';

identify(`
HOST: http://example.com

--- API Name ---

All Messages
GET /messages
< 200
`) // 'text/vnd.legacyblueprint'

identify(`
FORMAT: 1A
HOST: http://example.com

# API Name

## Group Messages

### All Messages [/messages]

#### Read [GET]

+ Response 200 (text/plain)
`) // 'text/vnd.apiblueprint'

Contribute

Please mind the library is written in ECMAScript 6.

Installation

git clone https://github.com/apiaryio/deckardcain
cd deckardcain
npm install

Testing

npm test

See also the .travis.yml file.

Workflow

Source code is located in the ./src folder and gets automatically transpiled into ./lib folder when npm install or npm publish is invoked. However, should you need to transpile it manually, use npm run compile.

Name

Deckard Cain library pays tribute to a fictional character from Diablo video game series. In Diablo II, Deckard Cain provides his wisdom and identifies items for free after being rescued by the player.