1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
package main
import (
"encoding/json"
"fmt"
"os"
)
func serialize(packageName string, items map[string]jewelryItem) {
// there are single files getting through here
clientData := map[string]jewelryItem{}
for k, v := range items {
if k == "packageDocumentation" {
clientData[k] = v
continue
}
clientData[v.Name] = v
if v.Name == "Client" {
for _, m := range v.Members {
if m.Name == "Options" {
continue
}
// m.Input = fmt.Sprintf("%vInput", m.Name)
// m.Output = fmt.Sprintf("%vOutput", m.Name)
clientData[m.Name] = m
}
}
}
content, err := json.Marshal(clientData)
if err != nil {
fmt.Println(err)
}
err = os.WriteFile(fmt.Sprintf("clients/%v.json", packageName), content, 0644)
if err != nil {
panic(err)
}
for _, item := range clientData {
if item.Name == "" || item.Name == "packageDocumentation" {
continue
}
content, err := json.Marshal(item)
if err != nil {
fmt.Println(err)
}
err = os.WriteFile(fmt.Sprintf("public/members/-aws-sdk-client-%v.%v.%v.json", packageName, item.Name, string(item.Type)), content, 0644)
if err != nil {
panic(err)
}
}
typeData := map[string][]string{}
for _, item := range clientData {
if item.Name == "" || item.Name == "packageDocumentation" {
continue
}
val, ok := typeData[string(item.Type)]
if !ok {
val = []string{}
}
val = append(val, item.Name)
typeData[string(item.Type)] = val
}
content, err = json.Marshal(typeData)
if err != nil {
fmt.Println(err)
}
err = os.WriteFile(fmt.Sprintf("public/members/-aws-sdk-client-%v.json", packageName), content, 0644)
if err != nil {
panic(err)
}
}
|