rpckit2

package module
v0.0.0-...-97f5297 Latest Latest
Warning

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

Go to latest
Published: Aug 26, 2020 License: MIT Imports: 16 Imported by: 0

README

rpckit2

A RPC protocol implementation generator.

Supported

  • Go protobuf over io.ReadWriter
  • Go JSON over net/http
  • Swift

Documentation

Overview

Code generated by go-bindata. DO NOT EDIT. @generated sources: templates/go-http.tmpl templates/go-pb.tmpl templates/go.tmpl templates/swift-pb.tmpl

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Asset

func Asset(name string) ([]byte, error)

Asset loads and returns the asset for the given name. It returns an error if the asset could not be found or could not be loaded.

func AssetDir

func AssetDir(name string) ([]string, error)

AssetDir returns the file names below a certain directory embedded in the file by go-bindata. For example if you run go-bindata on data/... and data contains the following hierarchy:

data/
  foo.txt
  img/
    a.png
    b.png

then AssetDir("data") would return []string{"foo.txt", "img"} AssetDir("data/img") would return []string{"a.png", "b.png"} AssetDir("foo.txt") and AssetDir("notexist") would return an error AssetDir("") will return []string{"data"}.

func AssetInfo

func AssetInfo(name string) (os.FileInfo, error)

AssetInfo loads and returns the asset info for the given name. It returns an error if the asset could not be found or could not be loaded.

func AssetNames

func AssetNames() []string

AssetNames returns the names of the assets.

func MustAsset

func MustAsset(name string) []byte

MustAsset is like Asset but panics when Asset would return an error. It simplifies safe initialization of global variables.

func RestoreAsset

func RestoreAsset(dir, name string) error

RestoreAsset restores an asset under the given directory

func RestoreAssets

func RestoreAssets(dir, name string) error

RestoreAssets restores an asset under the given directory recursively

Types

type GoGenerator

type GoGenerator struct {
	PackageName string
	Protocols   []*Protocol
}

func (GoGenerator) Generate

func (g GoGenerator) Generate(p string) error

type GoTemplateContext

type GoTemplateContext struct {
	PackageName string
	Protocols   []GoTemplateProtocol
	Imports     map[string]struct{}
}

type GoTemplateProtocol

type GoTemplateProtocol struct {
	Name    string
	ID      uint64
	Methods []Method
	Structs []Struct
}

type MarshalledProperty

type MarshalledProperty interface {
	Import() string
}

type Method

type Method struct {
	Name        string
	ID          int64
	Description string
	Notes       string
	Input       []Property
	Output      []Property
}

type MethodInputOptions

type MethodInputOptions struct{}

type MethodOutputOptions

type MethodOutputOptions struct {
	OmitEmpty bool // TODO: json encoding flag and only supported on http.
}

type Property

type Property struct {
	T           PropertyType
	ID          int64
	Name        string
	Description string
	Options     interface{}
}

type PropertyType

type PropertyType interface {
	String() string
	GoType() string
	SwiftType() string
	SwiftDefault() string
	IsArray() bool
	IsMap() bool
	IsStruct() bool
	IsMarshalled() bool
	InnerValue() PropertyType
	InnerKey() PropertyType
	AsStruct() *Struct
}

func Array

func Array(T PropertyType) PropertyType

func Bool

func Bool() PropertyType

func Bytes

func Bytes() PropertyType

func DateTime

func DateTime() PropertyType

func Double

func Double() PropertyType

func Float

func Float() PropertyType

func Int

func Int() PropertyType

func Int64

func Int64() PropertyType

func Map

func Map(K, V PropertyType) PropertyType

func String

func String() PropertyType

func StructName

func StructName(name string) PropertyType

func UUID

func UUID() PropertyType

type Protocol

type Protocol struct {
	// contains filtered or unexported fields
}

func NewProtocol

func NewProtocol(name string, id uint64) *Protocol

func (*Protocol) AddMethod

func (p *Protocol) AddMethod(method Method)

func (*Protocol) AddStruct

func (p *Protocol) AddStruct(s Struct)

type Struct

type Struct struct {
	Name        string
	Description string
	Notes       string
	Fields      []Property
}

type StructField

type StructField struct {
	Key   string
	Value PropertyType
}

type StructFieldOptions

type StructFieldOptions struct {
	Getter    bool
	Setter    bool
	OmitEmpty bool // TODO: json encoding flag and only supported on http.
}

type SwiftGenerator

type SwiftGenerator struct {
	PackageName string
	Protocols   []*Protocol
}

func (SwiftGenerator) Generate

func (g SwiftGenerator) Generate(p string) error

type SwiftTemplateContext

type SwiftTemplateContext struct {
	PackageName string
	Protocols   []SwiftTemplateProtocol
	Imports     map[string]struct{}
}

type SwiftTemplateProtocol

type SwiftTemplateProtocol struct {
	Name    string
	ID      uint64
	Methods []Method
	Structs []Struct
}

Directories

Path Synopsis
examples

Jump to

Keyboard shortcuts

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