# Packages
Package handler is the highest level module of the macro package which makes use the rest of the macro package, it is mainly used, internally, by the router package.
# Functions
CountParams returns the length of the dynamic path's input parameters.
MustRegexp same as Regexp but it panics on the "expr" parse failure.
NewMacro creates and returns a Macro that can be used as a registry for a new customized parameter type and its functions.
Parse takes a full route path and a macro map (macro map contains the macro types with their registered param functions) and returns a new Template.
Regexp accepts a regexp "expr" expression and returns its MatchString.
# Variables
Alphabetical letter type letters only (upper or lowercase).
Bool or boolean as bool type a string which is "1" or "t" or "T" or "TRUE" or "true" or "True" or "0" or "f" or "F" or "FALSE" or "false" or "False".
Date type.
Defaults contains the defaults macro and parameters types for the router.
Email string type for validating an e-mail path parameter.
ErrParamNotAlphabetical is fired when the parameter value is not an alphabetical text.
ErrParamNotFile is fired when the parameter value is not a form of a file.
ErrParamNotWeekday is fired when the parameter value is not a form of a time.Weekday.
File type letters (upper or lowercase) numbers (0-9) underscore (_) dash (-) point (.) no spaces! or other character.
Int or number type both positive and negative numbers, actual value can be min-max int64 or min-max int32 depends on the arch.
Int16 type -32768 to 32767.
Int32 type -2147483648 to 2147483647.
Int64 as int64 type -9223372036854775808 to 9223372036854775807.
Int8 type -128 to 127.
Email string type for validating an e-mail path parameter.
Path type anything, should be the last part
It allows everything, we have String and Path as different types because I want to give the opportunity to the user to organise the macro functions based on wildcard or single dynamic named path parameter.
String type Allows anything (single path segment, as everything except the `Path`).
Uint as uint type actual value can be min-max uint64 or min-max uint32 depends on the arch.
Uint16 as uint16 type 0 to 65535.
Uint32 as uint32 type 0 to 4294967295.
Uint64 as uint64 type 0 to 18446744073709551615.
Uint8 as uint8 type 0 to 255.
UUID string type for validating a uuidv4 (and v1) path parameter.
Weekday type, returns a type of time.Weekday.
# Structs
Template contains a route's path full parsed template.
TemplateParam is the parsed macro parameter's template they are being used to describe the param's syntax result.
# Type aliases
Macros is just a type of a slice of *Macro which is responsible to register and search for macros based on the indent(parameter type).