dvjson

package
v1.0.5 Latest Latest
Warning

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

Go to latest
Published: Jun 8, 2024 License: MIT Imports: 17 Imported by: 0

Documentation

Overview

********************************************************************** MicroCore Copyright 2017 - 2021 by Danyil Dobryvechir (dobrivecher@yahoo.com ddobryvechir@gmail.com) ***********************************************************************

********************************************************************** MicroCore Copyright 2020 - 2024 by Danyil Dobryvechir (dobrivecher@yahoo.com ddobryvechir@gmail.com) ***********************************************************************

********************************************************************** MicroCore Copyright 2020 - 2020 by Danyil Dobryvechir (dobrivecher@yahoo.com ddobryvechir@gmail.com) ***********************************************************************

Index

Constants

View Source
const (
	FLAG_CREATED = "CREATED"
	FLAG_UPDATED = "UPDATED"
	FLAG_REMOVED = "REMOVED"
)
View Source
const (
	OPTIONS_QUICK           = iota
	OPTIONS_FIELDS_ENTRIES  = iota
	OPTIONS_FIELDS_DETAILED = iota
	OPTIONS_ANY_OBJECT      = 1 << 7
	OPTIONS_LOW_MASK        = 1<<7 - 1
)
View Source
const (
	STATE_INITIAL = iota
	STATE_INITIAL_ARRAY_STARTED
	STATE_INITIAL_ARRAY_WAITING_COMMA_OR_END
	STATE_ARRAY_STARTED
	STATE_OBJECT_STARTED
	STATE_OBJECT_COLON
	STATE_VALUE_STARTED
	STATE_WAITING_END
	STATE_OBJECT_COMMA_OR_END_EXPECTED
	STATE_ARRAY_COMMA_OR_END_EXPECTED
)
View Source
const (
	POST_STATE_NONE = iota
	POST_STATE_ARRAY_CLOSE
	POST_STATE_OBJECT_CLOSE
)
View Source
const (
	ERROR_POLICY_SKIP  = 0
	ERROR_POLICY_EMPTY = 1
	ERROR_POLICY_FATAL = 2
	ERROR_POLICY_NULL  = 3
)
View Source
const ExtraReformatJsonProblemCleanExclamationInValue = 1
View Source
const (
	FIELD_STATUS_IS_ID = 1 << iota
)

Variables

View Source
var LogCrud, LogJson, LogProcessors bool

Functions

func AppendRemovedFields added in v1.0.2

func AppendRemovedFields(arr *dvevaluation.DvVariable, dst []*dvevaluation.DvVariable, field string, env *dvevaluation.DvObject) []*dvevaluation.DvVariable

func ConcatObjects added in v1.0.2

func ConcatObjects(dst *dvevaluation.DvVariable, src *dvevaluation.DvVariable)

func ConvertAnyToDvVariable added in v1.0.2

func ConvertAnyToDvVariable(s interface{}) (*dvevaluation.DvVariable, error)

func ConvertDvCrudItemToDvFieldInfo

func ConvertDvCrudItemToDvFieldInfo(src *DvCrudItem) (dst *dvevaluation.DvVariable)

func ConvertDvCrudParsingInfoToDvFieldInfo

func ConvertDvCrudParsingInfoToDvFieldInfo(crudParsingInfo *DvCrudParsingInfo) *dvevaluation.DvVariable

func ConvertDvFieldInfoArrayIntoMap

func ConvertDvFieldInfoArrayIntoMap(data []*dvevaluation.DvVariable) map[string]*dvevaluation.DvVariable

func ConvertFieldItemArrayIntoMap

func ConvertFieldItemArrayIntoMap(info *dvevaluation.DvVariable, keyField string, valueField string, defValue string) (res map[string]string, err error)

func ConvertInterfaceIntoMap added in v1.0.2

func ConvertInterfaceIntoMap(v interface{}) (map[string]interface{}, bool)

func ConvertInterfaceIntoStringMap added in v1.0.2

func ConvertInterfaceIntoStringMap(v interface{}) (map[string]string, bool)

func ConvertSimpleStringMapToJson

func ConvertSimpleStringMapToJson(data map[string]string, includeBrackets bool) string

func ConvertStringArrayToByteByteArray

func ConvertStringArrayToByteByteArray(data []string) [][]byte

func ConvertStringToDvVariableIntoStringToInterface added in v1.0.2

func ConvertStringToDvVariableIntoStringToInterface(v map[string]*dvevaluation.DvVariable) map[string]interface{}

