docs: function getFallbackBeforeInputChars(topLevelType, nativeEvent) {
  	  // If we are currently composing (IME) and using a fallback to do so,
  	  // try to extract the composed characters from the fallback object.
  	  // If composition event is available, we extract a string only at
  	  // compositionevent, otherwise extract it at fallback events.
  	  if (currentComposition) {
  	    if (topLevelType === 'topCompositionEnd' || !canUseCompositionEvent && isFallbackCompositionEnd(topLevelType, nativeEvent)) {
  	      var chars = currentComposition.getData();
  	      FallbackCompositionState.release(currentComposition);
  	      currentComposition = null;
  	      return chars;
  	    }
  	    return null;
  	  }
  	
  	  switch (topLevelType) {
  	    case 'topPaste':
  	      // If a paste event occurs after a keypress, throw out the input
  	      // chars. Paste events should not lead to BeforeInput events.
  	      return null;
  	    case 'topKeyPress':
  	      /**
  	       * As of v27, Firefox may fire keypress events even when no character
  	       * will be inserted. A few possibilities:
  	       *
  	       * - `which` is `0`. Arrow keys, Esc key, etc.
  	       *
  	       * - `which` is the pressed key code, but no char is available.
  	       *   Ex: 'AltGr + d` in Polish. There is no modified character for
  	       *   this key combination and no character is inserted into the
  	       *   document, but FF fires the keypress for char code `100` anyway.
  	       *   No `input` event will occur.
  	       *
  	       * - `which` is the pressed key code, but a command combination is
  	       *   being used. Ex: `Cmd+C`. No character is inserted, and no
  	       *   `input` event will occur.
  	       */
  	      if (nativeEvent.which && !isKeypressCommand(nativeEvent)) {
  	        return String.fromCharCode(nativeEvent.which);
  	      }
  	      return null;
  	    case 'topCompositionEnd':
  	      return useFallbackCompositionData ? null : nativeEvent.data;
  	    default:
  	      return null;
  	  }
  	}