Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ParamFuncArgToInt ¶
func ParamFuncArgToInt(a ParamFuncArg) (int, error)
ParamFuncArgToInt converts and returns any type of "a", to an integer.
Types ¶
type ParamFunc ¶
type ParamFunc struct { Name string // range Args []ParamFuncArg // [1,5] }
ParamFunc holds the name of a parameter's function and its arguments (values) A param func is declared with: {param:int range(1,5)}, the range is the param function name the 1 and 5 are the two param function arguments range(1,5)
type ParamFuncArg ¶
type ParamFuncArg interface{}
ParamFuncArg represents a single parameter function's argument
type ParamStatement ¶
type ParamStatement struct { Src string // the original unparsed source, i.e: {id:int range(1,5) else 404} Name string // id Type ParamType // int Funcs []ParamFunc // range ErrorCode int // 404 }
ParamStatement is a struct which holds all the necessary information about a macro parameter. It holds its type (string, int, alphabetical, file, path), its source ({param:type}), its name ("param"), its attached functions by the user (min, max...) and the http error code if that parameter failed to be evaluated.
type ParamType ¶
type ParamType uint8
ParamType is a specific uint8 type which holds the parameter types' type.
const ( // ParamTypeUnExpected is an unexpected parameter type. ParamTypeUnExpected ParamType = iota // ParamTypeString is the string type. // If parameter type is missing then it defaults to String type. // Allows anything // Declaration: /mypath/{myparam:string} or /mypath{myparam} ParamTypeString // ParamTypeInt is the integer, a number type. // Allows only numbers (0-9) // Declaration: /mypath/{myparam:int} ParamTypeInt // ParamTypeLong is the integer, a number type. // Allows only numbers (0-9) // Declaration: /mypath/{myparam:long} ParamTypeLong // ParamTypeAlphabetical is the alphabetical/letter type type. // Allows letters only (upper or lowercase) // Declaration: /mypath/{myparam:alphabetical} ParamTypeAlphabetical // ParamTypeFile is the file single path type. // Allows: // letters (upper or lowercase) // numbers (0-9) // underscore (_) // dash (-) // point (.) // no spaces! or other character // Declaration: /mypath/{myparam:file} ParamTypeFile // ParamTypePath is the multi path (or wildcard) type. // Allows anything, should be the last part // Declaration: /mypath/{myparam:path} ParamTypePath )
func LookupParamType ¶
LookupParamType accepts the string representation of a parameter type. Available: "string" "int" "alphabetical" "file" "path"