mirror of
https://github.com/run-llama/LlamaIndexTS.git
synced 2026-08-27 05:31:19 -04:00
43 lines
1.3 KiB
TypeScript
43 lines
1.3 KiB
TypeScript
import { CodeSplitter } from "@llamaindex/node-parser/code";
|
|
import Parser from "tree-sitter";
|
|
import JS from "tree-sitter-javascript";
|
|
import TS from "tree-sitter-typescript";
|
|
import { describe, expect, test } from "vitest";
|
|
|
|
describe("CodeSplitter", () => {
|
|
test("basic split js", async () => {
|
|
const parser = new Parser();
|
|
parser.setLanguage(JS as Parser.Language);
|
|
const codeSplitter = new CodeSplitter({
|
|
maxChars: "const a = 1;".length,
|
|
getParser: () => parser,
|
|
});
|
|
const result = codeSplitter.splitText(
|
|
"const a = 1; const b = 2; const c = 3; const d = 4;",
|
|
);
|
|
expect(result).toEqual([
|
|
"const a = 1;",
|
|
"const b = 2;",
|
|
"const c = 3;",
|
|
"const d = 4;",
|
|
]);
|
|
});
|
|
test("basic split ts", async () => {
|
|
const parser = new Parser();
|
|
parser.setLanguage(TS.typescript as Parser.Language);
|
|
const codeSplitter = new CodeSplitter({
|
|
maxChars: "const a: number = 1;".length,
|
|
getParser: () => parser,
|
|
});
|
|
const result = codeSplitter.splitText(
|
|
"const a: number = 1; const b = 2; const c: number = 3; const d = 4;",
|
|
);
|
|
expect(result).toEqual([
|
|
"const a: number = 1;",
|
|
"const b = 2;",
|
|
"const c: number = 3;",
|
|
"const d = 4;",
|
|
]);
|
|
});
|
|
});
|