raynor

A TypeScript marshalling library

Usage no npm install needed!

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

README

Raynor npm version Build Status Coverage License Dependencies

A TypeScript marshalling and data validation library.

See this article for a tutorial and introduction to Raynor.

We'll add more docs with time, but here's a quick example:

class User {
    @MarshalWith(StringMarshaller)
    name: string;
    @MarshalWith(ArrayOf(NumberMarshaller))
    scoresByDay: number[];

    totalScore(): number {
        return this.scoresByDay.reduce((a,b) => a + b, 0);
    }
}

const um = new (MarshalFrom(User))();
const u = um.extract(JSON.parse('{"name": "Raynor", "scoresByDay": [10, 20, 30]}'));
console.log(u.totalScore()); // Prints 60