original_string: public function toSnakeCase(string $separator = '_'): self
      {
  
          return $this->toCamelCase()
              ->replace('/[A-Z]/', function ($piece) use ($separator) {
                  return sprintf('%s%s', $separator, strtolower($piece));
              });
      }
code: public function toSnakeCase(string $separator = '_'): self
      {
  
          return $this->toCamelCase()
              ->replace('/[A-Z]/', function ($piece) use ($separator) {
                  return sprintf('%s%s', $separator, strtolower($piece));
              });
      }
code_tokens: public function toSnakeCase ( string $ separator = '_' ) : self { return $ this -> toCamelCase ( ) -> replace ( '/[A-Z]/' , function ( $ piece ) use ( $ separator ) { return sprintf ( '%s%s' , $ separator , strtolower ( $ piece ) ) ; } ) ; }
docstring: Transforma la cadena de texto a formato snake_case
  
  @param string $separator
  
  @return \PlanB\Type\Text\Text
docstring_tokens: Transforma la cadena de texto a formato snake_case