def finish
import bendvy-ecs-core@0.1.0.4/ordinary_query_builder.bend as OrdinaryQueryBuilderimport Base
import bendvy-ecs-core@0.1.0.4/ordinary_query_observable.bend as O
import bendvy-ecs-core@0.1.0.4/inspector.bend as I
import bendvy-ecs-core@0.1.0.4/internal/query_read_session.bend as Session
51# Unsupported declarations remain ordinary O.Declaration values. Composing one
52# with finish(builder) through O.pair retains the complete opaque evaluator.
53# Produce an ordinary observable declaration with prepared read enumeration.
54# Supports this builder's read/optional/pair forms; mix other supported forms
55# afterward using ordinary-query-observable.pair. Preserves typed operational
56# grants and detached inspection; this call does not execute either.
57# Example: test-fixtures/connected-performance/sparse-motion64/consumer/s-perf/
58# canonical-api-v1/sparse-runtime-v1/motion-logical.bend, declaration().
59def finish(~S:Data,~Store:Type,~R:Type,~E:Data,~H:Type,~G:Type,~V:Data,~builder:Builder<S,Store,R,E,H,G,V>) -> O.Declaration<S,H,G,I.Frame<S,Store,R,E>,V>:
60 O.PreparedDeclaration{_=>O.operational(~S,~H,~G,~I.Frame<S,Store,R,E>,~V,ordinary(~S,~Store,~R,~E,~H,~G,~V,builder)),_=>O.inspection(~S,~H,~G,~I.Frame<S,Store,R,E>,~V,ordinary(~S,~Store,~R,~E,~H,~G,~V,builder)),owner=>Session.enumerate(~S,~Store,~R,~E,~V,~session(~S,~Store,~R,~E,~H,~G,~V,builder),owner)}
Uses (8)
Used by (0)
No other definition uses this definition.