/// <summary> /// Defines a list of Page Transformation Tasks /// </summary> /// <param name="sourceProvider">The source provider</param> /// <param name="targetContext">The target context</param> /// <param name="token">The cancellation token, if any</param> /// <returns>A list of PageTransformationTask to transform</returns> public async IAsyncEnumerable <PageTransformationTask> GetPageTransformationTasksAsync( ISourceProvider sourceProvider, PnPContext targetContext, [EnumeratorCancellation] CancellationToken token = default) { if (sourceProvider == null) { throw new ArgumentNullException(nameof(sourceProvider)); } if (targetContext == null) { throw new ArgumentNullException(nameof(targetContext)); } await foreach (var sourceItemId in sourceProvider.GetItemsIdsAsync(token).WithCancellation(token)) { yield return(new PageTransformationTask(sourceProvider, sourceItemId, targetContext)); } }