UNPKG

1.25 kBPlain TextView Raw
1import fs = require("fs");
2import path = require("path");
3import crc32 = require("crc32");
4class AddChangeFile {
5 constructor(proUrl:string,toUrlMode:string,range?:string){
6 if(!fs.existsSync(proUrl)) return;
7 let fromContents = fs.readFileSync(proUrl);
8 let fromHash = crc32(fromContents);
9 range = range || '0-500';
10 let rangeSE = range.split('-');
11 let max = Number(rangeSE[1]);
12 let min = Number(rangeSE[0]);
13 let toUrl:string;
14 let oldJS = false;
15 for(let i = max; i >= min; i--)
16 {
17 toUrl = toUrlMode.replace('#',String(i));
18 if(fs.existsSync(toUrl))
19 {
20 if(fromHash != crc32(fs.readFileSync(toUrl)))
21 {
22 fs.writeFileSync(toUrlMode.replace('#',String(i + 1)), fromContents);
23 }
24 oldJS = true;
25 break;
26 }
27 }
28 if(!oldJS)
29 {
30 fs.writeFileSync(toUrlMode.replace('#','1'), fromContents);
31 }
32 fs.unlinkSync(proUrl);
33 }
34}
35
36export function run(fromUrl:string,toUrlMode:string,range?:string):void{
37 new AddChangeFile(fromUrl,toUrlMode,range);
38}
\No newline at end of file