diff --git a/package.json b/package.json index 08dee700..f77131d9 100644 --- a/package.json +++ b/package.json @@ -95,7 +95,6 @@ "dependencies": { "@swc/helpers": "^0.3.13", "@whereby/jslib-media": "whereby/jslib-media.git#1.4.1", - "assert": "^2.0.0", "axios": "^1.2.3", "btoa": "^1.2.1", "events": "^3.3.0", diff --git a/src/lib/api/ApiClient.ts b/src/lib/api/ApiClient.ts index c152d06b..c060db25 100644 --- a/src/lib/api/ApiClient.ts +++ b/src/lib/api/ApiClient.ts @@ -1,5 +1,5 @@ -import assert from "assert"; import nodeBtoa from "btoa"; +import assert from "@whereby/jslib-media/src/utils/assert"; import HttpClient, { HttpClientRequestConfig } from "./HttpClient"; import MultipartHttpClient from "./MultipartHttpClient"; import { assertString } from "./parameterAssertUtils"; @@ -92,7 +92,7 @@ export default class ApiClient { */ request(url: string, options: HttpClientRequestConfig): Promise { assertString(url, "url"); - assert.equal(url[0], "/", 'url only accepts relative URLs beginning with "/".'); + assert.ok(url[0] === "/", 'url only accepts relative URLs beginning with "/".'); assert.ok(options, "options are required"); return this.authenticatedHttpClient.request(url, options); @@ -103,7 +103,7 @@ export default class ApiClient { */ requestMultipart(url: string, options: HttpClientRequestConfig): Promise { assertString(url, "url"); - assert.equal(url[0], "/", 'url only accepts relative URLs beginning with "/".'); + assert.ok(url[0] === "/", 'url only accepts relative URLs beginning with "/".'); assert.ok(options, "options are required"); return this.authenticatedFormDataHttpClient.request(url, options); diff --git a/src/lib/api/HttpClient.ts b/src/lib/api/HttpClient.ts index c6cd77d7..931047b2 100644 --- a/src/lib/api/HttpClient.ts +++ b/src/lib/api/HttpClient.ts @@ -1,4 +1,4 @@ -import assert from "assert"; +import assert from "@whereby/jslib-media/src/utils/assert"; import axios, { AxiosError, AxiosRequestConfig, AxiosResponse } from "axios"; import Response, { ErrorResponseObject } from "./Response"; import { assertString } from "./parameterAssertUtils"; @@ -50,7 +50,7 @@ export default class HttpClient implements IHttpClient { */ request(url: string, options: HttpClientRequestConfig): Promise { assertString(url, "url"); - assert.equal(url[0], "/", 'url only accepts relative URLs beginning with "/".'); + assert.ok(url[0] === "/", 'url only accepts relative URLs beginning with "/".'); assert.ok(options, "options are required"); return this._requestAxios(url, options) diff --git a/src/lib/api/MultipartHttpClient.ts b/src/lib/api/MultipartHttpClient.ts index f6adae75..d2e54203 100644 --- a/src/lib/api/MultipartHttpClient.ts +++ b/src/lib/api/MultipartHttpClient.ts @@ -1,4 +1,4 @@ -import assert from "assert"; +import assert from "@whereby/jslib-media/src/utils/assert"; import { HttpClientRequestConfig, IHttpClient } from "./HttpClient"; import Response from "./Response"; diff --git a/src/lib/api/OrganizationApiClient.ts b/src/lib/api/OrganizationApiClient.ts index b886147e..588726cf 100644 --- a/src/lib/api/OrganizationApiClient.ts +++ b/src/lib/api/OrganizationApiClient.ts @@ -1,5 +1,5 @@ +import assert from "@whereby/jslib-media/src/utils/assert"; import ApiClient from "./ApiClient"; -import assert from "assert"; import { assertString } from "./parameterAssertUtils"; import { HttpClientRequestConfig } from "./HttpClient"; import Response from "./Response"; @@ -41,7 +41,7 @@ export default class OrganizationApiClient { options: HttpClientRequestConfig ): Promise { assertString(url, "url"); - assert.equal(url[0], "/", 'url only accepts relative URLs beginning with "/".'); + assert.ok(url[0] === "/", 'url only accepts relative URLs beginning with "/".'); assert.ok(options, "options are required"); return this._fetchOrganization().then((organization) => { if (!organization) { diff --git a/src/lib/api/models/Room.ts b/src/lib/api/models/Room.ts index cd2cd66d..23935651 100644 --- a/src/lib/api/models/Room.ts +++ b/src/lib/api/models/Room.ts @@ -1,5 +1,5 @@ // @ts-nocheck -import assert from "assert"; +import assert from "@whereby/jslib-media/src/utils/assert"; export default class Room { public readonly isLocked: boolean; diff --git a/src/lib/api/organizationService/index.ts b/src/lib/api/organizationService/index.ts index 4894cf27..fd688e5f 100644 --- a/src/lib/api/organizationService/index.ts +++ b/src/lib/api/organizationService/index.ts @@ -1,4 +1,4 @@ -import assert from "assert"; +import assert from "@whereby/jslib-media/src/utils/assert"; import Organization, { OrganizationPreferences } from "../models/Organization"; import { assertInstanceOf, diff --git a/src/lib/api/parameterAssertUtils.ts b/src/lib/api/parameterAssertUtils.ts index e9f9a7d6..a3dffbb1 100644 --- a/src/lib/api/parameterAssertUtils.ts +++ b/src/lib/api/parameterAssertUtils.ts @@ -1,4 +1,4 @@ -import assert from "assert"; +import assert from "@whereby/jslib-media/src/utils/assert"; /** * Asserts that value is truthy. @@ -65,7 +65,7 @@ export function assertInstanceOf(value: unknown, type: new (any: unknown) => */ export function assertRoomName(roomName: unknown, parameterName = "roomName"): string { assertString(roomName, parameterName); - assert.equal(typeof roomName === "string" && roomName[0], "/", `${parameterName} must begin with a '/'`); + assert.ok(typeof roomName === "string" && roomName[0] === "/", `${parameterName} must begin with a '/'`); return roomName as string; } diff --git a/src/lib/api/test/extractUtils.spec.ts b/src/lib/api/test/extractUtils.spec.ts index 089c8656..576b1fb7 100644 --- a/src/lib/api/test/extractUtils.spec.ts +++ b/src/lib/api/test/extractUtils.spec.ts @@ -13,7 +13,7 @@ import { nullOrTransform, Transformer, } from "../extractUtils"; -import assert from "assert"; +import assert from "@whereby/jslib-media/src/utils/assert"; import { Json } from "../Response"; import { assertString } from "../parameterAssertUtils"; type User = { name: string; eyeColor: string | null; age: number; dob: Date }; diff --git a/src/lib/api/test/parameterAssertUtils.spec.ts b/src/lib/api/test/parameterAssertUtils.spec.ts index 406f5be9..1593a0ce 100644 --- a/src/lib/api/test/parameterAssertUtils.spec.ts +++ b/src/lib/api/test/parameterAssertUtils.spec.ts @@ -1,4 +1,4 @@ -import assert from "assert"; +import assert from "@whereby/jslib-media/src/utils/assert"; import { assertBoolean, assertRoomName, diff --git a/src/lib/utils/debounce.ts b/src/lib/utils/debounce.ts index e0be769e..6a83f111 100644 --- a/src/lib/utils/debounce.ts +++ b/src/lib/utils/debounce.ts @@ -1,4 +1,4 @@ -import assert from "assert"; +import assert from "@whereby/jslib-media/src/utils/assert"; interface Options { delay?: number; diff --git a/src/types.d.ts b/src/types.d.ts index 66379be1..0c5d617b 100644 --- a/src/types.d.ts +++ b/src/types.d.ts @@ -82,6 +82,16 @@ declare module "@whereby/jslib-media/src/webrtc/RtcManager" { } } +declare const assert: { + (value: unknown, message?: string | Error): asserts value; + ok(value: unknown, message?: string | Error): asserts value; + notEqual(actual: T, expected: T, message: string): void; +}; + +declare module "@whereby/jslib-media/src/utils/assert" { + export = assert; +} + declare module "@whereby/jslib-media/src/utils/urls" { export function fromLocation({ host }: { host: string }): { subdomain: string }; }