mirror of
https://github.com/hanzoai/numscript.git
synced 2026-10-30 18:26:57 +00:00
39 lines
876 B
Go
39 lines
876 B
Go
package interpreter
|
|
|
|
import (
|
|
"github.com/formancehq/numscript/internal/parser"
|
|
"github.com/formancehq/numscript/internal/utils"
|
|
)
|
|
|
|
func setTxMeta(st *programState, r parser.Range, args []Value) InterpreterError {
|
|
p := NewArgsParser(args)
|
|
key := parseArg(p, r, expectString)
|
|
meta := parseArg(p, r, expectAnything)
|
|
err := p.parse()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
st.TxMeta[*key] = *meta
|
|
return nil
|
|
}
|
|
|
|
func setAccountMeta(st *programState, r parser.Range, args []Value) InterpreterError {
|
|
p := NewArgsParser(args)
|
|
account := parseArg(p, r, expectAccount)
|
|
key := parseArg(p, r, expectString)
|
|
meta := parseArg(p, r, expectAnything)
|
|
err := p.parse()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
accountMeta := utils.MapGetOrPutDefault(st.SetAccountsMeta, *account, func() AccountMetadata {
|
|
return AccountMetadata{}
|
|
})
|
|
|
|
accountMeta[*key] = (*meta).String()
|
|
|
|
return nil
|
|
}
|