mirror of
https://github.com/snobu/destreamer.git
synced 2026-02-13 10:09:43 +00:00
* Added Chromium caching of identity provider cookies * Moved token expiry check in standalone method * Created refreshSession function * Session is now refreshed if the token expires * Linting fixes * Removed debug console.log() * Added CC support * Created function to prompt user for download parameters (interactive mode) * Fix data folder for puppeteer * Fixed multiple session error * Fix token expire time * Moved session refreshing to a more sensible place * Changed Metadata name to Video (to better reflect the data structure) * Complete CLI refactoring * Removed useless sleep function * Added outDir check from CLI * Complete input parsing refactoring (both inline and file) * Fixed and improved tests to work with the new input parsing * Moved and improved output path generation to videoUtils * Main code refactoring, added outpath to video type * Minor changes in spacing and type definition style * Updated readme after code refactoring * Fix if inputFile doesn't start with url on line 1 * Minor naming change * Use module 'winston' for logging * Created logge, changed all console.log and similar to use the logger * Added verbose logging, changed posterUrl property name on Video type * Moved GUID extraction to input parsing * Added support for group links * Fixed test after last input parsing update * Removed debug proces.exit() * Changed from desc to asc order for group videos * Updated test to reflect GUIDs output after parsing * Added couple of comments and restyled some imports * More readable verbose GUIDs logging * Removed unused errors * Temporary fix for timeout not working in ApiClient * Explicit class member accessibility * Defined array naming schema to be Array<T> * Defined type/interface schema to be type only * A LOT of type definitions
34 lines
1.0 KiB
TypeScript
34 lines
1.0 KiB
TypeScript
import { errors, ERROR_CODE } from './Errors';
|
|
import { logger } from './Logger';
|
|
|
|
|
|
/**
|
|
* This file contains global destreamer process events
|
|
*
|
|
* @note SIGINT event is overridden in downloadVideo function
|
|
*
|
|
* @note function is required for non-packaged destreamer, so we can't do better
|
|
*/
|
|
export function setProcessEvents(): void {
|
|
// set exit event first so that we can always print cute errors
|
|
process.on('exit', (code: number) => {
|
|
if (code === 0) {
|
|
return;
|
|
}
|
|
|
|
const msg: string = (code in errors) ? `${errors[code]} \n` : `Unknown error: exit code ${code} \n`;
|
|
|
|
logger.error({ message: msg, fatal: true });
|
|
});
|
|
|
|
process.on('unhandledRejection', (reason: {} | null | undefined) => {
|
|
if (reason instanceof Error) {
|
|
logger.error({ message: (reason as Error) });
|
|
process.exit(ERROR_CODE.UNHANDLED_ERROR);
|
|
}
|
|
|
|
logger.error({ message: (reason as string) });
|
|
process.exit(ERROR_CODE.UNHANDLED_ERROR);
|
|
});
|
|
}
|