1 | import { Option } from '@glimmer/interfaces';
|
2 | export declare const REFERENCE: unique symbol;
|
3 | declare const enum ReferenceType {
|
4 | Constant = 0,
|
5 | Compute = 1,
|
6 | Unbound = 2,
|
7 | Invokable = 3
|
8 | }
|
9 | export interface Reference<_T = unknown> {
|
10 | [REFERENCE]: ReferenceType;
|
11 | debugLabel?: string;
|
12 | children: null | Map<string | Reference, Reference>;
|
13 | }
|
14 | export default Reference;
|
15 | export interface ReferenceEnvironment {
|
16 | getProp(obj: unknown, path: string): unknown;
|
17 | setProp(obj: unknown, path: string, value: unknown): unknown;
|
18 | }
|
19 | export declare function createPrimitiveRef(value: unknown): Reference;
|
20 | export declare const UNDEFINED_REFERENCE: Reference<unknown>;
|
21 | export declare const NULL_REFERENCE: Reference<unknown>;
|
22 | export declare const TRUE_REFERENCE: Reference<unknown>;
|
23 | export declare const FALSE_REFERENCE: Reference<unknown>;
|
24 | export declare function createConstRef(value: unknown, debugLabel: false | string): Reference;
|
25 | export declare function createUnboundRef(value: unknown, debugLabel: false | string): Reference;
|
26 | export declare function createComputeRef<T = unknown>(compute: () => T, update?: Option<(value: T) => void>, debugLabel?: false | string): Reference<T>;
|
27 | export declare function createReadOnlyRef(ref: Reference): Reference;
|
28 | export declare function isInvokableRef(ref: Reference): boolean;
|
29 | export declare function createInvokableRef(inner: Reference): Reference;
|
30 | export declare function isConstRef(_ref: Reference): boolean;
|
31 | export declare function isUpdatableRef(_ref: Reference): boolean;
|
32 | export declare function valueForRef<T>(_ref: Reference<T>): T;
|
33 | export declare function updateRef(_ref: Reference, value: unknown): void;
|
34 | export declare function childRefFor(_parentRef: Reference, path: string): Reference;
|
35 | export declare function childRefFromParts(root: Reference, parts: string[]): Reference;
|
36 | export declare let createDebugAliasRef: undefined | ((debugLabel: string, inner: Reference) => Reference);
|
37 | //# sourceMappingURL=reference.d.ts.map |
\ | No newline at end of file |