Skip to content

Latest commit

 

History

History
37 lines (27 loc) · 975 Bytes

README.md

File metadata and controls

37 lines (27 loc) · 975 Bytes

@meltwater/coerce

Build Status A simple javascript package for type checking an object

Install

npm i --save @meltwater/coerce

API reference

Please see full api documentation here

Usage

class ValidatedObject {
    constructor({ value }) {
        if(typeof value !== string) {
            throw new TypeError(`options.value must be a string. Provided value: ${value}`);
        }

        this.value = value;
        Object.freeze(this);
    }
}

const badValue = { value: 1234 };
coerce(badValue, ValidatedObject, 'Booooooom!');
// This will throw a TypeError with the message 'Booooooom!'

const goodValue = { value: 'so good' };
const typedValue = coerce(goodValue, ValidatedObject, 'Booooooom');
// This will return a new object that is an instanceof ValidatedObject with typedValue.value === 'so good'