Beispiel #1
0
        private static void Main(string[] args)
        {
            JsonObjectReader objectReader = new JsonObjectReader();
            dynamic          book         = new JObject();

            book.title       = "The Greatest Book Ever";
            book.publishDate = DateTime.Parse("01/15/2015");
            book.authors     = new JArray("Margaret Jones", "Eli Mather", "Ted Smith");

            /*------------------------------------------------------*/
            var objectFileDir = Directory.GetCurrentDirectory();
            var objectFile    = Path.Combine(objectFileDir, "Book.json");

            var obj = objectReader.LoadJsonObject(objectFile);

            Console.WriteLine("//////////////////////////////////////////////");
            foreach (var token in obj.Properties())
            {
                Console.WriteLine(token.Name + " - " + token.Value);
                Console.WriteLine("Token indexed: " + obj[token.Name]);
            }

            //var foo = obj.Where(p => p.Name == "Title");//.Select(p => p.Value);

            //TO DO

            /*
             * register methods on objects - store in JSON file with object properties
             * get data on the property, search the object properties?
             */
            if (Debugger.IsAttached)
            {
                Console.Read();
            }
        }
Beispiel #2
0
            public ServerEmojiUpdate(JObject data)
            {
                JsonObjectReader r = data.GetReader();

                ServerId = r.ReadSnowflake("guild_id");
                Emojis   = r.ReadObjectArray <EmojiJson>("emojis").Select(x => ServerEmoji.CreateFromJson(ServerId, x, null)).ToArray();
            }
Beispiel #3
0
            public ServerRole(JObject data)
            {
                JsonObjectReader r = data.GetReader();

                ServerId = r.ReadSnowflake("server_id");
                Role     = Role.CreateFromJson(ServerId, r.ReadObject <RoleJson>("role"), null);
            }
Beispiel #4
0
            public ServerUserUpdate(JObject data) : base(data, true)
            {
                JsonObjectReader r = data.GetReader();

                UserRoles = r.ReadSnowflakeArray("roles");
                Nickname  = r.ReadString("nick");
            }
Beispiel #5
0
            public RawMessage(JObject data, bool isSet)
            {
                JsonObjectReader r = data.GetReader();

                ChannelId = r.ReadSnowflake("channel_id");
                Messages  = isSet ? r.ReadSnowflakeArray("ids") : new ulong[] { r.ReadSnowflake("id") };
            }
Beispiel #6
0
            public Webhook(JObject data)
            {
                JsonObjectReader r = data.GetReader();

                ServerId  = r.ReadSnowflake("guild_id");
                ChannelId = r.ReadSnowflake("channel_id");
            }
Beispiel #7
0
            public ReactionRemoveAll(JObject data)
            {
                JsonObjectReader r = data.GetReader();

                MessageId = r.ReadSnowflake("message_id");
                ChannelId = r.ReadSnowflake("channel_id");
            }
        public static UnityObjectHandle ToObjectHandle(Object obj)
        {
            var handle = new UnityObjectHandle();

            if (!obj || null == obj)
            {
                return(handle);
            }

#if UNITY_EDITOR
            var json = UnityEditor.EditorJsonUtility.ToJson(new Container {
                o = obj
            });
            json = json.Substring(5, json.Length - 6);

            var reader = new JsonObjectReader(json);
            reader.ReadBeginObject();
            reader.ReadPropertyNameSegment(); // fileID
            handle.FileId = reader.ReadInt64();
            reader.ReadValueSeparator();
            reader.ReadPropertyNameSegment(); // guid
            handle.Guid = reader.ReadString();
            reader.ReadValueSeparator();
            reader.ReadPropertyNameSegment(); // type
            handle.Type = reader.ReadInt32();
            reader.ReadValueSeparator();
#endif
            return(handle);
        }
Beispiel #9
0
            public ServerRoleDelete(JObject data)
            {
                JsonObjectReader r = data.GetReader();

                RoleId   = r.ReadSnowflake("role_id");
                ServerId = r.ReadSnowflake("guild_id");
            }
Beispiel #10
0
        public GatewayHelloData(JObject obj) : this()
        {
            var r = new JsonObjectReader(obj);

            HeartbeatInterval = TimeSpan.FromMilliseconds(r.ReadDouble(_heartbeatKey));
            ConnectedServers  = r.ReadStringArray(_traceKey);
        }
Beispiel #11
0
        internal WebhookMessage(JsonObjectReader r) : base(r)
        {
            WebhookId = r.ReadString("webhook_id");
            Type      = MessageType.Webhook;
            var json = r.ReadObject <UserJson>("author");

            WebhookUsername = json.username;
            WebhookAvatar   = json.avatar;
        }
