1+ /**
2+ * @license
3+ * Copyright 2025 Google LLC
4+ *
5+ * Licensed under the Apache License, Version 2.0 (the "License");
6+ * you may not use this file except in compliance with the License.
7+ * You may obtain a copy of the License at
8+ *
9+ * http://www.apache.org/licenses/LICENSE-2.0
10+ *
11+ * Unless required by applicable law or agreed to in writing, software
12+ * distributed under the License is distributed on an "AS IS" BASIS,
13+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+ * See the License for the specific language governing permissions and
15+ * limitations under the License.
16+ */
17+
118import { DataConnect , QueryRef , queryRef } from '../../src/api' ;
219describe ( 'Typings' , ( ) => {
3- it ( 'should properly infer the type' , ( ) => {
4- interface MyData {
5- extraField : boolean ;
6- }
7- const extendedType = Object . assign ( queryRef < MyData , undefined > ( { } as DataConnect , '' , undefined ) , {
8- __abc : true
9- } ) ;
10- function myFn < Data , Variables > ( queryRef : QueryRef < Data , Variables > ) {
11- const data = { } as Data ;
12- return { data} ;
13- }
14- myFn ( extendedType ) . data . extraField ;
15- } ) ;
16- } ) ;
20+ it ( 'should properly infer the type' , ( ) => {
21+ interface MyData {
22+ extraField : boolean ;
23+ }
24+ const extendedType = Object . assign (
25+ queryRef < MyData , undefined > ( { } as DataConnect , '' , undefined ) ,
26+ {
27+ __abc : true
28+ }
29+ ) ;
30+ function myFn < Data , Variables > ( queryRef : QueryRef < Data , Variables > ) {
31+ const data = { } as Data ;
32+ return { data } ;
33+ }
34+ myFn ( extendedType ) . data . extraField ;
35+ } ) ;
36+ } ) ;
0 commit comments