var _ = require('underscorem') var indexFile = require('./../indexfile') var parsicle = require('parsicle') var basicFormat = parsicle.make(function(parser){ parser('entry', 'object', function(p){ p.key('key').int(); p.key('value').int(); }) }) var w; var state = {} var currentSegment = {} var readers = { entry: function(e, segmentIndex){ var cur = currentSegment[e.key]; if(cur !== undefined){ w.replacedMapping(cur) //history[e.key].push(segmentIndex) }else{ //history[e.key] = [segmentIndex] } currentSegment[e.key] = segmentIndex; state[e.key] = e.value;
"use strict"; var fs = require('fs') var fsExt = require('fs-ext'); var EventEmitter = require('events').EventEmitter; var log = require('quicklog').make('segmentedfile/main') var _ = require('underscorem') var parsicle = require('parsicle'); var segmentationParser = parsicle.make(function(parser){ parser('discard', 'int', function(p){}) parser('segment', 'int', function(p){}) }) exports.open = function(path, readCb, segmentCb, cb){ if(arguments.length === 2){ cb = readCb; readCb = undefined; }else{ _.assertLength(arguments, 4); } _.assertString(path) var segments = []; var discarded = [];