swagger-to-raml-object
v0.0.6
Published
Takes a swagger spec and converts it into a RAML JavaScript object, usually for conversion to RAML.
Downloads
9
Readme
Swagger To RAML Object
Takes a swagger spec and converts it into a RAML JavaScript object, usually for conversion to RAML with the raml-object-to-raml module.
Installation
npm install swagger-to-raml-object --save
Usage
Quickly get started converting swagger to RAML in your command line:
# Make sure node and npm are installed before continuing.
npm install swagger-to-raml-object -g
npm install raml-object-to-raml -g
# Convert a swagger spec into a raml object.
swagger-to-raml-object http://petstore.swagger.wordnik.com/api/api-docs
# Pipe the result of that into the raml object to raml converter.
swagger-to-raml-object http://petstore.swagger.wordnik.com/api/api-docs | raml-object-to-raml
# You can then output the result of that to a file.
swagger-to-raml-object http://petstore.swagger.wordnik.com/api/api-docs | raml-object-to-raml > output.raml
CLI
The CLI accepts a single swagger file to load and will recursively compile the spec into a single RAML object representation before printing the JSON to stdout.
swagger-to-raml-object resources.json > raml.json
JavaScript
The module exports a single function for converting Swagger specifications. It accepts three arguments, the root resource listing, a file reader function and a callback for when parsing is complete. The callback is called with an error (if something occured) and the resulting RAML object.
var converter = require('swagger-to-raml-object');
converter(rootFile, function (filename, done) {
return fs.readFile(filename, 'utf8', done);
}, function (err, ramlObject) {
if (err) {
console.error(err);
}
console.log(ramlObject);
// {
// "title": "Example API",
// "resources": [{ ... }],
// ...
// }
});
Features and Limitations
- Works with Swagger 1.2 (not 2.0 yet)
- Loads from any resource structure given a file reader function
- Does not parse XML bodies into schemas yet (only JSON and form)
- Does not do any RAML documentation optimisations such as
resourceTypes
,traits
or globalschemas
- Currently only does single file output
License
Apache 2.0