* feat: generate fields validation and use it when issuing requests to API with soft (default) or hard modes
* chore: apply linter fixes
* feat: enable field validation on int fields
* feat: add validation for ^[\w]+$ fields
* feat: add validation for MAC address fields
* fix: trim wrappers for all comments
* feat: add validation for IPv4, IPv6 and IP(IPv4/IPv6) fields
* feat: add validation for numeric, non-zero based fields
* fix: one of validation can contain dot (.) sign in values
* feat: add second notation of MAC address validation
* fix: one of validation can start with ^( and end with )$
* feat: add option to disable validation and use soft validation by default
* chore: fix test
* docs: add readme about client-side validation
This commit changes the code generator to generate a `UnmarshalJSON` for each
struct, so that if unmarshalled it properly handles UniFis varying integer values
via the `emptyStringInt` type.
Structs not including a field of `int` type will still have the function generated,
but it will effectively do nothing.
Fixes#18
* Allows for specifying more customizations per field in each type.
Previously, the switch clause didn't allow sub-types to be modified, but
that became a problem with some of the more complex types.
* Fixed several problematic fields in the Device resource
* Removed the underscore separator from generated type names
* Allows for generating top-level types for any embedded struct so
that sub-types can be properly instantiated from calling code
* Specifying `-no-embedded-types` will generate top-level types
rather than embedding the struct
* Refactored "Device" API
* All fields set to `omitempty` because it describes all possible
device types, so effectively any field could be omitted any time
* Fixed `get` call for "Device" API; replacing `rest` with `stat`
* Generated `get` and `update` calls for `Setting*` APIs
* Added `5.14.23` JSON files