UNPKG

contentful-management

Version:
30 lines (29 loc) 1.02 kB
/* eslint-disable @typescript-eslint/ban-ts-comment */ import { toPlainObject } from 'contentful-sdk-core'; import copy from 'fast-copy'; /** * @private */ export const wrapCollection = fn => (makeRequest, data, ...rest) => { const collectionData = toPlainObject(copy(data)); // @ts-expect-error collectionData.items = collectionData.items.map(entity => fn(makeRequest, entity, ...rest)); // @ts-expect-error return collectionData; }; export const wrapCursorPaginatedCollection = fn => (makeRequest, data, ...rest) => { const collectionData = toPlainObject(copy(data)); // @ts-expect-error collectionData.items = collectionData.items.map(entity => fn(makeRequest, entity, ...rest)); // @ts-expect-error return collectionData; }; export function isSuccessful(statusCode) { return statusCode < 300; } export function shouldRePoll(statusCode) { return [404, 422, 429, 400].includes(statusCode); } export async function waitFor(ms = 1000) { return new Promise(resolve => setTimeout(resolve, ms)); }