refactor: Store generated AIR string in exorted constant (#689)

This commit is contained in:
Dima 2023-03-28 14:44:26 +03:00 committed by GitHub
parent c343c5c5ac
commit e35944e3c8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -30,18 +30,21 @@ case class OutputFunc(func: FuncRes, types: Types) {
val script = tsAir.show.linesIterator.map(codeLeftSpace + _).mkString("\n")
val funcDef = FunctionDef(func)
val scriptConstName = func.funcName + "_script"
(
AirFunction(func.funcName, script, funcDef),
s"""${funcTypes.generate}
|export function ${func.funcName}(${typed("...args", "any")}) {
|
| let script = `
s"""export const $scriptConstName = `
|$script
| `
|${funcTypes.generate}
|export function ${func.funcName}(${typed("...args", "any")}) {
|
| return callFunction$$$$(
| args,
| ${funcDef.asJson.deepDropNullValues.spaces4},
| script
| $scriptConstName
| )
|}""".stripMargin
)