Noodly Pasta Maker

    bh-property-helpers

    0.0.4 • Public • Published

    bh-property-helpers NPM version Build Status Coveralls Status

    This is helper for fast and nice property setter/getter creation in context object.

    Usage

    var Method = require('bh-property-helpers');
     
    method = new Method({ protected: false });
     
    funciton Context() {
        function pickModsProperty() {
            return '_object.' + (this._context.get('object').elem ? 'elemMods' : 'mods');
        }
     
        method(this)
            .before(function () {
                this._object = this._context.get('object');
            })
            .named('attr').changes('_object.attrs').property()
            .named('attrs').changes('_object.attrs').property()
            .named('bem').changes('_object.bem').value()
            .named('cls').changes('_object.cls').value()
            .named('content').changes('_object.content').value()
            .named('js').changes('_object.js').value()
            .named('param').changes('_object').property()
            .named('tag').changes('_object.tag').value()
            .named('mix').changes('_object.mix').array()
            .named('mod').changes(pickModsProperty).property()
            .named('mods').changes(pickModsProperty).object();
    }

    API

    Method([options])

    Constructor of method builder. Returns Builder.

    Builder(context)

    Returns builder for context object. All methods will be defined on this object. Returns Builder.

    .named(name)

    Defines name for the method. Returns Builder.

    .changes(propertyPath)

    Points created method to propertyPath, which can be String or Function. In case of Function property path will be resolved each time method is called. Returns Builder.

    .value() / .property() / .array() / .object()

    This methods tells builder about value type, with which created method will be working.

    Type What it does Setter/getter signature
    value() Just sets passed value to property function (value, force)
    property() Sets key-value in property object function (key, value, force)
    array() Appends passed value to Array property function (array, force)
    object() Extends property with passed object function (object, force)

    By default this setters will not override previous property value (unless force is true).

    Returns Builder.

    Install

    npm i bh-property-helpers

    DownloadsWeekly Downloads

    3

    Version

    0.0.4

    License

    MIT

    Last publish

    Collaborators

    • floatdrop