config

package
v0.0.0-...-a2a9c72 Latest Latest
Warning

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

Go to latest
Published: Feb 25, 2023 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ColumnDefinition

type ColumnDefinition struct {
	Name         string                 `hcl:",key"`
	Type         string                 `hcl:"type"` // Only support Float, Int, String, Boolean, StringArray, IntArray, FloatArray, BooleanArray
	Path         string                 `hcl:"path"`
	Separator    string                 `hcl:"separator"` // Only mean in case of Array
	Skip         bool                   `hcl:"skip"`      // Skip this columns
	DefaultValue string                 `hcl:"default"`   // Must set if type was a additional column
	Indices      map[string]interface{} `hcl:"indices"`
	Excludes     []string               `hcl:"excludes"` // Exclude value
	Includes     []string               `hcl:"includes"` // Includes Value
}

ColumnDefinition column definition

type ColumnsDefinition

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

ColumnsDefinition is alias for []ColumnDefinition

type Config

type Config struct {
	RootPath    string      `hcl:"root"`
	OutPath     string      `hcl:"out_directory"`
	Concurrency rune        `hcl:"concurrency"`
	Directories []Directory `hcl:"directory"`
}

Config Root Config for file

func ParseConfig

func ParseConfig(hclText string) (*Config, error)

ParseConfig parse the given HCL string into a Config struct.

type Directory

type Directory struct {
	Path              string              `hcl:",key"`
	Separator         string              `hcl:"separator"`
	Columns           []*ColumnDefinition `hcl:"column"`
	AdditionalColumns []*ColumnDefinition `hcl:"additional_column"`
	Skip              bool                `hcl:"skip"`            // Skip this directory
	SkipFirstLine     bool                `hcl:"skip_first_line"` // Skip first line
	IncludePatterns   []string            `hcl:"include"`
	ExcludePatterns   []string            `hcl:"exclude"`
	Output            string              `hcl:"output"` // Default is Path
	// contains filtered or unexported fields
}

Directory contains info about directory

func (*Directory) Parse

func (dir *Directory) Parse(record []string) (json.JsonObject, error)

Parse csv record into json.JsonObject

Jump to

Keyboard shortcuts

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