surveyutils

package
v1.3.728 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 14, 2019 License: Apache-2.0 Imports: 18 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BoolValidator

func BoolValidator() survey.Validator

BoolValidator validates that val is a bool

func DateTimeValidator

func DateTimeValidator() survey.Validator

DateTimeValidator validates that a string is a RFC 3339 date-time format

func DateValidator

func DateValidator() survey.Validator

DateValidator validates that a string is a RFC 3339 full-date format

func EmailValidator

func EmailValidator() survey.Validator

EmailValidator validates that a string is a RFC 5322 email

func EnumValidator

func EnumValidator(enum []interface{}) survey.Validator

EnumValidator validates that val appears in the enum

func FloatValidator

func FloatValidator() survey.Validator

FloatValidator validates that val is a float

func HostnameValidator

func HostnameValidator() survey.Validator

HostnameValidator validates that a string is a RFC 1034 hostname

func IntegerValidator

func IntegerValidator() survey.Validator

IntegerValidator validates that val is an int

func Ipv4Validator

func Ipv4Validator() survey.Validator

Ipv4Validator validates that a string is a RFC 2673 IPv4 address

func Ipv6Validator

func Ipv6Validator() survey.Validator

Ipv6Validator validates that a string is a RFC 4291 IPv6 address

func JSONPointerValidator

func JSONPointerValidator() survey.Validator

JSONPointerValidator validates that a string is a JSON Pointer

func MaxItemsValidator

func MaxItemsValidator(maxItems *int, value []interface{}) survey.Validator

MaxItemsValidator validates that at most the maxItems number of items exist in a slice

func MaxLengthValidator

func MaxLengthValidator(maxLength *int) survey.Validator

MaxLengthValidator validates that val is shorter in length than maxLength

func MaxPropertiesValidator

func MaxPropertiesValidator(maxItems *int, value *orderedmap.OrderedMap) survey.Validator

MaxPropertiesValidator validates that at most the maxItems number of key-value pairs exist in a map

func MaxValidator

func MaxValidator(max *int, exclusive bool) survey.Validator

MaxValidator validates that the val is less than the max, if exclusive, then less than or equal to

func MinItemsValidator

func MinItemsValidator(minItems *int, value []interface{}) survey.Validator

MinItemsValidator validates that at least the minItems number of items exist in a slice

func MinLengthValidator

func MinLengthValidator(minLength *int) survey.Validator

MinLengthValidator validates that val is longer in length than minLength

func MinPropertiesValidator

func MinPropertiesValidator(minItems *int, value *orderedmap.OrderedMap) survey.Validator

MinPropertiesValidator validates that at least the minItems number of key-value pairs exist in a map

func MinValidator

func MinValidator(min *int, exclusive bool) survey.Validator

MinValidator validates that the val is more than the min, if exclusive then more than or equal to

func MultipleOfValidator

func MultipleOfValidator(multipleOf *float64) survey.Validator

MultipleOfValidator validates that the val is a multiple of multipleOf

func NoWhiteSpaceValidator

func NoWhiteSpaceValidator() survey.Validator

NoWhiteSpaceValidator is an input validator for the survey package that disallows any whitespace in the val

func NoopValidator

func NoopValidator() survey.Validator

NoopValidator always passes (use instead of nil in a slice of validators)

func OverrideAnswerValidator

func OverrideAnswerValidator(ans interface{}, validator survey.Validator) survey.Validator

OverrideAnswerValidator will validate the answer supplied as an argument, rather the answer the user provides this is useful when you want to validate the value a confirm dialog is confirming, rather than the Y/n

func PatternValidator

func PatternValidator(pattern *string) survey.Validator

PatternValidator validates that the val matches the regex pattern

func RequiredValidator

func RequiredValidator(required bool) survey.Validator

RequiredValidator applies the RequiredValidator if required is true

func TimeValidator

func TimeValidator() survey.Validator

TimeValidator validates that a string is a RFC3339 full-time format

func URIReferenceValidator

func URIReferenceValidator() survey.Validator

URIReferenceValidator validates that a string is a valid RFC 3986 URI Reference

func URIValidator

func URIValidator() survey.Validator

URIValidator validates that a string is a valid RFC 3986 URI

func UniqueItemsValidator

func UniqueItemsValidator(value []interface{}) survey.Validator

UniqueItemsValidator validates that the val is unique in a slice

Types

type Definitions

type Definitions map[string]*Type

Definitions hold schema definitions.

