UNPKG

ember-source

Version:

A JavaScript framework for creating ambitious web applications

45 lines 1.75 kB
declare module '@glimmer/runtime/lib/scope' { import type { Dict, DynamicScope, Nullable, Owner, Scope, ScopeBlock, ScopeSlot } from "@glimmer/interfaces"; import type { Reference } from "@glimmer/reference"; export class DynamicScopeImpl implements DynamicScope { private bucket; constructor(bucket?: Dict<Reference>); get(key: string): Reference; set(key: string, reference: Reference): Reference; child(): DynamicScopeImpl; } export function isScopeReference(s: ScopeSlot): s is Reference; export interface ScopeOptions { /** @default {UNDEFINED_REFERENCE} */ self: Reference; /** @default {0} */ size?: number | undefined; } export class ScopeImpl implements Scope { static root(owner: Owner, { self, size }: ScopeOptions): Scope; static sized(owner: Owner, size?: number): Scope; readonly owner: Owner; private slots; private callerScope; constructor(owner: Owner, slots: Array<ScopeSlot>, callerScope: Nullable<Scope>); init({ self }: { self: Reference; }): this; /** * @debug */ snapshot(): ScopeSlot[]; getSelf(): Reference; getSymbol(symbol: number): Reference; getBlock(symbol: number): Nullable<ScopeBlock>; bind(symbol: number, value: ScopeSlot): void; bindSelf(self: Reference): void; bindSymbol(symbol: number, value: Reference): void; bindBlock(symbol: number, value: Nullable<ScopeBlock>): void; bindCallerScope(scope: Nullable<Scope>): void; getCallerScope(): Nullable<Scope>; child(): Scope; private get; private set; } }