index.js
function define(obj, property, value, setter = false) {
    if (setter) {
        return Object.defineProperty(obj, property, {
            value: value,
            writable: true,
            configurable: false,
            enumerable: true
        });
    } else {
        return Object.defineProperty(obj, property, {
            get: function () {
                return value;
            },
            configurable: false,
            enumerable: true
        });
    }
}
function define(obj, property, value, setter = false) {
    if (setter) {
        return Object.defineProperty(obj, property, {
            value: value,
            writable: true,
            configurable: false,
            enumerable: true
        });
    } else {
        return Object.defineProperty(obj, property, {
            get: function () {
                return value;
            },
            configurable: false,
            enumerable: true
        });
    }
}
function define ( obj , property , value , setter = false ) { if ( setter ) { return Object . defineProperty ( obj , property , { value : value , writable : true , configurable : false , enumerable : true } ) ; } else { return Object . defineProperty ( obj , property , { get : function ( ) { return value ; } , configurable : false , enumerable : true } ) ; } }
Short for Object.defineProperty,
the property is getter when setter is false
@param {any} obj
@param {any} property
@param {any} value
@param {boolean} [setter=false]
@returns {void}
Short for Object . defineProperty the property is getter when setter is false