(fj fastJsonNode, fieldName string, isList bool, fList []*api.Facet, facetIdx int)
| 743 | } |
| 744 | |
| 745 | func (enc *encoder) attachFacets(fj fastJsonNode, fieldName string, isList bool, |
| 746 | fList []*api.Facet, facetIdx int) error { |
| 747 | |
| 748 | idxFieldID := enc.idForAttr(strconv.Itoa(facetIdx)) |
| 749 | for _, f := range fList { |
| 750 | fName := facetName(fieldName, f) |
| 751 | fVal, err := facets.ValFor(f) |
| 752 | if err != nil { |
| 753 | return err |
| 754 | } |
| 755 | |
| 756 | if !isList { |
| 757 | if err := enc.AddValue(fj, enc.idForAttr(fName), fVal); err != nil { |
| 758 | return err |
| 759 | } |
| 760 | } else { |
| 761 | facetNode := enc.newNode(enc.idForAttr(fName)) |
| 762 | err := enc.AddValue(facetNode, idxFieldID, fVal) |
| 763 | if err != nil { |
| 764 | return err |
| 765 | } |
| 766 | // Mark this node as facetsParent. |
| 767 | enc.setFacetsParent(facetNode) |
| 768 | enc.AddMapChild(fj, facetNode) |
| 769 | } |
| 770 | } |
| 771 | |
| 772 | return nil |
| 773 | } |
| 774 | |
| 775 | func (enc *encoder) encode(fj fastJsonNode) error { |
| 776 | child := enc.children(fj) |
no test coverage detected