af-documents v1.1.1
af-documents
Status of Project
Installation
npm install af-documentsDescription
The Documents Library provides classes that make working with Documents and Properties easier. A Document is an entity that contains Properties, nested Documents, and/or arrays of Properties. A Property is an entity that represents a value - string, number, boolean, and immutable are basic properties - and RegExp and Email are properties that build upon the basic properties.
Properties can have Validators and Normalizers assigned to them. This makes each Property a self contained entity that knows how to manage the value it represents.
A Property implements the toString and valueOf methods so they can be used in traditional ways as well.
const firstName = StringProperty('Steve', { name: 'firstName' });
const lastName = StringProperty('Smith', { name: 'lastName' });
const fullName = firstName + ' ' + lastName;It does seem a little overkill to put strings in a Property or really any value when plain object will suffice. However, combining a Property with the propertyBuilder method can make ingesting, validating, and normalizing data a breeze.
propertyBuilder uses a PropertyDescriptionMap that can allow you to quickly create objects with Properties as its members that represent data from external sources with the knowledge that invalid data will be caught and data can be normalized as you want it quickly.
Support
To share your comments, provide suggestions, or raise issues, create an issue.