function loadPackage < L extends { promise : ( ) => Promise < any > ; module : string ; } > ( l ) ; function loadPackage ( { module } ) { try { return require ( module ) ; } catch ( e ) { return void 0 ; } } const CtlTypeScript = { promise : ( ) => import ( '@crosstype/ctl-typescript' ) , module : '@crosstype/ctl-typescript' } ; const CtlPython = { promise : ( ) => import ( '@crosstype/ctl-python' ) , module : '@crosstype/ctl-python' } ; const CtlJsonSchema = { promise : ( ) => import ( '@crosstype/ctl-json-schema' ) , module : '@crosstype/ctl-json-schema' } ; export const TypeScript = loadPackage ( CtlTypeScript ) ; export const Python = loadPackage ( CtlPython ) ; export const JsonSchema = loadPackage ( CtlJsonSchema ) ; export type TypeScript = typeof TypeScript ; export type Python = typeof Python ; export type JsonSchema = typeof JsonSchema ;