func detectDataHelper(options *raymond.Options) string { if val, ok := options.DataFrame().Get("exclaim").(string); ok { return val } return "" }
// isSuccess is a helper function that executes a block iff the status // is success, else it executes the else block. func isSuccess(conditional bool, options *raymond.Options) string { if !conditional { return options.Inverse() } switch options.ParamStr(0) { case "success": return options.Fn() default: return options.Inverse() } }
// isFailure is a helper function that executes a block iff the status // is a form of failure, else it executes the else block. func isFailure(conditional bool, options *raymond.Options) string { if !conditional { return options.Inverse() } switch options.ParamStr(0) { case "failure", "error", "killed": return options.Fn() default: return options.Inverse() } }
func listHelper(context interface{}, options *raymond.Options) string { val := reflect.ValueOf(context) switch val.Kind() { case reflect.Array, reflect.Slice: if val.Len() > 0 { result := "<ul>" for i := 0; i < val.Len(); i++ { result += "<li>" result += options.FnWith(val.Index(i).Interface()) result += "</li>" } result += "</ul>" return result } } return "<p>" + options.Inverse() + "</p>" }
func urlencode(options *raymond.Options) string { return url.QueryEscape(options.Fn()) }
func formCtxHelper(context interface{}, options *raymond.Options) string { return "<form>" + options.FnWith(context) + "</form>" }
func formHelper(options *raymond.Options) string { return "<form>" + options.Fn() + "</form>" }
func rawThreeHelper(a, b, c string, options *raymond.Options) string { return options.Fn() + a + b + c }
func rawHelper(options *raymond.Options) string { return options.Fn() }
func linkHelper(prefix string, options *raymond.Options) string { return fmt.Sprintf(`<a href="%s/%s">%s</a>`, prefix, options.ValueStr("url"), options.ValueStr("text")) }