Upgrade dependent version: github.com/open-policy-agent/opa (#5315)
Upgrade dependent version: github.com/open-policy-agent/opa v0.18.0 -> v0.45.0 Signed-off-by: hongzhouzi <hongzhouzi@kubesphere.io> Signed-off-by: hongzhouzi <hongzhouzi@kubesphere.io>
This commit is contained in:
151
vendor/github.com/open-policy-agent/opa/internal/gojsonschema/subSchema.go
generated
vendored
Normal file
151
vendor/github.com/open-policy-agent/opa/internal/gojsonschema/subSchema.go
generated
vendored
Normal file
@@ -0,0 +1,151 @@
|
||||
// Copyright 2015 xeipuuv ( https://github.com/xeipuuv )
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
// author xeipuuv
|
||||
// author-github https://github.com/xeipuuv
|
||||
// author-mail xeipuuv@gmail.com
|
||||
//
|
||||
// repository-name gojsonschema
|
||||
// repository-desc An implementation of JSON Schema, based on IETF's draft v4 - Go language.
|
||||
//
|
||||
// description Defines the structure of a sub-SubSchema.
|
||||
// A sub-SubSchema can contain other sub-schemas.
|
||||
//
|
||||
// created 27-02-2013
|
||||
|
||||
package gojsonschema
|
||||
|
||||
import (
|
||||
"math/big"
|
||||
"regexp"
|
||||
|
||||
"github.com/xeipuuv/gojsonreference"
|
||||
)
|
||||
|
||||
// Constants
|
||||
const (
|
||||
KeySchema = "$schema"
|
||||
KeyID = "id"
|
||||
KeyIDNew = "$id"
|
||||
KeyRef = "$ref"
|
||||
KeyTitle = "title"
|
||||
KeyDescription = "description"
|
||||
KeyType = "type"
|
||||
KeyItems = "items"
|
||||
KeyAdditionalItems = "additionalItems"
|
||||
KeyProperties = "properties"
|
||||
KeyPatternProperties = "patternProperties"
|
||||
KeyAdditionalProperties = "additionalProperties"
|
||||
KeyPropertyNames = "propertyNames"
|
||||
KeyDefinitions = "definitions"
|
||||
KeyMultipleOf = "multipleOf"
|
||||
KeyMinimum = "minimum"
|
||||
KeyMaximum = "maximum"
|
||||
KeyExclusiveMinimum = "exclusiveMinimum"
|
||||
KeyExclusiveMaximum = "exclusiveMaximum"
|
||||
KeyMinLength = "minLength"
|
||||
KeyMaxLength = "maxLength"
|
||||
KeyPattern = "pattern"
|
||||
KeyFormat = "format"
|
||||
KeyMinProperties = "minProperties"
|
||||
KeyMaxProperties = "maxProperties"
|
||||
KeyDependencies = "dependencies"
|
||||
KeyRequired = "required"
|
||||
KeyMinItems = "minItems"
|
||||
KeyMaxItems = "maxItems"
|
||||
KeyUniqueItems = "uniqueItems"
|
||||
KeyContains = "contains"
|
||||
KeyConst = "const"
|
||||
KeyEnum = "enum"
|
||||
KeyOneOf = "oneOf"
|
||||
KeyAnyOf = "anyOf"
|
||||
KeyAllOf = "allOf"
|
||||
KeyNot = "not"
|
||||
KeyIf = "if"
|
||||
KeyThen = "then"
|
||||
KeyElse = "else"
|
||||
)
|
||||
|
||||
// SubSchema holds a sub schema
|
||||
type SubSchema struct {
|
||||
Draft *Draft
|
||||
|
||||
// basic SubSchema meta properties
|
||||
ID *gojsonreference.JsonReference
|
||||
title *string
|
||||
description *string
|
||||
|
||||
Property string
|
||||
|
||||
// Quick pass/fail for boolean schemas
|
||||
pass *bool
|
||||
|
||||
// Types associated with the SubSchema
|
||||
Types jsonSchemaType
|
||||
|
||||
// Reference url
|
||||
Ref *gojsonreference.JsonReference
|
||||
// Schema referenced
|
||||
RefSchema *SubSchema
|
||||
|
||||
// hierarchy
|
||||
Parent *SubSchema
|
||||
ItemsChildren []*SubSchema
|
||||
ItemsChildrenIsSingleSchema bool
|
||||
PropertiesChildren []*SubSchema
|
||||
|
||||
// validation : number / integer
|
||||
multipleOf *big.Rat
|
||||
maximum *big.Rat
|
||||
exclusiveMaximum *big.Rat
|
||||
minimum *big.Rat
|
||||
exclusiveMinimum *big.Rat
|
||||
|
||||
// validation : string
|
||||
minLength *int
|
||||
maxLength *int
|
||||
pattern *regexp.Regexp
|
||||
format string
|
||||
|
||||
// validation : object
|
||||
minProperties *int
|
||||
maxProperties *int
|
||||
required []string
|
||||
|
||||
dependencies map[string]interface{}
|
||||
additionalProperties interface{}
|
||||
patternProperties map[string]*SubSchema
|
||||
propertyNames *SubSchema
|
||||
|
||||
// validation : array
|
||||
minItems *int
|
||||
maxItems *int
|
||||
uniqueItems bool
|
||||
contains *SubSchema
|
||||
|
||||
additionalItems interface{}
|
||||
|
||||
// validation : all
|
||||
_const *string //const is a golang keyword
|
||||
enum []string
|
||||
|
||||
// validation : SubSchema
|
||||
oneOf []*SubSchema
|
||||
AnyOf []*SubSchema
|
||||
AllOf []*SubSchema
|
||||
not *SubSchema
|
||||
_if *SubSchema // if/else are golang keywords
|
||||
_then *SubSchema
|
||||
_else *SubSchema
|
||||
}
|
||||
Reference in New Issue
Block a user