Loading collection data...
Collections are a way for you to organize kata so that you can create your own training routines. Every collection you create is public and automatically sharable with other warriors. After you have added a few kata to a collection you and others can train on the kata contained within the collection.
Get started now by creating a new collection.
in this kata we mutate object, so if we will replace primitives with object/array, we will lost their data.
for example,
And in fact we should not assign props to primitives, and it looks like
deepAssignment
should throw an exeption, that this path is invalid or something like that.Thanks for pointing this out.
I can add a test to clarify that the string type should be converted, based on getter access? Or rather, what do you think would make more sense, and make the kata more useful?
My solution - if a primitive value found in chain - replace it with object/array
Yes, I just looked at the last test case and that's pretty much it.
I think we need some author clarification :)
I've got a problem with final case.
Input object is something like
{ ..., ddd: [ 'ddd[0]', ... ], ...}
Input path is kinda
ddd[0].asdfe.ddd[2]...
When we resolve path like this, we go to the array
ddd
, take the first element (which isddd[0]
) and then we need to assignasdfe
to the stringddd[0]
, but it would not work for primitive values like String.So test fails because we can't read
.ddd
inasdfe
, because it's undefined in string.It can be assumed, that this test means that we need to go up and use the parent Array for values like this, but it's not clear and there is nothing about in description.
We need to fix the last test or update the description with better clarification, because this behavior is implicit