import { Detail as FunctionDetail } from "./Detail" export type Functions = Record export namespace Functions { export function is(value: any | Functions): value is Functions { return ( typeof value == "object" && value != null && Object.keys(value).every(v => /[A-Za-z][A-Za-z0-9_]*/.test(v)) && Object.values(value).every(FunctionDetail.is) ) } export type Detail = FunctionDetail export namespace Detail { export const is = FunctionDetail.is export type Description = FunctionDetail.Description export namespace Description { export const is = FunctionDetail.Descripton.is } } }