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}`
);
}
}