export interface Description { arguments?: Record example?: Record summary?: string } export namespace Description { export function is(value: any | Description): value is Description { return ( typeof value == "object" && value != null && (value.arguments == undefined || (typeof value.arguments == "object" && Object.entries(value.arguments).every(k => typeof k[0] == "string" && typeof k[1] == "string"))) && (value.example == undefined || (typeof value.example == "object" && Object.entries(value.example).every(k => typeof k[0] == "string" && typeof k[1] == "string"))) && (value.summary == undefined || typeof value.summary == "string") ) } }