function setFunction(f) {
    if (canExecute) {
      if (Object.getPrototypeOf(f) === Function.prototype) {
        func = f;
        jn.logCreationEvent(id, 'INFO', 'function definition completed', (new Date()).toJSON());
      } else {
        setCanExecute(false);
        jn.logCreationEvent(id, 'ERROR', 'function definition failed', (new Date()).toJSON());
      }
    } 
  }
function setFunction(f) {
    if (canExecute) {
      if (Object.getPrototypeOf(f) === Function.prototype) {
        func = f;
        jn.logCreationEvent(id, 'INFO', 'function definition completed', (new Date()).toJSON());
      } else {
        setCanExecute(false);
        jn.logCreationEvent(id, 'ERROR', 'function definition failed', (new Date()).toJSON());
      }
    } 
  }
function setFunction ( f ) { if ( canExecute ) { if ( Object . getPrototypeOf ( f ) === Function . prototype ) { func = f ; jn . logCreationEvent ( id , 'INFO' , 'function definition completed' , ( new Date ( ) ) . toJSON ( ) ) ; } else { setCanExecute ( false ) ; jn . logCreationEvent ( id , 'ERROR' , 'function definition failed' , ( new Date ( ) ) . toJSON ( ) ) ; } } }
setter for function property
setter for function property