Skip to content

Commit 412498c

Browse files
committed
refactor to be more dry
1 parent c2ef245 commit 412498c

File tree

1 file changed

+6
-11
lines changed

1 file changed

+6
-11
lines changed

lib/compile/jtd/serialize.ts

+6-11
Original file line numberDiff line numberDiff line change
@@ -229,20 +229,15 @@ function serializeString({gen, data}: SerializeCxt): void {
229229
}
230230

231231
function serializeNumber({gen, data, self}: SerializeCxt): void {
232+
const condition = _`${data} === Infinity || ${data} === -Infinity || Number.isNaN(${data})`
233+
const addNumber = (): CodeGen => gen.add(N.json, _`"" + ${data}`)
234+
232235
if (self.opts.specialNumbers === "null") {
233-
gen.if(
234-
_`${data} === Infinity || ${data} === -Infinity || Number.isNaN(${data})`,
235-
() => gen.add(N.json, _`null`),
236-
() => gen.add(N.json, _`"" + ${data}`)
237-
)
236+
gen.if(condition, () => gen.add(N.json, _`null`), addNumber)
238237
} else if (self.opts.specialNumbers === "string") {
239-
gen.if(
240-
_`${data} === Infinity || ${data} === -Infinity || Number.isNaN(${data})`,
241-
() => gen.add(N.json, str`"${data}"`),
242-
() => gen.add(N.json, _`"" + ${data}`)
243-
)
238+
gen.if(condition, () => gen.add(N.json, str`"${data}"`), addNumber)
244239
} else {
245-
gen.add(N.json, _`"" + ${data}`)
240+
addNumber()
246241
}
247242
}
248243

0 commit comments

Comments
 (0)