Documentation

Overview

Package helper is a set common helper functions

Index

Constants

This section is empty.

Variables

View Source
var (
	Utf8bom    = []byte{0xEF, 0xBB, 0xBF}
	Utf16LEbom = []byte{0xFF, 0xFE}
	Utf16BEbom = []byte{0xFE, 0xFF}
	Utf32LEbom = []byte{0xFF, 0xFE, 0x00, 0x00}
	Utf32BEbom = []byte{0x00, 0x00, 0xFE, 0xFF}
)

byte order mark bytes

Functions

func CleanPath

func CleanPath(src string) string

CleanPath replace special file path characters: "'`$}{@><:|?*&^;/\ by _ underscore

func DeepCopy

func DeepCopy(src interface{}, dst interface{}) error

DeepCopy using gob to make a deep copy from src into dst, both src and dst expected to be a pointers

func FileToUtf8

func FileToUtf8(filePath string, encodingName string) (string, error)

FileToUtf8 read file content and convert it to UTF-8 string.

If file starts with BOM (utf-8 utf-16LE utf-16BE utf-32LE utf-32BE) then BOM is used. If no BOM and encodingName is "" empty then file content probed to see is it already utf-8. If encodingName explicitly specified then it is used to convert file content to string. If none of above then assume default encoding: "windows-1252" on Windows and "utf-8" on Linux.

func FromJson

func FromJson(srcJson []byte, dst interface{}) (bool, error)

FromJson restore from json string bytes and convert to destination pointer.

func FromJsonFile

func FromJsonFile(jsonPath string, dst interface{}) (bool, error)

FromJsonFile reads read from json file and convert to destination pointer.

func MakeDateTime

func MakeDateTime(t time.Time) string

MakeDateTime return date-time string, ie: 2012-08-17 16:04:59.148

func MakeTimeStamp

func MakeTimeStamp(t time.Time) string

MakeTimeStamp retrun timestamp string as: 2012_08_17_16_04_59_148

func PackZip

func PackZip(srcPath string, dstDir string) (string, error)

PackZip create new (overwrite) zip archive from specified file or directory and all subdirs. If dstDir is "" empty then result located in source base directory.

func ParseKeyValue

func ParseKeyValue(src string) (map[string]string, error)

ParseKeyValue string of multiple key=value; pairs separated by semicolon. Key cannot be empty, value can be. Value can be escaped with "double" or 'single' quotes

func ToAlphaNumeric

func ToAlphaNumeric(src string) string

ToAlphaNumeric replace all non [A-Z,a-z,0-9] by _ underscore and remove repetitive underscores

func ToJsonFile

func ToJsonFile(jsonPath string, src interface{}) error

ToJsonFile convert source to json and write into jsonPath file.

func ToJsonIndent

func ToJsonIndent(src interface{}) (string, error)

ToJsonIndent return source conveted to json indeneted string.

func UnQuote

func UnQuote(src string) string

UnQuote trim spaces and remove "double" or 'single' quotes around string

func UnpackZip

func UnpackZip(zipPath string, dstDir string) error

UnpackZip unpack zip archive into specified directory, creating it if not exist. If dstDir is "" empty then result located in source base directory.

func Utf8Reader

func Utf8Reader(f *os.File, encodingName string) (io.Reader, error)

Utf8Reader return a reader to transform file content to utf-8.

If file starts with BOM (utf-8 utf-16LE utf-16BE utf-32LE utf-32BE) then BOM is used. If no BOM and encodingName is "" empty then file content probed to see is it already utf-8. If encodingName explicitly specified then it is used to convert file content to string. If none of above then assume default encoding: "windows-1252" on Windows and "utf-8" on Linux.

Types

This section is empty.