public static void WriteError( IJSValueWriter writer, string code, string message, IReadOnlyDictionary <string, JSValue> userInfo, string stackTrace) { writer.WriteArrayBegin(); { writer.WriteObjectBegin(); { writer.WritePropertyName(ReactErrorConstants.Code); writer.WriteString(code ?? ReactErrorConstants.DefaultCode); writer.WritePropertyName(ReactErrorConstants.Message); writer.WriteString(message ?? ReactErrorConstants.DefaultMessage); // For consistency with iOS ensure userInfo key exists, even if we null it. // iOS: /React/Base/RCTUtils.m -> RCTJSErrorFromCodeMessageAndNSError writer.WritePropertyName(ReactErrorConstants.UserInfo); if (userInfo == null) { writer.WriteNull(); } else { writer.WriteValue(userInfo); } // Attach a nativeStackWindows string if an exception was passed. // This matches iOS behavior - iOS adds a `nativeStackIOS` property // iOS: /React/Base/RCTUtils.m -> RCTJSErrorFromCodeMessageAndNSError writer.WritePropertyName(ReactErrorConstants.NativeStack); writer.WriteString(stackTrace ?? string.Empty); } writer.WriteObjectEnd(); } writer.WriteArrayEnd(); }
public void WriteTo(IJSValueWriter writer) { switch (Type) { case JSValueType.Null: writer.WriteNull(); break; case JSValueType.Object: WriteObject(writer, Object); break; case JSValueType.Array: WriteArray(writer, Array); break; case JSValueType.String: writer.WriteString(String); break; case JSValueType.Boolean: writer.WriteBoolean(Boolean); break; case JSValueType.Int64: writer.WriteInt64(Int64); break; case JSValueType.Double: writer.WriteDouble(Double); break; } }
public static void WriteValue(this IJSValueWriter writer, string value) { writer.WriteString(value); }
public static bool WriteValue(this IJSValueWriter writer, string value) { return(writer.WriteString(value)); }