type AccessorFunc … type SurroundingObjectFunc … // NewRootObjectFunc returns the identity function. The passed focus value // must be an object. func NewRootObjectFunc() SurroundingObjectFunc { … } // WithTypeMeta returns a closure with the TypeMeta fields set if they are defined. // This mutates f(x). func (f SurroundingObjectFunc) WithTypeMeta(meta metav1.TypeMeta) SurroundingObjectFunc { … } // Child returns a function x => f({k: x}) and the corresponding accessor. func (f SurroundingObjectFunc) Child(k string) SurroundingObjectFunc { … } // Index returns a function x => f([x]) and the corresponding accessor. func (f SurroundingObjectFunc) Index() SurroundingObjectFunc { … }