Beispiel #12
0
            public ChannelPinsUpdate(JObject data)
            {
                JsonObjectReader r = data.GetReader();

                ChannelId = r.ReadSnowflake("channel_id");
                string ts = r.ReadNullableString("list_pin_timestamp");

                LastPinTime = ts != null?DateTime.Parse(ts) : DateTime.MinValue;
            }
Beispiel #13
0
        internal override void UpdateInstance(JsonObjectReader r)
        {
            base.UpdateInstance(r);
            WebhookId = r.ReadString("webhook_id");
            Type      = MessageType.Webhook;
            var json = r.ReadObject <UserJson>("author");

            WebhookUsername = json.username;
            WebhookAvatar   = json.avatar;
        }
Beispiel #14
0
            public ServerUserSet(JObject data)
            {
                JsonObjectReader r = data.GetReader();

                ServerId = r.ReadSnowflake("guild_id");
                Users    = r.ReadObjectArray <ServerUserJson>("members").Select(x => {
                    User res = User.CreateFromJson(x.user, ServerId);
                    LazyUser.PushServerData(ServerId, x);
                    return(res);
                }).ToArray();
            }
Beispiel #15
0
            public Ready(JObject data)
            {
                JsonObjectReader r = data.GetReader();

                ProtocolVersion  = r.ReadInt32("v");
                ClientServerUser = User.CreateFromJson(r.ReadObject("user").ToObject <UserJson>(), null);
                // ReSharper disable once CoVariantArrayConversion (read-only)
                DmChannels      = r.ReadArray("private_channels").AllObject <ChannelJson>().Select(x => DirectMessageTextChannel.CreateFromJson(x, null)).ToArray();
                ServersToCreate = r.ReadObjectArray <UaServerJson>("guilds").Where(x => x.unavailable).Select(x => x.id).ToList();
                SessionId       = r.ReadString("session_id");
                Trace           = r.ReadStringArray("_trace");
            }
Beispiel #16
0
            public Reaction(JObject data)
            {
                JsonObjectReader r = data.GetReader();

                ReactorId = r.ReadSnowflake("user_id");
                MessageId = r.ReadSnowflake("message_id");
                ChannelId = r.ReadSnowflake("channel_id");
                JsonObjectReader re      = r.ReadObject("emoji");
                ulong?           emojiId = re.ReadNullableSnowflake("id");
                string           name    = re.ReadString("name");

                Emoji = emojiId != null ? (Emoji) new LazyServerEmoji((ulong)emojiId, name) : new GlobalEmoji(name);
            }
Beispiel #17
0
        internal virtual void UpdateInstance(JsonObjectReader r)
        {
            ulong cid = r.ReadSnowflake("channel_id");

            if (cid != ChannelId)
            {
                ChannelId = cid;
                Channel   = new CachedPromise <TextChannel>(new AliasCache <IChannel, TextChannel>(ChannelUtils._globalCache), ChannelId, TextChannel.GetAsync);
            }
            // author and webhook_id should be dealt with in this method's overloads
            if (r.Contains("content"))
            {
                Content = r.ReadString("content");
            }
            if (r.Contains("timestamp"))
            {
                CreationTime = DateTime.Parse(r.ReadString("timestamp"));
            }
            if (r.Contains("edited_timestamp"))
            {
                string letStr = r.ReadNullableString("edited_timestamp"); if (letStr != null)
                {
                    LastEditTime = (DateTime?)DateTime.Parse(letStr);
                }
            }
            if (r.Contains("tts"))
            {
                IsTextToSpeech = r.ReadBoolean("tts");
            }
            if (r.Contains("mention_everyone"))
            {
                MentionedEveryone = r.ReadBoolean("mention_everyone");
            }
            if (r.Contains("mentions"))
            {
                MentionedUsers = r.ReadObjectArray <UserJson>("mentions").Select(x => User.CreateFromJson(x, null)).ToIdDic();
            }
            if (r.Contains("mention_roles"))
            {
                MentionedRoles = r.ReadObjectArray <RoleJson>("mention_roles").Select(x => Role.CreateFromJson(((IServerChannel)Channel.GetCachedValue()).ServerId, x, null)).ToIdDic();
            }
            if (r.Contains("pinned"))
            {
                IsPinned = r.ReadBoolean("pinned");
            }
            if (r.Contains("type"))
            {
                MsgType = (InternalMessageType)r.ReadInt32("type");
            }
        }
