migrating to typescript
This commit is contained in:
parent
78efcf5674
commit
d365d89736
|
@ -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';
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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';
|
||||
|
||||
/**
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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';
|
||||
|
||||
/**
|
||||
|
|
|
@ -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';
|
||||
|
|
53
src/FsOps.ts
53
src/FsOps.ts
|
@ -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.
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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';
|
||||
|
||||
/**
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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';
|
||||
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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';
|
||||
|
|
Loading…
Reference in a new issue