From c8e9199a8f17d50082a8b1de8845de0a76a4c4bd Mon Sep 17 00:00:00 2001 From: ci <61233757+MaxAake@users.noreply.github.com> Date: Wed, 15 Oct 2025 10:56:10 +0200 Subject: [PATCH] add quick exit in toStructure() for primitive types --- packages/bolt-connection/src/bolt/transformer.js | 5 +++++ .../lib/bolt-connection/bolt/transformer.js | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/packages/bolt-connection/src/bolt/transformer.js b/packages/bolt-connection/src/bolt/transformer.js index 341d4a6d2..b84468776 100644 --- a/packages/bolt-connection/src/bolt/transformer.js +++ b/packages/bolt-connection/src/bolt/transformer.js @@ -61,6 +61,11 @@ export default class Transformer { * @returns {|structure.Structure} The structure or the object, if any transformer was found */ toStructure (type) { + const valueType = typeof type + // captures 'string' | 'boolean' | 'bigint' | 'number' | 'undefined' | null + if ((valueType !== 'object' && valueType !== 'function' && valueType !== 'symbol') || type === null) { + return type + } const transformer = this._transformers.find(({ isTypeInstance }) => isTypeInstance(type)) if (transformer !== undefined) { return transformer.toStructure(type) diff --git a/packages/neo4j-driver-deno/lib/bolt-connection/bolt/transformer.js b/packages/neo4j-driver-deno/lib/bolt-connection/bolt/transformer.js index 8ea27491f..609a6bdce 100644 --- a/packages/neo4j-driver-deno/lib/bolt-connection/bolt/transformer.js +++ b/packages/neo4j-driver-deno/lib/bolt-connection/bolt/transformer.js @@ -61,6 +61,11 @@ export default class Transformer { * @returns {|structure.Structure} The structure or the object, if any transformer was found */ toStructure (type) { + const valueType = typeof type + // captures 'string' | 'boolean' | 'bigint' | 'number' | 'undefined' | null + if ((valueType !== 'object' && valueType !== 'function' && valueType !== 'symbol') || type === null) { + return type + } const transformer = this._transformers.find(({ isTypeInstance }) => isTypeInstance(type)) if (transformer !== undefined) { return transformer.toStructure(type)