[ 
https://issues.apache.org/jira/browse/TINKERPOP-3186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18031246#comment-18031246
 ] 

ASF GitHub Bot commented on TINKERPOP-3186:
-------------------------------------------

andreachild commented on code in PR #3242:
URL: https://github.com/apache/tinkerpop/pull/3242#discussion_r2445967707


##########
docs/src/upgrade/release-3.8.x.asciidoc:
##########
@@ -301,16 +301,87 @@ g.inject("Hello").split("")
 See: link:https://issues.apache.org/jira/browse/TINKERPOP-3083[TINKERPOP-3083]
 
 ==== asString() No Longer Allow Nulls
-The `asString()` step will no longer allow `null` input. An 
`IllegalArgumentException` will be thrown for consistency with all other 
parsing steps (i.e. `asDate()`, `asBool()`, `asNumber()`).
+
+The `asString()` step will no longer allow `null` input. An 
`IllegalArgumentException` will be thrown for consistency
+with all other parsing steps (i.e. `asDate()`, `asBool()`, `asNumber()`).
 
 See: 
link:https://lists.apache.org/thread/q76pgrvhprosb4lty63bnsnbw2ljyl7m[DISCUSS] 
thread
 
-==== Javascript Set Deserialization
+==== Serialization Changes
+
+*Properties on Element Serialization in Python & Javascript*
+
+Element properties handling has been inconsistent across GLVs. 
Previously,`gremlin-python` deserialized empty properties

Review Comment:
   Can you mention what the other GLVs do so that it's clear that this change 
is making javascript and python consistent with the other GLVs.
   
   I asked Q to scan the other GLVs and it found that .NET and Go can currently 
return null properties and should be made consistent as well.
   
   .NET:
   ```
   protected Element(object? id, string label, dynamic[]? properties = null)
   {
       Id = id;
       Label = label;
       Properties = properties;
   }
   ```
   
   Go:
   
   ```
   type Element struct {
        Id         interface{}
        Label      string
        Properties interface{}
   }
   ```





> Inconsistency of properties data type on Element
> ------------------------------------------------
>
>                 Key: TINKERPOP-3186
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-3186
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: javascript
>    Affects Versions: 3.7.4
>            Reporter: Stephen Mallette
>            Assignee: Stephen Mallette
>            Priority: Blocker
>              Labels: breaking
>
> The {{properties}} property on {{Element}} in javascript has datatypes 
> inconsistent with Java and other GLVs where it can be a {{Map}}, {{List}} or 
> {{undefined}} depending on serializer or other factors (and we go through 
> great lengths to assert all of this in tests for some reason). The type 
> should be {{List}}. Use an empty list if {{null}} or {{undefined}}.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to