| 24 | } |
| 25 | |
| 26 | static sds _JsonEncoder_Properties(const GraphEntity *ge, sds s) { |
| 27 | s = sdscat(s, "\"properties\": {"); |
| 28 | const AttributeSet set = GraphEntity_GetAttributes(ge); |
| 29 | uint prop_count = AttributeSet_Count(set); |
| 30 | GraphContext *gc = QueryCtx_GetGraphCtx(); |
| 31 | for(uint i = 0; i < prop_count; i ++) { |
| 32 | Attribute_ID attr_id; |
| 33 | SIValue value = AttributeSet_GetIdx(set, i, &attr_id); |
| 34 | const char *key = GraphContext_GetAttributeString(gc, attr_id); |
| 35 | s = sdscatfmt(s, "\"%s\": ", key); |
| 36 | s = _JsonEncoder_SIValue(value, s); |
| 37 | if(i < prop_count - 1) s = sdscat(s, ", "); |
| 38 | } |
| 39 | s = sdscat(s, "}"); |
| 40 | return s; |
| 41 | } |
| 42 | |
| 43 | static sds _JsonEncoder_Node(const Node *n, sds s) { |
| 44 | s = sdscatfmt(s, "\"id\": %U", ENTITY_GET_ID(n)); |
no test coverage detected