Popularity
0.3
Declining
Activity
8.5
Declining
6
1
1

Description

Presentation and transformation layer for data output in RESTful APIs.

Monthly Downloads: 0
Programming language: JavaScript
Tags: JSON     API     REST     Transformer     serialization    
Latest version: v2.0.1

Vicis alternatives and similar modules

Based on the "Serialization" category

Do you think we are missing an alternative of Vicis or a related project?

Add another 'Serialization' Module

README

[Vicis](.github/assets/banner.webp?raw=true "Vicis")

« Vicis »

Presentation and transformation layer for data output in RESTful APIs.

•• Vicis Documentation •• JavaScript Repository •• Deno Repository ••

npm downloads stars types build lgtm

This is Node.js analogue to these libraries: 🐘 Fractal for PHP, 💎 Roar for Ruby, 🍢 Marshmallow for Python.


💬 Tl;dr

Code:

import { Vicis } from "vicis";
const configuration = {
  cast: { _id: Vicis.INTEGER, registered: Vicis.FLAG },
  defaults: { confirmed: false },
  exclude: [/(?:password)/gi, /^(?:_)(?:_)?/],
  omit: ["createdAt", "updatedAt", "deletedAt"],
  rename: { _id: "id", email: "login" },
  replace: { url: null }
};
const model = {
  _id: "54759309034942804",
  email: "johnwick@gmail.com",
  userPassword: "36e80092ff7f1ed72903cda9409b9d2c",
  registered: "1",
  url: "example.com",
  createdAt: "2020-01-01 01:23:45",
  __v: 1
};
const serializer = new Vicis(configuration);
serializer.data(model);
console.log(serializer.getData());

Output:

{
  "confirmed": false,
  "id": 54759309034942804,
  "login": "johnwick@gmail.com",
  "registered": true,
  "url": null
}

🗺️ My other projects

Full list here

<!-- Badges -->