From 5382627e6a7ca6ced53c40e90be629c34ae4bec3 Mon Sep 17 00:00:00 2001 From: Clayton Coleman Date: Thu, 9 Oct 2014 17:25:23 -0400 Subject: [PATCH] Move Codec functions to their own file --- pkg/runtime/codec.go | 43 +++++++++++++++++++++++++++++++++++++++++++ pkg/runtime/scheme.go | 26 -------------------------- 2 files changed, 43 insertions(+), 26 deletions(-) create mode 100644 pkg/runtime/codec.go diff --git a/pkg/runtime/codec.go b/pkg/runtime/codec.go new file mode 100644 index 00000000000..585df989249 --- /dev/null +++ b/pkg/runtime/codec.go @@ -0,0 +1,43 @@ +/* +Copyright 2014 Google Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package runtime + +// CodecFor returns a Codec that invokes Encode with the provided version. +func CodecFor(scheme *Scheme, version string) Codec { + return &codecWrapper{scheme, version} +} + +// EncodeOrDie is a version of Encode which will panic instead of returning an error. For tests. +func EncodeOrDie(codec Codec, obj Object) string { + bytes, err := codec.Encode(obj) + if err != nil { + panic(err) + } + return string(bytes) +} + +// codecWrapper implements encoding to an alternative +// default version for a scheme. +type codecWrapper struct { + *Scheme + version string +} + +// Encode implements Codec +func (c *codecWrapper) Encode(obj Object) ([]byte, error) { + return c.Scheme.EncodeToVersion(obj, c.version) +} diff --git a/pkg/runtime/scheme.go b/pkg/runtime/scheme.go index bc9246c1508..58291356bce 100644 --- a/pkg/runtime/scheme.go +++ b/pkg/runtime/scheme.go @@ -24,32 +24,6 @@ import ( "gopkg.in/v1/yaml" ) -// codecWrapper implements encoding to an alternative -// default version for a scheme. -type codecWrapper struct { - *Scheme - version string -} - -// Encode implements Codec -func (c *codecWrapper) Encode(obj Object) ([]byte, error) { - return c.Scheme.EncodeToVersion(obj, c.version) -} - -// CodecFor returns a Codec that invokes Encode with the provided version. -func CodecFor(scheme *Scheme, version string) Codec { - return &codecWrapper{scheme, version} -} - -// EncodeOrDie is a version of Encode which will panic instead of returning an error. For tests. -func EncodeOrDie(codec Codec, obj Object) string { - bytes, err := codec.Encode(obj) - if err != nil { - panic(err) - } - return string(bytes) -} - // Scheme defines methods for serializing and deserializing API objects. It // is an adaptation of conversion's Scheme for our API objects. type Scheme struct {