lit-analyzer icon indicating copy to clipboard operation
lit-analyzer copied to clipboard

[no-complex-attribute-binding] Triggers when assigning serializable values to properties that include both objects and non-objects

Open rictic opened this issue 1 year ago • 2 comments

e.g. <sl-radio value="0"> when value has type unknown, we produce the diagnostic:

You are assigning the primitive '0' to a non-primitive type unknown. Use '.' binding instead?

This isn't ideal, because this code should work fine (assuming that value can deserialize the attribute value '0', which I think is a reasonable responsibility to put on it) and my guess is that a static attribute will be cheaper than a dynamic property set to a constant. Certainly cheaper on update, since it's one fewer step to take.

rictic avatar Jan 09 '24 17:01 rictic

The workaround for now is to turn these specific checks off in the vscode settings:

  "lit-plugin.rules.no-complex-attribute-binding": "off",
  "lit-plugin.rules.no-incompatible-type-binding": "off"

jpzwarte avatar Feb 07 '24 12:02 jpzwarte