Skip to content

Commit cae3cb3

Browse files
committed
Minor refactor
1 parent 7b77eda commit cae3cb3

File tree

4 files changed

+22
-31
lines changed

4 files changed

+22
-31
lines changed

packages/abstractions/src/apiClientBuilder.ts

-28
This file was deleted.

packages/abstractions/src/index.ts

-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
* See License in the project root for license information.
55
* -------------------------------------------------------------------------------------------
66
*/
7-
export * from "./apiClientBuilder";
87
export * from "./apiClientProxifier";
98
export * from "./apiError";
109
export * from "./authentication";

packages/abstractions/src/serialization/serializationWriterFactoryRegistry.ts

+20
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import type { SerializationWriterFactory } from "./serializationWriterFactory";
99
import type { Parsable } from "./parsable";
1010
import type { ModelSerializerFunction } from "./serializationFunctionTypes";
1111
import { BackingStoreSerializationWriterProxyFactory } from "../store";
12+
import { ParseNodeFactoryRegistry } from "./parseNodeFactoryRegistry";
1213

1314
/** This factory holds a list of all the registered factories for the various types of nodes. */
1415
export class SerializationWriterFactoryRegistry implements SerializationWriterFactory {
@@ -177,4 +178,23 @@ export class SerializationWriterFactoryRegistry implements SerializationWriterFa
177178
const decoder = new TextDecoder();
178179
return decoder.decode(buffer);
179180
}
181+
182+
/**
183+
* Enables the backing store on default serialization writers and the given serialization writer.
184+
* @param parseNodeFactoryRegistry The parse node factory registry to enable the backing store on.
185+
* @param original The serialization writer to enable the backing store on.
186+
* @returns A new serialization writer with the backing store enabled.
187+
*/
188+
public enableBackingStoreForSerializationWriterFactory = (parseNodeFactoryRegistry: ParseNodeFactoryRegistry, original: SerializationWriterFactory): SerializationWriterFactory => {
189+
if (!original) throw new Error("Original must be specified");
190+
let result = original;
191+
if (original instanceof SerializationWriterFactoryRegistry) {
192+
original.enableBackingStoreForSerializationRegistry();
193+
} else {
194+
result = new BackingStoreSerializationWriterProxyFactory(original);
195+
}
196+
this.enableBackingStoreForSerializationRegistry();
197+
parseNodeFactoryRegistry.enableBackingStoreForParseNodeRegistry();
198+
return result;
199+
};
180200
}

packages/http/fetch/src/fetchRequestAdapter.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* -------------------------------------------------------------------------------------------
66
*/
77

8-
import { type ApiError, type AuthenticationProvider, type BackingStoreFactory, BackingStoreFactorySingleton, type DateOnly, DefaultApiError, type Duration, enableBackingStoreForSerializationWriterFactory, type ErrorMappings, type Parsable, type ParsableFactory, type ParseNode, type ParseNodeFactory, ParseNodeFactoryRegistry, type PrimitiveTypesForDeserialization, type PrimitiveTypesForDeserializationType, type RequestAdapter, type RequestInformation, type ResponseHandler, type ResponseHandlerOption, ResponseHandlerOptionKey, type SerializationWriterFactory, SerializationWriterFactoryRegistry, type TimeOnly } from "@microsoft/kiota-abstractions";
8+
import { type ApiError, type AuthenticationProvider, type BackingStoreFactory, BackingStoreFactorySingleton, type DateOnly, DefaultApiError, type Duration, type ErrorMappings, type Parsable, type ParsableFactory, type ParseNode, type ParseNodeFactory, ParseNodeFactoryRegistry, type PrimitiveTypesForDeserialization, type PrimitiveTypesForDeserializationType, type RequestAdapter, type RequestInformation, type ResponseHandler, type ResponseHandlerOption, ResponseHandlerOptionKey, type SerializationWriterFactory, SerializationWriterFactoryRegistry, type TimeOnly } from "@microsoft/kiota-abstractions";
99
import { type Span, SpanStatusCode, trace } from "@opentelemetry/api";
1010

1111
import { HttpClient } from "./httpClient";
@@ -365,7 +365,7 @@ export class FetchRequestAdapter implements RequestAdapter {
365365
throw new Error("parseNodeFactory is not a ParseNodeFactoryRegistry");
366366
}
367367
if (this.serializationWriterFactory instanceof SerializationWriterFactoryRegistry && this.parseNodeFactory instanceof ParseNodeFactoryRegistry) {
368-
this.serializationWriterFactory = enableBackingStoreForSerializationWriterFactory(this.serializationWriterFactory, this.parseNodeFactory, this.serializationWriterFactory);
368+
this.serializationWriterFactory = this.serializationWriterFactory.enableBackingStoreForSerializationWriterFactory(this.parseNodeFactory, this.serializationWriterFactory);
369369
} else {
370370
throw new Error("serializationWriterFactory is not a SerializationWriterFactoryRegistry or parseNodeFactory is not a ParseNodeFactoryRegistry");
371371
}

0 commit comments

Comments
 (0)