function defineProperties(obj, properties) {
            for (var i in properties) {
                var value = properties[i];
                Object.defineProperty(obj, i, typeof value === 'function' ? {
                    value: value
                } : value);
            }
        }
/**
         * Essentially `Object.defineProperties()`, except function values are assigned as value descriptors for convenience.
         * @private
         */
Essentially `Object.defineProperties()`, except function values are assigned as value descriptors for convenience.
@private
Essentially ` Object . defineProperties () ` except function values are assigned as value descriptors for convenience . @private
function defineProperties(obj, properties) {
            for (var i in properties) {
                var value = properties[i];
                Object.defineProperty(obj, i, typeof value === 'function' ? {
                    value: value
                } : value);
            }
        }
function defineProperties ( obj , properties ) { for ( var i in properties ) { var value = properties [ i ] ; Object . defineProperty ( obj , i , typeof value === 'function' ? { value : value } : value ) ; } }
Essentially `Object.defineProperties()`, except function values are assigned as value descriptors for convenience.
Essentially ` Object . defineProperties () ` except function values are assigned as value descriptors for convenience .