FOSSredder 0.5.0
Loading...
Searching...
No Matches
DraftMatcherSignals.cpp
Go to the documentation of this file.
1
5
6#include "core/pch.h"
9
11
12namespace policy = core::domain::policies::matching;
13
14std::string normalizeDraftText(const std::string& text)
15{
16 return policy::normalizeText(text);
17}
18
19bool matchesDraftText(const std::string& left, const std::string& right)
20{
21 return policy::matchesDraftText(left, right);
22}
23
24std::vector<std::string> referenceAliasesFromMetadata(const std::string& metadata)
25{
26 return policy::referenceAliasesFromMetadata(metadata);
27}
28
31{
32 DraftTextSignals signals;
33 const auto metadataText = policy::metadataSignalText(transaction.metadata);
34 signals.sharedText = metadataText.empty() ? transaction.metadata : metadataText;
35
36 const auto lines = policy::splitLines(transaction.metadata);
37 signals.typeText = policy::extractTypeText(state, signals.sharedText, lines);
38 signals.actorText = policy::extractActorText(lines, signals.typeText);
39 if (signals.actorText.empty()) signals.actorText = policy::firstMeaningfulLine(transaction.metadata);
40 if (signals.actorText.empty()) signals.actorText = policy::leadingPhrase(signals.sharedText, 4);
41 signals.propertyText = policy::trim(policy::joinNonEmptyLines({signals.sharedText, signals.actorText, signals.typeText}, " "));
42 signals.contractText = policy::trim(policy::joinNonEmptyLines({signals.typeText, signals.actorText, signals.sharedText}, " "));
43 return signals;
44}
45
46}
Declares import-draft matching helpers shared by the import pipeline and draft finalization.
Declares draft matching policy helpers for import-time bank statement inference.
Collects common core includes and aliases for precompiled-header builds.
bool matchesDraftText(const std::string &left, const std::string &right)
Compares two draft text fragments after normalization.
DraftTextSignals buildDraftTextSignals(const core::domain::catalog::WorkspaceCatalog &state, const TransactionDraft &transaction)
Derives text signals from a workspace transaction draft.
std::vector< std::string > referenceAliasesFromMetadata(const std::string &metadata)
Extracts alias-like reference strings from draft metadata.
std::string normalizeDraftText(const std::string &text)
Normalizes free-form draft text for fuzzy matching.
Carries the shared text signals extracted from one imported transaction.