1+ === /tests/cases/fourslash/completionPropertyFromConstraint.ts ===
2+ // interface Styles {
3+ // alignContent: string | null;
4+ // alignItems: string | null;
5+ // alignmentBaseline: string | null;
6+ // // etc..
7+ // [key: string]: any
8+ // }
9+ //
10+ // interface StyleMap {
11+ // [name: string]: Partial<Styles>
12+ // }
13+ //
14+ // declare function createStyles<T extends StyleMap>(styles: T): T
15+ //
16+ // createStyles({
17+ // x: {
18+ // '': ''
19+ //
20+ // | ----------------------------------------------------------------------
21+ // | (property) alignContent?: string
22+ // | (property) alignItems?: string
23+ // | (property) alignmentBaseline?: string
24+ // | ----------------------------------------------------------------------
25+ // }
26+ // });
27+
28+ [
29+ {
30+ "marker": {
31+ "fileName": "/tests/cases/fourslash/completionPropertyFromConstraint.ts",
32+ "position": 300,
33+ "name": "1"
34+ },
35+ "item": {
36+ "isGlobalCompletion": false,
37+ "isMemberCompletion": true,
38+ "isNewIdentifierLocation": false,
39+ "optionalReplacementSpan": {
40+ "start": 300,
41+ "length": 0
42+ },
43+ "entries": [
44+ {
45+ "name": "alignContent",
46+ "kind": "property",
47+ "kindModifiers": "optional",
48+ "sortText": "11",
49+ "replacementSpan": {
50+ "start": 300,
51+ "length": 0
52+ },
53+ "displayParts": [
54+ {
55+ "text": "(",
56+ "kind": "punctuation"
57+ },
58+ {
59+ "text": "property",
60+ "kind": "text"
61+ },
62+ {
63+ "text": ")",
64+ "kind": "punctuation"
65+ },
66+ {
67+ "text": " ",
68+ "kind": "space"
69+ },
70+ {
71+ "text": "alignContent",
72+ "kind": "propertyName"
73+ },
74+ {
75+ "text": "?",
76+ "kind": "punctuation"
77+ },
78+ {
79+ "text": ":",
80+ "kind": "punctuation"
81+ },
82+ {
83+ "text": " ",
84+ "kind": "space"
85+ },
86+ {
87+ "text": "string",
88+ "kind": "keyword"
89+ }
90+ ],
91+ "documentation": []
92+ },
93+ {
94+ "name": "alignItems",
95+ "kind": "property",
96+ "kindModifiers": "optional",
97+ "sortText": "11",
98+ "replacementSpan": {
99+ "start": 300,
100+ "length": 0
101+ },
102+ "displayParts": [
103+ {
104+ "text": "(",
105+ "kind": "punctuation"
106+ },
107+ {
108+ "text": "property",
109+ "kind": "text"
110+ },
111+ {
112+ "text": ")",
113+ "kind": "punctuation"
114+ },
115+ {
116+ "text": " ",
117+ "kind": "space"
118+ },
119+ {
120+ "text": "alignItems",
121+ "kind": "propertyName"
122+ },
123+ {
124+ "text": "?",
125+ "kind": "punctuation"
126+ },
127+ {
128+ "text": ":",
129+ "kind": "punctuation"
130+ },
131+ {
132+ "text": " ",
133+ "kind": "space"
134+ },
135+ {
136+ "text": "string",
137+ "kind": "keyword"
138+ }
139+ ],
140+ "documentation": []
141+ },
142+ {
143+ "name": "alignmentBaseline",
144+ "kind": "property",
145+ "kindModifiers": "optional",
146+ "sortText": "11",
147+ "replacementSpan": {
148+ "start": 300,
149+ "length": 0
150+ },
151+ "displayParts": [
152+ {
153+ "text": "(",
154+ "kind": "punctuation"
155+ },
156+ {
157+ "text": "property",
158+ "kind": "text"
159+ },
160+ {
161+ "text": ")",
162+ "kind": "punctuation"
163+ },
164+ {
165+ "text": " ",
166+ "kind": "space"
167+ },
168+ {
169+ "text": "alignmentBaseline",
170+ "kind": "propertyName"
171+ },
172+ {
173+ "text": "?",
174+ "kind": "punctuation"
175+ },
176+ {
177+ "text": ":",
178+ "kind": "punctuation"
179+ },
180+ {
181+ "text": " ",
182+ "kind": "space"
183+ },
184+ {
185+ "text": "string",
186+ "kind": "keyword"
187+ }
188+ ],
189+ "documentation": []
190+ }
191+ ]
192+ }
193+ }
194+ ]
0 commit comments