/// <summary>
        /// Generates the blocks definition.
        /// </summary>
        /// <returns></returns>
        public string GenerateBlocklyToolBoxValueDefinitionFile(string key = "")
        {
            var types = _actionList.GetAllTypesWithNullBlocklyType()

                        .ToArray();
            var blocklyToolboxValue = _jsGenerator.GenerateBlocklyToolBoxValue(types, key);

            return(blocklyToolboxValue);
        }
        /// <summary>
        /// Generates the blocks definition.
        /// </summary>
        /// <returns></returns>
        public string GenerateBlocklyToolBoxValueDefinitionFile(string key = "")
        {
            var types = ActionList().GetAllTypesWithNullBlocklyType()

                        .ToArray();

            var allTypes = types
                           .SelectMany(it => it.GetProperties())
                           .Where(it => it != null)
                           .Select(it => it.PropertyType)
                           .Where(it => it != null)
                           .Where(it => !it.ConvertibleToBlocklyType())
                           .ToArray();

            ;
            if (allTypes.Length > 0)
            {
                types = types.Union(allTypes).ToArray();
            }

            var blocklyToolboxValue = _jsGenerator.GenerateBlocklyToolBoxValue(types, key);

            return(blocklyToolboxValue);
        }