github / github/catalyst

@attr boolean/number setter function called with an empty string (v2-beta)

Open
#295 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
1.4k
Forks
59
Avg merge
22h 12m
Merged PRs (30d)
5

Description

This is maybe related to #117, but not 100% sure on that.

With a component defined like this:

```typescript
import { controller, attr } from '@github/catalyst'

@controller
class TestComponentElement extends HTMLElement {

@attr get booleanProp() {
return false
}
set booleanProp( _v: boolean ) {
console.dir( `booleanProp type: ${ typeof _v }` )
console.dir( `booleanProp value: '${ _v }'` )
}

connectedCallback() {
this.booleanProp = true
}

}
```

and html like this (note the lack of an initial `boolean-prop` value):

```html

```

I get these log messages:
```
booleanProp type: boolean
booleanProp value: 'true'
booleanProp type: string
booleanProp value: ''
```

Changing the html to include an initial value like this:

```html

```

get's rid of that final empty string call:

```
booleanProp type: boolean
booleanProp value: 'true'
```

Maybe this is a limitation? Hopefully this isn't another ghost bug, sorry about the last one 🫣

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.