12 lines
750 B
TypeScript
12 lines
750 B
TypeScript
import { createHash } from 'node:crypto';
|
|
import attack from '../../src/assets/data/attack-reference-v19.2.json';
|
|
import d3fend from '../../src/assets/data/d3fend-reference-v1.6.0.json';
|
|
import type { ReferenceCatalog, ReferenceCatalogSnapshot } from '../../src/domain/reference-recognition';
|
|
import { canonicalJson } from '../../src/shared/canonical-json';
|
|
|
|
export const referenceHash = (value: unknown): string => createHash('sha256').update(canonicalJson(value)).digest('hex');
|
|
export function referenceSnapshot(catalog: ReferenceCatalog): ReferenceCatalogSnapshot {
|
|
return { ...catalog, sha256: referenceHash(catalog) };
|
|
}
|
|
export const bundledReferenceCatalogs = [attack, d3fend].map(catalog => referenceSnapshot(catalog as ReferenceCatalog));
|