Skip to content

Commit 77f64f2

Browse files
committed
don't wrap the service provider in java land
1 parent 709de79 commit 77f64f2

File tree

4 files changed

+13
-4
lines changed

4 files changed

+13
-4
lines changed

packages/java-shell/src/main/kotlin/com/mongodb/mongosh/service/JavaServiceProvider.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ internal class JavaServiceProvider(private var client: MongoClient?,
2222
@HostAccess.Export
2323
val platform = "JavaShell"
2424

25+
@JvmField
26+
@HostAccess.Export
27+
val deepInspectWrappable = false
28+
2529
@HostAccess.Export
2630
override fun runCommand(database: String, spec: Value): Value = promise {
2731
getDatabase(database, null).map { db ->

packages/service-provider-core/src/service-provider.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,13 @@ export default interface ServiceProvider
1313
extends Readable,
1414
Writable,
1515
Closable,
16-
Admin {}
16+
Admin {
17+
deepInspectWrappable: boolean;
18+
}
1719

1820
export class ServiceProviderCore {
1921
public bsonLibrary: BSON;
22+
public deepInspectWrappable = true;
2023
constructor(bsonLibrary?: BSON) {
2124
if (bsonLibrary === undefined) {
2225
throw new MongoshInternalError('BSON Library is undefined.');

packages/shell-api/src/deep-inspect-service-provider-wrapper.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import { DeepInspectChangeStreamWrapper } from './deep-inspect-change-stream-wra
99
export class DeepInspectServiceProviderWrapper implements ServiceProvider {
1010
_sp: ServiceProvider;
1111

12+
deepInspectWrappable = false;
13+
1214
constructor(sp: ServiceProvider) {
1315
this._sp = sp;
1416
}

packages/shell-api/src/shell-instance-state.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -204,9 +204,9 @@ export class ShellInstanceState {
204204
cliOptions: ShellCliOptions = {},
205205
bsonLibrary: BSONLibrary = initialServiceProvider.bsonLibrary
206206
) {
207-
this.initialServiceProvider = new DeepInspectServiceProviderWrapper(
208-
initialServiceProvider
209-
);
207+
this.initialServiceProvider = initialServiceProvider.deepInspectWrappable
208+
? new DeepInspectServiceProviderWrapper(initialServiceProvider)
209+
: initialServiceProvider;
210210
this.bsonLibrary = bsonLibrary;
211211
this.messageBus = messageBus;
212212
this.shellApi = new ShellApi(this);

0 commit comments

Comments
 (0)