Example #1
0
        /// <summary>
        /// Create a query object around a module data object.
        /// </summary>
        /// <param name="name">The name of the module.</param>
        /// <param name="version">The version of the module.</param>
        /// <param name="moduleData">The module data object.</param>
        public ModuleData(string name, Version version, RuntimeData parent, Data.ModuleData moduleData)
        {
            _moduleData = moduleData;
            _parent     = parent;

            Name    = name;
            Version = version;

            _lazyCommands = new Lazy <Tuple <IReadOnlyDictionary <string, FunctionData>, IReadOnlyDictionary <string, CmdletData> > >(() => CreateCommandTables(moduleData.Functions, moduleData.Cmdlets));
            _lazyAliases  = new Lazy <IReadOnlyDictionary <string, IReadOnlyList <CommandData> > >(() => CreateAliasTable(_moduleData.Aliases));
        }
Example #2
0
        /// <summary>
        /// Create a query object around a module data object.
        /// </summary>
        /// <param name="name">The name of the module.</param>
        /// <param name="version">The version of the module.</param>
        /// <param name="moduleData">The module data object.</param>
        public ModuleData(string name, Version version, Data.ModuleData moduleData)
        {
            Name    = name;
            Version = version;
            Guid    = moduleData.Guid;
            Tuple <IReadOnlyDictionary <string, FunctionData>, IReadOnlyDictionary <string, CmdletData> > commands = CreateCommandTables(moduleData.Functions, moduleData.Cmdlets);

            Functions = commands.Item1;
            Cmdlets   = commands.Item2;
            if (moduleData.Variables != null)
            {
                Variables = new List <string>(moduleData.Variables);
            }
        }