1.0.0 • Published 2 years ago

@protagonists/coerce-basics v1.0.0

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

About

A package to get you started with @protagonists/coerce!


Table of content

The content below may not correspond to the structure of the objects


How to use?

Description

This package contains a few basic SchemaTypes that try to stay consistent with javascript's existing type conversion
Those are meant to be an easy way to start using @protagonists/coerce
All of them of course extends from the SchemaType object

Import

Terminal

npm install @protagonists/coerce-basics

Node.js

const Basics = require("@protagonists/coerce-basics");

Example

Code:

// Imports
const { Schema } = require("@protagonists/coerce");
const { StringType, IntRange, DateType } = require("@protagonists/coerce-basics");

// Create schema 'Person'
const Person = new Schema({
  name: StringType,
  age: IntRange(0, 200),
  birthday: DateType,
  friends: [StringType]
});

// Coerce object into following the model
const John = new Person({
  name: "John",
  favColor: "Red",
  friends: ["Steve", "Carla", "Meep"],
  kids: 2,
  birthday: "1984",
  age: 37
});

// Log the result
console.log(John);

Output:

{
  name: 'John',
  age: 37,
  birthday: 1984-01-01T00:00:00.000Z,
  friends: [ 'Steve', 'Carla', 'Meep' ]
}