While using something like Collection.gather(Task, sources, fetchedTasks$, 'uid') , I have to make sure fetchedTasks$ has objects where the property item is actually named item$. No idea why. This requires me to use a transformer like this:
function crazyHack(subCols: Stream<SubForCollection[]>): Stream<any> {
return subCols.map( scs => scs.map(sc => {
return {
// For some reason, Collection wants submission to
// be named submission$
submission$: sc.submission,
submission_id: sc.submission_id
};
}))
I then call e.g., Collection.gather(Task, sources, crazyHack(fetchedTasks$), 'uid').
This happened during an automatic refactor of naming submission to the more appropriate submission$ and took me hours to find, so I would advocate removing this dependence if possible.