Κώδικας TypeScript
Η TypeScript είναι η προεπιλεγμένη γλώσσα του κουτιού Κώδικας. Οι επισημάνσεις τύπων αφαιρούνται κατά τη μεταγλώττιση, και έπειτα ο κώδικας εκτελείται στη μηχανή QuickJS.
Το API
Section titled “Το API”| Σύμβολο | Ρόλος |
|---|---|
input | Η τιμή που λαμβάνεται στη θύρα εισόδου |
vars | Ένα στιγμιότυπο μόνο για ανάγνωση των μεταβλητών εκτέλεσης |
__vars | Μια προβολή ανάγνωσης / εγγραφής: get, set, has, delete, clear, keys, toObject |
console.log / .info / .warn / .error | Γράφει στο αρχείο καταγραφής της εκτέλεσης |
fetch(...) | Κλήση HTTP, δρομολογημένη από το τείχος προστασίας |
return | Η τιμή που επιστρέφεται φεύγει στη θύρα result |
Το σώμα περιβάλλεται από μια ασύγχρονη συνάρτηση: τα return και await
λειτουργούν στο ανώτατο επίπεδο.
Παράδειγμα
Section titled “Παράδειγμα”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 };Ενσωματωμένη βιβλιοθήκη
Section titled “Ενσωματωμένη βιβλιοθήκη”Διαθέσιμη ως καθολική μεταβλητή και μέσω require(), χωρίς να δηλώσετε
τίποτα στο packages:
| Καθολικό | Πακέτο |
|---|---|
_, 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() σε μη διαθέσιμο module εγείρει ρητό σφάλμα.
Αναμονή και κλήση
Section titled “Αναμονή και κλήση”const reponse = await fetch(`${vars.baseUrl}/sante`);const corps = await reponse.json();if (corps.statut !== 'ok') throw new Error(`état ${corps.statut}`);return corps;Η κλήση περνά από το τείχος προστασίας όπως οποιαδήποτε άλλη κίνηση, και διακόπτεται όταν σταματήσει η εκτέλεση ή όταν ξεπεραστεί το χρονικό όριο.
Εξωτερικά πακέτα
Section titled “Εξωτερικά πακέτα”Δηλώστε τα στο packages (npm)· πακετάρονται μία φορά και έπειτα τοποθετούνται
εκτός σύνδεσης.
Συμβατότητα με Postman και Bruno
Section titled “Συμβατότητα με Postman και Bruno”Το ίδιο περιβάλλον εκθέτει τα στρώματα pm.* και bru.* — δείτε
Κώδικας JavaScript.