function isFallbackCompositionEnd(topLevelType, nativeEvent) {
  switch (topLevelType) {
    case TOP_KEY_UP:
      // Command keys insert or clear IME input.
      return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1;
    case TOP_KEY_DOWN:
      // Expect IME keyCode on each keydown. If we get any other
      // code we must have exited earlier.
      return nativeEvent.keyCode !== START_KEYCODE;
    case TOP_KEY_PRESS:
    case TOP_MOUSE_DOWN:
    case TOP_BLUR:
      // Events are not possible without cancelling IME.
      return true;
    default:
      return false;
  }
}
function isFallbackCompositionEnd(topLevelType, nativeEvent) {
  switch (topLevelType) {
    case TOP_KEY_UP:
      // Command keys insert or clear IME input.
      return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1;
    case TOP_KEY_DOWN:
      // Expect IME keyCode on each keydown. If we get any other
      // code we must have exited earlier.
      return nativeEvent.keyCode !== START_KEYCODE;
    case TOP_KEY_PRESS:
    case TOP_MOUSE_DOWN:
    case TOP_BLUR:
      // Events are not possible without cancelling IME.
      return true;
    default:
      return false;
  }
}
function isFallbackCompositionEnd ( topLevelType , nativeEvent ) { switch ( topLevelType ) { case TOP_KEY_UP : // Command keys insert or clear IME input. return END_KEYCODES . indexOf ( nativeEvent . keyCode ) !== - 1 ; case TOP_KEY_DOWN : // Expect IME keyCode on each keydown. If we get any other // code we must have exited earlier. return nativeEvent . keyCode !== START_KEYCODE ; case TOP_KEY_PRESS : case TOP_MOUSE_DOWN : case TOP_BLUR : // Events are not possible without cancelling IME. return true ; default : return false ; } }
Does our fallback mode think that this event is the end of composition?

@param {string} topLevelType
@param {object} nativeEvent
@return {boolean}
Does our fallback mode think that this event is the end of composition?