public static IJSValueWriter WriteArgs <T1, T2>(this IJSValueWriter writer, T1 arg1, T2 arg2) { writer.WriteArrayBegin(); writer.WriteValue(arg1); writer.WriteValue(arg2); writer.WriteArrayEnd(); return(writer); }
public static IJSValueWriter WriteArgs <T1, T2, T3, T4, T5>(this IJSValueWriter writer, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5) { writer.WriteArrayBegin(); writer.WriteValue(arg1); writer.WriteValue(arg2); writer.WriteValue(arg3); writer.WriteValue(arg4); writer.WriteValue(arg5); writer.WriteArrayEnd(); return(writer); }
public static void WriteValue <T1, T2>(this IJSValueWriter writer, Tuple <T1, T2> value) { if (value != null) { writer.WriteArrayBegin(); writer.WriteValue(value.Item1); writer.WriteValue(value.Item2); writer.WriteArrayEnd(); } else { writer.WriteNull(); } }
public static void WriteValue <T>(this IJSValueWriter writer, T?value) where T : struct { if (value.HasValue) { writer.WriteValue(value.Value); } else { writer.WriteNull(); } }
public static void WriteValue <T>(this IJSValueWriter writer, IEnumerable <T> value) { if (value != null) { writer.WriteArrayBegin(); foreach (var item in value) { writer.WriteValue(item); } writer.WriteArrayEnd(); } else { writer.WriteNull(); } }
public static void WriteValue <T1, T2, T3, T4, T5, T6, T7>(this IJSValueWriter writer, Tuple <T1, T2, T3, T4, T5, T6, T7> value) { if (value != null) { writer.WriteArrayBegin(); writer.WriteValue(value.Item1); writer.WriteValue(value.Item2); writer.WriteValue(value.Item3); writer.WriteValue(value.Item4); writer.WriteValue(value.Item5); writer.WriteValue(value.Item6); writer.WriteValue(value.Item7); writer.WriteArrayEnd(); } else { writer.WriteNull(); } }
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(); }
// Writing RobotModel enum value. It could be generated instead. public static void WriteValue(this IJSValueWriter writer, RobotModel value) { writer.WriteValue((int)value); }
public static void WriteObjectProperty <T>(this IJSValueWriter writer, string name, T value) { writer.WritePropertyName(name); writer.WriteValue(value); }
public static void WriteValue <T>(this IJSValueWriter writer, T[] value) { writer.WriteValue(value as IEnumerable <T>); }
public static void WriteValue <T>(this IJSValueWriter writer, IReadOnlyCollection <T> value) { writer.WriteValue(value as IEnumerable <T>); }
public static void WriteValue <T>(this IJSValueWriter writer, IReadOnlyCollection <KeyValuePair <string, T> > value) { writer.WriteValue(value as IEnumerable <KeyValuePair <string, T> >); }
public static void WriteValue <T>(this IJSValueWriter writer, IDictionary <string, T> value) { writer.WriteValue(value as IEnumerable <KeyValuePair <string, T> >); }