Skip to content

Instantly share code, notes, and snippets.

@OMartinez-NeT
Last active November 2, 2023 20:56
Show Gist options
  • Save OMartinez-NeT/74ef26bdebb43359b74d8c0b7ed747c8 to your computer and use it in GitHub Desktop.
Save OMartinez-NeT/74ef26bdebb43359b74d8c0b7ed747c8 to your computer and use it in GitHub Desktop.
Stringify large array of objects (over 500 mb) avoid RangeError: Invalid string length
export async function largeStringify<T>(resources: T[]): Promise<Buffer> {
const blobs = [new Blob(["["])];
resources.forEach((resource, index) => {
const resourceString = JSON.stringify(resource);
blobs.push(new Blob([resourceString]));
if (index !== resources.length - 1) {
blobs.push(new Blob([","]));
}
});
blobs.push(new Blob(["]"]));
const finalBlob = new Blob(blobs);
return finalBlob.arrayBuffer().then(arrayBuffer => {
return Buffer.from(arrayBuffer);
})
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment