コード例 #1
0
ファイル: ReactPromise.cs プロジェクト: cas18/MeetUCan
        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();
        }
コード例 #2
0
        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;
            }
        }
コード例 #3
0
 public static void WriteValue(this IJSValueWriter writer, string value)
 {
     writer.WriteString(value);
 }
コード例 #4
0
 public static bool WriteValue(this IJSValueWriter writer, string value)
 {
     return(writer.WriteString(value));
 }