const [formFieldsChunk, leftoverParts] = yield* _(
Stream.peel(
stream,
// collectAllWhile doesn't take a Refinement :-|
Sink.collectAllWhile((a): a is Field => a._tag === 'Field'),
),
a =>
a as Effect.Effect<
Scope.Scope,
never,
readonly [Chunk.Chunk<Field>, Stream.Stream<never, never, Part>]
>,
);
const [formFieldsChunk, leftoverParts] = yield* _(
Stream.peel(
stream,
// collectAllWhile doesn't take a Refinement :-|
Sink.collectAllWhile((a): a is Field => a._tag === 'Field'),
),
a =>
a as Effect.Effect<
Scope.Scope,
never,
readonly [Chunk.Chunk<Field>, Stream.Stream<never, never, Part>]
>,
);