function jsonValueToStruct()

in ts/src/util/struct.ts [38:64]


function jsonValueToStruct(value: JsonValue): google.protobuf.IValue {
  switch (typeof value) {
    case 'boolean': {
      return {boolValue: value};
    }
    case 'number': {
      return {numberValue: value};
    }
    case 'string': {
      return {stringValue: value};
    }
    case 'object': {
      if (Array.isArray(value)) {
        const values = value.map(jsonValueToStruct);
        return {listValue: {values}};
      } else if (value) {
        return {structValue: jsonToStruct(value)};
      } else {
        return {nullValue: 'NULL_VALUE'};
      }
    }
    default:
      throw new TypeError(
        `Invalid value provided for conversion from JSON to protobuf value: ${value} with type: ${typeof value}`
      );
  }
}