import type { Studio } from '@theatre/studio/Studio' ; import projectsSingleton from './projects/projectsSingleton' ; import { privateAPI } from './privateAPIs' ; import * as coreExports from './coreExports' ; export type CoreBits = { projectsP : typeof projectsSingleton . atom . pointer . projects ; privateAPI : typeof privateAPI ; coreExports : typeof coreExports ; } ; export default class CoreBundle { private _studio : Studio | undefined = undefined ; constructor ( ) { } get type ( ) : 'Theatre_CoreBundle' { return 'Theatre_CoreBundle' ; } get version ( ) { return process . env . version ; } getBitsForStudio ( studio , callback ) { if ( this . _studio ) { throw new Error ( `@theatre/core is already attached to @theatre/studio` ) ; } this . _studio = studio ; const bits = { projectsP : projectsSingleton . atom . pointer . projects , privateAPI : privateAPI , coreExports , } ; callback ( bits ) ; } }