Files
rea/experiments/atomic-codemode/string-facts.mjs
T

28 lines
907 B
JavaScript

import { Readable } from "node:stream";
import { pipeline } from "node:stream/promises";
import { KunaStringInventoryReader } from "../../dist/kuna/KunaStringInventory.js";
import { requireResult } from "./fact-error.mjs";
import { freezeFacts, pageFacts } from "./fact-reads.mjs";
export const parseStringFacts = async (text, input) => {
const reader = new KunaStringInventoryReader();
await pipeline(Readable.from([text]), reader);
return freezeFacts(
requireResult(reader.finish(input), "invalid_provider_output"),
);
};
export const selectStringFacts = (inventory, input) => ({
...pageFacts(
inventory.items.filter((row) => row.value.includes(input.query)),
input,
["address", "string"],
),
coverage: {
scope: "native string inventory, minimum 5",
scanned: inventory.scanned,
artifact_discovery: "unknown",
reference_attribution: "not-computed",
},
});