Files
at-container-registry/pkg/atproto/generate.go

43 lines
900 B
Go

//go:build ignore
// +build ignore
package main
// CBOR Code Generator
//
// This generates optimized CBOR marshaling code for ATProto records.
//
// Usage:
// go generate ./pkg/atproto/...
//
// This creates pkg/atproto/cbor_gen.go which should be committed to git.
// Only re-run when you modify types in pkg/atproto/types.go
//
// The //go:generate directive is in lexicon.go
import (
"fmt"
"os"
cbg "github.com/whyrusleeping/cbor-gen"
"atcr.io/pkg/atproto"
)
func main() {
// Generate map-style encoders
if err := cbg.WriteMapEncodersToFile("cbor_gen.go", "atproto",
atproto.CrewRecord{},
atproto.CaptainRecord{},
atproto.LayerRecord{},
atproto.TangledProfileRecord{},
atproto.StatsRecord{},
atproto.DailyStatsRecord{},
atproto.ScanRecord{},
atproto.ImageConfigRecord{},
); err != nil {
fmt.Printf("Failed to generate CBOR encoders: %v\n", err)
os.Exit(1)
}
}