in tensorboard/webapp/routes/dashboard_deeplink_provider.ts [236:307]
function extractPinnedCardsFromURLText(
urlText: string
): CardUniqueInfo[] | null {
// Check that the URL text parses.
let object;
try {
object = JSON.parse(urlText) as unknown;
} catch {
return null;
}
if (!Array.isArray(object)) {
return null;
}
const result = [];
for (const item of object) {
// Validate types.
const isPluginString = typeof item.plugin === 'string';
const isRunString = typeof item.runId === 'string';
const isSampleNumber = typeof item.sample === 'number';
const isTagString = typeof item.tag === 'string';
const isRunTypeValid = isRunString || typeof item.runId === 'undefined';
const isSampleTypeValid =
isSampleNumber || typeof item.sample === 'undefined';
if (
!isPluginString ||
!isTagString ||
!isRunTypeValid ||
!isSampleTypeValid
) {
continue;
}
// Required fields and range errors.
if (!isPluginType(item.plugin)) {
continue;
}
if (!item.tag) {
continue;
}
if (isSingleRunPlugin(item.plugin)) {
// A single run plugin must specify a non-empty run.
if (!item.runId) {
continue;
}
} else {
// A multi run plugin must not specify a run.
if (item.runId) {
continue;
}
}
if (isSampleNumber) {
if (!isSampledPlugin(item.plugin)) {
continue;
}
if (!Number.isInteger(item.sample) || item.sample < 0) {
continue;
}
}
// Assemble result.
const resultItem = {plugin: item.plugin, tag: item.tag} as CardUniqueInfo;
if (isRunString) {
resultItem.runId = item.runId;
}
if (isSampleNumber) {
resultItem.sample = item.sample;
}
result.push(resultItem);
}
return result;
}