BIND002: unknown-expression-function
Function not registered on the gateway
| Code | BIND002 |
| Name | unknown-expression-function |
| Category | Bindings and expressions (BIND) |
| Default severity | error |
| Enabled by default | yes |
| Fix available | no |
| ign-lint equivalent | none |
What it does
Section titled “What it does”Reports calls to expression functions that Ignition 8.3 does not register.
Function names are matched case-insensitively, as Ignition does. The list
of functions is generated from a gateway with the standard modules; add
functions of third-party modules with extra-functions.
The functions depend on where the expression runs: Perspective bindings,
transforms and the other expressions of a view can also call
isAuthorized and property, which tag expressions, derived tags and
alarm and tag property bindings cannot.
Expressions with a syntax error are left to BIND001.
Why is this bad?
Section titled “Why is this bad?”The expression fails to compile with "function not found" and the binding never produces a value.
Example
Section titled “Example”dateFormatt(now(0), "yyyy-MM-dd")Use instead:
dateFormat(now(0), "yyyy-MM-dd")Options
Section titled “Options”extra-functions(default[]): names of additional functions provided by modules (case-insensitive). Listing a function here only silences this rule: an expression function that Ignition 8.3 does not register may run code (Vision'sobjectScriptruns Python), so it still keeps the safe fixes of other rules from being safe until the project lists it under[fix] vetted-expression-functions.
Option reference
Section titled “Option reference”Set in [rules.BIND002] of iglint.toml (or [tool.iglint.rules.BIND002] in pyproject.toml).
| Option | Type | Default | Description |
|---|---|---|---|
extra-functions |
array of strings | [] |
Additional function names provided by modules. |
Generated from the rule metadata by iglint generate-docs; iglint rule BIND002 prints the same page in the terminal. Source: docs/rules/BIND002.md.