package schema

import "github.com/opencontainers/image-spec/schema"

Package schema defines the OCI image media types, schema definitions and validation functions.

Index

Constants

const (
	ValidatorMediaTypeDescriptor   Validator     = v1.MediaTypeDescriptor
	ValidatorMediaTypeLayoutHeader Validator     = v1.MediaTypeLayoutHeader
	ValidatorMediaTypeManifest     Validator     = v1.MediaTypeImageManifest
	ValidatorMediaTypeImageIndex   Validator     = v1.MediaTypeImageIndex
	ValidatorMediaTypeImageConfig  Validator     = v1.MediaTypeImageConfig
	ValidatorMediaTypeImageLayer   unimplemented = v1.MediaTypeImageLayer
)

Media types for the OCI image formats

Functions

func FileSystem

func FileSystem() http.FileSystem

FileSystem returns an in-memory filesystem including the schema files. The schema files are located at the root directory.

func WrapSyntaxError

func WrapSyntaxError(r io.Reader, err error) error

WrapSyntaxError checks whether the given error is a *json.SyntaxError and converts it into a *schema.SyntaxError containing line/col information using the given reader. If the given error is not a *json.SyntaxError it is returned unchanged.

Types

type SyntaxError

type SyntaxError struct {
	Line, Col int
	Offset    int64
	// contains filtered or unexported fields
}

A SyntaxError is a description of a JSON syntax error including line, column and offset in the JSON file.

func (*SyntaxError) Error

func (e *SyntaxError) Error() string

type ValidationError

type ValidationError struct {
	Errs []error
}

ValidationError contains all the errors that happened during validation.

func (ValidationError) Error

func (e ValidationError) Error() string

type Validator

type Validator string

Validator wraps a media type string identifier and implements validation against a JSON schema.

func (Validator) Validate

func (v Validator) Validate(src io.Reader) error

Validate validates the given reader against the schema of the wrapped media type.

Source Files

doc.go error.go loader.go schema.go validator.go

Version
v1.1.0 (latest)
Published
Jan 27, 2024
Platform
linux/amd64
Imports
14 packages
Last checked
5 days ago

Tools for package owners.