import CompilerDelegate from './delegate'; import ExternalModuleTable from './external-module-table'; import { ComponentCapabilities, CompilableProgram, CompileTimeResolverDelegate, ModuleLocator, CompileTimeComponent } from '@glimmer/interfaces'; import { Option } from '@glimmer/util'; import { ModuleLocatorMap } from '..'; /** * The BundleCompilerResolver resolves references to objects inside a template into * handles that can be redeemed for concrete objects at runtime. * * For example, if the `translate` helper is used in a template (`{{translate * someText}}`), the compiler will invoke the resolver's `lookupHelper` method * with the name of the helper ("translate") and the locator for the template * that contained the invocation. * * The resolver is responsible for assigning a unique handle to this `translate` * helper and ensuring that any future calls to `lookupHelper` that refer to the * same helper return the same handle. */ export default class BundleCompilerLookup implements CompileTimeResolverDelegate { private delegate; private compilableTemplates; private meta; private table; constructor(delegate: CompilerDelegate, compilableTemplates: ModuleLocatorMap, meta: ModuleLocatorMap); resolve(handle: number): ModuleLocator; getTable(): ExternalModuleTable; getHandleByLocator(locator: ModuleLocator): number | undefined; setHandleByLocator(locator: ModuleLocator, handle: number): void; getCapabilities(handle: number): ComponentCapabilities; getLayout(handle: number): Option; lookupHelper(name: string, referrer: R): Option; lookupComponent(name: string, referrer: R): Option; lookupModifier(name: string, referrer: R): Option; lookupPartial(_name: string, _meta: R): Option; } //# sourceMappingURL=lookup.d.ts.map