0.1.0 • Published 3 years ago

object-deserializator v0.1.0

Weekly downloads
-
License
ISC
Repository
github
Last release
3 years ago

Typesafe Object Deserializer

Node.js Package

This is a simple and lightweight library for typesafe deserialization, convertion and validation of a POJO (Plain Old Javascript Object) which you usually receive from the server as a JSON response.

If any error occures object deserializer throws a DeserializationError with an additional information about a path to the invalid value in a POJO.

This is a simple usage example:

import * from 'object-deserializer';

type Person = {
  name: string;
  birthday?: Date;
};

const response = `
{
  "person": {
    "name": "John",
    "birthday": "1990-01-01"
  }
}`;

const person = deserialize<Person>(JSON.parse(response), d =>
  d.required('person').asObject(d => ({
    name: d.required('name').asString,
    birthday: d.optional('birthday')?.asDate,
  }))
);

You can create your own value mappers like this:

function personMapper(d: ObjectDeserializer): Person {
  return {
    name: d.required('name').asString,
    birthday: d.optional('birthday')?.asDate,
  };
}

And use it later:

const person = d.required('person').asObject(personMapper);

You can find more advanced examples in the unit tests file.

0.1.0

3 years ago