public function replace(string $field, $value): self
    {
        if ('type' === $field) {
            return $this->putIdentifier($value, $this->id);
        }

        if ('id' === $field) {
            return $this->putIdentifier($this->type, $value);
        }

        if ($this->isAttribute($field)) {
            return $this->putAttr($field, $value);
        }

        if ($this->isRelationship($field)) {
            return $this->putRelation($field, $value);
        }

        throw new \OutOfBoundsException("Field {$field} is not an attribute or relationship.");
    }
public function replace(string $field, $value): self
    {
        if ('type' === $field) {
            return $this->putIdentifier($value, $this->id);
        }

        if ('id' === $field) {
            return $this->putIdentifier($this->type, $value);
        }

        if ($this->isAttribute($field)) {
            return $this->putAttr($field, $value);
        }

        if ($this->isRelationship($field)) {
            return $this->putRelation($field, $value);
        }

        throw new \OutOfBoundsException("Field {$field} is not an attribute or relationship.");
    }
public function replace ( string $ field , $ value ) : self { if ( 'type' === $ field ) { return $ this -> putIdentifier ( $ value , $ this -> id ) ; } if ( 'id' === $ field ) { return $ this -> putIdentifier ( $ this -> type , $ value ) ; } if ( $ this -> isAttribute ( $ field ) ) { return $ this -> putAttr ( $ field , $ value ) ; } if ( $ this -> isRelationship ( $ field ) ) { return $ this -> putRelation ( $ field , $ value ) ; } throw new \ OutOfBoundsException ( "Field {$field} is not an attribute or relationship." ) ; }
Return a new instance with a new attribute/relationship field value.

The field must exist, otherwise it cannot be determined whether to replace
either an attribute or a relationship.

If the field is a relationship, the `data` member of that relationship will
be replaced.

@param string $field
@param $value
@return ResourceObject
@throws \OutOfBoundsException if the field does not exist.
Return a new instance with a new attribute / relationship field value .