Modules
Modules are a core feature in Filtrera, designed to enable code reuse, separation of concerns, and clarity in your scripts. A module is a Filtrera script that exposes symbols such as functions and types via the `export` statement. Other scripts can then use the `import` statement to access these exported symbols, either directly or under a chosen namespace.
Using modules offers several benefits:
- Organization: Group related logic, functions, and types together, making large scripts easier to maintain.
- Reusability: Share business rules, utilities, or type definitions across multiple scripts without duplication.
- Encapsulation: Publicly expose only what's necessary while keeping implementation details private to the module.
- Safety: Prevent naming conflicts and unintended symbol overrides by importing symbols explicitly or into a local namespace.
Filtrera itself is intentionally minimal, but various runtimes provide access to a range of standard modules, such as
"iterators", "maps", or "text". Which modules are available, and how to import
custom modules (including path conventions), is determined by the host or runtime environment.
To learn more about how to author and consume modules, see the articles for the
export statement and the import statement.
| crypt | Cryptographic operations including HMAC signing and verification. |
| fake | Business and demo data — names, contact details, addresses, companies, products and lorem-style text — built on the random engine. |
| iterators | Contains functions and filters to work with iterators. |
| json | Contains functions and filters to work with JSON. |
| maps | Contains functions and filters to work with maps. |
| math | Contains functions and filters to work with math. |
| random | Type-directed pseudo-random generation of primitive values and pick lists, seeded or unseeded, as single values or infinite generators. |
| text | Contains functions and filters to work with texts. |
| xml | Contains functions and filters to read and write XML. |