poptart_lex 0.2.0 copy "poptart_lex: ^0.2.0" to clipboard
poptart_lex: ^0.2.0 copied to clipboard

Generated Dart types and method descriptors for AT Protocol ecosystem lexicons.

poptart_lex #

Generated Dart types, record models, method values, method descriptors, IDs, and curated protocol surfaces for com.atproto.* lexicons.

poptart_lex is the neatly sliced ATProto base lexicon layer. It stays generated and predictable so app code can use typed requests without hand-writing JSON.

Use the sibling generated packages for other common namespaces: bluesky_poptart for app.bsky.* and chat.bsky.*, ozone_poptart for tools.ozone.*, sprk_poptart for so.sprk.*, and margin_poptart for at.margin.*.

Install #

dart pub add poptart
dart pub add poptart_lex

Call A Generated Method #

import 'package:poptart/poptart.dart';
import 'package:poptart_lex/com/atproto/server/describe_server.dart'
    as describe_server;

Future<void> main() async {
  final client = PoptartClient.anonymous();

  final response = await client.call(
    describe_server.comAtprotoServerDescribeServer,
  );

  print(response.data.availableUserDomains);
}

client.call(...) also accepts describe_server.methodDescriptor. Generated method values are a pleasant default for app code; descriptors are useful for tooling and generic dispatch.

Work With Records #

import 'package:poptart_lex/com/atproto/repo/strong_ref.dart';

void main() {
  final ref = RepoStrongRef.fromJson({
    'uri': 'at://did:plc:example/app.bsky.feed.post/3kexample',
    'cid': 'bafyexample',
  });

  print(ref.toJson());
}

Import Shape #

Use leaf imports for focused code:

import 'package:poptart_lex/com/atproto/repo/create_record.dart'
    as create_record;

Use generated barrels when you want broader namespace access:

import 'package:poptart_lex/docs.dart';
import 'package:poptart_lex/ids.dart';

Generated files are checked in for consumers and should not be edited by hand. Regenerate them from the lexicon sources when changing the protocol surface.

1
likes
160
points
2.08k
downloads

Documentation

Documentation
API reference

Publisher

verified publishersprk.so

Weekly Downloads

Generated Dart types and method descriptors for AT Protocol ecosystem lexicons.

Homepage
Repository (GitHub)
View/report issues
Contributing

Funding

Consider supporting this project:

github.com

License

BSD-3-Clause (license)

Dependencies

characters, freezed_annotation, json_annotation, poptart_core, poptart_primitives, poptart_xrpc

More

Packages that depend on poptart_lex