renderer

package
v0.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 13, 2020 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type JSONRenderer

type JSONRenderer struct{}

func (*JSONRenderer) Marshaler

func (r *JSONRenderer) Marshaler(h RendererHelper) *types.Method

Marshaler generate the following code ===============================================

func (m *User) MarshalJSON() ([]byte, error) {
   bytes, err := m.ToJSON(context.Background())
	  if err != nil {
       return nil, xerrors.Errorf("cannot render to JSON: %w", err)
   }
   return bytes, nil
}

===============================================

func (*JSONRenderer) MarshalerCollection

func (r *JSONRenderer) MarshalerCollection(h RendererHelper) *types.Method

MarshalerCollection generate the following code ===============================================

func (m *Users) MarshalJSON() ([]byte, error) {
   bytes, err := m.ToJSON(context.Background())
	  if err != nil {
       return nil, xerrors.Errorf("cannot render to JSON: %w", err)
   }
   return bytes, nil
}

===============================================

func (*JSONRenderer) MarshalerCollectionContext

func (r *JSONRenderer) MarshalerCollectionContext(h RendererHelper) *types.Method

MarshalerCollectionContext generate the following code ===============================================

func (m *Users) MarshalJSONContext(ctx context.Context) ([]byte, error) {
   bytes, err := m.ToJSON(ctx)
	  if err != nil {
       return nil, xerrors.Errorf("cannot render to JSON: %w", err)
   }
   return bytes, nil
}

===============================================

func (*JSONRenderer) MarshalerContext

func (r *JSONRenderer) MarshalerContext(h RendererHelper) *types.Method

MarshalerContext generate the following code ===============================================

func (m *User) MarshalJSONContext(ctx context.Context) ([]byte, error) {
   bytes, err := m.ToJSON(ctx)
   if err != nil {
       return nil, xerrors.Errorf("cannot render to JSON: %w", err)
   }
   return bytes, nil
}

===============================================

func (*JSONRenderer) Render

func (r *JSONRenderer) Render(h RendererHelper) *types.Method

func (*JSONRenderer) RenderCollection

func (r *JSONRenderer) RenderCollection(h RendererHelper) *types.Method

func (*JSONRenderer) RenderCollectionWithOption

func (r *JSONRenderer) RenderCollectionWithOption(h RendererHelper) *types.Method

func (*JSONRenderer) RenderWithOption

func (r *JSONRenderer) RenderWithOption(h RendererHelper) *types.Method

func (*JSONRenderer) Unmarshaler

func (r *JSONRenderer) Unmarshaler(h RendererHelper) *types.Method

Unmarshaler generate the following code ===============================================

func (m *User) UnmarshalJSON(bytes []byte) error {
  var user struct {
    *entity.User
  }
  if err := json.Unmarshal(bytes, &user); err != nil {
    return errors.Trace(err)
  }
  m.User = &user
  return nil
}

===============================================

func (*JSONRenderer) UnmarshalerCollection

func (r *JSONRenderer) UnmarshalerCollection(h RendererHelper) *types.Method

UnmarshalerCollection generate the following code ===============================================

func (m *Users) UnmarshalJSON(bytes []byte) error {
  var values []*User
  if err := json.Unmarshal(bytes, &values); err != nil {
    return errors.Trace(err)
  }
  m.values = values
  return nil
}

===============================================

type MapRenderer

type MapRenderer struct{}

func (*MapRenderer) Marshaler

func (*MapRenderer) Marshaler(h RendererHelper) *types.Method

func (*MapRenderer) MarshalerCollection

func (*MapRenderer) MarshalerCollection(h RendererHelper) *types.Method

func (*MapRenderer) MarshalerCollectionContext

func (*MapRenderer) MarshalerCollectionContext(h RendererHelper) *types.Method

func (*MapRenderer) MarshalerContext

func (*MapRenderer) MarshalerContext(h RendererHelper) *types.Method

func (*MapRenderer) Render

func (r *MapRenderer) Render(h RendererHelper) *types.Method

func (*MapRenderer) RenderCollection

func (r *MapRenderer) RenderCollection(h RendererHelper) *types.Method

func (*MapRenderer) RenderCollectionWithOption

func (r *MapRenderer) RenderCollectionWithOption(h RendererHelper) *types.Method

func (*MapRenderer) RenderWithOption

func (r *MapRenderer) RenderWithOption(h RendererHelper) *types.Method

func (*MapRenderer) Unmarshaler

func (*MapRenderer) Unmarshaler(h RendererHelper) *types.Method

func (*MapRenderer) UnmarshalerCollection

func (*MapRenderer) UnmarshalerCollection(h RendererHelper) *types.Method

type Renderer

type Renderer interface {
	Render(RendererHelper) *types.Method
	RenderWithOption(RendererHelper) *types.Method
	RenderCollection(RendererHelper) *types.Method
	RenderCollectionWithOption(RendererHelper) *types.Method
	Marshaler(RendererHelper) *types.Method
	MarshalerContext(RendererHelper) *types.Method
	MarshalerCollection(RendererHelper) *types.Method
	MarshalerCollectionContext(RendererHelper) *types.Method
	Unmarshaler(RendererHelper) *types.Method
	UnmarshalerCollection(RendererHelper) *types.Method
}

type RendererHelper

type RendererHelper interface {
	Receiver() *Statement
	Field(string) *Statement
	MethodCall(string, ...Code) *Statement
	Package(string) string
	GetClass() *types.Class
	GetImportList() types.ImportList
	IsModelPackage() bool
	CreateMethodDeclare() *types.MethodDeclare
	CreateCollectionMethodDeclare() *types.MethodDeclare
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL