import fs = require("fs"); import path = require("path"); import crc32 = require("crc32"); class AddChangeFile { constructor(proUrl:string,toUrlMode:string,range?:string){ if(!fs.existsSync(proUrl)) return; let fromContents = fs.readFileSync(proUrl); let fromHash = crc32(fromContents); range = range || '0-500'; let rangeSE = range.split('-'); let max = Number(rangeSE[1]); let min = Number(rangeSE[0]); let toUrl:string; let oldJS = false; for(let i = max; i >= min; i--) { toUrl = toUrlMode.replace('#',String(i)); if(fs.existsSync(toUrl)) { if(fromHash != crc32(fs.readFileSync(toUrl))) { fs.writeFileSync(toUrlMode.replace('#',String(i + 1)), fromContents); } oldJS = true; break; } } if(!oldJS) { fs.writeFileSync(toUrlMode.replace('#','1'), fromContents); } fs.unlinkSync(proUrl); } } export function run(fromUrl:string,toUrlMode:string,range?:string):void{ new AddChangeFile(fromUrl,toUrlMode,range); }