bool shouldSerialize()

in mcrouter/lib/carbon/CarbonMessageConversionUtils-inl.h [68:84]


  bool shouldSerialize(const folly::dynamic& val) {
    if (opts_.serializeFieldsWithDefaultValue) {
      return true;
    }

    if (val.isBool() && !val.getBool()) {
      return false;
    } else if (val.isInt() && val.getInt() == 0) {
      return false;
    } else if (val.isDouble() && val.getDouble() == 0.0) {
      return false;
    } else if (
        (val.isString() || val.isArray() || val.isObject()) && val.empty()) {
      return false;
    }
    return true;
  }