hunk.code_window:     "coveralls": "^3.1.0",
       "dom-expressions": "0.23.3",
       "hyper-dom-expressions": "0.23.3",
       "jest": "~26.4.2",
       "jest-ts-webcompat-resolver": "^1.0.0",
       "lerna": "^3.22.1",
  
hunk.labels: keep replace replace keep keep keep
hunk.after_edit:     "dom-expressions": "0.23.4",
       "hyper-dom-expressions": "0.23.4",
  
hunk.file_path: package.json
hunk.type: replace
file: import { ssr, ssrSpread } from "./syncSSR";
  import { splitProps, Component } from "solid-js/static";
  
  export * from "./syncSSR";
  
  export {
    For,
    Show,
    Suspense,
    SuspenseList,
    Switch,
    Match,
    Index,
    ErrorBoundary,
    assignProps
  } from "solid-js/static";
  
  export const isServer = true;
  
  export function spread() {}
  
  export function Dynamic<T>(
    props: T & { children?: any; component?: Component<T> | string | keyof JSX.IntrinsicElements }
  ) {
    const [p, others] = splitProps(props, ["component"]);
    const comp = p.component,
      t = typeof comp;
  
    if (comp) {
      if (t === "function") return (comp as Function)(others);
      else if (t === "string") {
        const [local, sOthers] = splitProps(others, ["children"]);
        return ssr([`<${comp} `, ">", `</${comp}>`], ssrSpread(sOthers), local.children || "");
      }
    }
  }
  
  export function Portal(props: { mount?: Node; useShadow?: boolean; children: JSX.Element }) {
    return "";
  }
  