# Glossary

This glossary defines the terms that [Azion Runtime](/en/documentation/devtools/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](/en/documentation/platform/functions/glossary/).

| Term                | Definition                                                                                                                                                                                                                                                                                                                                                                                                             |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Build-only          | The status label the [Node.js APIs](/en/documentation/devtools/runtime/node/) 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](/en/documentation/devtools/runtime/api-reference/readable-byob-reader/) 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](/en/documentation/devtools/runtime/api-reference/javascript/#edgeruntime-property) 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](/en/documentation/devtools/runtime/api-reference/fetch-event/) 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](/en/documentation/devtools/runtime/api-reference/metadata/) lists every key.                                                    |
| Partially supported | The status label the [Node.js APIs](/en/documentation/devtools/runtime/node/) 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](/en/documentation/devtools/cli/azion-config-js/#build) in `azion.config.js` controls it. [Node.js APIs](/en/documentation/devtools/runtime/node/) 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](/en/documentation/devtools/cli/resources/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](/en/documentation/devtools/runtime/how-it-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](/en/documentation/devtools/runtime/api-reference/structured-clone/) lists what else it changes in the copy.                                                                                                             |
| Supported           | The status label the [Node.js APIs](/en/documentation/devtools/runtime/node/) 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](/en/documentation/devtools/runtime/api-reference/javascript/#wintertc-compliance) describes what that means for code on Azion Runtime.                                                                                        |
