StreamXRef-help.xml

<?xml version="1.0" encoding="utf-8"?>
<helpItems schema="maml" xmlns="http://msh">
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Clear-XRefData</command:name>
      <command:verb>Clear</command:verb>
      <command:noun>XRefData</command:noun>
      <maml:description>
        <maml:para>Clears data from the internal lookup cache for the StreamXRef module.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The `Clear-XRefData` cmdlet clears either all data or any combination of the following for the `StreamXRef` module: API key, User lookup cache, Clip lookup cache, Video lookup cache.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Clear-XRefData</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>Name</maml:name>
          <maml:Description>
            <maml:para>Specify which data to clear. Accepts the folowing values:</maml:para>
            <maml:para>- ApiKey</maml:para>
            <maml:para>- Clip</maml:para>
            <maml:para>- User</maml:para>
            <maml:para>- Video</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="Keep">
          <maml:name>DaysToKeep</maml:name>
          <maml:Description>
            <maml:para>Specifies the number of days to keep in the `Clip` and `Video` caches. If used without at least one of these it will have no effect. (Recommended max value: 60)</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Clear-XRefData</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>RemoveAll</maml:name>
          <maml:Description>
            <maml:para>Remove the API key and all cached data.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>Name</maml:name>
        <maml:Description>
          <maml:para>Specify which data to clear. Accepts the folowing values:</maml:para>
          <maml:para>- ApiKey</maml:para>
          <maml:para>- Clip</maml:para>
          <maml:para>- User</maml:para>
          <maml:para>- Video</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="Keep">
        <maml:name>DaysToKeep</maml:name>
        <maml:Description>
          <maml:para>Specifies the number of days to keep in the `Clip` and `Video` caches. If used without at least one of these it will have no effect. (Recommended max value: 60)</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>RemoveAll</maml:name>
        <maml:Description>
          <maml:para>Remove the API key and all cached data.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- Example 1 --------------------------</maml:title>
        <dev:code>PS &gt; Clear-XRefData -Name Clip, Video -DaysToKeep 30</dev:code>
        <dev:remarks>
          <maml:para>This will clear data older than 30 days from the `Clip` and `Video` caches.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/awsr/PS-StreamXRef/blob/master/docs/Clear-XRefData.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Disable-XRefPersistence</command:name>
      <command:verb>Disable</command:verb>
      <command:noun>XRefPersistence</command:noun>
      <maml:description>
        <maml:para>Disables the built-in data persistence option for the StreamXRef module.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The `Disable-XRefPersistence` cmdlet disables the built-in data persistence option by renaming the file and unregistering the event subscriber. The `Remove` parameter can be specified to delete all persistent data files.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Disable-XRefPersistence</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Quiet</maml:name>
          <maml:Description>
            <maml:para>Suppress writing information messages to host.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Remove</maml:name>
          <maml:Description>
            <maml:para>Delete the data file instead of renaming it when disabling persistence (or delete the renamed file if persistence is already disabled).</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Quiet</maml:name>
        <maml:Description>
          <maml:para>Suppress writing information messages to host.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Remove</maml:name>
        <maml:Description>
          <maml:para>Delete the data file instead of renaming it when disabling persistence (or delete the renamed file if persistence is already disabled).</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- Example 1 --------------------------</maml:title>
        <dev:code>PS &gt; Disable-XRefPersistence</dev:code>
        <dev:remarks>
          <maml:para>Disable the built-in data persistence.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/awsr/PS-StreamXRef/blob/master/docs/Disable-XRefPersistence.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Enable-XRefPersistence</command:name>
      <command:verb>Enable</command:verb>
      <command:noun>XRefPersistence</command:noun>
      <maml:description>
        <maml:para>Enables the built-in data persistence option for the StreamXRef module.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The `Enable-XRefPersistence` cmdlet sets up automatic saving of cached data to a file (by default this is in the `StreamXRef` folder in your platform's Application Data directory).</maml:para>
      <maml:para>When the `StreamXRef` module is loaded, persistence will automatically be enabled if this file is detected.</maml:para>
      <maml:para>When persistence is enabled, any data from existing files will be imported. Additionally, clips and videos older than 60 days will be automatically removed.</maml:para>
      <maml:para>Note that automatic saving will only trigger when new data is added to the cache when running the `Find-TwitchXRef` cmdlet or if `Import-XRefData` is used with the `Persist` parameter.</maml:para>
      <maml:para>See Notes section in `Get-Help Enable-XRefPersistence -Full` for info on overriding the default path.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Enable-XRefPersistence</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Compress</maml:name>
          <maml:Description>
            <maml:para>Removes unnecessary whitespace from the persistence data file.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="NoMapping, ECM">
          <maml:name>ExcludeClipMapping</maml:name>
          <maml:Description>
            <maml:para>Excludes the cached Clip to Username results from the persistence data file.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:Description>
            <maml:para>Override the formatting parameters for the persistence file.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Quiet</maml:name>
          <maml:Description>
            <maml:para>Suppress writing information messages to host.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Compress</maml:name>
        <maml:Description>
          <maml:para>Removes unnecessary whitespace from the persistence data file.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="NoMapping, ECM">
        <maml:name>ExcludeClipMapping</maml:name>
        <maml:Description>
          <maml:para>Excludes the cached Clip to Username results from the persistence data file.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:Description>
          <maml:para>Override the formatting parameters for the persistence file.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Quiet</maml:name>
        <maml:Description>
          <maml:para>Suppress writing information messages to host.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>The path for persistence data can be overridden by specifying an absolute path in the `XRefPersistPath` environment variable (`$Env:XRefPersistPath`). If the path does not end in ".json" it will be treated as a directory and the default filename of "datacache.json" will be used. The value is read when the `StreamXRef` module is loaded and when this cmdlet is run.</maml:para>
        <maml:para>To revert to the default path, remove the environment variable, set it to `$null`, or set it to an empty string ("") and then run `Enable-XRefPersistence` again.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- Example 1 --------------------------</maml:title>
        <dev:code>PS &gt; Enable-XRefPersistence</dev:code>
        <dev:remarks>
          <maml:para>Enable the built-in data persistence.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- Example 2 --------------------------</maml:title>
        <dev:code>PS &gt; Enable-XRefPersistence -Compress -ExcludeClipMapping</dev:code>
        <dev:remarks>
          <maml:para>Use compression on the persistence data file and don't include clip result mappings.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/awsr/PS-StreamXRef/blob/master/docs/Enable-XRefPersistence.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Export-XRefData</command:name>
      <command:verb>Export</command:verb>
      <command:noun>XRefData</command:noun>
      <maml:description>
        <maml:para>Export the contents of the lookup data cache to a file.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The `Export-XRefData` cmdlet exports the contents of the lookup data cache as JSON to a specified file.</maml:para>
      <maml:para>The files created by this cmdlet can be used with `Import-XRefData`.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Export-XRefData</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="PSPath">
          <maml:name>Path</maml:name>
          <maml:Description>
            <maml:para>Specifies the path to the file where the JSON formatted data will be stored.</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Compress</maml:name>
          <maml:Description>
            <maml:para>Removes unnecessary whitespace from the JSON string. This results in smaller files at the expense of readability.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="NoKey, EAK">
          <maml:name>ExcludeApiKey</maml:name>
          <maml:Description>
            <maml:para>Excludes the cached API key from the export.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="NoMapping, ECM">
          <maml:name>ExcludeClipMapping</maml:name>
          <maml:Description>
            <maml:para>Excludes the cached Clip to Username results from the export.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:Description>
            <maml:para>Forces cmdlet to run and overwrite read-only files.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>NoClobber</maml:name>
          <maml:Description>
            <maml:para>Prevents overwriting an existing file.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:Description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:Description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Compress</maml:name>
        <maml:Description>
          <maml:para>Removes unnecessary whitespace from the JSON string. This results in smaller files at the expense of readability.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="NoKey, EAK">
        <maml:name>ExcludeApiKey</maml:name>
        <maml:Description>
          <maml:para>Excludes the cached API key from the export.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="NoMapping, ECM">
        <maml:name>ExcludeClipMapping</maml:name>
        <maml:Description>
          <maml:para>Excludes the cached Clip to Username results from the export.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:Description>
          <maml:para>Forces cmdlet to run and overwrite read-only files.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>NoClobber</maml:name>
        <maml:Description>
          <maml:para>Prevents overwriting an existing file.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="PSPath">
        <maml:name>Path</maml:name>
        <maml:Description>
          <maml:para>Specifies the path to the file where the JSON formatted data will be stored.</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:Description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:Description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para>You can pipeline a value for `Path` either as a string or by property name.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- Example 1 --------------------------</maml:title>
        <dev:code>PS &gt; Export-XRefData -Path XRefData.json</dev:code>
        <dev:remarks>
          <maml:para>This will export the contents of the lookup data cache to a file.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- Example 2 --------------------------</maml:title>
        <dev:code>PS &gt; Register-EngineEvent -SourceIdentifier XRefNewDataAdded -Action {Export-XRefData -Path /full/path/to/datacache.json}</dev:code>
        <dev:remarks>
          <maml:para>Automatically export the data cache whenever new data is added.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/awsr/PS-StreamXRef/blob/master/docs/Export-XRefData.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Find-TwitchXRef</command:name>
      <command:verb>Find</command:verb>
      <command:noun>TwitchXRef</command:noun>
      <maml:description>
        <maml:para>Cross-reference Twitch clips and video timestamps between different channels/users.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Given a Twitch clip or video timestamp URL, find the same moment from the cross-referenced video or channel and return it as a URL. This only works with stream archives because Twitch returns incorrect data for highlights and etc.</maml:para>
      <maml:para>You must provide your own API key. For Twitch this is the "Client ID" and can be obtained from the Twitch Developer Dashboard (https://dev.twitch.tv/console/apps/).</maml:para>
      <maml:para>An event with a `SourceIdentifier` of " XRefNewDataAdded " will be sent after running if new data was added to the lookup data cache and an event subscriber has been registered with `Register-EngineEvent`.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Find-TwitchXRef</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none">
          <maml:name>Source</maml:name>
          <maml:Description>
            <maml:para>Specifies what you're using for your point of reference. Accepts either a Twitch clip (as a URL or just the ID) or an archived Twitch broadcast with timestamp (as a URL or shorthand "v/...").</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="XRef">
          <maml:name>Target</maml:name>
          <maml:Description>
            <maml:para>Specifies where you want to perform the cross-reference lookup. Accepts either a Twitch channel/user (as a URL or just the name) or a Twitch video (as a URL or shorthand "v/...").</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Count</maml:name>
          <maml:Description>
            <maml:para>Specifies the number of most recent broadcasts to search when `Target` is a name. (1-100) Default: 20</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>20</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Offset</maml:name>
          <maml:Description>
            <maml:para>Specifies the number of results to offset the search range by. Default: 0</maml:para>
            <maml:para>(Useful if the source is older than 100 results.)</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ApiKey</maml:name>
          <maml:Description>
            <maml:para>Accepts your API key (for Twitch this is the "Client ID"). Required when one hasn't already been provided. Obtained from the Twitch Developer Dashboard (https://dev.twitch.tv/console/apps/).</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:Description>
            <maml:para>When specified, this cmdlet will skip reading from the internal lookup cache.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="en">
          <maml:name>ExplicitNull</maml:name>
          <maml:Description>
            <maml:para>When specified, this cmdlet will explicitly return a value of `$null` when encountering a predefined error (see Notes section in `Get-Help Find-TwitchXRef -Full`). This can be helpful when used in an environment where `Set-StrictMode` is enabled.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none">
        <maml:name>Source</maml:name>
        <maml:Description>
          <maml:para>Specifies what you're using for your point of reference. Accepts either a Twitch clip (as a URL or just the ID) or an archived Twitch broadcast with timestamp (as a URL or shorthand "v/...").</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="XRef">
        <maml:name>Target</maml:name>
        <maml:Description>
          <maml:para>Specifies where you want to perform the cross-reference lookup. Accepts either a Twitch channel/user (as a URL or just the name) or a Twitch video (as a URL or shorthand "v/...").</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Count</maml:name>
        <maml:Description>
          <maml:para>Specifies the number of most recent broadcasts to search when `Target` is a name. (1-100) Default: 20</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>20</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Offset</maml:name>
        <maml:Description>
          <maml:para>Specifies the number of results to offset the search range by. Default: 0</maml:para>
          <maml:para>(Useful if the source is older than 100 results.)</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>ApiKey</maml:name>
        <maml:Description>
          <maml:para>Accepts your API key (for Twitch this is the "Client ID"). Required when one hasn't already been provided. Obtained from the Twitch Developer Dashboard (https://dev.twitch.tv/console/apps/).</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:Description>
          <maml:para>When specified, this cmdlet will skip reading from the internal lookup cache.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="en">
        <maml:name>ExplicitNull</maml:name>
        <maml:Description>
          <maml:para>When specified, this cmdlet will explicitly return a value of `$null` when encountering a predefined error (see Notes section in `Get-Help Find-TwitchXRef -Full`). This can be helpful when used in an environment where `Set-StrictMode` is enabled.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para>Used for `Source`, `Target`, and `ApiKey` parameters. Can be pipelined by property name.</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.Int32</maml:name>
        </dev:type>
        <maml:description>
          <maml:para>Used for `Count` and `Offset` parameters.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para>If a result is found, the URL will be returned as a string.</maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Void (Null)</maml:name>
        </dev:type>
        <maml:description>
          <maml:para>If `ExplicitNull` is specified and a predefined error occurs, a null value will be returned</maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>The `Source` parameter works with both styles of clip URL that Twitch uses.</maml:para>
        <maml:para>The following ErrorIds are defined: * `MissingTimestamp`: The `Source` video URL is missing a timestamp parameter. ("...t=1h23m45s")</maml:para>
        <maml:para>* `VideoNotFound`: The originating video the source clip came from is unavailable or deleted.</maml:para>
        <maml:para>* `InvalidVideoType`: The source, originating, or `Target` video is not an archived broadcast.</maml:para>
        <maml:para>* `UserNotFound`: The user/channel name given for `Target` wasn't found.</maml:para>
        <maml:para>* `EventNotInRange`: The `Source` event happened before the earliest video returned by Twitch API.</maml:para>
        <maml:para>* `EventNotFound`: The `Source` event happened when the user/channel wasn't broadcasting.</maml:para>
        <maml:para></maml:para>
        <maml:para>The FullyQualifiedErrorId will be in the format of `&lt;ErrorId&gt;,Find-TwitchXRef`.</maml:para>
        <maml:para>When one of these errors occur, the cmdlet will move on to the next item from the pipeline (if any). If `ExplicitNull` is specified, the cmdlet will first return a value of `$null` before moving on to the next item.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- Example 1 --------------------------</maml:title>
        <dev:code>PS &gt; Find-TwitchXRef -Source "https://clips.twitch.tv/NameOfTheClip" -Target "ChannelName1" -ApiKey "1234567890abcdefghijklmnopqrst"
 
https://www.twitch.tv/videos/123456789?t=0h32m54s</dev:code>
        <dev:remarks>
          <maml:para>This will search through ChannelName1's most recent broadcasts and return a URL that goes to the timestamp in their video at the same moment.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- Example 2 --------------------------</maml:title>
        <dev:code>PS &gt; Find-TwitchXRef -Source "NameOfTheClip" -Target "https://www.twitch.tv/videos/123456789"
 
https://www.twitch.tv/videos/123456789?t=0h32m54s</dev:code>
        <dev:remarks>
          <maml:para>This will get the same result as the previous example, but uses just the name of the clip and a specific video to check against.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- Example 3 --------------------------</maml:title>
        <dev:code>PS &gt; Find-TwitchXRef -Source "https://www.twitch.tv/videos/123456789?t=0h32m54s" -Target "https://www.twitch.tv/ChannelName2" -Count 60
 
https://www.twitch.tv/videos/122333444?t=1h04m42s</dev:code>
        <dev:remarks>
          <maml:para>This will search through ChannelName2's 60 most recent broadcasts using a video URL with a timestamp as the source and return the corresponding URL that goes to the same moment from ChannelName2's perspective.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- Example 4 --------------------------</maml:title>
        <dev:code>PS &gt; Find-TwitchXRef "v/123456789?t=32m54s" "ChannelName2" -Count 60
 
https://www.twitch.tv/videos/122333444?t=1h04m42s</dev:code>
        <dev:remarks>
          <maml:para>This is the same search as shown in Example 3, but abbreviated using the shorthand syntax for videos.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/awsr/PS-StreamXRef/blob/master/docs/Find-TwitchXRef.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Import-XRefData</command:name>
      <command:verb>Import</command:verb>
      <command:noun>XRefData</command:noun>
      <maml:description>
        <maml:para>Import data to the lookup cache.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The `Import-XRefData` cmdlet lets you import data into the lookup cache from a JSON file that was made using `Export-XRefData`. If you use the `ApiKey` parameter, you can instead import just your API key from a string without having to invoke the main `Find-TwitchXRef` cmdlet.</maml:para>
      <maml:para>This cmdlet does not send an " XRefNewDataAdded " event when new data is added unless the `Persist` parameter is used.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Import-XRefData</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>ApiKey</maml:name>
          <maml:Description>
            <maml:para>Specifies your API key (for Twitch this is the "Client ID"). Obtained from the Twitch Developer Dashboard (https://dev.twitch.tv/console/apps/).</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:Description>
            <maml:para>Forces overwriting of existing data in the Clip, User, and Video lookup caches.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Persist</maml:name>
          <maml:Description>
            <maml:para>Enables sending an XRefNewDataAdded event after new data is imported if there's a registered event subscriber (or if persistence is enabled).</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Quiet</maml:name>
          <maml:Description>
            <maml:para>Suppress writing import results to host as well as per-item warning messages (but not errors).</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Import-XRefData</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="PSPath">
          <maml:name>Path</maml:name>
          <maml:Description>
            <maml:para>Specifies the path to a file containing JSON formatted data. Meant for use with `Export-XRefData`.</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:Description>
            <maml:para>Forces overwriting of existing data in the Clip, User, and Video lookup caches.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:Description>
            <maml:para>When specified, this cmdlet will return an object with the results of the import.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Persist</maml:name>
          <maml:Description>
            <maml:para>Enables sending an XRefNewDataAdded event after new data is imported if there's a registered event subscriber (or if persistence is enabled).</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Quiet</maml:name>
          <maml:Description>
            <maml:para>Suppress writing import results to host as well as per-item warning messages (but not errors).</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>ApiKey</maml:name>
        <maml:Description>
          <maml:para>Specifies your API key (for Twitch this is the "Client ID"). Obtained from the Twitch Developer Dashboard (https://dev.twitch.tv/console/apps/).</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:Description>
          <maml:para>Forces overwriting of existing data in the Clip, User, and Video lookup caches.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="PSPath">
        <maml:name>Path</maml:name>
        <maml:Description>
          <maml:para>Specifies the path to a file containing JSON formatted data. Meant for use with `Export-XRefData`.</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:Description>
          <maml:para>When specified, this cmdlet will return an object with the results of the import.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Persist</maml:name>
        <maml:Description>
          <maml:para>Enables sending an XRefNewDataAdded event after new data is imported if there's a registered event subscriber (or if persistence is enabled).</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Quiet</maml:name>
        <maml:Description>
          <maml:para>Suppress writing import results to host as well as per-item warning messages (but not errors).</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para>Only the `Path` parameter supports accepting a value from the pipeline.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>None or StreamXRef.ImportResults</maml:name>
        </dev:type>
        <maml:description>
          <maml:para>When the `PassThru` parameter is specified, this cmdlet returns a `[StreamXRef.ImportResults]` object (based on `[System.Collections.Generic.Dictionary]`) with the results of the import operation. Use `AllImported`, `AllSkipped`, `AllError`, or `AllTotal` properties to get the counts across all of the caches.</maml:para>
          <maml:para>Each object includes counts for `Imported`, `Skipped`, `Error`, and `Total`.</maml:para>
          <maml:para>* Imported: Number of entries successfully imported.</maml:para>
          <maml:para>* Skipped: Number of duplicate entries skipped.</maml:para>
          <maml:para>* Error: Number of entries that conflicted or could not be parsed and were not imported.</maml:para>
          <maml:para>* Total: Number of entries read.</maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Clip to Username mappings are considered low priority and any errors with them will only trigger a warning message at the end of the import.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- Example 1 --------------------------</maml:title>
        <dev:code>PS &gt; Import-XRefData -Path JsonFile.json</dev:code>
        <dev:remarks>
          <maml:para>Import previously-exported data from a file.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- Example 2 --------------------------</maml:title>
        <dev:code>PS &gt; Import-XRefData -ApiKey "1234567890abcdefghijklmnopqrst"</dev:code>
        <dev:remarks>
          <maml:para>Set your API key without invoking the main `Find-TwitchXRef` cmdlet.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- Example 3 --------------------------</maml:title>
        <dev:code>PS &gt; $Results = Import-XRefData -Path JsonFile.json -PassThru
PS &gt; $Results.Values | Format-Table
 
Name Imported Skipped Error Total
---- -------- ------- ----- -----
User 4 12 0 16
Clip 7 2 0 9
Video 5 1 0 6</dev:code>
        <dev:remarks>
          <maml:para>Save the results of importing and display them later as a table.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/awsr/PS-StreamXRef/blob/master/docs/Import-XRefData.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
</helpItems>