<commit_before>// Copyright 2016, University of Colorado Boulder

/**
 *
 * @author <NAME> (PhET Interactive Simulations)
 * @author <NAME>
 */
define( function( require ) {
  'use strict';

  // modules
  var assertInstanceOf = require( 'PHET_IO/assertions/assertInstanceOf' );
  var phetioInherit = require( 'PHET_IO/phetioInherit' );
  var phetioNamespace = require( 'PHET_IO/phetioNamespace' );
  var TNode = require( 'PHET_IO/types/scenery/nodes/TNode' );
  var toEventOnStatic = require( 'PHET_IO/events/toEventOnStatic' );

  var TComboBox = function TComboBox( valueType ) {
    return phetioInherit( TNode, 'TComboBox', function( comboBox, phetioID ) {
      assertInstanceOf( comboBox, phet.sun.ComboBox );
      TNode.call( this, comboBox, phetioID );

      toEventOnStatic( comboBox, 'CallbacksForItemFired', 'user', phetioID, TComboBox( valueType ), 'fired', function( selection ) {
        return { value: valueType.toStateObject( selection ) };
      } );
      toEventOnStatic( comboBox, 'CallbacksForComboBoxDismissed', 'user', phetioID, TComboBox( valueType ), 'popupHidden' );<commit_msg>Instrumented types for beers-law-lab, see https://github.com/phetsims/beers-law-lab/issues/181<commit_after>// Copyright 2016, University of Colorado Boulder

/**
 *
 * @author <NAME> (PhET Interactive Simulations)
 * @author <NAME>
 */
define( function( require ) {
  'use strict';

  // modules
  var assertInstanceOf = require( 'PHET_IO/assertions/assertInstanceOf' );
  var phetioInherit = require( 'PHET_IO/phetioInherit' );
  var phetioNamespace = require( 'PHET_IO/phetioNamespace' );
  var TNode = require( 'PHET_IO/types/scenery/nodes/TNode' );
  var toEventOnStatic = require( 'PHET_IO/events/toEventOnStatic' );

  var TComboBox = function TComboBox( valueType ) {
    assert && assert( !!valueType, 'valueType should be defined' );
    return phetioInherit( TNode, 'TComboBox', function( comboBox, phetioID ) {
      assertInstanceOf( comboBox, phet.sun.ComboBox );
      TNode.call( this, comboBox, phetioID );

      toEventOnStatic( comboBox, 'CallbacksForItemFired', 'user', phetioID, TComboBox( valueType ), 'fired', function( selection ) {
        return { value: valueType.toStateObject( selection ) };
      } );
      toEventOnStatic( comboBox, 'CallbacksForComboBoxDismissed', 'user', phetioID, TComboBox( valueType ), 'popupHidden' );
{'fraction_non_alphanumeric': 0.1281183932346723, 'fraction_numerical': 0.004651162790697674, 'mean_word_length': 4.476851851851852, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4194976', 'n_tokens_mistral': 822, 'n_tokens_neox': 787, 'n_words': 174}