utils

package
v0.2.5 Latest Latest
Warning

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

Go to latest
Published: Sep 3, 2024 License: Apache-2.0 Imports: 19 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ApplyPatch added in v0.2.0

func ApplyPatch(input []byte, patchFiles []PatchConfig) ([]byte, error)

ApplyPatch applies patches to the raw bytes input

func ApplyPatchFromRawJSON added in v0.2.0

func ApplyPatchFromRawJSON(input []byte, patchFiles []PatchConfig) ([]byte, error)

ApplyPatchFromRawJSON applies patches to the raw JSON bytes input without validation request

func ApplyPatchToRestSchema added in v0.2.0

func ApplyPatchToRestSchema(input *schema.NDCRestSchema, patchFiles []PatchConfig) (*schema.NDCRestSchema, error)

ApplyPatchToRestSchema applies JSON patches to NDC rest schema and validate the output

func MarshalSchema

func MarshalSchema(content any, format schema.SchemaFileFormat) ([]byte, error)

MarshalSchema encodes the NDC REST schema to bytes

func ReadFileFromPath

func ReadFileFromPath(filePath string) ([]byte, error)

ReadFileFromPath read file content from either file path or URL

func ResolveFilePath added in v0.2.0

func ResolveFilePath(dir string, filePath string) string

ResolveFilePath resolves file path with directory

func SliceUnorderedEqual

func SliceUnorderedEqual[T cmp.Ordered](a []T, b []T) bool

SliceUnorderedEqual compares if both slices are equal with unordered positions

func SplitStringsAndTrimSpaces

func SplitStringsAndTrimSpaces(input string, sep string) []string

SplitStrings wrap strings.Split with all leading and trailing white space removed

func StringSliceToCamelCase added in v0.2.5

func StringSliceToCamelCase(inputs []string) string

StringSliceToCamelCase convert a slice of strings to camelCase

func StringSliceToConstantCase

func StringSliceToConstantCase(inputs []string) string

StringSliceToConstantCase convert a slice of string to CONSTANT_CASE

func StringSliceToPascalCase

func StringSliceToPascalCase(inputs []string) string

StringSliceToPascalCase convert a slice of string to PascalCase

func StringSliceToSnakeCase

func StringSliceToSnakeCase(inputs []string) string

StringSliceToSnakeCase convert a slice of string to snake_case

func ToCamelCase

func ToCamelCase(input string) string

ToCamelCase convert a string to camelCase

func ToConstantCase

func ToConstantCase(input string) string

ToConstantCase converts string to CONSTANT_CASE

func ToPascalCase

func ToPascalCase(input string) string

ToPascalCase convert a string to PascalCase

func ToSnakeCase

func ToSnakeCase(input string) string

ToSnakeCase converts string to snake_case

func WalkFiles added in v0.2.0

func WalkFiles(filePath string, callback func(data []byte) error) error

WalkFiles read one file or many files in a folder if the file path is a directory

func WriteSchemaFile

func WriteSchemaFile(outputPath string, content any) error

WriteSchemaFile writes the NDC REST schema to file

Types

type PatchConfig added in v0.2.0

type PatchConfig struct {
	Path     string        `json:"path" yaml:"path"`
	Strategy PatchStrategy `json:"strategy" yaml:"strategy" jsonschema:"enum=merge,enum=json6902"`
}

PatchConfig the configuration for JSON patch

type PatchStrategy added in v0.2.0

type PatchStrategy string

PatchStrategy represents the patch strategy enum

const (
	// PatchStrategyMerge the merge strategy enum for [RFC 7396] specification
	//
	// [RFC 7396]: https://datatracker.ietf.org/doc/html/rfc7396
	PatchStrategyMerge PatchStrategy = "merge"
	// PatchStrategyJSON6902 the patch strategy enum for [RFC 6902] specification
	//
	// [RFC 6902]: https://datatracker.ietf.org/doc/html/rfc6902
	PatchStrategyJSON6902 PatchStrategy = "json6902"
)

Jump to

Keyboard shortcuts

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