type Dependency

type Dependency struct {
	Type  *Type    `json:-`
	Array []string `json:-`
}

Dependency is either a Type or an array of strings, and so requires special unmarshaling from JSON

func (*Dependency) UnmarshalJSON

func (d *Dependency) UnmarshalJSON(b []byte) error

UnmarshalJSON performs unmarshals Dependency from JSON, required as the json field can be one of two types

type Items

type Items struct {
	Types []*Type `json:-`
	Type  *Type   `json:-`
}

Items is a either a Type or a array of types, and so requires special unmarshaling from JSON

func (*Items) UnmarshalJSON

func (t *Items) UnmarshalJSON(b []byte) error

UnmarshalJSON performs unmarshals Items from JSON, required as the json field can be one of two types

type JSONSchemaOptions

type JSONSchemaOptions struct {
	CreateSecret func(name string, key string, value string) (*jenkinsv1.ResourceReference, error)
}

JSONSchemaOptions are options for generating values from a schema

func (*JSONSchemaOptions) GenerateValues

func (o *JSONSchemaOptions) GenerateValues(schemaBytes []byte, prefixes []string, in terminal.FileReader,
	out terminal.FileWriter,
	outErr io.Writer) ([]byte, error)

GenerateValues examines the schema in schemaBytes, asks a series of questions using in, out and outErr, applying validators, returning a generated json file

type Properties

type Properties struct {
	*orderedmap.OrderedMap
}

Properties is a set of ordered key-value pairs, as it is ordered it requires special marshaling to/from JSON

func (*Properties) UnmarshalJSON

func (p *Properties) UnmarshalJSON(b []byte) error

UnmarshalJSON performs custom Unmarshaling for Properties allowing us to preserve order, which is not a standard JSON feature

type Type

type Type struct {
	Version              string                `json:"$schema,omitempty"`
	Ref                  string                `json:"$ref,omitempty"`
	MultipleOf           *float64              `json:"multipleOf,omitempty"`
	Maximum              *int                  `json:"maximum,omitempty"`
	ExclusiveMaximum     *int                  `json:"exclusiveMaximum,omitempty"`
	Minimum              *int                  `json:"minimum,omitempty"`
	ExclusiveMinimum     *int                  `json:"exclusiveMinimum,omitempty"`
	MaxLength            *int                  `json:"maxLength,omitempty"`
	MinLength            *int                  `json:"minLength,omitempty"`
	Pattern              *string               `json:"pattern,omitempty"`
	AdditionalItems      *Type                 `json:"additionalItems,omitempty"`
	Items                Items                 `json:"items,omitempty"`
	MaxItems             *int                  `json:"maxItems,omitempty"`
	MinItems             *int                  `json:"minItems,omitempty"`
	UniqueItems          bool                  `json:"uniqueItems,omitempty"`
	MaxProperties        *int                  `json:"maxProperties,omitempty"`
	MinProperties        *int                  `json:"minProperties,omitempty"`
	Required             []string              `json:"required,omitempty"`
	Properties           Properties            `json:"properties,omitempty"`
	PatternProperties    map[string]*Type      `json:"patternProperties,omitempty"`
	AdditionalProperties *Type                 `json:"additionalProperties,omitempty"`
	Dependencies         map[string]Dependency `json:"dependencies,omitempty"`
	Enum                 []interface{}         `json:"enum,omitempty"`
	Type                 string                `json:"type,omitempty"`
	AllOf                []*Type               `json:"allOf,omitempty"`
	AnyOf                []*Type               `json:"anyOf,omitempty"`
	OneOf                []*Type               `json:"oneOf,omitempty"`
	Not                  *Type                 `json:"not,omitempty"`
	Definitions          Definitions           `json:"definitions,omitempty"`
	Contains             *Type                 `json:"contains, omitempty"`
	Const                *interface{}          `json:"const, omitempty"`
	PropertyNames        *Type                 `json:"propertyNames, omitempty"`
	Title                string                `json:"title,omitempty"`
	Description          string                `json:"description,omitempty"`
	Default              interface{}           `json:"default,omitempty"`
	Format               *string               `json:"format,omitempty"`
	ContentMediaType     *string               `json:"contentMediaType,omitempty"`
	ContentEncoding      *string               `json:"contentEncoding,omitempty"`
}

Type represents a JSON Schema object type current to https://www.ietf.org/archive/id/draft-handrews-json-schema-validation-01.txt

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL