All Projects → raml-org → raml-typesystem

raml-org / raml-typesystem

Licence: other
(deprecated) Typescript implementation of RAML type system

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to raml-typesystem

raml-sublime-plugin
Syntax highlighter for the RESTful API Modeling Language
Stars: ✭ 49 (+226.67%)
Mutual labels:  raml, raml-tooling
oas-raml-converter
(DEPRECATED) Converts between OAS and RAML API specifications
Stars: ✭ 75 (+400%)
Mutual labels:  raml, raml-tooling
raml-dotnet-parser-2
No description or website provided.
Stars: ✭ 17 (+13.33%)
Mutual labels:  raml, raml-tooling
node-raml-validate
Strict validation of RAML parameters in JavaScript
Stars: ✭ 18 (+20%)
Mutual labels:  raml, raml-tooling
raml2obj
RAML to object.
Stars: ✭ 23 (+53.33%)
Mutual labels:  raml, raml-tooling
raml-javascript-generator
Generate a JavaScript API client from RAML
Stars: ✭ 30 (+100%)
Mutual labels:  raml, raml-tooling
raml-java-client-generator
Raml Java Client Generator
Stars: ✭ 32 (+113.33%)
Mutual labels:  raml, raml-tooling
api-console-cli
A CLI tools for the API console.
Stars: ✭ 14 (-6.67%)
Mutual labels:  raml, raml-tooling
osprey-method-handler
Middleware for validating requests and responses based on a RAML method object
Stars: ✭ 14 (-6.67%)
Mutual labels:  raml, raml-tooling
Raml Java Parser
(deprecated) A RAML parser based on SnakeYAML written in Java
Stars: ✭ 169 (+1026.67%)
Mutual labels:  raml
raml-clj-parser
A RAML parser implemented in clojure
Stars: ✭ 21 (+40%)
Mutual labels:  raml
Raml Examples
This repository contains valid RAML 1.0 examples. These examples are not only part of the spec, but also represent RAML features in different scenarios.
Stars: ✭ 154 (+926.67%)
Mutual labels:  raml
Raml Dotnet Tools
Visual Studio extension to work with RAML and OAS (OpenAPI) specifications. You can consume REST APIs, scaffold ASP.NET implementations and extract RAML specifications from existing ASP.Net apps.
Stars: ✭ 171 (+1040%)
Mutual labels:  raml
Raml Server
run a mocked server JUST based on a RAML API's definition .. zero coding
Stars: ✭ 158 (+953.33%)
Mutual labels:  raml
core
This repo contains the core module of the OCF API's.
Stars: ✭ 20 (+33.33%)
Mutual labels:  raml
Hikaku
A library that tests if the implementation of a REST-API meets its specification.
Stars: ✭ 154 (+926.67%)
Mutual labels:  raml
Raml Js Parser 2
(deprecated)
Stars: ✭ 140 (+833.33%)
Mutual labels:  raml
smockin
Dynamic API, S3 & Mail mocking for web, mobile & microservice development.
Stars: ✭ 74 (+393.33%)
Mutual labels:  raml
symfony-skeleton
Skeleton rest-api based on symfony
Stars: ✭ 15 (+0%)
Mutual labels:  raml
Ramlfications
Python parser for RAML
Stars: ✭ 234 (+1460%)
Mutual labels:  raml

RAML Data Type System

Build Status Greenkeeper badge

This module contains a lightweight implementation of the type system that was introduced with RAML 1.0.

It allows you to to parse, validate , modify RAML types, as well as store them back to JSON.

Installation

npm install raml-typesystem --save

Usage

Parsing and validating a single type:

import ts = require("raml-typesystem")

var personType = ts.loadType( {
    type: "string[]",
    minItems:3,
    maxItems:2
})

var isValid = personType.validateType();

Parsing and validating a types collection:

import ts = require("raml-typesystem")

var typeCollection = ts.loadTypeCollection({
    types: {
        Person: {
            type: "object",
            properties:{
                kind: "string"
            }
        },
        Man: {
            type: "Person",
            discriminator: "kind"
        }
    }
})
var isValid = typeCollection.getType("Person").validateType()

Validating object against type:

import ts = require("raml-typesystem")

var typeCollection = ts.loadTypeCollection({
    types: {
        Person: {
            type: "object",
            properties:{
                kind: "string"
            }
        },
        Man: {
            type: "Person",
            discriminator: "kind"
        }
    }
})
var isValid = typeCollection.getType("Person").validate({dd: true})

Contribute

The raml-typesystem repo is an open source project and any contribution is always welcome. Please follow these simple steps when contributing to this project:

  1. Check for open issues or open a fresh issue to start a discussion around an idea or a bug.
  2. Fork the repository on Github and make your changes on the develop branch (or branch off of it).
  3. Send a pull request (with the develop branch as the target).
  4. One of the main contributor or admin will review the PR and merge.

A big thank you goes out to everyone who helped with the project, the contributors and everyone who took the time to report issues and give feedback.

You can also directly get in touch with us. Simply send us an email to: [email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].