type RecognizingDecoder … // NewDecoder creates a decoder that will attempt multiple decoders in an order defined // by: // // 1. The decoder implements RecognizingDecoder and identifies the data // 2. All other decoders, and any decoder that returned true for unknown. // // The order passed to the constructor is preserved within those priorities. func NewDecoder(decoders ...runtime.Decoder) runtime.Decoder { … } type decoder … var _ … func (d *decoder) RecognizesData(data []byte) (bool, bool, error) { … } func (d *decoder) Decode(data []byte, gvk *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { … }