catharsis.js
function prepareFrozenObject(obj, expr, {jsdoc}) {
    Object.defineProperty(obj, 'jsdoc', {
        value: jsdoc === true ? jsdoc : false
    });

    if (expr) {
        Object.defineProperty(obj, 'typeExpression', {
            value: expr
        });
    }

    return Object.freeze(obj);
}
function prepareFrozenObject(obj, expr, {jsdoc}) {
    Object.defineProperty(obj, 'jsdoc', {
        value: jsdoc === true ? jsdoc : false
    });

    if (expr) {
        Object.defineProperty(obj, 'typeExpression', {
            value: expr
        });
    }

    return Object.freeze(obj);
}
function prepareFrozenObject ( obj , expr , { jsdoc } ) { Object . defineProperty ( obj , 'jsdoc' , { value : jsdoc === true ? jsdoc : false } ) ; if ( expr ) { Object . defineProperty ( obj , 'typeExpression' , { value : expr } ) ; } return Object . freeze ( obj ) ; }
Add non-enumerable properties to a result object, then freeze it.
Add non - enumerable properties to a result object then freeze it .