strings

package
v0.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 21, 2021 License: Apache-2.0 Imports: 9 Imported by: 2

Documentation

Overview

Example (NoTrailingNewline)
ld := NewLineDelimiter(os.Stdout, "|")
defer ld.Flush()
fmt.Fprint(ld, "  Hello  \n  World  ")
Output:

|  Hello  |
|  World  |
Example (TrailingNewline)
ld := NewLineDelimiter(os.Stdout, "|")
defer ld.Flush()
fmt.Fprint(ld, "  Hello  \n  World  \n")
Output:

|  Hello  |
|  World  |
||

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func BytesToString

func BytesToString(b []byte) string

BytesToString convert []byte type to string type.

func CamelString

func CamelString(s string) string

CamelString converts the accepted string to a camel string (xx_yy to XxYy)

func CodePointToUTF8

func CodePointToUTF8(str string, base int) string

CodePointToUTF8 converts Unicode Code Point to UTF-8. e.g.: CodePointToUTF8(`{"info":[["color","\u5496\u5561\u8272\u7c\u7eff\u8272"]]}`, 16) => `{"info":[["color","咖啡色|绿色"]]}`

func EscapeQualifiedName

func EscapeQualifiedName(in string) string

EscapeQualifiedName converts a plugin name, which might contain a / into a string that is safe to use on-disk. This assumes that the input has already been validates as a qualified name. we use "~" rather than ":" here in case we ever use a filesystem that doesn't allow ":".

func HTMLEntityToUTF8

func HTMLEntityToUTF8(str string, base int) string

HTMLEntityToUTF8 converts HTML Unicode to UTF-8. e.g.: HTMLEntityToUTF8(`{"info":[["color","ᕸᖹ⁐&#7c;&#7eff;⁐"]]}`, 16) => `{"info":[["color","咖啡色|绿色"]]}`

func Indent

func Indent(text, prefix string) string

Indent inserts prefix at the beginning of each line

func JoinQualifiedName

func JoinQualifiedName(namespace, name string) string

JoinQualifiedName joins 'namespace' and 'name' and returns a fully qualified name Assumes that the input is valid.

func LintCamelString

func LintCamelString(name string) string

LintCamelString converts the accepted string to a camel string (xx_id to XxID) NOTE:

support common initialisms

func ShortenString

func ShortenString(str string, n int) string

ShortenString returns the first N slice of a string.

func SnakeString

func SnakeString(s string) string

SnakeString converts the accepted string to a snake string (XxYy to xx_yy)

func SpaceInOne

func SpaceInOne(s string) string

SpaceInOne combines multiple consecutive space characters into one.

func SplitQualifiedName

func SplitQualifiedName(str string) (string, string)

SplitQualifiedName Splits a fully qualified name and returns its namespace and name. Assumes that the input 'str' has been validated.

func StringMarshalJSON

func StringMarshalJSON(s string, escapeHTML bool) []byte

StringMarshalJSON converts the string to JSON byte stream.

Example
s := `<>&{}""`
fmt.Printf("%s\n", StringMarshalJSON(s, true))
fmt.Printf("%s\n", StringMarshalJSON(s, false))
Output:

"\u003c\u003e\u0026{}\"\""
"<>&{}\"\""

func StringToBytes

func StringToBytes(s string) []byte

StringToBytes convert string type to []byte type. NOTE: panic if modify the member value of the []byte.

func UnescapeQualifiedName

func UnescapeQualifiedName(in string) string

UnescapeQualifiedName converts an escaped plugin name (as per EscapeQualifiedName) back to its normal form. This assumes that the input has already been validates as a qualified name.

Types

type LineDelimiter

type LineDelimiter struct {
	// contains filtered or unexported fields
}

LineDelimiter is a filter that will split input on lines and bracket each line with the delimiter string.

func NewLineDelimiter

func NewLineDelimiter(output io.Writer, delimiter string) *LineDelimiter

NewLineDelimiter allocates a new io.Writer that will split input on lines and bracket each line with the delimiter string. This can be useful in output tests where it is difficult to see and test trailing whitespace.

func (*LineDelimiter) Flush

func (ld *LineDelimiter) Flush() (err error)

Flush all lines up until now. This will assume insert a linebreak at the current point of the stream.

func (*LineDelimiter) Write

func (ld *LineDelimiter) Write(buf []byte) (n int, err error)

Write writes buf to the LineDelimiter ld. The only errors returned are ones encountered while writing to the underlying output stream.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL