+21
atproto/syntax/cmd/atp-syntax/main.go
+21
atproto/syntax/cmd/atp-syntax/main.go
···
22
22
ArgsUsage: "<tid>",
23
23
Action: runParseTID,
24
24
},
25
+
&cli.Command{
26
+
Name: "parse-did",
27
+
Usage: "parse a DID",
28
+
ArgsUsage: "<did>",
29
+
Action: runParseDID,
30
+
},
25
31
}
26
32
h := slog.NewTextHandler(os.Stderr, &slog.HandlerOptions{Level: slog.LevelDebug})
27
33
slog.SetDefault(slog.New(h))
···
43
49
44
50
return nil
45
51
}
52
+
53
+
func runParseDID(cctx *cli.Context) error {
54
+
s := cctx.Args().First()
55
+
if s == "" {
56
+
return fmt.Errorf("need to provide identifier as an argument")
57
+
}
58
+
59
+
did, err := syntax.ParseDID(s)
60
+
if err != nil {
61
+
return err
62
+
}
63
+
fmt.Printf("%s\n", did)
64
+
65
+
return nil
66
+
}