Files
Aislo/resources/tester/helper_588_2_money_fmt.cjs
T
eomsangdonandClaude Sonnet 5.5 b472f200b6 feat(751-2): 원화 꼴 공용 한 벌 — common_util_money.ts · master_fmt.py 짝 · 거울 시험
- formatMoney(정수) · formatLineMoney(소수 1 · 끝 0 없음) · formatPrice(단가 소수 3 · 200 미만 유효숫자 넷) · formatNumber(수량 · 율 유효숫자 넷)
- M01 Logic_Money · Logic_Edit 는 다시 내보내기만(부르는 쪽 그대로)
- 파이썬 짝 master_fmt.py(절반 올림 · 은행가 반올림 어긋남 해소) · master_text 갈아 끼움은 받기 뒤

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 22:18:11 +09:00

22 lines
1.0 KiB
JavaScript

/* 원화 꼴 한 벌(`common_util_money.ts`) 거울 헬퍼 — 트랜스파일해 Node 로 돌림 ·
* stdin = [값 글 | null ...] (숫자 글은 Number 로) · stdout = {함수: [글 ...]} */
const fs = require("fs");
const path = require("path");
const ts = require(path.join(__dirname, "..", "..", "config", "node_modules", "typescript"));
const file = path.join(__dirname, "..", "..", "common_util", "common_util_money.ts");
const js = ts.transpileModule(fs.readFileSync(file, "utf8"), {
compilerOptions: { module: ts.ModuleKind.CommonJS, target: ts.ScriptTarget.ES2020 },
}).outputText;
const box = { exports: {} };
new Function("exports", "module", "require", js)(box.exports, box, require);
const cases = JSON.parse(fs.readFileSync(0, "utf8")).map((c) =>
c !== null && c.num ? Number(c.num) : c === null ? null : c.text,
);
const out = {};
for (const name of ["formatNumber", "formatMoney", "formatLineMoney", "formatPrice"]) {
out[name] = cases.map((c) => box.exports[name](c));
}
process.stdout.write(JSON.stringify(out));