function ($arg, $opt) {
  var lastEnter = 0
  var lastExit = 0
  updateLifeCycle(function () {
    if (isDefine($opt) && isObject($opt) && isString($arg)) {
      if (countEntered > lastEnter) {
        isDefine($opt.enter) && hasAtt(createEl.enter, $arg) && $opt.enter(createEl.enter)
        lastEnter = countEntered
      }
      if (countExits > lastExit) {
        isDefine($opt.exit) && hasAtt(createEl.exit,$arg) && $opt.exit(createEl.exit)
        lastExit = countExits
      }
    }
  })
}
function ($arg, $opt) {
  var lastEnter = 0
  var lastExit = 0
  updateLifeCycle(function () {
    if (isDefine($opt) && isObject($opt) && isString($arg)) {
      if (countEntered > lastEnter) {
        isDefine($opt.enter) && hasAtt(createEl.enter, $arg) && $opt.enter(createEl.enter)
        lastEnter = countEntered
      }
      if (countExits > lastExit) {
        isDefine($opt.exit) && hasAtt(createEl.exit,$arg) && $opt.exit(createEl.exit)
        lastExit = countExits
      }
    }
  })
}
function ( $arg , $opt ) { var lastEnter = 0 var lastExit = 0 updateLifeCycle ( function ( ) { if ( isDefine ( $opt ) && isObject ( $opt ) && isString ( $arg ) ) { if ( countEntered > lastEnter ) { isDefine ( $opt . enter ) && hasAtt ( createEl . enter , $arg ) && $opt . enter ( createEl . enter ) lastEnter = countEntered } if ( countExits > lastExit ) { isDefine ( $opt . exit ) && hasAtt ( createEl . exit , $arg ) && $opt . exit ( createEl . exit ) lastExit = countExits } } } ) }
($arg → string, $opt → object{ * })
- check and send notification if component has enter or exit
( $arg → string $opt → object { * } ) - check and send notification if component has enter or exit