1 | import type { PresentArray } from '@glimmer/interfaces';
|
2 | import type { CallFields } from './base';
|
3 | import type { VariableReference } from './refs';
|
4 | import { SourceSlice } from '../../source/slice';
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 | export type LiteralValue = string | boolean | number | undefined | null;
|
11 | export interface LiteralTypes {
|
12 | string: string;
|
13 | boolean: boolean;
|
14 | number: number;
|
15 | null: null;
|
16 | undefined: undefined;
|
17 | }
|
18 | declare const LiteralExpression_base: import("./node").TypedNodeConstructor<"Literal", {
|
19 | value: LiteralValue;
|
20 | } & import("./node").BaseNodeFields>;
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 | export declare class LiteralExpression extends LiteralExpression_base {
|
27 | toSlice(this: StringLiteral): SourceSlice;
|
28 | }
|
29 | export type StringLiteral = LiteralExpression & {
|
30 | value: string;
|
31 | };
|
32 |
|
33 |
|
34 |
|
35 | export declare function isLiteral<K extends keyof LiteralTypes = keyof LiteralTypes>(node: ExpressionNode, kind?: K): node is StringLiteral;
|
36 | declare const PathExpression_base: import("./node").TypedNodeConstructor<"Path", {
|
37 | ref: VariableReference;
|
38 | tail: readonly SourceSlice[];
|
39 | } & import("./node").BaseNodeFields>;
|
40 |
|
41 |
|
42 |
|
43 |
|
44 |
|
45 |
|
46 |
|
47 |
|
48 |
|
49 |
|
50 |
|
51 |
|
52 | export declare class PathExpression extends PathExpression_base {
|
53 | }
|
54 | declare const KeywordExpression_base: import("./node").TypedNodeConstructor<"Keyword", {
|
55 | name: string;
|
56 | symbol: number;
|
57 | } & import("./node").BaseNodeFields>;
|
58 |
|
59 |
|
60 |
|
61 |
|
62 |
|
63 |
|
64 | export declare class KeywordExpression extends KeywordExpression_base {
|
65 | }
|
66 | declare const CallExpression_base: import("./node").TypedNodeConstructor<"Call", CallFields & import("./node").BaseNodeFields>;
|
67 |
|
68 |
|
69 |
|
70 |
|
71 |
|
72 |
|
73 |
|
74 |
|
75 |
|
76 |
|
77 | export declare class CallExpression extends CallExpression_base {
|
78 | }
|
79 | declare const InterpolateExpression_base: import("./node").TypedNodeConstructor<"Interpolate", {
|
80 | parts: PresentArray<ExpressionNode>;
|
81 | } & import("./node").BaseNodeFields>;
|
82 |
|
83 |
|
84 |
|
85 |
|
86 |
|
87 |
|
88 |
|
89 | export declare class InterpolateExpression extends InterpolateExpression_base {
|
90 | }
|
91 | export type ExpressionNode = LiteralExpression | PathExpression | KeywordExpression | CallExpression | InterpolateExpression;
|
92 | export {};
|