Skip to content

Commit e75ffed

Browse files
committed
fix: clean up
1 parent 8642937 commit e75ffed

2 files changed

Lines changed: 9 additions & 11 deletions

File tree

apps/data-pipeline/degreeworks-scraper/src/components/AuditParser.ts

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ export class AuditParser {
1414
private static readonly electiveMatcher = /ELECTIVE @+/;
1515
private static readonly wildcardMatcher = /\w@/;
1616
private static readonly rangeMatcher = /-\w+/;
17+
private requirementIdMap = new Map<string, string>();
1718

1819
constructor(private readonly db: ReturnType<typeof database>) {
1920
console.log("[AuditParser.new] AuditParser initialized");
@@ -100,27 +101,24 @@ export class AuditParser {
100101
.limit(1);
101102
}
102103

103-
requirementIdMap = new Map<string, string>();
104-
generateRequirementId(rule: Rule, downstreamIdentifier = ""): string {
104+
generateRequirementId(rule: Rule, childRequirementBlockId: string): string {
105105
const requirementObjectStr = JSON.stringify({
106106
label: rule.label,
107107
labelTag: rule.labelTag,
108108
ruleType: rule.ruleType,
109109
ruleId: rule.ruleId,
110110
nodeId: rule.nodeId,
111-
downstreamIdentifier,
111+
childRequirementBlockId,
112112
});
113113

114114
const requirementId = createHash("md5")
115115
.update(requirementObjectStr)
116116
.digest("base64url")
117117
.slice(0, 10);
118118

119-
if (
120-
this.requirementIdMap.has(requirementId) &&
121-
this.requirementIdMap.get(requirementId) !== requirementObjectStr
122-
) {
123-
console.log("Collision detected between two requirementIds");
119+
const existingRequirementObjectStr = this.requirementIdMap.get(rule.ruleId);
120+
if (existingRequirementObjectStr && existingRequirementObjectStr !== requirementObjectStr) {
121+
console.error("Collision detected between two requirementIds");
124122
}
125123
this.requirementIdMap.set(requirementId, requirementObjectStr);
126124

@@ -228,10 +226,11 @@ export class AuditParser {
228226
}
229227
case "Complete":
230228
case "Incomplete": {
231-
const downstreamIdentifier = AuditParser.suppressLabelPolymorphism(rule.label);
229+
const label = AuditParser.suppressLabelPolymorphism(rule.label);
230+
const downstreamIdentifier = label;
232231
const requirementId = this.generateRequirementId(rule, downstreamIdentifier);
233232
ret.push({
234-
label: AuditParser.suppressLabelPolymorphism(rule.label),
233+
label,
235234
requirementId,
236235
requirementType: "Marker",
237236
});

apps/data-pipeline/degreeworks-scraper/src/types.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ export type RuleBase = {
99
ruleId: string;
1010
ruleType: string;
1111
nodeId: string;
12-
nodeType: string;
1312
};
1413
/**
1514
* A group of `numberOfRules` rules,

0 commit comments

Comments
 (0)