change IIntegrityMetadata interface to IntegrityMetadataLike type

This commit is contained in:
Nebel 2024-09-09 21:33:54 +09:00
parent beff4e49d5
commit b8f8c3d209
Signed by: nebel
GPG key ID: 79807D08C6EF6460

View file

@ -30,15 +30,15 @@ export const IntegrityMetadataRegex =
export const SeparatorRegex = /[^\x21-\x7e]+/; export const SeparatorRegex = /[^\x21-\x7e]+/;
/** Integrity Metadata */ /** Integrity Metadata Like */
export interface IIntegrityMetadata { export type IntegrityMetadataLike = {
alg: PrioritizedHashAlgorithm; alg: PrioritizedHashAlgorithm;
val: string; val: string;
opt?: string[]; opt?: string[];
} };
/** Integrity Metadata */ /** Integrity Metadata */
export class IntegrityMetadata implements IIntegrityMetadata { export class IntegrityMetadata implements IntegrityMetadataLike {
alg: PrioritizedHashAlgorithm; alg: PrioritizedHashAlgorithm;
val: string; val: string;
opt: string[]; opt: string[];
@ -57,7 +57,7 @@ export class IntegrityMetadata implements IIntegrityMetadata {
}); });
} }
match({ alg, val }: IIntegrityMetadata): boolean { match({ alg, val }: IntegrityMetadataLike): boolean {
return alg === this.alg && val === this.val; return alg === this.alg && val === this.val;
} }
@ -69,7 +69,7 @@ export class IntegrityMetadata implements IIntegrityMetadata {
return this.toString(); return this.toString();
} }
static stringify({ alg, val, opt = [] }: IIntegrityMetadata): string { static stringify({ alg, val, opt = [] }: IntegrityMetadataLike): string {
if (!alg) return ""; if (!alg) return "";
if (!val) return ""; if (!val) return "";
if (!(alg in supportedHashAlgorithms)) return ""; if (!(alg in supportedHashAlgorithms)) return "";
@ -147,7 +147,7 @@ export class IntegrityMetadataSet extends Map<
return this.get(hashAlgorithm) ?? new IntegrityMetadata(""); return this.get(hashAlgorithm) ?? new IntegrityMetadata("");
} }
match(integrityMetadata: IIntegrityMetadata): boolean { match(integrityMetadata: IntegrityMetadataLike): boolean {
return this.strongest.match(integrityMetadata); return this.strongest.match(integrityMetadata);
} }