nylas-types-0.1.1 has been yanked.
nylas-types
Type definitions for the Nylas API v3.
This crate provides strongly-typed Rust structures for all Nylas API resources, including messages, events, calendars, contacts, and more.
Features
- ✅ Complete type coverage for Nylas API v3
- ✅ NewType pattern for type-safe IDs (
GrantId,MessageId, etc.) - ✅ Builder patterns for complex request types
- ✅ Serde serialization/deserialization
- ✅ Validated types (
EmailAddress, etc.) - ✅ Zero-copy where possible with
bytes::Bytes
Usage
Add this to your Cargo.toml:
[]
= "0.1"
Example
use ;
// Type-safe IDs prevent mixing up different ID types
let grant_id = new;
let message_id = new;
// Validated email addresses
let email = new?;
Core Types
Resource Types
- Messages - Email message types
- Drafts - Draft message types
- Events - Calendar event types
- Calendars - Calendar types
- Contacts - Contact types
- Folders - Folder/label types
- Threads - Thread types
- Grants - Grant/authentication types
- Webhooks - Webhook types
- Attachments - File attachment types
ID Types (NewType Pattern)
All IDs use the NewType pattern for compile-time safety:
GrantIdMessageIdDraftIdEventIdCalendarIdContactIdFolderIdThreadIdWebhookIdAttachmentId
Query Parameter Types
MessageQueryParams- Query parameters for listing messagesEventQueryParams- Query parameters for listing eventsContactQueryParams- Query parameters for listing contacts- And more...
Type Safety
This crate emphasizes type safety:
use ;
let grant_id = new;
let message_id = new;
// This won't compile - type safety prevents mixing up IDs!
// let wrong: &MessageId = &grant_id; // ❌ Compile error
Builder Patterns
Complex types use the builder pattern:
use SendMessageRequest;
let message = builder
.to
.subject
.body
.build;
Documentation
License
MIT