use-campaign 0.0.1

Campaign identity primitives for RustUse presence utilities
Documentation
# use-campaign

Campaign identity primitives for `RustUse` presence utilities.

## Example

```rust
use use_campaign::{CampaignChannel, CampaignFlight, CampaignId, CampaignName, CampaignStatus};

let id = CampaignId::new("spring-2026").unwrap();
let name = CampaignName::new("Spring Launch").unwrap();
let flight = CampaignFlight::new("2026-03-01").unwrap().with_end_label("2026-03-31").unwrap();

assert_eq!(CampaignStatus::Active.as_str(), "active");
assert_eq!(CampaignChannel::Email.as_str(), "email");
assert_eq!(flight.start_label(), "2026-03-01");
assert_eq!(id.as_str(), "spring-2026");
assert_eq!(name.as_str(), "Spring Launch");
```

## Scope

- Campaign IDs, names, channels, media labels, flights, statuses, and generic labels.

## Non-goals

- Ads platform integrations, bidding, budgets, analytics, or automation.

## License

Licensed under either Apache-2.0 or MIT, at your option.