UNPKG

1.61 kBTypeScriptView Raw
1import { CapturedArguments, CurriedType, Owner } from '@glimmer/interfaces';
2import { Reference } from '@glimmer/reference';
3declare const TYPE: unique symbol;
4declare const INNER: unique symbol;
5declare const OWNER: unique symbol;
6declare const ARGS: unique symbol;
7declare const RESOLVED: unique symbol;
8export declare function isCurriedValue(value: unknown): value is CurriedValue<CurriedType>;
9export declare function isCurriedType<T extends CurriedType>(value: unknown, type: T): value is CurriedValue<T>;
10export declare class CurriedValue<T extends CurriedType = CurriedType> {
11 [TYPE]: T;
12 [INNER]: object | string | CurriedValue<T>;
13 [OWNER]: Owner;
14 [ARGS]: CapturedArguments | null;
15 [RESOLVED]: boolean;
16 /** @internal */
17 constructor(type: T, inner: object | string | CurriedValue<T>, owner: Owner, args: CapturedArguments | null, resolved?: boolean);
18}
19interface ResolvedCurriedValue<T> {
20 definition: T;
21 owner: Owner;
22 resolved: boolean;
23 positional: Reference[] | undefined;
24 named: Record<string, Reference>[] | undefined;
25}
26export declare function resolveCurriedValue(curriedValue: CurriedValue<CurriedType.Component>): ResolvedCurriedValue<object | string>;
27export declare function resolveCurriedValue(curriedValue: CurriedValue<CurriedType.Helper> | CurriedValue<CurriedType.Modifier>): ResolvedCurriedValue<object>;
28export declare function curry<T extends CurriedType>(type: T, spec: object | string | CurriedValue<T>, owner: Owner, args: CapturedArguments | null, resolved?: boolean): CurriedValue<T>;
29export {};
30//# sourceMappingURL=curried-value.d.ts.map
\No newline at end of file