ember-decorators / ember-decorators/argument
Argument with default value is not enumerable
- Dominant language
- JavaScript
- Stars
- 30
- Forks
- 18
- PR merge metrics
- No merged PRs in 30d
Description
Hi!
We are using ` "@ember-decorators/argument": "0.8.21",` and noticed that if we have a default value for an argument annotated with `@argument` keyword, that property becomes non-enumerable.
We need all own properties to be enumerable to support converting ember object to simple javascript object for storing in localstorage. For this we do `Object.keys` on an ember object and recursively serialize object to a plain JS object.
So if we do:
```js
/**
* @type {number}
*/
@argument('number')
amount = 0;
```
we see that this property is not part of `Object.keys`. If we log this object in chrome console this property is greyed out. If we simply remove default value like this:
```js
/**
* @type {number}
*/
@argument('number')
amount;
```
all starts to work fine.
Same with optional value, this code also leads to property not being enumerable:
```js
/**
* @type {number}
*/
@argument(optional('number'))
amount = 0;
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.