Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/raml2html/raml2obj
RAML to object.
https://github.com/raml2html/raml2obj
raml raml-tooling raml-utilities raml2html
Last synced: 3 days ago
JSON representation
RAML to object.
- Host: GitHub
- URL: https://github.com/raml2html/raml2obj
- Owner: raml2html
- License: mit
- Created: 2014-06-12T22:52:24.000Z (over 10 years ago)
- Default Branch: develop
- Last Pushed: 2023-03-04T02:27:32.000Z (almost 2 years ago)
- Last Synced: 2024-12-24T04:19:11.150Z (10 days ago)
- Topics: raml, raml-tooling, raml-utilities, raml2html
- Language: JavaScript
- Homepage: https://www.npmjs.org/package/raml2obj
- Size: 413 KB
- Stars: 22
- Watchers: 6
- Forks: 46
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# RAML to object
[![NPM version](http://img.shields.io/npm/v/raml2obj.svg)](https://www.npmjs.org/package/raml2obj)
[![Prettier](https://img.shields.io/badge/code%20style-prettier-blue.svg?style=flat)](https://github.com/prettier/prettier)A thin wrapper around [raml-js-parser-2](https://github.com/raml-org/raml-js-parser-2), adding extra properties to the resulting
object for use in [raml2html](https://www.npmjs.org/package/raml2html) and [raml2md](https://www.npmjs.org/package/raml2md).Versions 4.0.0 and up only support RAML 1.x files. If you still have RAML 0.8 source files, please stick with raml2obj 3.
## Install
```
npm i raml2obj --save
```## Usage
```js
var raml2obj = require('raml2obj');// source can either be a filename, url, or parsed RAML object.
// Returns a promise.
raml2obj.parse(source).then(function(ramlObj) {
// Do something with the resulting ramlObj :)
});
```## Options
The `parse()` function can be called with options to customize the result.
Defaults are compatible with `raml2html`.```js
raml2obj.parse(source, {
validate: true,
extensionsAndOverlays : [],
collectionFormat: 'arrays',
}).then(function(ramlObj) {
// Do something with the resulting ramlObj :)
});
```
* `validate`: triggers the `rejectOnErrors` flag of the underlying parser. defaults to `false`
* `extensionsAndOverlays`: Defaults to `[]`. See parser documentation.
* `collectionFormat`: choose what data structure the double-nested `[{name1: {..}}, {name2: {..}}]` patterns of the `raml-1-parser` are transformed to in the output object:
| `collectionFormat` value | output |
| --- | --- |
|`objects` (*default*)|`{name1: { orderHint: 0, ..}, name2: { orderHint: 1, ..}}` (eases e.g. property access). *Applies to top-level collections only, nested are arrays except type properties.*|
|`arrays`|`[ {key: "name1", ..}, {key: "name2", ..}]` (eases e.g. representation in a database). *Applies recursively everywhere.* |## Questions & Support
Do you have a question? Have you found a bug or would you like to request a feature? Please check out [`CONTRIBUTING.md`](CONTRIBUTING.md).## License
raml2obj is available under the MIT license. See the LICENSE file for more info.