atproto tools in zig zat.dev
sdk atproto zig

promote types to top level, remove internal namespace

+17 -62
+1 -1
README.md
··· 31 31 ```zig 32 32 const zat = @import("zat"); 33 33 34 - if (zat.internal.AtUri.parse(uri_string)) |uri| { 34 + if (zat.AtUri.parse(uri_string)) |uri| { 35 35 const authority = uri.authority(); 36 36 const collection = uri.collection(); 37 37 const rkey = uri.rkey();
-25
src/internal.zig
··· 1 - //! zat internal module 2 - //! 3 - //! experimental APIs that haven't stabilized yet. 4 - //! everything here is subject to change without notice. 5 - //! 6 - //! when an API stabilizes, it gets promoted to root.zig. 7 - 8 - // identifiers 9 - pub const Tid = @import("internal/tid.zig").Tid; 10 - pub const Did = @import("internal/did.zig").Did; 11 - pub const Handle = @import("internal/handle.zig").Handle; 12 - pub const Nsid = @import("internal/nsid.zig").Nsid; 13 - pub const Rkey = @import("internal/rkey.zig").Rkey; 14 - 15 - // uris 16 - pub const AtUri = @import("internal/at_uri.zig").AtUri; 17 - 18 - test { 19 - _ = @import("internal/tid.zig"); 20 - _ = @import("internal/did.zig"); 21 - _ = @import("internal/handle.zig"); 22 - _ = @import("internal/nsid.zig"); 23 - _ = @import("internal/rkey.zig"); 24 - _ = @import("internal/at_uri.zig"); 25 - }
+16 -36
src/root.zig
··· 1 - //! zat - zig atproto primitives (alpha) 2 - //! 3 - //! low-level building blocks for atproto applications. 4 - //! not a full sdk - just the pieces everyone reimplements. 5 - //! 6 - //! ## stability 7 - //! 8 - //! this is alpha software (0.0.1-alpha). the public API is minimal by design. 9 - //! new features start in `internal` and get promoted here when stable. 10 - //! 11 - //! ## public api 12 - //! 13 - //! currently empty - everything is still in internal while we iterate. 14 - //! 15 - //! ## internal api 16 - //! 17 - //! for bleeding-edge features, use the internal module directly: 18 - //! 19 - //! ```zig 20 - //! const zat = @import("zat"); 21 - //! 22 - //! // internal APIs - subject to change 23 - //! const tid = zat.internal.Tid.parse("...") orelse return error.InvalidTid; 24 - //! const uri = zat.internal.AtUri.parse("at://did:plc:xyz/collection/rkey") orelse return error.InvalidUri; 25 - //! const did = zat.internal.Did.parse("did:plc:xyz") orelse return error.InvalidDid; 26 - //! ``` 1 + //! zat - zig atproto primitives 27 2 //! 28 - //! when these stabilize, they'll be promoted to `zat.Tid`, `zat.AtUri`, etc. 3 + //! parsing and validation for AT Protocol string formats. 29 4 30 - /// experimental and in-progress APIs. 31 - /// everything here is subject to change without notice. 32 - pub const internal = @import("internal.zig"); 5 + // identifiers 6 + pub const Tid = @import("internal/tid.zig").Tid; 7 + pub const Did = @import("internal/did.zig").Did; 8 + pub const Handle = @import("internal/handle.zig").Handle; 9 + pub const Nsid = @import("internal/nsid.zig").Nsid; 10 + pub const Rkey = @import("internal/rkey.zig").Rkey; 33 11 34 - // --- stable public API --- 35 - // (promoted from internal when ready) 36 - // 37 - // example of promotion: 38 - // pub const Tid = internal.Tid; 12 + // uris 13 + pub const AtUri = @import("internal/at_uri.zig").AtUri; 39 14 40 15 test { 41 - _ = internal; 16 + _ = @import("internal/tid.zig"); 17 + _ = @import("internal/did.zig"); 18 + _ = @import("internal/handle.zig"); 19 + _ = @import("internal/nsid.zig"); 20 + _ = @import("internal/rkey.zig"); 21 + _ = @import("internal/at_uri.zig"); 42 22 }