-
Piotr Gawron authoredPiotr Gawron authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
getStandarizedPublications.ts 885 B
import { Publication } from '@/types/models';
import { StandarizedPublication } from '@/types/publications';
import { runInSequence } from '@/utils/promise/runInSequence';
import { mapBasePublicationToStandarized } from './mapBasePublicationToStandarized';
interface Args {
modelNameIdMap: Record<number, string>;
publications: Publication[];
}
const SEQUENCE_CHUNK_SIZE = 250;
export const getStandarizedPublications = async ({
publications,
modelNameIdMap,
}: Args): Promise<StandarizedPublication[]> => {
const getStandardizedPublicationsFuncs = publications.map(
publication => () =>
mapBasePublicationToStandarized(publication, {
modelNameIdMap,
}),
);
const standardizedPublications = await runInSequence<StandarizedPublication>(
getStandardizedPublicationsFuncs,
SEQUENCE_CHUNK_SIZE,
);
return standardizedPublications;
};