migrating to typescript

This commit is contained in:
Anatoly 2018-09-29 20:58:32 +03:00
parent 78efcf5674
commit d365d89736
20 changed files with 71 additions and 20 deletions

View file

@ -18,7 +18,7 @@
*
* @author Anatoly Khaytovich <anatolyuss@gmail.com>
*/
import log from './Logger';
import { log } from './FsOps';
import Conversion from './Conversion';
import DBAccess from './DBAccess';
import DBAccessQueryResult from './DBAccessQueryResult';

View file

@ -18,7 +18,7 @@
*
* @author Anatoly Khaytovich <anatolyuss@gmail.com>
*/
import log from './Logger';
import { log } from './FsOps';
import Conversion from './Conversion';
import DBAccess from './DBAccess';
import DBVendors from './DBVendors';

View file

@ -18,7 +18,7 @@
*
* @author Anatoly Khaytovich <anatolyuss@gmail.com>
*/
import log from './Logger';
import { log } from './FsOps';
import arrangeColumnsData from './ColumnsDataArranger';
import * as extraConfigProcessor from './ExtraConfigProcessor';
import Conversion from './Conversion';

View file

@ -19,7 +19,7 @@
* @author Anatoly Khaytovich <anatolyuss@gmail.com>
*/
import * as csvStringify from './CsvStringifyModified';
import log from './Logger';
import { log } from './FsOps';
import generateError from './ErrorGenerator';
import Conversion from './Conversion';
import DBAccess from './DBAccess';

View file

@ -20,7 +20,7 @@
*/
import { ChildProcess, fork } from 'child_process';
import * as path from 'path';
import log from './Logger';
import { log } from './FsOps';
import Conversion from './Conversion';
import generateError from './ErrorGenerator';
import MessageToDataLoader from './MessageToDataLoader';

View file

@ -21,7 +21,7 @@
import DBAccess from './DBAccess';
import DBAccessQueryResult from './DBAccessQueryResult';
import DBVendors from './DBVendors';
import log from './Logger';
import { log } from './FsOps';
import Conversion from './Conversion';
/**

View file

@ -18,7 +18,7 @@
*
* @author Anatoly Khaytovich <anatolyuss@gmail.com>
*/
import log from './Logger';
import { log } from './FsOps';
import Conversion from './Conversion';
import DBAccess from './DBAccess';
import DBVendors from './DBVendors';

View file

@ -18,7 +18,7 @@
*
* @author Anatoly Khaytovich <anatolyuss@gmail.com>
*/
import log from './Logger';
import { log } from './FsOps';
import Conversion from './Conversion';
import DBAccess from './DBAccess';
import DBVendors from './DBVendors';

View file

@ -19,7 +19,7 @@
* @author Anatoly Khaytovich <anatolyuss@gmail.com>
*/
import * as fs from 'fs';
import log from './Logger';
import { log } from './FsOps';
import Conversion from './Conversion';
/**

View file

@ -19,7 +19,7 @@
* @author Anatoly Khaytovich <anatolyuss@gmail.com>
*/
import * as migrationStateManager from './MigrationStateManager';
import log from './Logger';
import { log } from './FsOps';
import Conversion from './Conversion';
import DBAccess from './DBAccess';
import DBVendors from './DBVendors';

View file

@ -21,7 +21,58 @@
import * as fs from 'fs';
import * as path from 'path';
import Conversion from './Conversion';
import log from './Logger';
/**
* Writes a detailed error message to the "/errors-only.log" file.
*/
export function generateError(conversion: Conversion, message: string, sql: string = ''): Promise<void> {
return new Promise<void>(resolve => {
message += `\n\n\tSQL: ${sql}\n\n`;
const buffer: Buffer = Buffer.from(message, conversion._encoding);
log(conversion, message, undefined, true);
fs.open(conversion._errorLogsPath, 'a', conversion._0777, (error: Error, fd: number) => {
if (!error) {
fs.write(fd, buffer, 0, buffer.length, null, () => {
fs.close(fd, () => resolve());
});
}
});
});
}
/**
* Outputs given log.
* Writes given log to the "/all.log" file.
* If necessary, writes given log to the "/{tableName}.log" file.
*/
export function log(conversion: Conversion, log: string | NodeJS.ErrnoException, tableLogPath?: string, isErrorLog?: boolean): void {
const buffer: Buffer = Buffer.from(`${ log }\n\n`, conversion._encoding);
if (!isErrorLog) {
console.log(log);
}
fs.open(conversion._allLogsPath, 'a', conversion._0777, (error: Error, fd: number) => {
if (!error) {
fs.write(fd, buffer, 0, buffer.length, null, () => {
fs.close(fd, () => {
if (tableLogPath) {
fs.open(tableLogPath, 'a', conversion._0777, (error: Error, fd: number) => {
if (!error) {
fs.write(fd, buffer, 0, buffer.length, null, () => {
fs.close(fd, () => {
// Each async function MUST have a callback (according to Node.js >= 7).
});
});
}
});
}
});
});
}
});
}
/**
* Reads the configuration file.

View file

@ -18,7 +18,7 @@
*
* @author Anatoly Khaytovich <anatolyuss@gmail.com>
*/
import log from './Logger';
import { log } from './FsOps';
import Conversion from './Conversion';
import DBAccess from './DBAccess';
import DBVendors from './DBVendors';

View file

@ -21,7 +21,7 @@
import DBAccess from './DBAccess';
import DBAccessQueryResult from './DBAccessQueryResult';
import DBVendors from './DBVendors';
import log from './Logger';
import { log } from './FsOps';
import Conversion from './Conversion';
/**

View file

@ -18,7 +18,7 @@
*
* @author Anatoly Khaytovich <anatolyuss@gmail.com>
*/
import log from './Logger';
import { log } from './FsOps';
import Conversion from './Conversion';
import DBAccess from './DBAccess';
import DBVendors from './DBVendors';

View file

@ -18,7 +18,7 @@
*
* @author Anatoly Khaytovich <anatolyuss@gmail.com>
*/
import log from './Logger';
import { log } from './FsOps';
import Conversion from './Conversion';
import { EventEmitter } from 'events';

View file

@ -18,7 +18,7 @@
*
* @author Anatoly Khaytovich <anatolyuss@gmail.com>
*/
import log from './Logger';
import { log } from './FsOps';
import Conversion from './Conversion';
import DBAccess from './DBAccess';
import DBVendors from './DBVendors';

View file

@ -21,7 +21,7 @@
import DBAccess from './DBAccess';
import DBAccessQueryResult from './DBAccessQueryResult';
import DBVendors from './DBVendors';
import log from './Logger';
import { log } from './FsOps';
import Conversion from './Conversion';
import Table from './Table';
import { createTable } from './TableProcessor';

View file

@ -18,7 +18,7 @@
*
* @author Anatoly Khaytovich <anatolyuss@gmail.com>
*/
import log from './Logger';
import { log } from './FsOps';
import generateError from './ErrorGenerator';
import Conversion from './Conversion';
import DBAccess from './DBAccess';

View file

@ -18,7 +18,7 @@
*
* @author Anatoly Khaytovich <anatolyuss@gmail.com>
*/
import log from './Logger';
import { log } from './FsOps';
import Conversion from './Conversion';
import DBAccess from './DBAccess';
import DBVendors from './DBVendors';

View file

@ -21,7 +21,7 @@
import * as fs from 'fs';
import { Stats } from 'fs';
import * as path from 'path';
import log from './Logger';
import { log } from './FsOps';
import Conversion from './Conversion';
import * as migrationStateManager from './MigrationStateManager';
import DBAccess from './DBAccess';