Beispiel #18
0
 public ServerUser(JObject data, bool seperate)
 {
     if (seperate)
     {
         JsonObjectReader r = data.GetReader();
         ServerId = r.ReadSnowflake("guild_id");
         Data     = User.CreateFromJson(r.ReadObject <UserJson>("user"), ServerId);
     }
     else
     {
         var json = data.ToObject <ServerUserGatewayJson>();
         ServerId = json.guild_id;
         Data     = User.CreateFromJson(json, ServerId);
     }
 }
Beispiel #19
0
        public override void Initialize(IHostContext hostContext)
        {
            base.Initialize(hostContext);

            var assembly = Assembly.GetExecutingAssembly();
            var json     = default(string);

            using (var stream = assembly.GetManifestResourceStream("GitHub.Runner.Worker.action_yaml.json"))
                using (var streamReader = new StreamReader(stream))
                {
                    json = streamReader.ReadToEnd();
                }

            var objectReader = new JsonObjectReader(null, json);

            _actionManifestSchema = TemplateSchema.Load(objectReader);
            ArgUtil.NotNull(_actionManifestSchema, nameof(_actionManifestSchema));
            Trace.Info($"Load schema file with definitions: {StringUtil.ConvertToJson(_actionManifestSchema.Definitions.Keys)}");
        }
Beispiel #20
0
        internal static Message Create(JObject obj)
        {
            JsonObjectReader r  = obj.GetReader();
            ulong            id = r.ReadSnowflake("id");

            return(_cache.Mutex(() => {
                Message res;
                if (_cache.Contains(id))
                {
                    res = _cache[id];
                    res.UpdateInstance(r);
                }
                else
                {
                    res = r.Contains("webhook_id") ? (Message) new WebhookMessage(r) : new StandardMessage(r);
                }
                return res;
            }));
        }
Beispiel #21
0
        internal static Message Update(JObject obj)
        {
            JsonObjectReader r  = obj.GetReader();
            ulong            id = r.ReadSnowflake("id");

            return(_cache.Mutex(() => {
                Message res;
                if (_cache.Contains(id))
                {
                    res = _cache[id];
                    res.UpdateInstance(r);
                }
                else
                {
                    // TODO: Create new message object when GET Message endpoint is done
                    res = null;
                }
                return res;
            }));
        }
Beispiel #22
0
        // TODO: Make channel concrete instead of a promise, and thus fix the cast error
        protected Message(JsonObjectReader r)
        {
            Id           = r.ReadSnowflake("id");
            ChannelId    = r.ReadSnowflake("channel_id");
            Channel      = new CachedPromise <TextChannel>(new AliasCache <IChannel, TextChannel>(ChannelUtils._globalCache), ChannelId, TextChannel.GetAsync);
            Content      = r.ReadString("content");
            CreationTime = DateTime.Parse(r.ReadString("timestamp"));
            string letStr = r.ReadNullableString("edited_timestamp"); if (letStr != null)

            {
                LastEditTime = (DateTime?)DateTime.Parse(letStr);
            }

            IsTextToSpeech    = r.ReadBoolean("tts");
            MentionedEveryone = r.ReadBoolean("mention_everyone");
            MentionedUsers    = r.ReadObjectArray <UserJson>("mentions").Select(x => User.CreateFromJson(x, null)).ToIdDic();
            MentionedRoles    = r.ReadObjectArray <RoleJson>("mention_roles").Select(x => Role.CreateFromJson(((IServerChannel)Channel.GetCachedValue()).ServerId, x, null)).ToIdDic();
            IsPinned          = r.ReadBoolean("pinned");
            MsgType           = (InternalMessageType)r.ReadInt32("type");
            _cache.Add(this);
        }
Beispiel #23
0
        public void SetUp()
        {
            var srTracker = new StreamReader(mockTrackerPath);

            mockTrackerData = srTracker.ReadToEnd();

            var srDevice = new StreamReader(mockDevicePath);

            mockDeviceData = srDevice.ReadToEnd();

            Mock <IFileMgr> mockFileMgr = new Mock <IFileMgr>();


            mockFileMgr.Setup(fm => fm.GetContent(mockTrackerPath)).Returns(mockTrackerData);

            mockFileMgr.Setup(fm => fm.GetContent(mockDevicePath)).Returns(mockDeviceData);

            jsonObjectReaderTracker = new JsonObjectReader <TrackerRecord>(mockFileMgr.Object);

            jsonObjectReaderDevice = new JsonObjectReader <DeviceRecord>(mockFileMgr.Object);
        }
Beispiel #24
0
 internal StandardMessage(JsonObjectReader r) : base(r)
 {
     Author = User.CreateFromJson(r.ReadObject <UserJson>("author"), null);
     Type   = Author.IsBot ? MessageType.Bot : MessageType.User;
 }