dvFindMissing function

List<DVFindBlock> dvFindMissing(
  1. String existing,
  2. List<DVFindBlock> blocks
)

The paragraphs of blocks whose words are not already in existing.

On the route a build wrote the block for, that block is kept: it carries the links and the landmarks the semantics tree gave it, which a crawler that runs scripts reads and a mirror rebuilt from painted paragraphs would throw away. What the page has drawn since -- rows a list built on scrolling, text that arrived with its data -- is added beside it.

Implementation

List<DVFindBlock> dvFindMissing(String existing, List<DVFindBlock> blocks) {
  final String have = dvFindNormalize(existing);
  return <DVFindBlock>[
    for (final DVFindBlock block in blocks)
      if (!have.contains(dvFindNormalize(block.text))) block,
  ];
}