src/loader/level-key.ts
import { buildAbsoluteURL } from 'url-toolkit';
export default class LevelKey {
private _uri: string | null = null;
public method: string | null = null;
public keyFormat: string | null = null;
public keyFormatVersions: string | null = null;
public keyID: string | null = null;
public key: Uint8Array | null = null;
public iv: Uint8Array | null = null;
static fromURL(baseUrl: string, relativeUrl: string): LevelKey {
return new LevelKey(baseUrl, relativeUrl);
}
static fromURI(uri: string): LevelKey {
return new LevelKey(uri);
}
private constructor(absoluteOrBaseURI: string, relativeURL?: string) {
if (relativeURL) {
this._uri = buildAbsoluteURL(absoluteOrBaseURI, relativeURL, {
alwaysNormalize: true,
});
} else {
this._uri = absoluteOrBaseURI;
}
}
get uri() {
return this._uri;
}
}