Initial Commit

This commit is contained in:
2026-05-27 23:47:53 +01:00
parent fbc70f96e6
commit 9b28db724f
18103 changed files with 1600554 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
import { readFileSync } from "node:fs";
import { join } from "node:path";
import { describe, expect, it } from "@suaveplan/testing/runner";
describe("exports", () => {
it("every feature module has a subpath export entry", {
timeout: 5000,
}, () => {
const pkg = JSON.parse(
readFileSync(join(__dirname, "..", "package.json"), "utf8")
) as { exports: Record<string, unknown> };
const required = [
".",
"./meter/loudness-meter",
"./algorithms/lufs",
"./algorithms/true-peak",
"./algorithms/loudness-range",
"./filters/k-weighting",
"./error-codes",
];
for (const sub of required) expect(sub in pkg.exports).toBe(true);
});
it("root barrel re-exports the documented surface", {
timeout: 5000,
}, async () => {
const mod = await import("../src/index.js");
const exports = Object.keys(mod);
const required = [
"LoudnessMeter",
"LoudnessMeterOptionsSchema",
"AudioAnalysisLoudnessError",
"AUDIO_ANALYSIS_LOUDNESS_CODES",
"AUDIO_ANALYSIS_LOUDNESS_ERROR_METADATA",
"registerAudioAnalysisLoudnessErrorCodes",
"buildKWeighting",
"createKWeighting",
"truePeakDbtp",
"samplePeakLinear",
"loudnessRange",
"momentaryLufs",
"shortTermLufs",
"IntegratedLoudness",
"energyToLufs",
"channelWeight",
"blockMeanSquare",
"combineChannelEnergies",
"percentile",
];
for (const sym of required) expect(exports).toContain(sym);
});
});