From 265976df1239c2fbe8016727e8e52f0e69255f89 Mon Sep 17 00:00:00 2001
From: Philipp Serrer <72248290+pserrer1@users.noreply.github.com>
Date: Wed, 29 May 2024 01:05:24 +0200
Subject: [PATCH] fix: incorrect hash because of missing params in decorator
 (#891)

---
 .changeset/early-spoons-scream.md            |  5 +++++
 packages/core/src/internal/decorator/node.ts | 17 ++++++++++++-----
 packages/core/tests/Node.test.ts             |  2 +-
 3 files changed, 18 insertions(+), 6 deletions(-)
 create mode 100644 .changeset/early-spoons-scream.md

diff --git a/.changeset/early-spoons-scream.md b/.changeset/early-spoons-scream.md
new file mode 100644
index 000000000..8fe79dc4e
--- /dev/null
+++ b/.changeset/early-spoons-scream.md
@@ -0,0 +1,5 @@
+---
+"llamaindex": minor
+---
+
+fix bug with node decorator
diff --git a/packages/core/src/internal/decorator/node.ts b/packages/core/src/internal/decorator/node.ts
index be52eac9f..25ec24156 100644
--- a/packages/core/src/internal/decorator/node.ts
+++ b/packages/core/src/internal/decorator/node.ts
@@ -4,12 +4,19 @@ import { getChunkSize } from "../settings/chunk-size.js";
 
 const emitOnce = false;
 
-export function chunkSizeCheck(
-  contentGetter: () => string,
-  _context: ClassMethodDecoratorContext | ClassGetterDecoratorContext,
+export function chunkSizeCheck<
+  This extends BaseNode,
+  Args extends any[],
+  Return,
+>(
+  contentGetter: (this: This, ...args: Args) => string,
+  _context: ClassMethodDecoratorContext<
+    This,
+    (this: This, ...args: Args) => Return
+  >,
 ) {
-  return function <Node extends BaseNode>(this: Node) {
-    const content = contentGetter.call(this);
+  return function (this: This, ...args: Args) {
+    const content = contentGetter.call(this, ...args);
     const chunkSize = getChunkSize();
     const enableChunkSizeCheck = getEnv("ENABLE_CHUNK_SIZE_CHECK") === "true";
     if (
diff --git a/packages/core/tests/Node.test.ts b/packages/core/tests/Node.test.ts
index 0bbfab42a..08ad45690 100644
--- a/packages/core/tests/Node.test.ts
+++ b/packages/core/tests/Node.test.ts
@@ -53,7 +53,7 @@ describe("TextNode", () => {
         "endCharIdx": undefined,
         "excludedEmbedMetadataKeys": [],
         "excludedLlmMetadataKeys": [],
-        "hash": "nTSKdUTYqR52MPv/brvb4RTGeqedTEqG9QN8KSAj2Do=",
+        "hash": "Z6SWgFPlalaeblMGQGw0KS3qKgmZdEWXKfzEp/K+QN0=",
         "id_": Any<String>,
         "metadata": {
           "something": 1,
-- 
GitLab