Modules & Imports
Organize and scale your application by breaking it down into discrete script files or leveraging standard libraries.
Local Files (import)
Import local script files using the import keyword. You can assign a namespace or use wildcard imports:
# main.dz
import "utils.dz" as utils # Namespaced import
import "helpers.dz" as * # Wildcard (all names in global scope)
print(utils.calculateTax(500))
print(squareVal(9)) # imported via wildcard
Standard Libraries (use)
Load built-in system standard libraries using the use keyword:
use math
use json
print(math.sqrt(64)) # => 8
print(json.stringify({"status": "active"}))
Namespace Aliases
Customize namespace aliases to prevent naming collisions. Wildcard (*) also works with use:
use net as connection
# Now access networking sockets via connection.*
use math as * # Import math functions into global scope
print(sqrt(64)) # => 8 (no "math." prefix needed)
Nested Module Paths
Access sub-modules using the :: separator:
use http
# Access nested modules
http::client::get(...)
http::server::createServer(...)