Wrong stats on repeated attempts of read after transform
Frictionless version: 5.10.1

# Overview

Attempts to read lines from a transformed CSV files fail after initial exhaustion (either via `read_rows` or just running `validate` on it).

# Steps to reproduce

Consider the following CSV file:
```
a,b
1,2
```

And the following code snippet:
```
import frictionless
from frictionless import Pipeline, Resource, steps
r = Resource("test.csv")
print(len(r.read_rows()))  # 1
print(len(r.read_rows()))  # 1
r2 = frictionless.transform(r, pipeline=Pipeline(steps=[steps.field_pack(name="test", from_names=["a"], as_object=True)]))
print(len(r2.read_rows()))  # 1
print(len(r2.read_rows()))  # 0
print(len(r.read_rows()))  # 0
```

I'd expect the number of rows to remain the same until the very end.

In general, I  have encountered issues with regards to rows disappearing after basic transformations, perhaps some test cases need to be added to address this? :thinking: 

diff --git a/frictionless/steps/field/field_pack.py b/frictionless/steps/field/field_pack.py
index 022179f9..23998129 100644
--- a/frictionless/steps/field/field_pack.py
+++ b/frictionless/steps/field/field_pack.py
@@ -56,7 +56,7 @@ class field_pack(Step):
             for name in self.from_names:
                 resource.schema.remove_field(name)
         processor = iterpackdict if self.as_object else iterpack  # type: ignore
-        resource.data = processor(table, self.name, self.from_names, self.preserve)
+        resource.data = list(processor(table, self.name, self.from_names, self.preserve))
 
     # Metadata
 
diff --git a/tests/steps/field/test_field_pack.py b/tests/steps/field/test_field_pack.py
index a71fa61a..936b952a 100644
--- a/tests/steps/field/test_field_pack.py
+++ b/tests/steps/field/test_field_pack.py
@@ -77,3 +77,15 @@ def test_step_field_pack_object():
         "population": 83,
         "details": {"name": "germany", "population": "83"},
     }
+
+
+def test_step_field_pack_retain_data():
+    source = TableResource(path="data/transform.csv")
+    pipeline = Pipeline(
+        steps=[
+            steps.field_pack(name="details", from_names=["name", "population"]),
+        ],
+    )
+    target = source.transform(pipeline)
+    assert len(target.read_rows()) == 3
+    assert len(target.read_rows()) == 3
['frictionless/steps/field/field_pack.py', 'tests/steps/field/test_field_pack.py']