Currently, according to the spec, both +0 and -0 are valid keys. So, when a value is stored with the key -0, a later call to getAllKeys should return -0 as the key. However, some implementations instead are replacing -0 with +0.
Also, given that -0 == +0, an object store or a unique index can have either -0 or +0 as a key, but not both.
The value +0 or -0 can be the whole key, or a (possibly nested) array element of the key.
I think that the spec should be clarified to note the existence of equal but different keys, and to provide examples of correct behavior (e.g. put replacing an entry with a different key).
Currently, according to the spec, both
+0and-0are valid keys. So, when a value is stored with the key-0, a later call togetAllKeysshould return-0as the key. However, some implementations instead are replacing-0with+0.Also, given that
-0 == +0, an object store or a unique index can have either-0or+0as a key, but not both.The value
+0or-0can be the whole key, or a (possibly nested) array element of the key.I think that the spec should be clarified to note the existence of equal but different keys, and to provide examples of correct behavior (e.g.
putreplacing an entry with a different key).