Documentation
¶
Index ¶
- func Clean(id string) string
- func InferJSONSchema(x any) (s *jsonschema.Schema)
- func JSONString(x any) string
- func ReadJSONFile(filename string, pvalue any) error
- func ValidateJSON(dataBytes json.RawMessage, schema *jsonschema.Schema) error
- func ValidateRaw(dataBytes json.RawMessage, schemaBytes json.RawMessage) error
- func ValidateValue(data any, schema *jsonschema.Schema) error
- func WriteJSONFile(filename string, value any) error
- func Zero[T any]() T
- type ContextKey
- type Environment
- type FlowStater
- type HTTPError
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InferJSONSchema ¶
func InferJSONSchema(x any) (s *jsonschema.Schema)
func JSONString ¶
JSONString returns json.Marshal(x) as a string. If json.Marshal returns an error, jsonString returns the error text as a JSON string beginning "ERROR:".
func ReadJSONFile ¶
ReadJSONFile JSON-decodes the contents of filename into pvalue, which must be a pointer.
func ValidateJSON ¶
func ValidateJSON(dataBytes json.RawMessage, schema *jsonschema.Schema) error
ValidateJSON will validate JSON against the expected schema. It will return an error if it doesn't match the schema, otherwise it will return nil.
func ValidateRaw ¶
func ValidateRaw(dataBytes json.RawMessage, schemaBytes json.RawMessage) error
ValidateRaw will validate JSON data against the JSON schema. It will return an error if it doesn't match the schema, otherwise it will return nil.
func ValidateValue ¶
func ValidateValue(data any, schema *jsonschema.Schema) error
ValidateValue will validate any value against the expected schema. It will return an error if it doesn't match the schema, otherwise it will return nil.
func WriteJSONFile ¶
WriteJSONFile writes value to filename as JSON.
Types ¶
type ContextKey ¶
type ContextKey[T any] struct { // contains filtered or unexported fields }
A ContextKey is a unique, typed key for a value stored in a context.
func NewContextKey ¶
func NewContextKey[T any]() ContextKey[T]
NewContextKey returns a context key for a value of type T.
func (ContextKey[T]) FromContext ¶
func (k ContextKey[T]) FromContext(ctx context.Context) T
FromContext returns the value associated with this key in the context, or the internal.Zero value for T if the key is not present.
func (ContextKey[T]) NewContext ¶
func (k ContextKey[T]) NewContext(ctx context.Context, value T) context.Context
NewContext returns ctx augmented with this key and the given value.
type Environment ¶
type Environment string
An Environment is the execution context in which the program is running.
const ( EnvironmentDev Environment = "dev" // development: testing, debugging, etc. EnvironmentProd Environment = "prod" // production: user data, SLOs, etc. )
type FlowStater ¶
type FlowStater interface { IsFlowState() ToJSON() ([]byte, error) CacheAt(key string) json.RawMessage CacheSet(key string, val json.RawMessage) }
FlowStater is the common type of all flowState[I, O] types.