func ConvertStringToDvVariableIntoStringToString added in v1.0.2

func ConvertStringToDvVariableIntoStringToString(v map[string]*dvevaluation.DvVariable) map[string]string

func ConvertStringToInterfaceIntoStringToString added in v1.0.2

func ConvertStringToInterfaceIntoStringToString(v map[string]interface{}) map[string]string

func ConvertStringToStringIntoStringToInterface added in v1.0.2

func ConvertStringToStringIntoStringToInterface(v map[string]string) map[string]interface{}

func ConvertToDouble

func ConvertToDouble(v interface{}) float64

func ConvertToFloat

func ConvertToFloat(v interface{}) float32

func ConvertToUnsignedLong

func ConvertToUnsignedLong(v interface{}) uint64

func CountChildren added in v1.0.2

func CountChildren(val interface{}) int

func CreateDvFieldInfoObject

func CreateDvFieldInfoObject() *dvevaluation.DvVariable

func CreateLocalVariables added in v1.0.2

func CreateLocalVariables(env *dvevaluation.DvObject, dat *dvevaluation.DvVariable) []string

func CreateObjectByArray added in v1.0.2

func CreateObjectByArray(obj *dvevaluation.DvVariable, key string, value string, env *dvevaluation.DvObject, keyPolicy int, valuePolicy int) (res *dvevaluation.DvVariable, err error)

func CreateQuickInfoByKeysForAny added in v1.0.2

func CreateQuickInfoByKeysForAny(data interface{}, ids []string)

func CrudGenerateHandlers added in v1.0.2

func CrudGenerateHandlers(url string, params []string, urlPool *dvurl.UrlPool) error

func CrudGlobalInitialization added in v1.0.2

func CrudGlobalInitialization(data map[string]string) error

func DvFieldArrayToBytes added in v1.0.2

func DvFieldArrayToBytes(val []*dvevaluation.DvVariable) []byte

func DvFieldInfoToStringConverter added in v1.0.2

func DvFieldInfoToStringConverter(v interface{}) (string, bool)

func FindChange added in v1.0.2

func FindChangeAny added in v1.0.2

func FindChangeAny(srcAny interface{}, refAny interface{}, field string, algorithm string, env *dvevaluation.DvObject) (interface{}, error)

func FindChangeInArray added in v1.0.2

func FindChangeInArray(src *dvevaluation.DvVariable, ref *dvevaluation.DvVariable, field string, algorithm string, env *dvevaluation.DvObject) (*dvevaluation.DvVariable, error)

func FindChangeInObject added in v1.0.2

func FindChangeInObject(src *dvevaluation.DvVariable, ref *dvevaluation.DvVariable, field string, algorithm string, env *dvevaluation.DvObject) (*dvevaluation.DvVariable, error)

func FindDifferenceForAnyType added in v1.0.2

func FindDifferenceForAnyType(itemAny interface{}, otherAny interface{},
	fillAdded bool, fillRemoved bool, fillUpdated bool, fillUnchanged bool,
	fillUpdatedCounterpart bool, unchangedAsUpdated bool, useIndex bool) (added *dvevaluation.DvVariable, removed *dvevaluation.DvVariable,
	updated *dvevaluation.DvVariable, unchanged *dvevaluation.DvVariable, counterparts *dvevaluation.DvVariable)

func GetIntValueFromFieldMap

func GetIntValueFromFieldMap(data map[string]*dvevaluation.DvVariable, fieldName string) (int, bool)

func GetKeyContentPecularities

func GetKeyContentPecularities(key string) int

func GetMinifiedWithId added in v1.0.2

func GetMinifiedWithSimpleFields added in v1.0.2

func GetMinifiedWithSimpleFields(f *dvevaluation.DvVariable, env *dvevaluation.DvObject) *dvevaluation.DvVariable

func GetNextPathPartByKey

func GetNextPathPartByKey(key string) string

func GetStringValueFromFieldMap

func GetStringValueFromFieldMap(data map[string]*dvevaluation.DvVariable, fieldName string) (string, bool)

func IsChangeUpdatedPossible added in v1.0.2

func IsChangeUpdatedPossible(f *dvevaluation.DvVariable) bool

func IsCurrentFormatJson

func IsCurrentFormatJson(data []byte) bool

func IsEmptyAny added in v1.0.2

func IsEmptyAny(v interface{}) bool

func IsValueSimple

func IsValueSimple(v interface{}) bool

