-
Notifications
You must be signed in to change notification settings - Fork 0
API Scry
𧬠API ⺠Scry
π Lets you peek into the river without making yourself seen in return. It returns the raw
IObservable<T>for a desired matter type - a read-only access to the underlying stream, without registering a known spell.
Unlike the other API methods, Scry takes no who and returns no IDisposable. It is anonymous to Eris and doesn't do automatic circumstance tracking. It is a tool for reading additional matter from within another (needy) spell.
IObservable<SecretShared> secretsTheyDontKnowIKnow = rzeka.Scry<SecretShared>();Main use - reading additional context into a Shuttle responder. Shuttle has only one input slot (the request), so any other data the spell needs to do its magic - game state, settings, world snapshot - has to come in though Scry (see the full pattern at Multi-context Response using Scry):
Q += rzeka.Shuttle<LoadSceneRequest, LoadSceneResponse>(
this,
reqs => reqs.WithLatestFromMatter(rzeka.Scry<GameState>(), rzeka.Scry<Settings>())
.Select(ctx => /* build response from request + ambient context */)
);Scry also works inside Loom and Weave when you've exhausted their 3-input overloads and need a fourth stream, but that's rare in practice - Shuttle is the main raison d'Γͺtre of Scry.
See also: Shuttle · Loom · Weave · 𧬠API overview