getUnderscoreToCamelCaseFilter()->filter($name); } /** * Remove capitalized letters and prepend underscores. */ public function extract(string $name, ?object $object = null) : string { return $this->getCamelCaseToUnderscoreFilter()->filter($name); } private function getUnderscoreToCamelCaseFilter() : UnderscoreToCamelCaseFilter { if (! static::$underscoreToCamelCaseFilter) { static::$underscoreToCamelCaseFilter = new UnderscoreToCamelCaseFilter(); } return static::$underscoreToCamelCaseFilter; } private function getCamelCaseToUnderscoreFilter() : CamelCaseToUnderscoreFilter { if (! static::$camelCaseToUnderscoreFilter) { static::$camelCaseToUnderscoreFilter = new CamelCaseToUnderscoreFilter(); } return static::$camelCaseToUnderscoreFilter; } }