gen

package
v0.31.4 Latest Latest
Warning

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

Go to latest
Published: Aug 23, 2023 License: MIT Imports: 14 Imported by: 0

README

Generator package

The generator takes

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckRulesJson added in v0.8.0

func CheckRulesJson(file string, bytes []byte) error

func CompareContentWithFile

func CompareContentWithFile(sourceBytes []byte, target string) (bool, error)

func New

func New(o GeneratorOptions) (*generator, error)

func ReadRulesDoc added in v0.8.0

func ReadRulesDoc(filename string) (*spec.RulesDoc, error)

ReadRulesDoc reads rules from a file.

Types

type FileOutput added in v0.20.0

type FileOutput struct {
}

func (*FileOutput) Compare added in v0.20.0

func (f *FileOutput) Compare(input []byte, target string) (bool, error)

func (*FileOutput) Copy added in v0.20.0

func (f *FileOutput) Copy(source, target string, force bool) error

func (*FileOutput) Write added in v0.20.0

func (f *FileOutput) Write(input []byte, target string, force bool) error

type GeneratorOptions added in v0.20.0

type GeneratorOptions struct {
	// OutputDir is the directory where files are written
	OutputDir string
	// TemplatesDir is the directory where templates are located
	TemplatesDir string
	// System is the root system model
	System *model.System
	// UserFeatures is a list of features defined by user
	UserFeatures []string
	// UserForce forces overwrite of existing files
	UserForce bool
	// Output is the output writer
	Output OutputWriter
	// DryRun does not write files
	DryRun bool
	// Meta is a map of metadata
	Meta map[string]any
}

type GeneratorStats added in v0.8.0

type GeneratorStats struct {
	FilesWritten int           `json:"files_written"`
	FilesSkipped int           `json:"files_skipped"`
	FilesCopied  int           `json:"files_copied"`
	FilesTouched []string      `json:"files_touched"`
	RunStart     time.Time     `json:"run_start"`
	RunEnd       time.Time     `json:"run_end"`
	Duration     time.Duration `json:"duration"`
}

func (*GeneratorStats) Start added in v0.8.0

func (g *GeneratorStats) Start()

func (*GeneratorStats) Stop added in v0.8.0

func (g *GeneratorStats) Stop()

func (*GeneratorStats) TotalFiles added in v0.8.0

func (s *GeneratorStats) TotalFiles() int

type MockOutput added in v0.20.0

type MockOutput struct {
	Writes   map[string]string
	Copies   map[string]string
	Compares map[string]bool
}

func NewMockOutput added in v0.20.0

func NewMockOutput() *MockOutput

func (*MockOutput) Compare added in v0.20.0

func (m *MockOutput) Compare(input []byte, target string) (bool, error)

func (*MockOutput) Copy added in v0.20.0

func (m *MockOutput) Copy(source, target string, force bool) error

func (*MockOutput) Write added in v0.20.0

func (m *MockOutput) Write(input []byte, target string, force bool) error

type OutputWriter added in v0.29.1

type OutputWriter interface {
	Write(input []byte, target string, force bool) error
	Copy(source, target string, force bool) error
	Compare(input []byte, target string) (bool, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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