Glossary
Look up the terms Azion Runtime uses in its own way, from polyfill and preset to EdgeRuntime, FetchEvent, and request metadata.
This glossary defines the terms that Azion Runtime uses in its own way. For the terms it shares with Functions, such as handler, Cell, and wall-clock time, refer to the Functions glossary.
| Term | Definition |
|---|---|
| Build-only | The status label the Node.js APIs table gives a Node.js module, or a module page gives a method, that is included so the build completes while its calls do not work at runtime. Where a module behaves differently from its label, its page states how the module behaves. |
| BYOB | Short for Bring Your Own Buffer: a way to read a byte stream into a buffer your code supplies, which avoids copying the data. ReadableStreamBYOBReader reads a ReadableStream this way. |
EdgeRuntime | The global string Azion Runtime defines, so code can test typeof EdgeRuntime === 'string' to detect that it runs there. A deployed function reads azion, and azion dev gives edge-runtime. Web APIs shows the three ways to read it. |
FetchEvent | The event Azion Runtime passes to a listener registered with addEventListener for the fetch type. It carries the incoming request in event.request and takes the response through event.respondWith(), as FetchEvent describes. It belongs to the Service Worker pattern, which the Functions glossary defines. |
| metadata | The object of values about each request that a function on an application or a firewall reads from request.metadata, such as the GeoIP location of the client, its address, TLS details, fingerprints, and identifiers. Under azion dev, the object is undefined. Metadata API lists every key. |
| Partially supported | The status label the Node.js APIs table gives a Node.js module, or a module page gives a method, of which only some methods or features are available. Each module page lists the status of its methods. |
| polyfill | Code that brings a capability to an environment that lacks it, such as a Node.js API that Azion Runtime does not implement. Azion Bundler adds polyfills at build time, and the polyfills property of the build object in azion.config.js controls it. Node.js APIs lists the modules that polyfills resolve. |
| preset | A set of default build settings for one framework or language that Azion Bundler applies when it builds a project for Azion Runtime, such as javascript, typescript, emscripten for C++, rustwasm for Rust, or vue. Azion CLI presets lists every preset. |
| strict mode | The JavaScript mode that Azion Runtime applies by default and requires. It turns some silent JavaScript errors into thrown errors and prohibits some syntax that later ECMAScript versions may define, as How Azion Runtime works describes. |
| structured clone | The algorithm that duplicates complex JavaScript objects, which structuredClone() runs. It refuses functions, symbols, WeakMap, and promises with DataCloneError, and Structured clone lists what else it changes in the copy. |
| Supported | The status label the Node.js APIs table gives a Node.js module, or a module page gives a method, that works at runtime. Where a module behaves differently from its label, its page states how the module behaves. |
| WinterTC | The Ecma International Technical Committee, TC55, that standardizes a minimum common API for web-interoperable server-side JavaScript runtimes. Azion participates in it, and Web APIs describes what that means for code on Azion Runtime. |