mirror of
https://github.com/LukeHagar/libopenapi.git
synced 2025-12-06 20:47:49 +00:00
This simple method gives the low API a super powerful and simple way to mutate the value of any node, which is then reflected in the root node, can than be serialized again and, voila! now our spec is editable.
42 lines
944 B
Go
42 lines
944 B
Go
package main
|
|
|
|
//func main() {
|
|
//
|
|
// testData := `openapi: 3.0.1
|
|
//info:
|
|
// title: this is a title
|
|
// description: this is a description
|
|
//tags:
|
|
// - name: Tag A
|
|
// description: cake
|
|
// x-hack: true
|
|
// - name: Tag B
|
|
// description: coffee
|
|
// x-code: hack`
|
|
//
|
|
// data := []byte(testData)
|
|
// _ = ioutil.WriteFile("sample.yaml", data, 0664)
|
|
//
|
|
// info, _ := datamodel.ExtractSpecInfo(data)
|
|
// lowDoc, err := low.CreateDocument(info)
|
|
// if len(err) > 0 {
|
|
// for e := range err {
|
|
// fmt.Printf("%e\n", err[e])
|
|
// }
|
|
// return
|
|
// }
|
|
// highDoc := high.NewDocument(lowDoc)
|
|
//
|
|
// highDoc.Info.GoLow().Title.ValueNode.Value = "let's hack this"
|
|
// //highDoc.Tags[0].SetName("We are a new name now")
|
|
// //highDoc.Tags[0].SetDescription("and a new description")
|
|
//
|
|
// //newTag := lowDoc.AddTag()
|
|
// //fmt.Println(newTag)
|
|
// modified, _ := yaml.Marshal(info.RootNode)
|
|
// fmt.Println(string(modified))
|
|
//
|
|
// os.Remove("sample.yaml")
|
|
//
|
|
//}
|