func IterateFilterByExpression added in v1.0.2

func IterateFilterByExpression(val interface{}, expression string, env *dvevaluation.DvObject, errIsCritical bool) (res interface{}, err error)

func IterateFilterOnAnyType added in v1.0.2

func IterateFilterOnAnyType(val interface{}, processor FilterProcessor) interface{}

func IterateOnAnyType added in v1.0.2

func IterateOnAnyType(val interface{}, processor IterateProcessor, initial interface{}) interface{}

func IterateSortByFields added in v1.0.2

func IterateSortByFields(val interface{}, fields []string, env *dvevaluation.DvObject) (res interface{}, err error)

func IterateSortOnAnyType added in v1.0.2

func IterateSortOnAnyType(val interface{}, processor SortComparator) interface{}

func JsonFullParser

func JsonFullParser(body []byte) (*dvevaluation.DvVariable, error)

func MakeCrudHandler

func MakeCrudHandler(crudInfo *DvCrudDetails) dvcontext.HandlerFunc

func ParseAny added in v1.0.2

func ParseAny(v interface{}) (res *dvevaluation.DvVariable, err error)

func PrintToJson added in v1.0.2

func PrintToJson(dvEntry *dvevaluation.DvVariable, indent int) []byte

func PrintToJsonAtLevel added in v1.0.2

func PrintToJsonAtLevel(dvEntry *dvevaluation.DvVariable, res []byte, level int, indent int, noIndentAtFirst bool) []byte

func PrintToYaml added in v1.0.2

func PrintToYaml(dvEntry *dvevaluation.DvVariable, indent int) []byte

func PrintToYamlAtLevel added in v1.0.2

func PrintToYamlAtLevel(dvEntry *dvevaluation.DvVariable, res []byte, level int, indent int, noIndentAtFirst bool) []byte

func PrintToYamlPlainArray added in v1.0.2

func PrintToYamlPlainArray(dvEntry *dvevaluation.DvVariable, indent int) []byte

func ReadJsonAsDvFieldInfo

func ReadJsonAsDvFieldInfo(data []byte) (*dvevaluation.DvVariable, error)

func ReadJsonChild added in v1.0.2

func ReadJsonChild(data []byte, childName string, rejectChildOfUndefined bool, env *dvevaluation.DvObject) (*dvevaluation.DvVariable, error)

func ReadPathOfAny added in v1.0.2

func ReadPathOfAny(item interface{}, childName string, rejectChildOfUndefined bool, env *dvevaluation.DvObject) (*dvevaluation.DvVariable, *dvevaluation.DvVariable, error)

func ReadYamlAsDvFieldInfo

func ReadYamlAsDvFieldInfo(data []byte) (*dvevaluation.DvVariable, error)

func ReformatJson

func ReformatJson(json []byte, indent int, trash [][]byte, crlf int) ([]byte, error)

func RemoveByKeys added in v1.0.2

func RemoveByKeys(data *dvevaluation.DvVariable, keys []string, env *dvevaluation.DvObject) (*dvevaluation.DvVariable, error)

func RemoveLocalVariables added in v1.0.2

func RemoveLocalVariables(env *dvevaluation.DvObject, locals []string)

func RemovePathOfAny added in v1.0.2

func RemovePathOfAny(item interface{}, childName string, rejectChildOfUndefined bool, env *dvevaluation.DvObject) (*dvevaluation.DvVariable, *dvevaluation.DvVariable, error)

func ReplaceTextByObjectMap added in v1.0.2

func ReplaceTextByObjectMap(s string, rules *dvevaluation.DvVariable) string

Types

type DvCrud

type DvCrud struct {
	Url      string `json:"url"`
	IdName   string `json:"idName"`
	IdType   string `json:"idType"`
	Options  string `json:"options"`
	IdPrefix string `json:"idPrefix"`
}

type DvCrudDetails

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

type DvCrudInfo

type DvCrudInfo struct {
	Entities []DvCrud `json:"entities"`
}

type DvCrudItem

type DvCrudItem struct {
	dvevaluation.DvVariable

	Id []byte
	// contains filtered or unexported fields
}

type DvCrudParsingInfo

type DvCrudParsingInfo struct {
	Items []*DvCrudItem
	Err   string
	Kind  int
	Value []byte
}

func JsonQuickParser

func JsonQuickParser(body []byte, crudDetails *DvCrudDetails, highLevelObject bool, mode int) *DvCrudParsingInfo

