mirror of
https://tangled.org/evan.jarrett.net/at-container-registry
synced 2026-04-27 19:55:08 +00:00
43 lines
900 B
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)
|
|
}
|
|
}
|