ir_sink API
Luna-Flow/mare_mark/ir_sink 是 event 之上的一层小型外观:为应用最常用的接收器提供四个具名构造函数。每个函数调用 event 中同一用途的函数,不添加任何行为。
import {
"Luna-Flow/mare_mark/ir_sink",
"Luna-Flow/mare_mark/model",
}
in_memory
in_memory 返回一个新的 @event.InMemorySink。
pub fn in_memory() -> @event.InMemorySink
jsonl
jsonl 返回一个新的 @event.JsonlSink。
pub fn jsonl() -> @event.JsonlSink
jsonl_stream
jsonl_stream 返回 @event.streaming_jsonl(write_line, location)。
pub fn jsonl_stream((String) -> Unit, String) -> @event.ObservationSink
tee
tee 返回 @event.tee(left, right)。
pub fn tee(@event.ObservationSink, @event.ObservationSink) -> @event.ObservationSink
test "ir_sink constructors" {
let memory = @ir_sink.in_memory()
let record = @ir_sink.jsonl()
let sink = @ir_sink.tee(memory.as_sink(), record.as_sink())
inspect((sink.finish)(@model.RunSummary::new("r", 0, 0, 0, true, None)), content="jsonl://memory/r")
inspect(record.lines.length(), content="1")
}