Pular para o conteúdo

18 · Módulos

JavaScript / TypeScript · Node

Use JavaScript e TypeScript pelo Node embutido, incluindo módulos nativos e Promises. Shim, runtime e ABI de addons precisam coincidir. int da Zolo usa bigint em assinaturas inline.

Nesta página

Execute localmente com o plugin e runtime correspondentes. Estes exemplos não rodam no playground do navegador.

JavaScript / TypeScript / Node.

29-extern-node.zolo
Playground
// JavaScript and TypeScript use the same embedded Node runtime.

use plugin node::{javascript as js, typescript as ts}

extern js fn add(a: int, b: int) -> int {
    return a + b;
}

extern ts {
    fn normalize(text: str) -> str {
        return text.trim().toLowerCase();
    }

    fn root(value: float) -> float {
        return Math.sqrt(value);
    }
}

let original = "  Zolo  "
let greeting: str = extern js {
    return `Hi ${`${original.trim()}`}`;
}
let lexical: bool = extern js {
    // Braces and slashes in native literals remain inside this body.

    return /[{}\/]/.test("}") && `literal } ${original.trim()}`.endsWith("Zolo");
}

extern ts fn native_import() -> str {
    import { createHash } from "node:crypto";
    return createHash("sha256").update("Zolo").digest("hex").slice(0, 8);
}

print(add(20, 22))
print(normalize(original))
print(root(81.0))
print(greeting)
print(lexical)
print(native_import().len())

// expected:

// 42

// zolo

// 9

// Hi Zolo

// true

// 8

Requer a CLI/host do Zolo — abra no playground ou rode localmente.

Preparação e distribuição

O empacotamento sem fontes pode preservar artefatos estrangeiros preparados, mas não remove dependências de runtime ou plataforma. Hospedagem na VM, native e LLVM está coberta; bindings estrangeiros rejeitam alvos WebAssembly não suportados. A aceitação recente dos providers cobre Windows x64. Python está verificado especificamente com CPython 3.12; outras plataformas precisam de validação própria.

Visão geral da referência

Índice global

Encontre seu caminho pela Zolo

Experimente uma ideia

Comece por aqui

9 resultados

9 resultados

enespt-br