🎨 Fix typos

This commit is contained in:
C-3PO 2018-07-04 20:11:04 +02:00
parent 14e73367c6
commit 94047006ec
Signed by: c3po
GPG key ID: 62993C4BB4D86F24
8 changed files with 62 additions and 60 deletions

View file

@ -31,7 +31,7 @@ import * as dns from 'dns';
import { IDnsResult } from '../../interfaces/IDnsResult';
//TODO: send e-mail with the error
const assert = (cond: boolean) => { if (!cond) { console.warn('Assert failed'); } };
const assert = (condition: boolean) => { if (!condition) { console.warn('Assert failed'); } };
/** Looks up the given domain and returns a list of IP addresses, along with their time-to-live */
async function resolveDns(domain: string): Promise<IDnsResult[]> {

View file

@ -15,7 +15,7 @@ async function heartbeatDns(domain: string) {
//Get list of current patch servers
const dnsResults = await resolveDns(domain);
//Remeber time when response came in
//Remember time when response came in
const now = Date.now() - startTime;
//Schedule next check based on time-to-live, but never longer than 1 minute

View file

@ -25,7 +25,7 @@ interface ISsnFileEntry {
/** Uncompressed size */
size: number;
/** Compressed size */
comprSize: number;
compressedSize: number;
/** Decryption keys needed to decrypt the file */
decryptionKeys: [number, number, number] | undefined;
/** Number of the disk where the file is stored (0=.z01, 1=.z02 etc.) */

View file

@ -22,11 +22,11 @@ export default async function extractFile(file: ISsnFileEntry, dvArray: DataView
byteReader.seek(localFilenameSize + localExtraSize);
//Extract actual file contents
let dvFinal = byteReader.extractDv(file.comprSize);
let dvFinal = byteReader.extractDv(file.compressedSize);
//Decrypt file if necessary
if (file.decryptionKeys !== undefined) {
dvFinal = decryptFile(dvFinal, file.comprSize, file.decryptionKeys);
dvFinal = decryptFile(dvFinal, file.compressedSize, file.decryptionKeys);
}
//Decompress file

View file

@ -2,7 +2,7 @@ import { Product } from '../interfaces/ISettings';
import verifyProductName from '../ssn/verify/verifyProductName';
/** For the given release in the given product, returns from which releases we can patch to this release. */
function getFroms({ product, to: releaseTo}: {product: Product, to: number}) {
function getFromList({ product, to: releaseTo}: {product: Product, to: number}) {
if (releaseTo < 0) {
return [];
}
@ -11,24 +11,24 @@ function getFroms({ product, to: releaseTo}: {product: Product, to: number}) {
if (product.startsWith('patcher')) {
return [-1];
} else {
const froms: number[] = [];
const fromList: number[] = [];
//Always X-1toX
froms.push(releaseTo - 1);
fromList.push(releaseTo - 1);
//Also 0toX, unless X is 0. And no need to add 0to1 a second time.
if (releaseTo >= 2) { froms.push(0); }
if (releaseTo >= 2) { fromList.push(0); }
if ((releaseTo % 5) === 0) {
//Also X-5toX if X % 5
if (releaseTo >= 10) { froms.push(releaseTo - 5); }
if (releaseTo >= 10) { fromList.push(releaseTo - 5); }
//Also X-20toX if X % 5
if (releaseTo >= 25) { froms.push(releaseTo - 20); }
if (releaseTo >= 25) { fromList.push(releaseTo - 20); }
//Also downgrade from the following four releases
froms.push(releaseTo + 1);
froms.push(releaseTo + 2);
froms.push(releaseTo + 3);
froms.push(releaseTo + 4);
fromList.push(releaseTo + 1);
fromList.push(releaseTo + 2);
fromList.push(releaseTo + 3);
fromList.push(releaseTo + 4);
} else { //For some of the older releases, an update from _5 or _0 is possible
/*
e.g. in asset_swtor_main:
@ -40,10 +40,10 @@ function getFroms({ product, to: releaseTo}: {product: Product, to: number}) {
30to32, 30to33, 30to34,
35to37, etc. , 85to87
*/
if (releaseTo >= 7 && (releaseTo % 5) > 1) { froms.push(releaseTo - (releaseTo % 5)); }
if (releaseTo >= 7 && (releaseTo % 5) > 1) { fromList.push(releaseTo - (releaseTo % 5)); }
}
return froms;
return fromList;
}
}
@ -65,21 +65,21 @@ export default function findReleasePath({ product, from, to}: {product: Product,
throw new Error('Cannot patch backwards; to must be greater than from.');
}
const froms = getFroms({ product, to });
const fromList = getFromList({ product, to });
//If we can patch, return immediately
if (froms.includes(from)) {
if (fromList.includes(from)) {
return [[from, to]];
}
//Otherwise, check all froms recursively, by checking interim releases
const smallerFroms = froms.filter((num) => num > from);
//Always prefer shortest release paths (e.g. 1->3 vs. 1->2->3) by ensuring we check smallest froms first
smallerFroms.sort();
//Otherwise, check all from values recursively, by checking interim releases
const smallerFromList = fromList.filter((num) => num > from);
//Always prefer shortest release paths (e.g. 1->3 vs. 1->2->3) by ensuring we check smallest from values first
smallerFromList.sort();
for (let i = 0, il = smallerFroms.length; i < il; i += 1) {
const interim = smallerFroms[i];
//TODO: This sometimes causes a "Maximum call stack size exceeded" error, e.g. for `{ product: '*', from: 1, to: 11 }`
for (let i = 0, il = smallerFromList.length; i < il; i += 1) {
const interim = smallerFromList[i];
//FIXME: This sometimes causes a "Maximum call stack size exceeded" error, e.g. for `{ product: '*', from: 1, to: 11 }`
const releasePath = findReleasePath({ product, from, to: interim} );
if (releasePath.length > 0) {
return [...releasePath, [interim, to]];

View file

@ -90,9 +90,9 @@ export default function readSsnFile(buffer: ArrayBuffer): ISsnFileEntry[] {
/** crc-32 */
const fileCrc = dv.getUint32(pos, true); pos += 4;
/** compressed size */
const comprSize = dv.getUint32(pos, true); pos += 4;
const compressedSize = dv.getUint32(pos, true); pos += 4;
/** decompressed size */
const decomprSize = dv.getUint32(pos, true); pos += 4;
const decompressedSize = dv.getUint32(pos, true); pos += 4;
/** file name length */
const fileNameLength = dv.getUint16(pos, true); pos += 2;
/** extra field length */
@ -146,7 +146,7 @@ export default function readSsnFile(buffer: ArrayBuffer): ISsnFileEntry[] {
// ------- CREATE ENTRY ---------
const fileEntry: ISsnFileEntry = {
comprSize,
compressedSize,
crc: fileCrc,
decryptionKeys: undefined,
diffDestLength,
@ -158,7 +158,7 @@ export default function readSsnFile(buffer: ArrayBuffer): ISsnFileEntry[] {
offset: (centralDirOffset > 0) ? //If files are included in this archive, the centralDirOffset will not start from the beginning
posCentralDirStart - centralDirOffset + relOffset : //if file is in this archive
relOffset, //if we need to look in a disk (e.g. .z01 for this file)
size: decomprSize,
size: decompressedSize,
};
//If file is encrypted

View file

@ -5,7 +5,7 @@ import { Product } from '../../interfaces/ISettings';
export default function verifyPatchmanifest(manifestFile: xmlJs.Element, product: Product): any {
//<?xml version="1.0" encoding="utf-8"?>
if (manifestFile.declaration === undefined || manifestFile.declaration.attributes === undefined || Object.keys(manifestFile.declaration.attributes).length !== 2 || manifestFile.declaration.attributes.version !== '1.0' || manifestFile.declaration.attributes.encoding !== 'utf-8') {
throw new Error('Expected declration with version 1.0 and utf-8 encoding.');
throw new Error('Expected declaration with version 1.0 and utf-8 encoding.');
}
//<PatchManifest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">