type unsafeObjectConvertor … var _ … // ConvertToVersion converts in to the provided outVersion without copying the input first, which // is only safe if the output object is not mutated or reused. func (c unsafeObjectConvertor) ConvertToVersion(in Object, outVersion GroupVersioner) (Object, error) { … } // UnsafeObjectConvertor performs object conversion without copying the object structure, // for use when the converted object will not be reused or mutated. Primarily for use within // versioned codecs, which use the external object for serialization but do not return it. func UnsafeObjectConvertor(scheme *Scheme) ObjectConvertor { … } // SetField puts the value of src, into fieldName, which must be a member of v. // The value of src must be assignable to the field. func SetField(src interface{ … } // Field puts the value of fieldName, which must be a member of v, into dest, // which must be a variable to which this field's value can be assigned. func Field(v reflect.Value, fieldName string, dest interface{ … } // FieldPtr puts the address of fieldName, which must be a member of v, // into dest, which must be an address of a variable to which this field's // address can be assigned. func FieldPtr(v reflect.Value, fieldName string, dest interface{ … } // EncodeList ensures that each object in an array is converted to a Unknown{} in serialized form. // TODO: accept a content type. func EncodeList(e Encoder, objects []Object) error { … } func decodeListItem(obj *Unknown, decoders []Decoder) (Object, error) { … } // DecodeList alters the list in place, attempting to decode any objects found in // the list that have the Unknown type. Any errors that occur are returned // after the entire list is processed. Decoders are tried in order. func DecodeList(objects []Object, decoders ...Decoder) []error { … } type MultiObjectTyper … var _ … func (m MultiObjectTyper) ObjectKinds(obj Object) (gvks []schema.GroupVersionKind, unversionedType bool, err error) { … } func (m MultiObjectTyper) Recognizes(gvk schema.GroupVersionKind) bool { … } // SetZeroValue would set the object of objPtr to zero value of its type. func SetZeroValue(objPtr Object) error { … } var DefaultFramer … type defaultFramer … func (defaultFramer) NewFrameReader(r io.ReadCloser) io.ReadCloser { … } func (defaultFramer) NewFrameWriter(w io.Writer) io.Writer { … } type WithVersionEncoder … // Encode does not do conversion. It sets the gvk during serialization. func (e WithVersionEncoder) Encode(obj Object, stream io.Writer) error { … } type WithoutVersionDecoder … // Decode does not do conversion. It removes the gvk during deserialization. func (d WithoutVersionDecoder) Decode(data []byte, defaults *schema.GroupVersionKind, into Object) (Object, *schema.GroupVersionKind, error) { … } type encoderWithAllocator … // NewEncoderWithAllocator returns a new encoder func NewEncoderWithAllocator(e EncoderWithAllocator, a MemoryAllocator) Encoder { … } // Encode writes the provided object to the nested writer func (e *encoderWithAllocator) Encode(obj Object, w io.Writer) error { … } // Identifier returns identifier of this encoder. func (e *encoderWithAllocator) Identifier() Identifier { … } type nondeterministicEncoderToEncoderAdapter … func (e nondeterministicEncoderToEncoderAdapter) Encode(obj Object, w io.Writer) error { … } // UseNondeterministicEncoding returns an Encoder that encodes objects using the provided Encoder's // EncodeNondeterministic method if it implements NondeterministicEncoder, otherwise it returns the // provided Encoder as-is. func UseNondeterministicEncoding(encoder Encoder) Encoder { … }