TypeScript-koodi
TypeScript on lohkon Koodi oletuskieli. Tyyppimerkinnät poistetaan käännösvaiheessa, minkä jälkeen koodi suoritetaan QuickJS-moottorissa.
| Symboli | Tarkoitus |
|---|---|
input | Tuloportissa vastaanotettu arvo |
vars | Suoritusmuuttujien vain luettava tilannekuva |
__vars | Luku- ja kirjoitusnäkymä: get, set, has, delete, clear, keys, toObject |
console.log / .info / .warn / .error | Kirjoittaa suorituslokiin |
fetch(...) | HTTP-kutsu, joka reititetään palomuurin kautta |
return | Palautettu arvo lähtee portista result |
Runko kääritään asynkroniseen funktioon: return ja await toimivat
ylimmällä tasolla.
Esimerkki
Section titled “Esimerkki”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 };Sisäänrakennettu kirjasto
Section titled “Sisäänrakennettu kirjasto”Käytettävissä globaalina muuttujana ja require()-funktion kautta ilman
mitään ilmoitusta kentässä packages:
| Globaali | Paketti |
|---|---|
_, 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() moduulille, jota ei ole käytettävissä, nostaa selkeän virheen.
Odottaminen ja kutsuminen
Section titled “Odottaminen ja kutsuminen”const reponse = await fetch(`${vars.baseUrl}/sante`);const corps = await reponse.json();if (corps.statut !== 'ok') throw new Error(`état ${corps.statut}`);return corps;Kutsu kulkee palomuurin läpi kuten mikä tahansa muu liikenne, ja se keskeytetään suorituksen pysäytyksessä tai aikakatkaisussa.
Ulkoiset paketit
Section titled “Ulkoiset paketit”Ilmoita ne kentässä packages (npm); ne paketoidaan kerran ja liitetään sen
jälkeen offline-tilassa.
Postman- ja Bruno-yhteensopivuus
Section titled “Postman- ja Bruno-yhteensopivuus”Sama ympäristö tarjoaa kerrokset pm.* ja bru.* — katso
JavaScript-koodi.