Documentation ¶
Index ¶
- Constants
- func IsJSONMergePatch(patcher cue.Value) bool
- func IsJSONPatch(patcher cue.Value) bool
- func LabelStr(label ast.Label) string
- func ListOpen(expr ast.Node) ast.Node
- func LookUpAll(node ast.Node, paths ...string) []ast.Node
- func OpenBaiscLit(val cue.Value) (*ast.File, error)
- func OpenListLit(val cue.Value) (*ast.File, error)
- func OptBytesToString(node ast.Node) ast.Node
- func PreprocessBuiltinFunc(root ast.Node, name string, process func(values []ast.Node) (ast.Expr, error)) error
- func StrategyUnify(base, patch cue.Value, options ...UnifyOption) (ret cue.Value, err error)
- func ToFile(n ast.Node) (*ast.File, error)
- func ToString(v cue.Value, opts ...func(node ast.Node) ast.Node) (string, error)
- type UnifyByJSONMergePatch
- type UnifyByJSONPatch
- type UnifyOption
- type UnifyParams
Constants ¶
const ( // TagPatchKey specify the primary key of the list items TagPatchKey = "patchKey" // TagPatchStrategy specify a strategy of the strategic merge patch TagPatchStrategy = "patchStrategy" // StrategyRetainKeys notes on the strategic merge patch using the retainKeys strategy StrategyRetainKeys = "retainKeys" // StrategyReplace notes on the strategic merge patch will allow replacing list StrategyReplace = "replace" // StrategyJSONPatch notes on the strategic merge patch will follow the RFC 6902 to run JsonPatch StrategyJSONPatch = "jsonPatch" // StrategyJSONMergePatch notes on the strategic merge patch will follow the RFC 7396 to run JsonMergePatch StrategyJSONMergePatch = "jsonMergePatch" )
Variables ¶
This section is empty.
Functions ¶
func IsJSONMergePatch ¶
IsJSONMergePatch check if patcher is json merge patch
func IsJSONPatch ¶
IsJSONPatch check if patcher is json patch
func OpenBaiscLit ¶
OpenBaiscLit make that the basicLit can be modified. nolint:staticcheck
func OpenListLit ¶
OpenListLit make that the listLit can be modified. nolint:staticcheck
func OptBytesToString ¶
OptBytesToString convert cue bytes to string.
func PreprocessBuiltinFunc ¶
func PreprocessBuiltinFunc(root ast.Node, name string, process func(values []ast.Node) (ast.Expr, error)) error
PreprocessBuiltinFunc preprocess builtin function in cue file.
func StrategyUnify ¶
StrategyUnify unify the objects by the strategy
Types ¶
type UnifyByJSONMergePatch ¶
type UnifyByJSONMergePatch struct{}
UnifyByJSONMergePatch unify by json patch following RFC 7396
func (UnifyByJSONMergePatch) ApplyToOption ¶
func (op UnifyByJSONMergePatch) ApplyToOption(params *UnifyParams)
ApplyToOption apply to option
type UnifyByJSONPatch ¶
type UnifyByJSONPatch struct{}
UnifyByJSONPatch unify by json patch following RFC 6902
func (UnifyByJSONPatch) ApplyToOption ¶
func (op UnifyByJSONPatch) ApplyToOption(params *UnifyParams)
ApplyToOption apply to option
type UnifyOption ¶
type UnifyOption interface {
ApplyToOption(params *UnifyParams)
}
UnifyOption defines the option for unify
func CreateUnifyOptionsForPatcher ¶
func CreateUnifyOptionsForPatcher(patcher cue.Value) (options []UnifyOption)
CreateUnifyOptionsForPatcher create unify options for patcher