@sanity/import
Version:
Import documents to a Sanity dataset
25 lines (24 loc) • 1.21 kB
JavaScript
import { importDocuments as fromArray } from './importFromArray.js';
import { importFromFolder as fromFolder } from './importFromFolder.js';
import { importFromStream as fromStream } from './importFromStream.js';
import { validateOptions } from './validateOptions.js';
export function sanityImport(input, opts) {
const options = validateOptions(input, opts);
// Create the importers context to allow circular references
const importers = {
fromArray: (documents, importOptions)=>fromArray(documents, importOptions),
fromFolder: (fromDir, importOptions, ctx)=>fromFolder(fromDir, importOptions, ctx),
fromStream: (stream, importOptions, ctx)=>fromStream(stream, importOptions, ctx)
};
if (typeof input === 'object' && input !== null && 'pipe' in input && typeof input.pipe === 'function') {
return fromStream(input, options, importers);
}
if (Array.isArray(input)) {
return fromArray(input, options);
}
if (typeof input === 'string') {
return fromFolder(input, options, importers);
}
throw new Error('Input does not seem to be a readable stream, an array or a path to a directory');
}
//# sourceMappingURL=import.js.map