// Module ID: 1301 // Function ID: 15211 // Name: ReflectionJsonReader // Dependencies: [57, 6, 7, 1285, 1297, 1293, 1302, 1291, 1286] // Module 1301 (ReflectionJsonReader) import _slicedToArray from "_slicedToArray"; import _classCallCheck from "reflectionLongConvert"; import _defineProperties from "_callSuper"; export const ReflectionJsonReader = (() => { class ReflectionJsonReader { constructor(arg0) { tmp = outer1_3(this, ReflectionJsonReader); this.info = arg0; return; } } let obj = { key: "prepare", value: function prepare() { const self = this; if (undefined === this.fMap) { self.fMap = {}; let fields = self.info.fields; if (null === fields) { fields = []; } for (const item10009 of fields) { self.fMap[item10009.name] = item10009; self.fMap[item10009.jsonName] = item10009; self.fMap[item10009.localName] = item10009; continue; } } } }; let items = [obj, , , , ]; obj = { key: "assert", value: function assert(arg0, arg1, prepareResult) { if (!arg0) { const typeofJsonValueResult = ReflectionJsonReader(outer1_1[3]).typeofJsonValue(prepareResult); let str = "number"; let tmp4 = "number" != typeofJsonValueResult; if (tmp4) { tmp4 = "boolean" != typeofJsonValueResult; } str = typeofJsonValueResult; if (!tmp4) { str = prepareResult.toString(); } const _Error = Error; const self = this; const _HermesInternal = HermesInternal; const error = new Error("Cannot parse JSON " + str + " for " + this.info.typeName + "#" + arg1); throw error; } } }; items[1] = obj; obj = { key: "read", value: function read(arg0, arg1, ignoreUnknownFields) { let tmp95; let tmp97; const self = this; let prepareResult = this.prepare(); const items = []; const entries = Object.entries(arg0); while (tmp3 !== undefined) { let tmp93 = outer1_2; let tmp94 = outer1_2(tmp4, 2); [tmp95, tmp97] = tmp94; let tmp98 = self.fMap[tmp95]; let obj5 = tmp98; if (tmp98) { let tmp11 = tmp98; let localName = obj5.localName; if (obj5.oneof) { let tmp13 = items; let tmp14 = tmp98; if (items.includes(obj5.oneof)) { let _Error2 = Error; let _HermesInternal2 = HermesInternal; let str4 = "Multiple members of the oneof group \""; let str5 = "\" of "; let str6 = " are present in JSON."; let tmp89 = new.target; let tmp90 = new.target; let error = new Error("Multiple members of the oneof group \"" + tmp98.oneof + "\" of " + self.info.typeName + " are present in JSON."); let tmp92 = error; throw error; } else { let tmp15 = items; let tmp16 = tmp98; let arr = items.push(obj5.oneof); let tmp18 = arg1; let obj = {}; let tmp19 = localName; obj.oneofKind = localName; arg1[obj5.oneof] = obj; let tmp12 = obj; } } else { tmp12 = arg1; } let tmp20 = tmp98; if ("map" == obj5.kind) { let tmp56 = tmp97; if (null === tmp97) { continue; } else { prepareResult = ReflectionJsonReader; prepareResult = outer1_1; let obj6 = ReflectionJsonReader(outer1_1[3]); prepareResult = tmp97; prepareResult = tmp98; prepareResult = self.assert(obj6.isJsonObject(tmp97), obj5.name, tmp97); prepareResult = tmp12; prepareResult = localName; prepareResult = tmp12[localName]; let _Object = Object; prepareResult = Object.entries(tmp97); for (const item10154 of prepareResult) { prepareResult = outer1_2; prepareResult = outer1_2(item10154, 2); prepareResult = prepareResult[1]; prepareResult = tmp98; prepareResult = self.assert(null !== prepareResult, obj5.name + " map value", null); let internalJsonReadResult; let kind3 = obj5.V.kind; if ("message" === kind3) { let tmp63 = tmp98; let V2 = obj5.V; let TResult = V2.T(); let tmp64 = prepareResult; let tmp65 = arg2; internalJsonReadResult = TResult.internalJsonRead(prepareResult, arg2); } else if ("enum" === kind3) { let tmp57 = tmp98; let V = obj5.V; let tmp58 = prepareResult; let tmp59 = arg2; let tmp60 = self; let enumResult = self.enum(V.T(), prepareResult, obj5.name, arg2.ignoreUnknownFields); internalJsonReadResult = enumResult; continue; } else if ("scalar" === kind3) { prepareResult = tmp98; prepareResult = self; internalJsonReadResult = self.scalar(prepareResult, obj5.V.T, obj5.V.L, obj5.name); } let tmp66 = internalJsonReadResult; let tmp67 = tmp98; let tmp68 = prepareResult; let assertResult = self.assert(undefined !== internalJsonReadResult, obj5.name + " map value", prepareResult); let first = prepareResult[0]; let tmp71 = ReflectionJsonReader; let tmp72 = outer1_1; if (obj5.K == ReflectionJsonReader(outer1_1[4]).ScalarType.BOOL) { let tmp73 = first; let tmp74 = "true" == first; let tmp75 = tmp74; if (!tmp74) { let tmp76 = first; let tmp77 = "false" != first; let tmp78 = tmp77; if (tmp77) { tmp78 = first; } tmp75 = tmp78; } first = tmp75; } let tmp79 = prepareResult; let tmp80 = first; let tmp81 = tmp98; let tmp82 = ReflectionJsonReader; let tmp83 = outer1_1; let tmp84 = self; let tmp85 = first; let str3 = self.scalar(first, obj5.K, ReflectionJsonReader(outer1_1[4]).LongType.STRING, obj5.name); let str = str3.toString(); let tmp87 = str; let tmp88 = internalJsonReadResult; prepareResult[str] = internalJsonReadResult; continue; } } } else { let tmp99 = tmp98; if (obj5.repeat) { let tmp40 = tmp97; if (null === tmp97) { continue; } else { let _Array = Array; prepareResult = tmp97; prepareResult = tmp98; prepareResult = self.assert(Array.isArray(tmp97), obj5.name, tmp97); prepareResult = tmp12; prepareResult = localName; let arr2 = tmp12[localName]; prepareResult = tmp97; for (const item10123 of tmp97) { prepareResult = item10123; prepareResult = tmp98; prepareResult = self.assert(null !== item10123, obj5.name, null); let internalJsonReadResult1; let kind2 = obj5.kind; if ("message" === kind2) { let tmp47 = tmp98; let TResult1 = obj5.T(); let tmp48 = item10123; let tmp49 = arg2; internalJsonReadResult1 = TResult1.internalJsonRead(prepareResult, arg2); } else if ("enum" === kind2) { let tmp41 = tmp98; let tmp42 = item10123; let tmp43 = arg2; let tmp44 = self; let enumResult1 = self.enum(obj5.T(), prepareResult, obj5.name, arg2.ignoreUnknownFields); internalJsonReadResult1 = enumResult1; continue; } else if ("scalar" === kind2) { prepareResult = item10123; prepareResult = tmp98; prepareResult = self; internalJsonReadResult1 = self.scalar(prepareResult, obj5.T, obj5.L, obj5.name); } let tmp50 = internalJsonReadResult1; let tmp51 = tmp98; let tmp52 = tmp97; let assertResult1 = self.assert(undefined !== internalJsonReadResult1, obj5.name, tmp97); let tmp54 = arr2; arr = arr2.push(internalJsonReadResult1); continue; } } } else { let tmp21 = tmp98; let kind = obj5.kind; if ("message" === kind) { let tmp31 = tmp97; if (null === tmp97) { let tmp32 = tmp98; if ("google.protobuf.Value" != obj5.T().typeName) { let tmp38 = tmp98; let assertResult2 = self.assert(undefined === obj5.oneof, `${obj5.name} (oneof member)`, null); continue; } } let tmp33 = tmp12; let tmp34 = localName; let tmp35 = tmp98; let TResult2 = obj5.T(); let tmp36 = tmp97; let tmp37 = ignoreUnknownFields; tmp12[localName] = TResult2.internalJsonRead(tmp97, ignoreUnknownFields, tmp12[localName]); } else if ("enum" === kind) { let tmp22 = tmp98; let tmp23 = tmp97; let tmp24 = ignoreUnknownFields; let tmp25 = self; let enumResult2 = self.enum(obj5.T(), tmp97, obj5.name, ignoreUnknownFields.ignoreUnknownFields); if (false === enumResult2) { continue; } else { let tmp28 = tmp12; let tmp29 = localName; let tmp30 = enumResult2; tmp12[localName] = tmp27; } } else if ("scalar" === kind) { prepareResult = tmp12; prepareResult = localName; prepareResult = tmp97; prepareResult = tmp98; prepareResult = self; tmp12[localName] = self.scalar(tmp97, obj5.T, obj5.L, obj5.name); } } } continue; } else { let tmp5 = ignoreUnknownFields; if (!ignoreUnknownFields.ignoreUnknownFields) { let _Error = Error; let tmp6 = tmp95; let _HermesInternal = HermesInternal; str = "Found unknown field while reading "; let str2 = " from JSON format. JSON key: "; let tmp7 = new.target; let tmp8 = new.target; let error1 = new Error("Found unknown field while reading " + self.info.typeName + " from JSON format. JSON key: " + tmp96); let tmp10 = error1; throw error1; } } continue; } } }; items[2] = obj; items[3] = { key: "enum", value: function _enum(arg0, str) { const self = this; if ("google.protobuf.NullValue" == arg0[0]) { const _HermesInternal = HermesInternal; ReflectionJsonReader(outer1_1[5]).assert(null === str, "Unable to parse field " + self.info.typeName + "#" + arg2 + ", enum " + arg0[0] + " only accepts null."); const obj = ReflectionJsonReader(outer1_1[5]); } if (null === str) { return 0; } else if ("number" === typeof str) { const _Number = Number; const _HermesInternal4 = HermesInternal; const obj4 = ReflectionJsonReader(outer1_1[5]); obj4.assert(Number.isInteger(str), "Unable to parse field " + self.info.typeName + "#" + arg2 + ", enum can only be integral number, got " + str + "."); return str; } else if ("string" === tmp31) { let substr = str; if (tmp13) { substr = str.substring(arg0[2].length); } let tmp16 = undefined !== tmp15; if (!tmp16) { tmp16 = !arg3; } if (tmp16) { const _HermesInternal3 = HermesInternal; ReflectionJsonReader(outer1_1[5]).assert("number" === typeof tmp15, "Unable to parse field " + self.info.typeName + "#" + arg2 + ", enum " + arg0[0] + " has no value for \"" + str + "\"."); tmp16 = tmp15; const obj3 = ReflectionJsonReader(outer1_1[5]); } return tmp16; } else { const _HermesInternal2 = HermesInternal; ReflectionJsonReader(outer1_1[5]).assert(false, "Unable to parse field " + self.info.typeName + "#" + arg2 + ", cannot parse enum value from " + tmp31 + "\"."); } } }; items[4] = { key: "scalar", value: function scalar(actionData, arg1, STRING) { const self = this; if (ReflectionJsonReader(outer1_1[4]).ScalarType.DOUBLE !== arg1) { if (ReflectionJsonReader(outer1_1[4]).ScalarType.FLOAT !== arg1) { if (ReflectionJsonReader(outer1_1[4]).ScalarType.INT32 !== arg1) { if (ReflectionJsonReader(outer1_1[4]).ScalarType.FIXED32 !== arg1) { if (ReflectionJsonReader(outer1_1[4]).ScalarType.SFIXED32 !== arg1) { if (ReflectionJsonReader(outer1_1[4]).ScalarType.SINT32 !== arg1) { if (ReflectionJsonReader(outer1_1[4]).ScalarType.UINT32 !== arg1) { if (ReflectionJsonReader(outer1_1[4]).ScalarType.INT64 !== arg1) { if (ReflectionJsonReader(outer1_1[4]).ScalarType.SFIXED64 !== arg1) { if (ReflectionJsonReader(outer1_1[4]).ScalarType.SINT64 !== arg1) { if (ReflectionJsonReader(outer1_1[4]).ScalarType.FIXED64 !== arg1) { let NumberResult = outer1_1; if (ReflectionJsonReader(outer1_1[4]).ScalarType.UINT64 !== arg1) { NumberResult = ReflectionJsonReader; NumberResult = outer1_1; if (ReflectionJsonReader(outer1_1[4]).ScalarType.BOOL === arg1) { if (null === actionData) { return false; } else if ("boolean" === typeof actionData) { NumberResult = actionData; return actionData; } } else { NumberResult = ReflectionJsonReader; NumberResult = outer1_1; if (ReflectionJsonReader(outer1_1[4]).ScalarType.STRING === arg1) { if (null === actionData) { return ""; } else if ("string" !== typeof actionData) { let str = "extra whitespace"; } else { const _encodeURIComponent = encodeURIComponent; encodeURIComponent(actionData); return actionData; } } else { NumberResult = ReflectionJsonReader; NumberResult = outer1_1; if (ReflectionJsonReader(outer1_1[4]).ScalarType.BYTES === arg1) { NumberResult = actionData; NumberResult = null; if (null !== actionData) { if ("" !== actionData) { if ("string" === typeof actionData) { NumberResult = ReflectionJsonReader; NumberResult = outer1_1; NumberResult = actionData; return ReflectionJsonReader(outer1_1[8]).base64decode(actionData); } } } const _Uint8Array = Uint8Array; const uint8Array = new Uint8Array(0); return uint8Array; } } } } } if (null === actionData) { return ReflectionJsonReader(outer1_1[6]).reflectionLongConvert(ReflectionJsonReader(outer1_1[7]).PbULong.ZERO, STRING); } else { const PbULong = ReflectionJsonReader(outer1_1[7]).PbULong; return ReflectionJsonReader(outer1_1[6]).reflectionLongConvert(PbULong.from(actionData), STRING); } } } } if (null === actionData) { return ReflectionJsonReader(outer1_1[6]).reflectionLongConvert(ReflectionJsonReader(outer1_1[7]).PbLong.ZERO, STRING); } else { const PbLong = ReflectionJsonReader(outer1_1[7]).PbLong; return ReflectionJsonReader(outer1_1[6]).reflectionLongConvert(PbLong.from(actionData), STRING); } } } } } } if (null === actionData) { return 0; } else { NumberResult = actionData; if ("number" === typeof actionData) { NumberResult = actionData; } else if ("" === actionData) { str = "empty string"; } else if ("string" === typeof actionData) { if (actionData.trim().length !== actionData.length) { str = "extra whitespace"; } else { const _Number = Number; NumberResult = Number(actionData); } } if (undefined !== NumberResult) { NumberResult = arg1; NumberResult = ReflectionJsonReader; NumberResult = outer1_1; if (arg1 == ReflectionJsonReader(outer1_1[4]).ScalarType.UINT32) { ReflectionJsonReader(outer1_1[5]).assertUInt32(NumberResult); const obj6 = ReflectionJsonReader(outer1_1[5]); } else { ReflectionJsonReader(outer1_1[5]).assertInt32(NumberResult); const obj5 = ReflectionJsonReader(outer1_1[5]); } return NumberResult; } } } while (true) { let tmp74 = arg3; let tmp75 = str; let str14 = ""; if (!str) { break; } else { let tmp76 = str; let str15 = " - "; str14 = ` - ${str}`; break; } let tmp77 = actionData; let flag2 = false; let assertResult = self.assert(false, arg3 + str14, actionData); } } if (null === actionData) { return 0; } else { NumberResult = actionData; if ("NaN" === actionData) { const _Number7 = Number; return Number.NaN; } else { NumberResult = actionData; if ("Infinity" === actionData) { const _Number6 = Number; return Number.POSITIVE_INFINITY; } else { NumberResult = actionData; if ("-Infinity" === actionData) { const _Number5 = Number; return Number.NEGATIVE_INFINITY; } else { NumberResult = actionData; if ("" === actionData) { str = "empty string"; } else { NumberResult = actionData; if ("string" === typeof actionData) { if (actionData.trim().length !== actionData.length) { str = "extra whitespace"; } } if ("string" === typeof actionData) { const _Number2 = Number; const NumberResult1 = Number(actionData); const _Number3 = Number; if (Number.isNaN(NumberResult1)) { str = "not a number"; } else { const _Number4 = Number; if (Number.isFinite(tmp62)) { if (arg1 == ReflectionJsonReader(outer1_1[4]).ScalarType.FLOAT) { ReflectionJsonReader(outer1_1[5]).assertFloat32(tmp62); const obj7 = ReflectionJsonReader(outer1_1[5]); } return NumberResult1; } else { str = "too large or small"; } } } } } } } } } }; return _defineProperties(ReflectionJsonReader, items); })();