adopted-ember-addons / adopted-ember-addons/validated-changeset

Object.keys(property) returns an empty array on an object property that has not been mutated

Offen
#191 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
TypeScript
Sterne
38
Forks
27
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Given this code

```
let objectToWrap = {
objectProperty: {
foo: 'bar',
},
};

let changeset = Changeset(objectToWrap);

let keys = Object.keys(changeset.objectProperty);
```

I would expect `keys` to be `['foo']` but it returns an empty array.

I believe the issue lies here: https://github.com/validated-changeset/validated-changeset/blob/c1c95b729aae80fd30b30b691202a94c974a3309/src/utils/object-tree-node.ts#L56

It always returns `ownKeys` from `node.changes` even if no changes have been made.

I have created a repro here, but it's just the code above https://github.com/elgordino/validated-changeset-repro

I've raised a PR with tests. Not sure if the overall approach is the best way forward, but it works :)

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.