github.com/voedger/voedger@v0.0.0-20240520144910-273e84102129/pkg/istructsmem/internal/descr/impl_data.go (about) 1 /* 2 * Copyright (c) 2021-present Sigma-Soft, Ltd. 3 * @author: Nikolay Nikitin 4 */ 5 6 package descr 7 8 import "github.com/voedger/voedger/pkg/appdef" 9 10 func newData() *Data { 11 return &Data{ 12 Constraints: make(map[string]any, 0), 13 } 14 } 15 16 func (d *Data) read(data appdef.IData) { 17 d.Type.read(data) 18 if data.Ancestor() != nil { 19 q := data.Ancestor().QName() 20 d.Ancestor = &q 21 } else { 22 // notest: only system data types have no ancestor 23 k := data.DataKind() 24 d.DataKind = &k 25 } 26 for k, c := range data.Constraints(false) { 27 d.Constraints[k.TrimString()] = c.Value() 28 } 29 }