github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/lang/parameters/tokens.go (about)

     1  package parameters
     2  
     3  import "sync"
     4  
     5  // Parameters is the parameter object
     6  type Parameters struct {
     7  	mutex     sync.RWMutex
     8  	params    []string
     9  	PreParsed [][]rune
    10  }
    11  
    12  func (param *Parameters) Dump() interface{} {
    13  	dump := make(map[string]interface{})
    14  
    15  	param.mutex.Lock()
    16  	params := make([]string, len(param.params))
    17  	pre := make([]string, len(param.PreParsed))
    18  
    19  	copy(params, param.params)
    20  
    21  	for i := range pre {
    22  		pre[i] = string(param.PreParsed[i])
    23  	}
    24  
    25  	param.mutex.Unlock()
    26  
    27  	dump["Parsed"] = params
    28  	dump["PreParsed"] = pre
    29  
    30  	return dump
    31  }