Skip to content

Commit

Permalink
fix: push one value at a time to avoid stack overflows (#43)
Browse files Browse the repository at this point in the history
  • Loading branch information
jacob-ebey authored Aug 11, 2024
1 parent ff64d69 commit 88c51a7
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/turbo-stream.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ test("should encode and decode object", async () => {

test("should encode and decode large payload", async () => {
const input: unknown[] = [];
for (let i = 0; i < 10000; i++) {
for (let i = 0; i < 100000; i++) {
input.push({
[Math.random().toString(36).slice(2)]: Math.random()
.toString(36)
Expand Down
4 changes: 3 additions & 1 deletion src/unflatten.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,9 @@ export function unflatten(this: ThisDecode, parsed: unknown): unknown {
if (!Array.isArray(parsed) || !parsed.length) throw new SyntaxError();

const startIndex = values.length;
values.push(...parsed);
for (const value of parsed) {
values.push(value);
}
hydrated.length = values.length;

return hydrate.call(this, startIndex);
Expand Down

0 comments on commit 88c51a7

Please sign in to comment.