Description
Presentation and transformation layer for data output in RESTful APIs.
Vicis alternatives and similar modules
Based on the "Serialization" category.
Alternatively, view Vicis alternatives based on common mentions on social networks and blogs.
-
snappy
DISCONTINUED. DEPRECATED - please use https://github.com/Brooooooklyn/snappy. Nodejs bindings to Google's Snappy compression library
InfluxDB - Purpose built for real-time analytics at any scale.
Do you think we are missing an alternative of Vicis or a related project?
Popular Comparisons
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 ••
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: "[email protected]",
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": "[email protected]",
"registered": true,
"url": null
}
🗺️ My other projects
<!-- Badges -->