1+ // tslint:disable:interface-over-type-literal
2+
13import * as React from "react" ;
24import { Environment , Network , RecordSource , Store , ConnectionHandler , FragmentReference } from "relay-runtime" ;
35
@@ -28,8 +30,21 @@ const modernEnvironment = new Environment({ network, store });
2830// ~~~~~~~~~~~~~~~~~~~~~
2931// Modern QueryRenderer
3032// ~~~~~~~~~~~~~~~~~~~~~
33+
34+ // Artifact produced by relay-compiler-language-typescript
35+ type MyQueryRendererVariables = {
36+ pageID : string ;
37+ } ;
38+ type MyQueryRendererResponse = {
39+ name : string ;
40+ } ;
41+ type MyQueryRenderer = {
42+ variables : MyQueryRendererVariables ;
43+ response : MyQueryRendererResponse ;
44+ } ;
45+
3146const MyQueryRenderer = ( props : { name : string ; show : boolean } ) => (
32- < QueryRenderer
47+ < QueryRenderer < MyQueryRenderer >
3348 environment = { modernEnvironment }
3449 query = {
3550 props . show
@@ -82,7 +97,6 @@ type StoryLike = (storyID: string) => void;
8297// Artifact produced by relay-compiler-language-typescript
8398declare const _Story_story$ref : unique symbol ;
8499type Story_story$ref = typeof _Story_story$ref ;
85- // tslint:disable-next-line:interface-over-type-literal
86100type Story_story = {
87101 readonly id : string ;
88102 readonly text : string ;
@@ -173,7 +187,6 @@ declare const _FeedStories_feed$ref: unique symbol;
173187type FeedStories_feed$ref = typeof _FeedStories_feed$ref ;
174188declare const _FeedStory_edges$ref : unique symbol ;
175189type FeedStory_edges$ref = typeof _FeedStory_edges$ref ;
176- // tslint:disable-next-line:interface-over-type-literal
177190type FeedStories_feed = {
178191 readonly edges : ReadonlyArray < {
179192 readonly node : {
@@ -184,7 +197,6 @@ type FeedStories_feed = {
184197 } > ;
185198 readonly " $refType" : FeedStories_feed$ref ;
186199} ;
187- // tslint:disable-next-line:interface-over-type-literal
188200type FeedStory_edges = ReadonlyArray < {
189201 readonly publishedAt : string ;
190202 readonly " $refType" : FeedStory_edges$ref ;
@@ -255,7 +267,6 @@ const Feed = (() => {
255267// Artifact produced by relay-compiler-language-typescript
256268declare const _UserFeed_user$ref : unique symbol ;
257269type UserFeed_user$ref = typeof _UserFeed_user$ref ;
258- // tslint:disable-next-line:interface-over-type-literal
259270type UserFeed_user = {
260271 readonly feed : {
261272 readonly pageInfo : {
@@ -372,7 +383,7 @@ export const mutation = graphql`
372383export const optimisticResponse = {
373384 markReadNotification : {
374385 notification : {
375- seenState : "SEEN" ,
386+ seenState : "SEEN" as "SEEN" ,
376387 } ,
377388 } ,
378389} ;
@@ -408,26 +419,47 @@ export const configs = [
408419] ;
409420
410421function markNotificationAsRead ( source : string , storyID : string ) {
411- const variables = {
412- input : {
413- source,
414- storyID,
415- } ,
422+ // Artifact produced by relay-compiler-language-typescript
423+ type MyMutationVariables = {
424+ readonly input : {
425+ readonly source : string ;
426+ readonly storyID : string ;
427+ } ;
428+ } ;
429+ type MyMutationResponse = {
430+ readonly markReadNotification : {
431+ readonly notification : {
432+ readonly seenState : "SEEN" | "UNSEEN" ;
433+ } ;
434+ } ;
435+ } ;
436+ type MyMutation = {
437+ readonly variables : MyMutationVariables ;
438+ readonly response : MyMutationResponse ;
416439 } ;
417440
418- commitMutation ( modernEnvironment , {
441+ commitMutation < MyMutation > ( modernEnvironment , {
419442 configs,
420443 mutation,
421444 optimisticResponse,
422- variables,
445+ variables : {
446+ input : {
447+ source,
448+ storyID,
449+ } ,
450+ } ,
423451 onCompleted : ( response , errors ) => {
424- console . log ( "Response received from server." ) ;
452+ if ( errors ) {
453+ console . log ( `Errors received from server: ${ errors . map ( error => error . message ) . join ( ", " ) } ` ) ;
454+ } else {
455+ console . log ( `Response received from server: ${ response . markReadNotification . notification . seenState } ` ) ;
456+ }
425457 } ,
426458 onError : err => console . error ( err ) ,
427459 updater : ( store , data ) => {
428- const field = store . get ( storyID ) ;
429- if ( field ) {
430- field . setValue ( data . story , "story " ) ;
460+ const story = store . get ( storyID ) ;
461+ if ( story ) {
462+ story . setValue ( data . markReadNotification . notification . seenState , "seenState " ) ;
431463 }
432464 } ,
433465 } ) ;
0 commit comments