UNPKG

@sanity/migrate

Version:

Tooling for running data migrations on Sanity.io projects

20 lines (17 loc) 520 B
import {filter} from './filter.js' import {type JSONOptions, parseJSON} from './json.js' import {split} from './split.js' export function parse<Type>( it: AsyncIterableIterator<string>, options?: JSONOptions<Type>, ): AsyncIterableIterator<Type> { return parseJSON( filter(split(it, '\n'), (line) => Boolean(line && line.trim())), options, ) } export async function* stringify(iterable: AsyncIterableIterator<unknown>) { for await (const doc of iterable) { yield `${JSON.stringify(doc)}\n` } }