Skeleton summarizer/resolver implementation.
        
        
- Source:
Methods
- 
    <static> newResolver(updater, remote, serialize, deserialize)
- 
    
    Creates a new resolver.Parameters:Name Type Description updaterSummary~SummaryBatchUpdater the updater giving local items. remoteSummarizer summarizer producing summaires of the remote side. serializeSerial~Serialize the item serializer. deserializeSerial~Deserialize the item deserializer. - Source:
 ExampleItems from an array. var remote = ... var items = [{ from: 1, to: 2 }, { from: 2, to: 5}]; function updater(item, done) { items.forEach(item); done(); } function serialize(item) { return new Int32Array([item.from, item.to]).buffer; } function deserialize(buffer) { var arr = new Int32Array(buffer); return { from: arr[0], to: arr[1] }; } var resolver = require('mathsync/skeleton').newResolver(updater, remote, serialize, deserialize);
- 
    <static> newSummarizer(updater, serialize, digester, selector)
- 
    
    Creates a new summarizer.The summarizer first counts the items as it builds an IBF, and then if the IBF is larger than the total number of items restart building a full content summary. This prevents infinite loops over the level in case of issue, like the same item added twice. Parameters:Name Type Argument Description updaterSummary~SummaryBatchUpdater the updater giving local items. serializeSerial~Serialize the item serializer. digesterDigest~Digester <optional> 
 the digester to use, defaults to SHA-1. selectorBucketSelector~Selector <optional> 
 how to place items in IBF buckets, uses 3 buckets by default. - Source:
 ExampleItems from an array. var items = [{ from: 1, to: 2 }, { from: 2, to: 5}]; function updater(item, done) { items.forEach(item); done(); } function serialize(item) { return new Int32Array([item.from, item.to]).buffer; } var summarizer = require('mathsync/skeleton').newSummarizer(updater, serialize);