Fix imports in child-writer.ts

Change-type: none
This commit is contained in:
Alexis Svinartchouk 2020-11-25 14:27:23 +01:00
parent 4e68955981
commit 50730bd3df

View File

@ -15,12 +15,23 @@
*/ */
import { Drive as DrivelistDrive } from 'drivelist'; import { Drive as DrivelistDrive } from 'drivelist';
import * as sdk from 'etcher-sdk'; import {
BlockDevice,
File,
Http,
Metadata,
SourceDestination,
} from 'etcher-sdk/build/source-destination';
import {
MultiDestinationProgress,
OnProgressFunction,
OnFailFunction,
decompressThenFlash,
} from 'etcher-sdk/build/multi-write';
import { cleanupTmpFiles } from 'etcher-sdk/build/tmp'; import { cleanupTmpFiles } from 'etcher-sdk/build/tmp';
import * as ipc from 'node-ipc'; import * as ipc from 'node-ipc';
import { totalmem } from 'os'; import { totalmem } from 'os';
import { BlockDevice, File, Http } from 'etcher-sdk/build/source-destination';
import { toJSON } from '../../shared/errors'; import { toJSON } from '../../shared/errors';
import { GENERAL_ERROR, SUCCESS } from '../../shared/exit-codes'; import { GENERAL_ERROR, SUCCESS } from '../../shared/exit-codes';
import { delay } from '../../shared/utils'; import { delay } from '../../shared/utils';
@ -85,7 +96,7 @@ export interface WriteResult {
successful: number; successful: number;
}; };
errors: FlashError[]; errors: FlashError[];
sourceMetadata?: sdk.sourceDestination.Metadata; sourceMetadata?: Metadata;
} }
export interface FlashResults extends WriteResult { export interface FlashResults extends WriteResult {
@ -112,19 +123,15 @@ async function writeAndValidate({
onProgress, onProgress,
onFail, onFail,
}: { }: {
source: sdk.sourceDestination.SourceDestination; source: SourceDestination;
destinations: sdk.sourceDestination.BlockDevice[]; destinations: BlockDevice[];
verify: boolean; verify: boolean;
autoBlockmapping: boolean; autoBlockmapping: boolean;
decompressFirst: boolean; decompressFirst: boolean;
onProgress: sdk.multiWrite.OnProgressFunction; onProgress: OnProgressFunction;
onFail: sdk.multiWrite.OnFailFunction; onFail: OnFailFunction;
}): Promise<WriteResult> { }): Promise<WriteResult> {
const { const { sourceMetadata, failures, bytesWritten } = await decompressThenFlash({
sourceMetadata,
failures,
bytesWritten,
} = await sdk.multiWrite.decompressThenFlash({
source, source,
destinations, destinations,
onFail, onFail,
@ -149,7 +156,7 @@ async function writeAndValidate({
}; };
for (const [destination, error] of failures) { for (const [destination, error] of failures) {
const err = error as FlashError; const err = error as FlashError;
const drive = destination as sdk.sourceDestination.BlockDevice; const drive = destination as BlockDevice;
err.device = drive.device; err.device = drive.device;
err.description = drive.description; err.description = drive.description;
result.errors.push(err); result.errors.push(err);
@ -201,7 +208,7 @@ ipc.connectTo(IPC_SERVER_ID, () => {
* @example * @example
* writer.on('progress', onProgress) * writer.on('progress', onProgress)
*/ */
const onProgress = (state: sdk.multiWrite.MultiDestinationProgress) => { const onProgress = (state: MultiDestinationProgress) => {
ipc.of[IPC_SERVER_ID].emit('state', state); ipc.of[IPC_SERVER_ID].emit('state', state);
}; };
@ -237,10 +244,7 @@ ipc.connectTo(IPC_SERVER_ID, () => {
* @example * @example
* writer.on('fail', onFail) * writer.on('fail', onFail)
*/ */
const onFail = ( const onFail = (destination: SourceDestination, error: Error) => {
destination: sdk.sourceDestination.SourceDestination,
error: Error,
) => {
ipc.of[IPC_SERVER_ID].emit('fail', { ipc.of[IPC_SERVER_ID].emit('fail', {
// TODO: device should be destination // TODO: device should be destination
// @ts-ignore (destination.drive is private) // @ts-ignore (destination.drive is private)
@ -257,7 +261,7 @@ ipc.connectTo(IPC_SERVER_ID, () => {
log(`Auto blockmapping: ${options.autoBlockmapping}`); log(`Auto blockmapping: ${options.autoBlockmapping}`);
log(`Decompress first: ${options.decompressFirst}`); log(`Decompress first: ${options.decompressFirst}`);
const dests = options.destinations.map((destination) => { const dests = options.destinations.map((destination) => {
return new sdk.sourceDestination.BlockDevice({ return new BlockDevice({
drive: destination, drive: destination,
unmountOnSuccess: options.unmountOnSuccess, unmountOnSuccess: options.unmountOnSuccess,
write: true, write: true,
@ -298,7 +302,6 @@ ipc.connectTo(IPC_SERVER_ID, () => {
await delay(DISCONNECT_DELAY); await delay(DISCONNECT_DELAY);
await terminate(exitCode); await terminate(exitCode);
} catch (error) { } catch (error) {
log(`Error: ${error.message}`);
exitCode = GENERAL_ERROR; exitCode = GENERAL_ERROR;
ipc.of[IPC_SERVER_ID].emit('error', toJSON(error)); ipc.of[IPC_SERVER_ID].emit('error', toJSON(error));
} }