/// <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)); }
/// <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); } }