stringutil

package
v0.0.0-...-4874e98 Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2025 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package stringutil Exports common rune utilities for parsing and emitting javascript

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddUTF8ByteOrderMark

func AddUTF8ByteOrderMark(text string) string

func EquateStringCaseInsensitive

func EquateStringCaseInsensitive(a, b string) bool

func EquateStringCaseSensitive

func EquateStringCaseSensitive(a, b string) bool

func Format

func Format(text string, args []any) string

func GetStringComparer

func GetStringComparer(ignoreCase bool) func(a, b string) Comparison

func GetStringEqualityComparer

func GetStringEqualityComparer(ignoreCase bool) func(a, b string) bool

func GuessIndentation

func GuessIndentation(lines []string) int

func HasPrefix

func HasPrefix(s string, prefix string, caseSensitive bool) bool

func HasSuffix

func HasSuffix(s string, suffix string, caseSensitive bool) bool

func IsASCIILetter

func IsASCIILetter(ch rune) bool

func IsDigit

func IsDigit(ch rune) bool

func IsHexDigit

func IsHexDigit(ch rune) bool

func IsLineBreak

func IsLineBreak(ch rune) bool

func IsOctalDigit

func IsOctalDigit(ch rune) bool

func IsWhiteSpaceLike

func IsWhiteSpaceLike(ch rune) bool

func IsWhiteSpaceSingleLine

func IsWhiteSpaceSingleLine(ch rune) bool

func LowerFirstChar

func LowerFirstChar(str string) string

func RemoveByteOrderMark

func RemoveByteOrderMark(text string) string

func SplitLines

func SplitLines(text string) []string

func StripQuotes

func StripQuotes(name string) string

func UnquoteString

func UnquoteString(str string) string

Types

type Comparison

type Comparison = int
const (
	ComparisonLessThan    Comparison = -1
	ComparisonEqual       Comparison = 0
	ComparisonGreaterThan Comparison = 1
)

func CompareStringsCaseInsensitive

func CompareStringsCaseInsensitive(a string, b string) Comparison

func CompareStringsCaseInsensitiveEslintCompatible

func CompareStringsCaseInsensitiveEslintCompatible(a, b string) Comparison

CompareStringsCaseInsensitiveEslintCompatible performs a case-insensitive comparison using toLowerCase() instead of toUpperCase() for ESLint compatibility.

`CompareStringsCaseInsensitive` transforms letters to uppercase for unicode reasons, while eslint's `sort-imports` rule transforms letters to lowercase. Which one you choose affects the relative order of letters and ASCII characters 91-96, of which `_` is a valid character in an identifier. So if we used `CompareStringsCaseInsensitive` for import sorting, TypeScript and eslint would disagree about the correct case-insensitive sort order for `__String` and `Foo`. Since eslint's whole job is to create consistency by enforcing nitpicky details like this, it makes way more sense for us to just adopt their convention so users can have auto-imports without making eslint angry.

func CompareStringsCaseInsensitiveThenSensitive

func CompareStringsCaseInsensitiveThenSensitive(a, b string) Comparison

func CompareStringsCaseSensitive

func CompareStringsCaseSensitive(a string, b string) Comparison

Jump to

Keyboard shortcuts

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