final public function make(array $input, $fillable, array $defaults = []): Adapter
    {
        $this->input = Collection::make($input);
        try {
            $this->setFillable($fillable);
        } catch (\TypeError $e) {
            $this->fillable =  (array)$fillable;
        }
        try {
            $this->setDefaults($fillable, $defaults);
        } catch (\TypeError $e) {
            $this->defaults =  $defaults;
        }

        $this->output = Collection::make([]);
        $this->process();
        return $this;
    }
final public function make(array $input, $fillable, array $defaults = []): Adapter
    {
        $this->input = Collection::make($input);
        try {
            $this->setFillable($fillable);
        } catch (\TypeError $e) {
            $this->fillable =  (array)$fillable;
        }
        try {
            $this->setDefaults($fillable, $defaults);
        } catch (\TypeError $e) {
            $this->defaults =  $defaults;
        }

        $this->output = Collection::make([]);
        $this->process();
        return $this;
    }
final public function make ( array $ input , $ fillable , array $ defaults = [ ] ) : Adapter { $ this -> input = Collection :: make ( $ input ) ; try { $ this -> setFillable ( $ fillable ) ; } catch ( \ TypeError $ e ) { $ this -> fillable = ( array ) $ fillable ; } try { $ this -> setDefaults ( $ fillable , $ defaults ) ; } catch ( \ TypeError $ e ) { $ this -> defaults = $ defaults ; } $ this -> output = Collection :: make ( [ ] ) ; $ this -> process ( ) ; return $ this ; }
Adapter constructor.

@param array $input
@param array|Model $fillable
@param array $defaults
@return Adapter
Adapter constructor .