vscode: add equality assertion

This commit is contained in:
Veetaha 2020-02-29 00:26:22 +02:00
parent 9cf2577054
commit 3ad0574d7e
2 changed files with 12 additions and 2 deletions

View file

@ -1,10 +1,10 @@
import * as vscode from "vscode";
import * as path from "path";
import { promises as fs } from "fs";
import { strict as assert } from "assert";
import { ArtifactReleaseInfo } from "./interfaces";
import { downloadFile } from "./download_file";
import { assert } from "../util";
/**
* Downloads artifact from given `downloadUrl`.
@ -19,7 +19,7 @@ export async function downloadArtifact(
installationDir: string,
displayName: string,
) {
await fs.mkdir(installationDir).catch(err => assert.strictEqual(
await fs.mkdir(installationDir).catch(err => assert.eq(
err?.code,
"EEXIST",
`Couldn't create directory "${installationDir}" to download ` +

View file

@ -11,6 +11,16 @@ export function assert(condition: unknown, explanation: string): asserts conditi
}
}
assert.eq = <T>(bibba: unknown, bobba: T, explanation: string): asserts bibba is T => {
try {
nativeAssert.strictEqual(bibba, bobba, explanation);
} catch (err) {
log.error(`Equality assertion failed:`, explanation);
throw err;
}
}
export const log = {
enabled: true,
debug(message?: any, ...optionalParams: any[]): void {