You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: convert_box.go
    path of file: ./repos/dotenx/ao-api/controllers/uibuilder/publishutils
    
    the code of the file until where you have to start completion: package publishutils

import (
	"bytes"
	"encoding/json"
	"fmt"
	"strings"
	"text/template"
)

type Box struct {
	Kind       string        `json:"kind"`
	Id         string        `json:"id"`
	Components []interface{} `json:"components"`
	RepeatFrom struct {
		Name     string
		Iterator string
	} `json:"repeatFrom"`
	Events     []Event  `json:"events"`
	Bindings   Bindings `json:"bindings"`
	ClassNames []string `json:"classNames"`
	ElementId  string   `json:"elementId"`
	Data       struct {
		Style struct {
			Desktop StyleModes `json:"desktop"`
			Tablet
    
func renderRepeatFromName(name string) string {
	/*
		if `name` starts with $store.source, remove .source and place ?.data after the part after .source, o.w. return name
		for example, if name equals $store.source.x.y.z the function should return $store.x?.data.y.z
	*/
	if strings.HasPrefix(name, "$store.source") {
		tmp := strings.Replace(name, "$store.source.", "", 1)
		parts := strings.SplitN(tmp, ".", 2)
		if len(parts) == 1 {
			return fmt.Sprintf("$store.%s.data", parts[0])
		} else {
			return fmt.Sprintf("$store.%s.data?.%s", parts[0], parts[1])
		}
	} else {
		return name
	}

}