func (*DvCrudParsingInfo) ConvertSimpleValueToInterface

func (parseInfo *DvCrudParsingInfo) ConvertSimpleValueToInterface() (interface{}, bool)

func (*DvCrudParsingInfo) GetDvFieldInfoHierarchy

func (parseInfo *DvCrudParsingInfo) GetDvFieldInfoHierarchy() []*dvevaluation.DvVariable

type DvFieldInfoExtra added in v1.0.2

type DvFieldInfoExtra struct {
	FieldStatus int
	// contains filtered or unexported fields
}

type FilterProcessor added in v1.0.2

type FilterProcessor func(string, interface{}, int, interface{}) (bool, bool)

type IterateProcessor added in v1.0.2

type IterateProcessor func(string, interface{}, int, interface{}) (interface{}, bool)

type JsonWriter

type JsonWriter struct {
	CustomInfo interface{}
	// contains filtered or unexported fields
}

func CreateJsonWriter

func CreateJsonWriter(fileName string, indent int, bufSize int, eol int, customInfo interface{}) (*JsonWriter, error)

func (*JsonWriter) Close

func (w *JsonWriter) Close()

func (*JsonWriter) EndArray

func (w *JsonWriter) EndArray()

func (*JsonWriter) EndObject

func (w *JsonWriter) EndObject()

func (*JsonWriter) Flush

func (w *JsonWriter) Flush()

func (*JsonWriter) GetError

func (w *JsonWriter) GetError() error

func (*JsonWriter) PrintKey

func (w *JsonWriter) PrintKey(key string)

func (*JsonWriter) PrintValueInteger

func (w *JsonWriter) PrintValueInteger(value int)

func (*JsonWriter) PrintValueSimple

func (w *JsonWriter) PrintValueSimple(value string)

func (*JsonWriter) PrintValueSmart

func (w *JsonWriter) PrintValueSmart(value interface{}) bool

func (*JsonWriter) PrintValueString

func (w *JsonWriter) PrintValueString(value string)

func (*JsonWriter) PutData

func (w *JsonWriter) PutData(data ...byte)

func (*JsonWriter) PutEscapedString

func (w *JsonWriter) PutEscapedString(data []byte)

func (*JsonWriter) RepeatData

func (w *JsonWriter) RepeatData(data byte, n int)

func (*JsonWriter) SetError

func (w *JsonWriter) SetError(err error)

func (*JsonWriter) SetErrorMessage

func (w *JsonWriter) SetErrorMessage(message string)

func (*JsonWriter) StartArray

func (w *JsonWriter) StartArray()

func (*JsonWriter) StartObject

func (w *JsonWriter) StartObject()

type OrderedItem

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

type OrderedMap

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

func CreateOrderedMap

func CreateOrderedMap(n int) *OrderedMap

func CreateOrderedMapByArray

func CreateOrderedMapByArray(m []interface{}, base int) *OrderedMap

func CreateOrderedMapByMap

func CreateOrderedMapByMap(m map[interface{}]interface{}) *OrderedMap

func (*OrderedMap) Get

func (m *OrderedMap) Get(k interface{}) (interface{}, bool)

func (*OrderedMap) GetAt

func (m *OrderedMap) GetAt(pos int) (interface{}, interface{})

func (*OrderedMap) GetAtSafe

func (m *OrderedMap) GetAtSafe(pos int) (interface{}, interface{}, bool)

func (*OrderedMap) GetByInt64Key

func (m *OrderedMap) GetByInt64Key(k int64) (interface{}, bool)

func (*OrderedMap) GetInt64ByInt64Key

func (m *OrderedMap) GetInt64ByInt64Key(k int64) (int64, bool)

func (*OrderedMap) IsSimpleArray

func (m *OrderedMap) IsSimpleArray(base int) bool

func (*OrderedMap) IsSimpleObject

func (m *OrderedMap) IsSimpleObject() bool

func (*OrderedMap) Put

func (m *OrderedMap) Put(k interface{}, v interface{}) bool

func (*OrderedMap) Remove

func (m *OrderedMap) Remove(k interface{}) bool

func (*OrderedMap) RemoveAt

func (m *OrderedMap) RemoveAt(pos int) bool

func (*OrderedMap) Size

func (m *OrderedMap) Size() int

type SortComparator added in v1.0.2

type SortComparator func(d1 *dvevaluation.DvVariable, d2 *dvevaluation.DvVariable) int

Jump to

Keyboard shortcuts

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