src/language-js/print/module.js/printModuleSpecifier
function printModuleSpecifier(path, options, print) {
  const node = path.getNode();

  const { type } = node;

  /** @type {Doc[]} */
  const parts = [];

  /** @type {"type" | "typeof" | "value"} */
  const kind = type === "ImportSpecifier" ? node.importKind : node.exportKind;

  if (kind && kind !== "value") {
    parts.push(kind, " ");
  }

  const isImport = type.startsWith("Import");
  const leftSideProperty = isImport ? "imported" : "local";
  const rightSideProperty = isImport ? "local" : "exported";
  const leftSideNode = node[leftSideProperty];
  const rightSideNode = node[rightSideProperty];
  let left = "";
  let right = "";
  if (
    type === "ExportNamespaceSpecifier" ||
    type === "ImportNamespaceSpecifier"
  ) {
    left = "*";
  } else if (leftSideNode) {
    left = print(leftSideProperty);
  }

  if (rightSideNode && !isShorthandSpecifier(node)) {
    right = print(rightSideProperty);
  }

  parts.push(left, left && right ? " as " : "", right);
  return parts;
}