import {generate, LineArg} from "./generator"; import * as sources from "./Source"; export function generateIs (src : sources.Source) { generate({ checkName : src.name, generated : src.generated, imports : [ { alias : "check", path : src.generated ? `generated/sync/check/${src.name}` : `sync/check/${src.name}` } ], writeDirectory : "sync/is", lineCallback : (args : LineArg) : string[] => { const resultLines : string[] = []; resultLines.push(`export function is${args.functionName}${args.genericArg} (${args.functionArg.trim()}) : mixed is ${src.type} {`); resultLines.push(` return check.check${args.functionName}(${args.functionArgNames.join(", ")}) === undefined;`); resultLines.push(`}`); resultLines.push(""); return resultLines; } }); }