This is a library that enables handling and manipulation of Salesforce Identifiers. Specifically it enables converting identifiers between 15 character (case-sensitive) and 18 character (case-insensitive) versions.
This library parses a Salesforce identifier for the user and provides some convenience methods for handling interactions with the identifier.
It's possible to have different versions of a Salesforce identifier. 15 character identifiers are case-sensitive while 18 character identifers are not. As a result, this library always checks and adjusts the casing of identifiers and always produces 18 character identifiers. This allows users to confidently use which ever form they prefer.
package main
import (
"fmt"
"os"
"github.com/sigmavirus24/salesforceid"
)
func main() {
// Note that we're using an 18-character, entirely lower-cased Salesforce identifier here
sfid, err := salesforceid.New("00d000000000062eaa")
if err != nil {
fmt.Printf("encountered unexpected error: %q", err)
os.Exit(1)
}
fmt.Println(sfid)
}
Furthermore, one can use this library to perform arithmetic on the identifiers. For an example of where this might be useful see the example in this project.