Fix imports in generated JS (#543)

This commit is contained in:
Dima 2022-07-28 18:54:50 +03:00 committed by GitHub
parent d452070b9f
commit aa4f3413e9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 7 additions and 6 deletions

View File

@ -3,6 +3,7 @@ package aqua.backend
object Header { object Header {
def header(isJs: Boolean, isCommonJS: Boolean): String = { def header(isJs: Boolean, isCommonJS: Boolean): String = {
val callParams = if (isJs) "" else "CallParams,"
val imports = if (isCommonJS) { val imports = if (isCommonJS) {
"""const { Fluence, FluencePeer } = require('@fluencelabs/fluence'); """const { Fluence, FluencePeer } = require('@fluencelabs/fluence');
|const { |const {
@ -13,7 +14,7 @@ object Header {
} else { } else {
s"""import { Fluence, FluencePeer } from '@fluencelabs/fluence'; s"""import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|import { |import {
| CallParams, | $callParams
| callFunction, | callFunction,
| registerService, | registerService,
|} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3${if (isJs) ".js" |} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3${if (isJs) ".js"

View File

@ -6,7 +6,7 @@ import aqua.res.AquaRes
case class OutputFile(res: AquaRes) { case class OutputFile(res: AquaRes) {
def generate(types: Types, isCommonJS: Boolean): String = { def generate(types: Types, isJs: Boolean, isCommonJS: Boolean): String = {
import types.* import types.*
val services = res.services val services = res.services
.map(s => OutputService(s, types)) .map(s => OutputService(s, types))
@ -15,7 +15,7 @@ case class OutputFile(res: AquaRes) {
.mkString("\n\n") .mkString("\n\n")
val functions = val functions =
res.funcs.map(f => OutputFunc(f, types)).map(_.generate).toList.mkString("\n\n") res.funcs.map(f => OutputFunc(f, types)).map(_.generate).toList.mkString("\n\n")
s"""${Header.header(false, isCommonJS)} s"""${Header.header(isJs, isCommonJS)}
| |
|// Services |// Services
|$services |$services

View File

@ -18,7 +18,7 @@ case class JavaScriptBackend(isCommonJS: Boolean) extends Backend {
val functions = val functions =
res.funcs.map(f => TypeScriptTypes.funcType(f)).map(_.generate).toList.mkString("\n") res.funcs.map(f => TypeScriptTypes.funcType(f)).map(_.generate).toList.mkString("\n")
val body = s"""${Header.header(false, false)} val body = s"""${Header.header(true, false)}
| |
|// Services |// Services
|$services |$services
@ -33,6 +33,6 @@ case class JavaScriptBackend(isCommonJS: Boolean) extends Backend {
override def generate(res: AquaRes): Seq[Generated] = override def generate(res: AquaRes): Seq[Generated] =
if (res.isEmpty) Nil if (res.isEmpty) Nil
else { else {
Generated(ext, OutputFile(res).generate(EmptyTypes, isCommonJS)):: typesFile(res) :: Nil Generated(ext, OutputFile(res).generate(EmptyTypes, true, isCommonJS)):: typesFile(res) :: Nil
} }
} }

View File

@ -9,5 +9,5 @@ object TypeScriptBackend extends Backend {
val ext = ".ts" val ext = ".ts"
override def generate(res: AquaRes): Seq[Generated] = override def generate(res: AquaRes): Seq[Generated] =
if (res.isEmpty) Nil else Generated(ext, OutputFile(res).generate(TypeScriptTypes, false)) :: Nil if (res.isEmpty) Nil else Generated(ext, OutputFile(res).generate(TypeScriptTypes, false, false)) :: Nil
} }