#event-stream #mediawiki #wikimedia #events #api-bindings #event-log

eventstreams

Wikimedia的EventStream近期变更流客户端

4个版本 (2个重大更新)

0.3.1 2021年6月18日
0.3.0 2021年6月18日
0.2.0 2020年6月23日
0.1.0 2020年6月15日

#6 in #wikimedia

GPL-3.0-or-later

29KB
150 代码行

eventstreams

crates.io docs.rs pipeline status coverage report

《eventstreams》包提供了一种便捷、类型化的封装,用于围绕Wikimedia的EventStreams实时近期变更流。

许可证

eventstreams版权所有(C)2020-2021 Kunal Mehta,在GPLv3或任何后续版本下发布,详情请参阅COPYING。


lib.rs:

eventstreams

《eventstreams》包提供了一种便捷、类型化的封装,用于围绕Wikimedia的EventStreams实时近期变更流。

use eventstreams::{Event,StreamExt};

let stream = eventstreams::stream();
eventstreams::pin_mut!(stream);
while let Some(event) = stream.next().await {
   match event {
       Event::Edit(edit) => {
           println!(
               "{}: {} edited {}",
               &edit.server_name, &edit.user, &edit.title
           );
       }
       Event::Log(log) => {
           println!(
               "{}: {} performed {}/{} on {}",
               &log.server_name,
               &log.user,
               &log.log_type,
               &log.log_action,
               &log.title
           );
       }
   }
}

依赖

~7–10MB
~206K SLoC