public function instance(object $object): Binding
    {
        if (!$object instanceof $this->definition->typeName) {
            throw new \InvalidArgumentException(\sprintf('%s is not an instance of %s', \get_class($object), $this->definition->typeName));
        }
        
        $this->definition->instantiator = new Instance($object);
        
        return $this;
    }
public function instance(object $object): Binding
    {
        if (!$object instanceof $this->definition->typeName) {
            throw new \InvalidArgumentException(\sprintf('%s is not an instance of %s', \get_class($object), $this->definition->typeName));
        }
        
        $this->definition->instantiator = new Instance($object);
        
        return $this;
    }
public function instance ( object $ object ) : Binding { if ( ! $ object instanceof $ this -> definition -> typeName ) { throw new \ InvalidArgumentException ( \ sprintf ( '%s is not an instance of %s' , \ get_class ( $ object ) , $ this -> definition -> typeName ) ) ; } $ this -> definition -> instantiator = new Instance ( $ object ) ; return $ this ; }
Binds to the given object instance.

Binding to an instance implies that the bound object is shared and decorators have no effect!

@param object $object
@return Binding

@throws \InvalidArgumentException
Binds to the given object instance .