11import { IServiceError , IServiceResult } from "facility-core" ;
2- import { IConformanceApi , IGetApiInfoRequest , IGetApiInfoResponse , IGetWidgetsRequest , IGetWidgetsResponse , ICreateWidgetRequest , ICreateWidgetResponse , IGetWidgetRequest , IGetWidgetResponse , IDeleteWidgetRequest , IDeleteWidgetResponse , IGetWidgetBatchRequest , IGetWidgetBatchResponse , IMirrorFieldsRequest , IMirrorFieldsResponse , ICheckQueryRequest , ICheckQueryResponse , ICheckPathRequest , ICheckPathResponse , IMirrorHeadersRequest , IMirrorHeadersResponse , IMixedRequest , IMixedResponse , IRequiredRequest , IRequiredResponse , IMirrorBytesRequest , IMirrorBytesResponse , IMirrorTextRequest , IMirrorTextResponse , IBodyTypesRequest , IBodyTypesResponse } from "./conformanceApiTypes" ;
2+ import {
3+ IConformanceApi ,
4+ IGetApiInfoRequest ,
5+ IGetApiInfoResponse ,
6+ IGetWidgetsRequest ,
7+ IGetWidgetsResponse ,
8+ ICreateWidgetRequest ,
9+ ICreateWidgetResponse ,
10+ IGetWidgetRequest ,
11+ IGetWidgetResponse ,
12+ IDeleteWidgetRequest ,
13+ IDeleteWidgetResponse ,
14+ IGetWidgetBatchRequest ,
15+ IGetWidgetBatchResponse ,
16+ IMirrorFieldsRequest ,
17+ IMirrorFieldsResponse ,
18+ ICheckQueryRequest ,
19+ ICheckQueryResponse ,
20+ ICheckPathRequest ,
21+ ICheckPathResponse ,
22+ IMirrorHeadersRequest ,
23+ IMirrorHeadersResponse ,
24+ IMixedRequest ,
25+ IMixedResponse ,
26+ IRequiredRequest ,
27+ IRequiredResponse ,
28+ IMirrorBytesRequest ,
29+ IMirrorBytesResponse ,
30+ IMirrorTextRequest ,
31+ IMirrorTextResponse ,
32+ IBodyTypesRequest ,
33+ IBodyTypesResponse ,
34+ IFibonacciRequest ,
35+ IFibonacciResponse ,
36+ } from "./conformanceApiTypes" ;
337
438export type ConformanceApiTest = {
539 test : string ;
@@ -14,68 +48,127 @@ export class ConformanceApiService implements IConformanceApi {
1448 this . _tests = tests ;
1549 }
1650
17- getApiInfo ( request : IGetApiInfoRequest , context ?: unknown ) : Promise < IServiceResult < IGetApiInfoResponse > > {
51+ getApiInfo (
52+ request : IGetApiInfoRequest ,
53+ context ?: unknown
54+ ) : Promise < IServiceResult < IGetApiInfoResponse > > {
1855 return this . execute ( "getApiInfo" , request ) ;
1956 }
2057
21- getWidgets ( request : IGetWidgetsRequest , context ?: unknown ) : Promise < IServiceResult < IGetWidgetsResponse > > {
58+ getWidgets (
59+ request : IGetWidgetsRequest ,
60+ context ?: unknown
61+ ) : Promise < IServiceResult < IGetWidgetsResponse > > {
2262 return this . execute ( "getWidgets" , request ) ;
2363 }
2464
25- createWidget ( request : ICreateWidgetRequest , context ?: unknown ) : Promise < IServiceResult < ICreateWidgetResponse > > {
65+ createWidget (
66+ request : ICreateWidgetRequest ,
67+ context ?: unknown
68+ ) : Promise < IServiceResult < ICreateWidgetResponse > > {
2669 return this . execute ( "createWidget" , request ) ;
2770 }
2871
29- getWidget ( request : IGetWidgetRequest , context ?: unknown ) : Promise < IServiceResult < IGetWidgetResponse > > {
72+ getWidget (
73+ request : IGetWidgetRequest ,
74+ context ?: unknown
75+ ) : Promise < IServiceResult < IGetWidgetResponse > > {
3076 return this . execute ( "getWidget" , request ) ;
3177 }
3278
33- deleteWidget ( request : IDeleteWidgetRequest , context ?: unknown ) : Promise < IServiceResult < IDeleteWidgetResponse > > {
79+ deleteWidget (
80+ request : IDeleteWidgetRequest ,
81+ context ?: unknown
82+ ) : Promise < IServiceResult < IDeleteWidgetResponse > > {
3483 return this . execute ( "deleteWidget" , request ) ;
3584 }
3685
37- getWidgetBatch ( request : IGetWidgetBatchRequest , context ?: unknown ) : Promise < IServiceResult < IGetWidgetBatchResponse > > {
86+ getWidgetBatch (
87+ request : IGetWidgetBatchRequest ,
88+ context ?: unknown
89+ ) : Promise < IServiceResult < IGetWidgetBatchResponse > > {
3890 return this . execute ( "getWidgetBatch" , request ) ;
3991 }
4092
41- mirrorFields ( request : IMirrorFieldsRequest , context ?: unknown ) : Promise < IServiceResult < IMirrorFieldsResponse > > {
93+ mirrorFields (
94+ request : IMirrorFieldsRequest ,
95+ context ?: unknown
96+ ) : Promise < IServiceResult < IMirrorFieldsResponse > > {
4297 return this . execute ( "mirrorFields" , request ) ;
4398 }
4499
45- checkQuery ( request : ICheckQueryRequest , context ?: unknown ) : Promise < IServiceResult < ICheckQueryResponse > > {
100+ checkQuery (
101+ request : ICheckQueryRequest ,
102+ context ?: unknown
103+ ) : Promise < IServiceResult < ICheckQueryResponse > > {
46104 return this . execute ( "checkQuery" , request ) ;
47105 }
48106
49- checkPath ( request : ICheckPathRequest , context ?: unknown ) : Promise < IServiceResult < ICheckPathResponse > > {
107+ checkPath (
108+ request : ICheckPathRequest ,
109+ context ?: unknown
110+ ) : Promise < IServiceResult < ICheckPathResponse > > {
50111 return this . execute ( "checkPath" , request ) ;
51112 }
52113
53- mirrorHeaders ( request : IMirrorHeadersRequest , context ?: unknown ) : Promise < IServiceResult < IMirrorHeadersResponse > > {
114+ mirrorHeaders (
115+ request : IMirrorHeadersRequest ,
116+ context ?: unknown
117+ ) : Promise < IServiceResult < IMirrorHeadersResponse > > {
54118 return this . execute ( "mirrorHeaders" , request ) ;
55119 }
56120
57- mixed ( request : IMixedRequest , context ?: unknown ) : Promise < IServiceResult < IMixedResponse > > {
121+ mixed (
122+ request : IMixedRequest ,
123+ context ?: unknown
124+ ) : Promise < IServiceResult < IMixedResponse > > {
58125 return this . execute ( "mixed" , request ) ;
59126 }
60127
61- required ( request : IRequiredRequest , context ?: unknown ) : Promise < IServiceResult < IRequiredResponse > > {
128+ required (
129+ request : IRequiredRequest ,
130+ context ?: unknown
131+ ) : Promise < IServiceResult < IRequiredResponse > > {
62132 return this . execute ( "required" , request ) ;
63133 }
64134
65- mirrorBytes ( request : IMirrorBytesRequest , context ?: unknown ) : Promise < IServiceResult < IMirrorBytesResponse > > {
135+ mirrorBytes (
136+ request : IMirrorBytesRequest ,
137+ context ?: unknown
138+ ) : Promise < IServiceResult < IMirrorBytesResponse > > {
66139 return this . execute ( "mirrorBytes" , request ) ;
67140 }
68141
69- mirrorText ( request : IMirrorTextRequest , context ?: unknown ) : Promise < IServiceResult < IMirrorTextResponse > > {
142+ mirrorText (
143+ request : IMirrorTextRequest ,
144+ context ?: unknown
145+ ) : Promise < IServiceResult < IMirrorTextResponse > > {
70146 return this . execute ( "mirrorText" , request ) ;
71147 }
72148
73- bodyTypes ( request : IBodyTypesRequest , context ?: unknown ) : Promise < IServiceResult < IBodyTypesResponse > > {
149+ bodyTypes (
150+ request : IBodyTypesRequest ,
151+ context ?: unknown
152+ ) : Promise < IServiceResult < IBodyTypesResponse > > {
74153 return this . execute ( "bodyTypes" , request ) ;
75154 }
76155
77- private async execute < TRequest , TResponse > ( methodName : string , request : TRequest ) : Promise < IServiceResult < TResponse > > {
78- const testsWithMethodName = this . _tests . filter ( ( x ) => x . method === methodName ) ;
156+ fibonacci (
157+ request : IFibonacciRequest ,
158+ context ?: unknown
159+ ) : Promise <
160+ IServiceResult < AsyncIterable < IServiceResult < IFibonacciResponse > > >
161+ > {
162+ return this . execute ( "fibonacci" , request ) ;
163+ }
164+
165+ private async execute < TRequest , TResponse > (
166+ methodName : string ,
167+ request : TRequest
168+ ) : Promise < IServiceResult < TResponse > > {
169+ const testsWithMethodName = this . _tests . filter (
170+ ( x ) => x . method === methodName
171+ ) ;
79172
80173 if ( testsWithMethodName . length === 0 ) {
81174 return this . failure ( {
@@ -96,13 +189,18 @@ export class ConformanceApiService implements IConformanceApi {
96189 }
97190
98191 var testInfo = testsWithMatchingRequest [ 0 ] ;
99- return testInfo . error ? this . failure ( testInfo . error ) : this . success ( testInfo . response as TResponse ) ;
192+ return testInfo . error
193+ ? this . failure ( testInfo . error )
194+ : this . success ( testInfo . response as TResponse ) ;
100195 }
101196
102- private success < T > ( result : T ) : IServiceResult < T > { return { value : result } ; }
197+ private success < T > ( result : T ) : IServiceResult < T > {
198+ return { value : result } ;
199+ }
103200
104- private failure < T > ( error : IServiceError ) : IServiceResult < T > { return { error} ; }
201+ private failure < T > ( error : IServiceError ) : IServiceResult < T > {
202+ return { error } ;
203+ }
105204
106205 private readonly _tests : readonly ConformanceApiTest [ ] ;
107-
108206}
0 commit comments