lib/index.js
function expand(property, value, recurse) {
    ASSERT(arguments.length, 'property argument is required');

    if (arguments.length < 3) {
        if (typeof value === 'boolean') {
            recurse = value;
            value = undefined;
        } else {
            recurse = true;
        }
    }

    var undefvalue = typeof value === 'undefined';

    return undefvalue?
        expandAsArray(property, recurse)
        : expandAsObject(property, value, recurse);
}
function expand(property, value, recurse) {
    ASSERT(arguments.length, 'property argument is required');

    if (arguments.length < 3) {
        if (typeof value === 'boolean') {
            recurse = value;
            value = undefined;
        } else {
            recurse = true;
        }
    }

    var undefvalue = typeof value === 'undefined';

    return undefvalue?
        expandAsArray(property, recurse)
        : expandAsObject(property, value, recurse);
}
function expand ( property , value , recurse ) { ASSERT ( arguments . length , 'property argument is required' ) ; if ( arguments . length < 3 ) { if ( typeof value === 'boolean' ) { recurse = value ; value = undefined ; } else { recurse = true ; } } var undefvalue = typeof value === 'undefined' ; return undefvalue ? expandAsArray ( property , recurse ) : expandAsObject ( property , value , recurse ) ; }
Expand a property to an array of parts or property and value to object

@param {string} property
@param {?string} value
@param {?boolean} recurse
@returns {Array|Object}
Expand a property to an array of parts or property and value to object