podman/vendor/github.com/go-openapi/strfmt
Aditya R 260bc3ec4c
vendor: bump containers/(storage, common, buildah, image)
Bump containers/(storage, common, buildah and image)

Changes since 2023-01-01:
 - skip mount-cache-selinux-long-name test under remote, with
   a FIXME requesting that someone see if it can be made to work.

 - skip six tests that fail under rootless-remote

 - add new --build-arg-file option:
 - update man page

Squash of:
* cf56eb1865
* 561f082772

Signed-off-by: Ed Santiago <santiago@redhat.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Signed-off-by: Aditya R <arajan@redhat.com>
2023-04-10 17:30:14 +05:30
..
.editorconfig vendor in latests containers/(storage, common, build, image) 2023-01-19 10:42:10 -05:00
.gitattributes vendor in latests containers/(storage, common, build, image) 2023-01-19 10:42:10 -05:00
.gitignore vendor in latests containers/(storage, common, build, image) 2023-01-19 10:42:10 -05:00
.golangci.yml vendor containers/common@e27c30ee9b 2023-03-30 09:34:32 +02:00
CODE_OF_CONDUCT.md vendor in latests containers/(storage, common, build, image) 2023-01-19 10:42:10 -05:00
LICENSE vendor in latests containers/(storage, common, build, image) 2023-01-19 10:42:10 -05:00
README.md vendor in latests containers/(storage, common, build, image) 2023-01-19 10:42:10 -05:00
bson.go vendor: bump containers/(storage, common, buildah, image) 2023-04-10 17:30:14 +05:30
date.go vendor containers/common@e27c30ee9b 2023-03-30 09:34:32 +02:00
default.go vendor in latests containers/(storage, common, build, image) 2023-01-19 10:42:10 -05:00
doc.go vendor in latests containers/(storage, common, build, image) 2023-01-19 10:42:10 -05:00
duration.go vendor in latests containers/(storage, common, build, image) 2023-01-19 10:42:10 -05:00
format.go vendor containers/common@e27c30ee9b 2023-03-30 09:34:32 +02:00
time.go vendor: bump containers/(storage, common, buildah, image) 2023-04-10 17:30:14 +05:30
ulid.go vendor containers/common@e27c30ee9b 2023-03-30 09:34:32 +02:00

README.md

Strfmt Build Status codecov Slack Status

license GoDoc GolangCI Go Report Card

This package exposes a registry of data types to support string formats in the go-openapi toolkit.

strfmt represents a well known string format such as credit card or email. The go toolkit for OpenAPI specifications knows how to deal with those.

Supported data formats

go-openapi/strfmt follows the swagger 2.0 specification with the following formats defined here.

It also provides convenient extensions to go-openapi users.

  • JSON-schema draft 4 formats
    • date-time
    • email
    • hostname
    • ipv4
    • ipv6
    • uri
  • swagger 2.0 format extensions
    • binary
    • byte (e.g. base64 encoded string)
    • date (e.g. "1970-01-01")
    • password
  • go-openapi custom format extensions
    • bsonobjectid (BSON objectID)
    • creditcard
    • duration (e.g. "3 weeks", "1ms")
    • hexcolor (e.g. "#FFFFFF")
    • isbn, isbn10, isbn13
    • mac (e.g "01:02:03:04:05:06")
    • rgbcolor (e.g. "rgb(100,100,100)")
    • ssn
    • uuid, uuid3, uuid4, uuid5
    • cidr (e.g. "192.0.2.1/24", "2001:db8:a0b:12f0::1/32")
    • ulid (e.g. "00000PP9HGSBSSDZ1JTEXBJ0PW", spec)

NOTE: as the name stands for, this package is intended to support string formatting only. It does not provide validation for numerical values with swagger format extension for JSON types "number" or "integer" (e.g. float, double, int32...).

Type conversion

All types defined here are stringers and may be converted to strings with .String(). Note that most types defined by this package may be converted directly to string like string(Email{}).

Date and DateTime may be converted directly to time.Time like time.Time(Time{}). Similarly, you can convert Duration to time.Duration as in time.Duration(Duration{})

Using pointers

The conv subpackage provides helpers to convert the types to and from pointers, just like go-openapi/swag does with primitive types.

Format types

Types defined in strfmt expose marshaling and validation capabilities.

List of defined types:

  • Base64
  • CreditCard
  • Date
  • DateTime
  • Duration
  • Email
  • HexColor
  • Hostname
  • IPv4
  • IPv6
  • CIDR
  • ISBN
  • ISBN10
  • ISBN13
  • MAC
  • ObjectId
  • Password
  • RGBColor
  • SSN
  • URI
  • UUID
  • UUID3
  • UUID4
  • UUID5
  • ULID