UNPKG

@mikezimm/fps-core-v7

Version:

Library of reusable core interfaces, types and constants migrated from fps-library-v2

42 lines 2.66 kB
// import { startPerformOpV2, updatePerformanceEndV2 } from '@mikezimm/fps-core-v7/lib/components/molecules/Performance/functions'; // import { IPerformanceOp } from '@mikezimm/fps-core-v7/lib/components/molecules/Performance/IPerformance'; // import { IPerformanceSettings } from '@mikezimm/fps-core-v7/lib/components/molecules/Performance/IPerformanceSettings'; // import { IFpsItemsReturn } from '@mikezimm/fps-core-v7/lib/components/molecules/process-results/IFpsItemsReturn'; // import { ISourceProps } from '@mikezimm/fps-core-v7/lib/components/molecules/source-props/ISourceProps'; // import { createEmptyFetchReturn } from '@mikezimm/fps-core-v7/lib/components/molecules/SpHttp/IJSFetchReturn'; // import { check4This } from '@mikezimm/fps-core-v7/lib/logic/Links/CheckSearch'; // import { postSourceItemsAPI } from '@mikezimm/fps-core-v7/lib/restAPIs/lists/items/postSourceItemsAPI'; import { startPerformOpV2, updatePerformanceEndV2 } from '../../../components/molecules/Performance/functions'; import { createEmptyFetchReturn } from '../../../components/molecules/SpHttp/interfaces/IJSFetchReturn'; import { check4This, Check4 } from '../../../logic/Links/CheckSearch'; import { postSourceItemAPI } from './postSourceItemAPI'; /** * This is the multi-item version of postSourceItemAPI * * @param sourceProps * @param saveItem * @param alertMe * @param consoleLog * @returns */ export async function postSourceItemsAPI(sourceProps, saveItem, alertMe, consoleLog, progressCallback) { const performanceSettings = { label: `create ${saveItem.length} items`, includeMsStr: true, updateMiliseconds: true, op: 'create' }; const fetchOp = startPerformOpV2(performanceSettings); const allReturns = await Promise.all(saveItem.map(async (item, idx) => { const result = await postSourceItemAPI(sourceProps, item, alertMe, consoleLog); const progress = { result: result, idx: idx }; // eslint-disable-next-line no-void if (progressCallback) void progressCallback(progress); return result; })); const results = createEmptyFetchReturn(allReturns[0].fetchAPI, allReturns[0].method); results.items = allReturns; results.createOp = updatePerformanceEndV2({ op: fetchOp, updateMiliseconds: performanceSettings.updateMiliseconds, count: allReturns.length }); results.unifiedPerformanceOps.create = results.createOp; if (check4This(Check4.fpsShowFetchResults_Eq_true) === true) { console.log(`fps-core-v7 COMPLETE: postSourceItems ~ 56`, results); } return results; } //# sourceMappingURL=postSourceItemsAPI.js.map