MCPcopy Create free account
hub / github.com/wavetermdev/waveterm / jsonMarshalConfigInOrder

Function jsonMarshalConfigInOrder

pkg/wconfig/settingsconfig.go:788–817  ·  view source on GitHub ↗
(m waveobj.MetaMapType)

Source from the content-addressed store, hash-verified

786}
787
788func jsonMarshalConfigInOrder(m waveobj.MetaMapType) ([]byte, error) {
789 if len(m) == 0 {
790 return []byte("{}"), nil
791 }
792 var buf bytes.Buffer
793 orderedKeys := orderConfigKeys(m)
794 buf.WriteString("{\n")
795 for idx, key := range orderedKeys {
796 val := m[key]
797 keyBarr, err := json.Marshal(key)
798 if err != nil {
799 return nil, err
800 }
801 valBarr, err := json.MarshalIndent(val, "", " ")
802 if err != nil {
803 return nil, err
804 }
805 valBarr = reindentJson(valBarr, " ")
806 buf.WriteString(" ")
807 buf.Write(keyBarr)
808 buf.WriteString(": ")
809 buf.Write(valBarr)
810 if idx < len(orderedKeys)-1 {
811 buf.WriteString(",")
812 }
813 buf.WriteString("\n")
814 }
815 buf.WriteString("}")
816 return buf.Bytes(), nil
817}
818
819var dummyNumber json.Number
820

Callers 1

WriteWaveHomeConfigFileFunction · 0.85

Calls 5

orderConfigKeysFunction · 0.85
reindentJsonFunction · 0.85
WriteStringMethod · 0.80
BytesMethod · 0.80
WriteMethod · 0.65

Tested by

no test coverage detected