swiftwasm / swiftwasm/JavaScriptKit

[BridgeJS] Uncaught TypeError: import object field '<project>' is not an Object

Aberta
#672 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Linguagem predominante
Swift
Estrelas
986
Forks
76
Merge médio
21h 11min
PRs com merge (30d)
4

Descrição

When using ElementaryUI and BridgeJS combined compilation succeeds but runtime crashes on start with:

Uncaught TypeError: import object field '<project>' is not an Object
@View
struct Counter {
    @State var count = 0

    var body: some View {
        div {
            p { "Count: \(count)" }
            button { "Increment" }
                .onClick { count += 1 }
        }.onAppear {
            try? console().log("Hello from Swift!")
        }
    }
}

import JavaScriptKit

@JSFunction func console() throws(JSException) -> Console

@JSClass struct Console {
    @JSFunction func log(_ message: String) throws(JSException) -> Void
}

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Reproduza o crash em tempo de execução com o exemplo de Counter do ElementaryUI e do BridgeJS mostrado na issue. Comece inspecionando os imports de WebAssembly gerados e o objeto de imports do lado do JavaScript ao redor do campo . Está concluído quando a compilação combinada é iniciada sem o uncaught TypeError reportado.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
javascript, swift, wasm
Domínio
api, web-dev
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
45/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.