@@ -59,7 +59,7 @@ import {
5959 nullReaderProxy ,
6060 nullWriterProxy ,
6161} from "./null" ;
62- import { serializeResponse } from "./serializer" ;
62+ import { DsRegistry } from "./serializer" ;
6363import {
6464 CheckRequest ,
6565 CheckResponse ,
@@ -133,6 +133,8 @@ export class DirectoryV3 {
133133 ImporterClient : Client < typeof Importer > ;
134134 ExporterClient : Client < typeof Exporter > ;
135135 ModelClient : Client < typeof Model > ;
136+ registry : DsRegistry ;
137+
136138 CreateTransport : (
137139 config : ServiceConfig | undefined ,
138140 fallback : ServiceConfig | undefined ,
@@ -275,12 +277,12 @@ export class DirectoryV3 {
275277 this . ExporterClient = ! ! exporterGrpcTransport
276278 ? createClient ( Exporter , exporterGrpcTransport )
277279 : nullExporterProxy ( ) ;
278-
279280 this . ModelClient = ! ! modelGrpcTransport
280281 ? createClient ( Model , modelGrpcTransport )
281282 : nullModelProxy ( ) ;
282283
283284 this . CreateTransport = createTransport ;
285+ this . registry = new DsRegistry ( ...( config . additionalDescriptors || [ ] ) ) ;
284286 }
285287
286288 async check (
@@ -293,7 +295,7 @@ export class DirectoryV3 {
293295 options ,
294296 ) ;
295297
296- return serializeResponse ( response ) ;
298+ return this . registry . serializeResponse ( response ) ;
297299 } catch ( error ) {
298300 throw handleError ( error , "check" ) ;
299301 }
@@ -313,7 +315,7 @@ export class DirectoryV3 {
313315 options ,
314316 ) ;
315317
316- return serializeResponse ( response ) ;
318+ return this . registry . serializeResponse ( response ) ;
317319 } catch ( error ) {
318320 throw handleError ( error , "object" ) ;
319321 }
@@ -330,7 +332,7 @@ export class DirectoryV3 {
330332 create ( GetObjectsRequestSchema , params ) ,
331333 options ,
332334 ) ;
333- return serializeResponse ( response ) ;
335+ return this . registry . serializeResponse ( response ) ;
334336 } catch ( error ) {
335337 throw handleError ( error , "objects" ) ;
336338 }
@@ -346,7 +348,7 @@ export class DirectoryV3 {
346348 options ,
347349 ) ;
348350
349- return serializeResponse ( response ) ;
351+ return this . registry . serializeResponse ( response ) ;
350352 } catch ( error ) {
351353 throw handleError ( error , "objectMany" ) ;
352354 }
@@ -365,7 +367,7 @@ export class DirectoryV3 {
365367 options ,
366368 ) ;
367369
368- return serializeResponse ( response ) ;
370+ return this . registry . serializeResponse ( response ) ;
369371 } catch ( error ) {
370372 throw handleError ( error , "setObject" ) ;
371373 }
@@ -381,7 +383,7 @@ export class DirectoryV3 {
381383 options ,
382384 ) ;
383385
384- return serializeResponse ( response ) ;
386+ return this . registry . serializeResponse ( response ) ;
385387 } catch ( error ) {
386388 throw handleError ( error , "deleteObject" ) ;
387389 }
@@ -397,7 +399,7 @@ export class DirectoryV3 {
397399 options ,
398400 ) ;
399401
400- return serializeResponse ( response ) ;
402+ return this . registry . serializeResponse ( response ) ;
401403 } catch ( error ) {
402404 throw handleError ( error , "relation" ) ;
403405 }
@@ -416,7 +418,7 @@ export class DirectoryV3 {
416418 options ,
417419 ) ;
418420
419- return serializeResponse ( response ) ;
421+ return this . registry . serializeResponse ( response ) ;
420422 } catch ( error ) {
421423 throw handleError ( error , "setRelation" ) ;
422424 }
@@ -432,7 +434,7 @@ export class DirectoryV3 {
432434 options ,
433435 ) ;
434436
435- return serializeResponse ( response ) ;
437+ return this . registry . serializeResponse ( response ) ;
436438 } catch ( error ) {
437439 throw handleError ( error , "deleteRelation" ) ;
438440 }
@@ -448,7 +450,7 @@ export class DirectoryV3 {
448450 }
449451
450452 const response = await this . ReaderClient . getRelations ( params , options ) ;
451- return serializeResponse ( response ) ;
453+ return this . registry . serializeResponse ( response ) ;
452454 } catch ( error ) {
453455 throw handleError ( error , "relations" ) ;
454456 }
@@ -464,7 +466,7 @@ export class DirectoryV3 {
464466 options ,
465467 ) ;
466468
467- return serializeResponse ( response ) ;
469+ return this . registry . serializeResponse ( response ) ;
468470 } catch ( error ) {
469471 throw handleError ( error , "graph" ) ;
470472 }
@@ -527,7 +529,7 @@ export class DirectoryV3 {
527529 return {
528530 body,
529531 updatedAt : metadata ?. updatedAt
530- ? serializeResponse ( metadata ?. updatedAt )
532+ ? this . registry . serializeResponse ( metadata ?. updatedAt )
531533 : undefined ,
532534 etag : metadata ?. etag ,
533535 } ;
@@ -553,7 +555,7 @@ export class DirectoryV3 {
553555 options ,
554556 ) ;
555557
556- return serializeResponse ( response ) ;
558+ return this . registry . serializeResponse ( response ) ;
557559 } catch ( error ) {
558560 throw handleError ( error , "setManifest" ) ;
559561 }
@@ -566,7 +568,7 @@ export class DirectoryV3 {
566568 try {
567569 const response = await this . ModelClient . deleteManifest ( params ! , options ) ;
568570
569- return serializeResponse ( response ) ;
571+ return this . registry . serializeResponse ( response ) ;
570572 } catch ( error ) {
571573 throw handleError ( error , "deleteManifest" ) ;
572574 }
@@ -600,9 +602,10 @@ export async function readAsyncIterable<T>(
600602export async function serializeAsyncIterable < T extends Message > (
601603 gen : AsyncIterable < T > ,
602604) : Promise < T [ ] > {
605+ const registry = new DsRegistry ( ) ;
603606 const out : T [ ] = [ ] ;
604607 for await ( const x of gen ) {
605- out . push ( serializeResponse < T > ( x ) ) ;
608+ out . push ( registry . serializeResponse < T > ( x ) ) ;
606609 }
607610 return out ;
608611}
0 commit comments