- 헬퍼 동작 그대로(풀이 함수 본문은 옮겨 담음) · 제품 코드 안 고침 - 확인: 이 묶음 헬퍼를 쓰는 시험 70 개 전 70 통과 → 후 70 통과 (시험별 junit 대조 · 어긋남 0) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
28 lines
1019 B
JavaScript
28 lines
1019 B
JavaScript
/* 472 덧 종단 경고 거울 헬퍼 — `logic/B05_Profile_UI_Profile_Alignment.ts` `buildAlignment` 를 그 자리에서
|
|
* 트랜스파일해 돌림. 입력 argv[2] JSON { base, cases: [edits] } · 표준출력 JSON [{ warnings, violations }].
|
|
*/
|
|
const fs = require("fs");
|
|
const path = require("path");
|
|
const { makeLoader } = require("./helper_ts_stub_loader.cjs");
|
|
|
|
const { loadTs } = makeLoader({
|
|
root: path.join(__dirname, "..", ".."),
|
|
requireFor: (full) => (request) =>
|
|
request.startsWith(".")
|
|
? loadTs(path.join(path.dirname(full), `${request}.ts`))
|
|
: require(request),
|
|
});
|
|
|
|
const align = loadTs(
|
|
path.join(__dirname, "..", "..", "B05_Profile", "logic", "B05_Profile_UI_Profile_Alignment.ts"),
|
|
);
|
|
const input = JSON.parse(fs.readFileSync(process.argv[2], "utf8"));
|
|
console.log(
|
|
JSON.stringify(
|
|
input.cases.map((edits) => {
|
|
const built = align.buildAlignment(input.base, edits);
|
|
return { warnings: built.warnings, violations: built.violations.length };
|
|
}),
|
|
),
|
|
);
|