lib/list.js
function List(value, path) {

    if (process.env.NODE_ENV === 'production') {
      if (identity) {
        return value; // just trust the input if elements must not be hydrated
      }
    }

    if (process.env.NODE_ENV !== 'production') {
      path = path || [displayName];
      assert(isArray(value), function () { return 'Invalid value ' + assert.stringify(value) + ' supplied to ' + path.join('/') + ' (expected an array of ' + typeNameCache + ')'; });
    }

    var idempotent = true; // will remain true if I can reutilise the input
    var ret = []; // make a temporary copy, will be discarded if idempotent remains true
    for (var i = 0, len = value.length; i < len; i++ ) {
      var actual = value[i];
      var instance = create(type, actual, ( process.env.NODE_ENV !== 'production' ? path.concat(i + ': ' + typeNameCache) : null ));
      idempotent = idempotent && ( actual === instance );
      ret.push(instance);
    }

    if (idempotent) { // implements idempotency
      ret = value;
    }

    if (process.env.NODE_ENV !== 'production') {
      Object.freeze(ret);
    }

    return ret;
  }
function List(value, path) {

    if (process.env.NODE_ENV === 'production') {
      if (identity) {
        return value; // just trust the input if elements must not be hydrated
      }
    }

    if (process.env.NODE_ENV !== 'production') {
      path = path || [displayName];
      assert(isArray(value), function () { return 'Invalid value ' + assert.stringify(value) + ' supplied to ' + path.join('/') + ' (expected an array of ' + typeNameCache + ')'; });
    }

    var idempotent = true; // will remain true if I can reutilise the input
    var ret = []; // make a temporary copy, will be discarded if idempotent remains true
    for (var i = 0, len = value.length; i < len; i++ ) {
      var actual = value[i];
      var instance = create(type, actual, ( process.env.NODE_ENV !== 'production' ? path.concat(i + ': ' + typeNameCache) : null ));
      idempotent = idempotent && ( actual === instance );
      ret.push(instance);
    }

    if (idempotent) { // implements idempotency
      ret = value;
    }

    if (process.env.NODE_ENV !== 'production') {
      Object.freeze(ret);
    }

    return ret;
  }
function List ( value , path ) { if ( process . env . NODE_ENV === 'production' ) { if ( identity ) { return value ; // just trust the input if elements must not be hydrated } } if ( process . env . NODE_ENV !== 'production' ) { path = path || [ displayName ] ; assert ( isArray ( value ) , function ( ) { return 'Invalid value ' + assert . stringify ( value ) + ' supplied to ' + path . join ( '/' ) + ' (expected an array of ' + typeNameCache + ')' ; } ) ; } var idempotent = true ; // will remain true if I can reutilise the input var ret = [ ] ; // make a temporary copy, will be discarded if idempotent remains true for ( var i = 0 , len = value . length ; i < len ; i ++ ) { var actual = value [ i ] ; var instance = create ( type , actual , ( process . env . NODE_ENV !== 'production' ? path . concat ( i + ': ' + typeNameCache ) : null ) ) ; idempotent = idempotent && ( actual === instance ) ; ret . push ( instance ) ; } if ( idempotent ) { // implements idempotency ret = value ; } if ( process . env . NODE_ENV !== 'production' ) { Object . freeze ( ret ) ; } return ret ; }
the list is identity iif type is identity
the list is identity iif type is identity