func()

in auth/email_action_links.go [37:62]


func (settings *ActionCodeSettings) toMap() (map[string]interface{}, error) {
	if settings.URL == "" {
		return nil, errors.New("URL must not be empty")
	}

	url, err := url.Parse(settings.URL)
	if err != nil || url.Scheme == "" || url.Host == "" {
		return nil, fmt.Errorf("malformed url string: %q", settings.URL)
	}

	if settings.AndroidMinimumVersion != "" || settings.AndroidInstallApp {
		if settings.AndroidPackageName == "" {
			return nil, errors.New("Android package name is required when specifying other Android settings")
		}
	}

	b, err := json.Marshal(settings)
	if err != nil {
		return nil, err
	}
	var result map[string]interface{}
	if err := json.Unmarshal(b, &result); err != nil {
		return nil, err
	}
	return result, nil
}