private function buildProperties(
        MapInterface $properties,
        Str $name
    ): MapInterface {
        $name = $name->prepend('{')->append('}.');

        return $properties->reduce(
            new Map('string', 'string'),
            static function(MapInterface $carry, string $property) use ($name): MapInterface {
                return $carry->put(
                    $property,
                    (string) $name->append($property)
                );
            }
        );
    }
private function buildProperties(
        MapInterface $properties,
        Str $name
    ): MapInterface {
        $name = $name->prepend('{')->append('}.');

        return $properties->reduce(
            new Map('string', 'string'),
            static function(MapInterface $carry, string $property) use ($name): MapInterface {
                return $carry->put(
                    $property,
                    (string) $name->append($property)
                );
            }
        );
    }
private function buildProperties ( MapInterface $ properties , Str $ name ) : MapInterface { $ name = $ name -> prepend ( '{' ) -> append ( '}.' ) ; return $ properties -> reduce ( new Map ( 'string' , 'string' ) , static function ( MapInterface $ carry , string $ property ) use ( $ name ) : MapInterface { return $ carry -> put ( $ property , ( string ) $ name -> append ( $ property ) ) ; } ) ; }
Build the collection of properties to be injected in the query

@param MapInterface<string, Property> $properties

@return MapInterface<string, string>
Build the collection of properties to be injected in the query