MARKLESS_COMPUTED_READ_CALLED
A computed() value is called like a function.
Error from the compiler, while it builds your .tsrx files.
What happened
A computed() value is the value itself, not a function. Calling it throws a TypeError.
Markless prints the message, the reason, and a suggestion:
MARKLESS_COMPUTED_READ_CALLED: <subject> reads "<called>" off its cell, so "<called>" is bound to the value that cell already holds - and the expression spells it "<called>()". Calling a derived value throws a TypeError: <throwsWhen>.
computed() answers with the derived VALUE rather than a handle to call - its declared type is the value's own type - so the compiler lowers every read of a computed into a read of its cell. Parentheses written around that read are applied to the value the read answers with, not to the expression that produced it, and nothing at build time pointed at the difference.
Drop the parentheses: write "<called>" where the expression writes "<called>()".
https://markless.dev/errors/MARKLESS_COMPUTED_READ_CALLED
Words in angle brackets change from case to case.
How to fix it
Drop the parentheses. Write total, not total().
Where it comes from
@markless/compiler raises this code. Source:
- packages/compiler/src/passes/public-render/derive-set.ts
- packages/compiler/src/passes/foreign-scope.ts
Read how to read a Markless error, or go back to all error codes.
