import { JSONType } from "@nteract/commutable" ; import * as Immutable from "immutable" ; export interface HelpLink { text : string ; url : string ; } export const makeHelpLinkRecord = Immutable . Record < HelpLink > ( { text : "" , url : "#" } ) ; export type HelpLinkRecord = Immutable . RecordOf < HelpLink > ; export interface KernelInfo { protocolVersion : string ; implementation : string ; implementationVersion : string ; banner : string ; helpLinks ? : HelpLink [ ] | Immutable . List < HelpLinkRecord > ; languageName : string ; languageVersion : string ; mimetype : string ; fileExtension : string ; pygmentsLexer : string ; codemirrorMode : string | object | Immutable . Map < string , JSONType > ; nbconvertExporter : string ; } export type KernelInfoRecord = Immutable . RecordOf < KernelInfo > ; const kernelInfoRecordMaker = Immutable . Record < KernelInfo > ( { protocolVersion : "0.0.0" , implementation : "" , implementationVersion : "" , banner : "" , helpLinks : Immutable . List ( ) , languageName : "" , languageVersion : "" , mimetype : "" , fileExtension : "" , pygmentsLexer : "" , codemirrorMode : "text/plain" , nbconvertExporter : "" } ) ; export function makeKernelInfoRecord ( kernelInfo ) { return kernelInfoRecordMaker ( kernelInfo ) ; }