TypeScript kod
TypeScript je podrazumevani jezik kutije Code. Anotacije tipova uklanjaju se pri kompilaciji, a kod se zatim izvršava u QuickJS mehanizmu.
| Simbol | Uloga |
|---|---|
input | Vrednost primljena na ulaznom portu |
vars | Snimak promenljivih izvršavanja samo za čitanje |
__vars | Prikaz za čitanje / pisanje: get, set, has, delete, clear, keys, toObject |
console.log / .info / .warn / .error | Piše u zapis izvršavanja |
fetch(...) | HTTP poziv, usmeren kroz zaštitni zid |
return | Vraćena vrednost odlazi na port result |
Telo je obavijeno asinhronom funkcijom: return i await rade na najvišem
nivou.
Primer
Section titled “Primer”interface Commande { id: number; montant: number; statut: 'payee' | 'attente' | 'annulee';}
const commandes = input as Commande[];
const payees = commandes.filter((c) => c.statut === 'payee');const total = payees.reduce((s, c) => s + c.montant, 0);
console.log(`${payees.length} commandes payées, total ${total} €`);
__vars.set('totalPaye', total);
return { nombre: payees.length, total };Ugrađena biblioteka
Section titled “Ugrađena biblioteka”Dostupna kao globalna promenljiva i preko require(), bez ijedne deklaracije
u packages:
| Global | Paket |
|---|---|
_, lodash | lodash |
moment | moment |
uuid | uuid |
nanoid | nanoid |
CryptoJS | crypto-js |
Ajv | ajv |
ajvFormats | ajv-formats |
chai, expect, assert | chai |
cheerio | cheerio |
xml2js | xml2js |
const signature = CryptoJS.HmacSHA256(input.corps, vars.secret).toString();return { signature };require() nad nedostupnim modulom podiže izričitu grešku.
Čekanje i pozivanje
Section titled “Čekanje i pozivanje”const reponse = await fetch(`${vars.baseUrl}/sante`);const corps = await reponse.json();if (corps.statut !== 'ok') throw new Error(`état ${corps.statut}`);return corps;Poziv prolazi kroz zaštitni zid kao i svaki drugi saobraćaj, i prekida se pri zaustavljanju izvršavanja ili pri prekoračenju vremenskog ograničenja.
Spoljašnji paketi
Section titled “Spoljašnji paketi”Deklarišite ih u packages (npm); pakuju se jednom, pa se zatim postavljaju van
mreže.
Kompatibilnost sa Postmanom i Brunom
Section titled “Kompatibilnost sa Postmanom i Brunom”Isto okruženje izlaže slojeve pm.* i bru.* — vidite
JavaScript kod.