@zvec/zvec-grep 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +222 -0
- package/README_CN.md +222 -0
- package/dist/cli/args.d.ts +2 -0
- package/dist/cli/args.js +611 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/commands.d.ts +2 -0
- package/dist/cli/commands.js +270 -0
- package/dist/cli/commands.js.map +1 -0
- package/dist/cli/errors.d.ts +6 -0
- package/dist/cli/errors.js +97 -0
- package/dist/cli/errors.js.map +1 -0
- package/dist/cli/format/context.d.ts +5 -0
- package/dist/cli/format/context.js +490 -0
- package/dist/cli/format/context.js.map +1 -0
- package/dist/cli/format/debug.d.ts +4 -0
- package/dist/cli/format/debug.js +42 -0
- package/dist/cli/format/debug.js.map +1 -0
- package/dist/cli/format/highlight.d.ts +3 -0
- package/dist/cli/format/highlight.js +106 -0
- package/dist/cli/format/highlight.js.map +1 -0
- package/dist/cli/format/progress.d.ts +9 -0
- package/dist/cli/format/progress.js +92 -0
- package/dist/cli/format/progress.js.map +1 -0
- package/dist/cli/format/range.d.ts +3 -0
- package/dist/cli/format/range.js +24 -0
- package/dist/cli/format/range.js.map +1 -0
- package/dist/cli/format/status.d.ts +7 -0
- package/dist/cli/format/status.js +200 -0
- package/dist/cli/format/status.js.map +1 -0
- package/dist/cli/help.d.ts +1 -0
- package/dist/cli/help.js +88 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +32 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/types.d.ts +56 -0
- package/dist/cli/types.js +10 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/cli/version.d.ts +1 -0
- package/dist/cli/version.js +11 -0
- package/dist/cli/version.js.map +1 -0
- package/dist/engine/collection/index.d.ts +50 -0
- package/dist/engine/collection/index.js +388 -0
- package/dist/engine/collection/index.js.map +1 -0
- package/dist/engine/errors/details.d.ts +6 -0
- package/dist/engine/errors/details.js +27 -0
- package/dist/engine/errors/details.js.map +1 -0
- package/dist/engine/errors/index.d.ts +14 -0
- package/dist/engine/errors/index.js +16 -0
- package/dist/engine/errors/index.js.map +1 -0
- package/dist/engine/models/catalog.d.ts +47 -0
- package/dist/engine/models/catalog.js +68 -0
- package/dist/engine/models/catalog.js.map +1 -0
- package/dist/engine/models/embeddings.d.ts +25 -0
- package/dist/engine/models/embeddings.js +100 -0
- package/dist/engine/models/embeddings.js.map +1 -0
- package/dist/engine/models/factory.d.ts +5 -0
- package/dist/engine/models/factory.js +66 -0
- package/dist/engine/models/factory.js.map +1 -0
- package/dist/engine/models/index.d.ts +6 -0
- package/dist/engine/models/index.js +5 -0
- package/dist/engine/models/index.js.map +1 -0
- package/dist/engine/models/providers/index.d.ts +2 -0
- package/dist/engine/models/providers/index.js +3 -0
- package/dist/engine/models/providers/index.js.map +1 -0
- package/dist/engine/models/providers/llama-cpp/embedding.d.ts +94 -0
- package/dist/engine/models/providers/llama-cpp/embedding.js +459 -0
- package/dist/engine/models/providers/llama-cpp/embedding.js.map +1 -0
- package/dist/engine/models/providers/llama-cpp/index.d.ts +1 -0
- package/dist/engine/models/providers/llama-cpp/index.js +2 -0
- package/dist/engine/models/providers/llama-cpp/index.js.map +1 -0
- package/dist/engine/models/providers/qwen/embedding.d.ts +38 -0
- package/dist/engine/models/providers/qwen/embedding.js +322 -0
- package/dist/engine/models/providers/qwen/embedding.js.map +1 -0
- package/dist/engine/models/providers/qwen/index.d.ts +1 -0
- package/dist/engine/models/providers/qwen/index.js +2 -0
- package/dist/engine/models/providers/qwen/index.js.map +1 -0
- package/dist/engine/models/ranking.d.ts +15 -0
- package/dist/engine/models/ranking.js +2 -0
- package/dist/engine/models/ranking.js.map +1 -0
- package/dist/engine/models/types.d.ts +30 -0
- package/dist/engine/models/types.js +2 -0
- package/dist/engine/models/types.js.map +1 -0
- package/dist/engine/pipeline/indexing/extractor/code/adapter.d.ts +19 -0
- package/dist/engine/pipeline/indexing/extractor/code/adapter.js +24 -0
- package/dist/engine/pipeline/indexing/extractor/code/adapter.js.map +1 -0
- package/dist/engine/pipeline/indexing/extractor/code/extractor.d.ts +14 -0
- package/dist/engine/pipeline/indexing/extractor/code/extractor.js +594 -0
- package/dist/engine/pipeline/indexing/extractor/code/extractor.js.map +1 -0
- package/dist/engine/pipeline/indexing/extractor/code/families/c-family.d.ts +2 -0
- package/dist/engine/pipeline/indexing/extractor/code/families/c-family.js +116 -0
- package/dist/engine/pipeline/indexing/extractor/code/families/c-family.js.map +1 -0
- package/dist/engine/pipeline/indexing/extractor/code/families/js-ts.d.ts +12 -0
- package/dist/engine/pipeline/indexing/extractor/code/families/js-ts.js +112 -0
- package/dist/engine/pipeline/indexing/extractor/code/families/js-ts.js.map +1 -0
- package/dist/engine/pipeline/indexing/extractor/code/families/metadata.d.ts +8 -0
- package/dist/engine/pipeline/indexing/extractor/code/families/metadata.js +83 -0
- package/dist/engine/pipeline/indexing/extractor/code/families/metadata.js.map +1 -0
- package/dist/engine/pipeline/indexing/extractor/code/families/name-field.d.ts +3 -0
- package/dist/engine/pipeline/indexing/extractor/code/families/name-field.js +22 -0
- package/dist/engine/pipeline/indexing/extractor/code/families/name-field.js.map +1 -0
- package/dist/engine/pipeline/indexing/extractor/code/languages/c.d.ts +1 -0
- package/dist/engine/pipeline/indexing/extractor/code/languages/c.js +15 -0
- package/dist/engine/pipeline/indexing/extractor/code/languages/c.js.map +1 -0
- package/dist/engine/pipeline/indexing/extractor/code/languages/cpp.d.ts +1 -0
- package/dist/engine/pipeline/indexing/extractor/code/languages/cpp.js +18 -0
- package/dist/engine/pipeline/indexing/extractor/code/languages/cpp.js.map +1 -0
- package/dist/engine/pipeline/indexing/extractor/code/languages/go.d.ts +2 -0
- package/dist/engine/pipeline/indexing/extractor/code/languages/go.js +72 -0
- package/dist/engine/pipeline/indexing/extractor/code/languages/go.js.map +1 -0
- package/dist/engine/pipeline/indexing/extractor/code/languages/java.d.ts +1 -0
- package/dist/engine/pipeline/indexing/extractor/code/languages/java.js +17 -0
- package/dist/engine/pipeline/indexing/extractor/code/languages/java.js.map +1 -0
- package/dist/engine/pipeline/indexing/extractor/code/languages/javascript.d.ts +2 -0
- package/dist/engine/pipeline/indexing/extractor/code/languages/javascript.js +25 -0
- package/dist/engine/pipeline/indexing/extractor/code/languages/javascript.js.map +1 -0
- package/dist/engine/pipeline/indexing/extractor/code/languages/python.d.ts +2 -0
- package/dist/engine/pipeline/indexing/extractor/code/languages/python.js +53 -0
- package/dist/engine/pipeline/indexing/extractor/code/languages/python.js.map +1 -0
- package/dist/engine/pipeline/indexing/extractor/code/languages/rust.d.ts +2 -0
- package/dist/engine/pipeline/indexing/extractor/code/languages/rust.js +29 -0
- package/dist/engine/pipeline/indexing/extractor/code/languages/rust.js.map +1 -0
- package/dist/engine/pipeline/indexing/extractor/code/languages/typescript.d.ts +2 -0
- package/dist/engine/pipeline/indexing/extractor/code/languages/typescript.js +37 -0
- package/dist/engine/pipeline/indexing/extractor/code/languages/typescript.js.map +1 -0
- package/dist/engine/pipeline/indexing/extractor/index.d.ts +44 -0
- package/dist/engine/pipeline/indexing/extractor/index.js +281 -0
- package/dist/engine/pipeline/indexing/extractor/index.js.map +1 -0
- package/dist/engine/pipeline/indexing/extractor/markdown/extractor.d.ts +13 -0
- package/dist/engine/pipeline/indexing/extractor/markdown/extractor.js +339 -0
- package/dist/engine/pipeline/indexing/extractor/markdown/extractor.js.map +1 -0
- package/dist/engine/pipeline/indexing/extractor/tree-sitter/grammar.d.ts +4 -0
- package/dist/engine/pipeline/indexing/extractor/tree-sitter/grammar.js +49 -0
- package/dist/engine/pipeline/indexing/extractor/tree-sitter/grammar.js.map +1 -0
- package/dist/engine/pipeline/indexing/extractor/tree-sitter/nodes.d.ts +3 -0
- package/dist/engine/pipeline/indexing/extractor/tree-sitter/nodes.js +26 -0
- package/dist/engine/pipeline/indexing/extractor/tree-sitter/nodes.js.map +1 -0
- package/dist/engine/pipeline/indexing/extractor/tree-sitter/parser.d.ts +2 -0
- package/dist/engine/pipeline/indexing/extractor/tree-sitter/parser.js +31 -0
- package/dist/engine/pipeline/indexing/extractor/tree-sitter/parser.js.map +1 -0
- package/dist/engine/pipeline/indexing/ids.d.ts +1 -0
- package/dist/engine/pipeline/indexing/ids.js +5 -0
- package/dist/engine/pipeline/indexing/ids.js.map +1 -0
- package/dist/engine/pipeline/indexing/index.d.ts +12 -0
- package/dist/engine/pipeline/indexing/index.js +538 -0
- package/dist/engine/pipeline/indexing/index.js.map +1 -0
- package/dist/engine/pipeline/indexing/root-paths.d.ts +7 -0
- package/dist/engine/pipeline/indexing/root-paths.js +151 -0
- package/dist/engine/pipeline/indexing/root-paths.js.map +1 -0
- package/dist/engine/pipeline/indexing/scanner/index.d.ts +5 -0
- package/dist/engine/pipeline/indexing/scanner/index.js +504 -0
- package/dist/engine/pipeline/indexing/scanner/index.js.map +1 -0
- package/dist/engine/pipeline/search/index.d.ts +12 -0
- package/dist/engine/pipeline/search/index.js +761 -0
- package/dist/engine/pipeline/search/index.js.map +1 -0
- package/dist/engine/service/index.d.ts +2 -0
- package/dist/engine/service/index.js +2 -0
- package/dist/engine/service/index.js.map +1 -0
- package/dist/engine/service/lexical.d.ts +29 -0
- package/dist/engine/service/lexical.js +482 -0
- package/dist/engine/service/lexical.js.map +1 -0
- package/dist/engine/service/root.d.ts +15 -0
- package/dist/engine/service/root.js +44 -0
- package/dist/engine/service/root.js.map +1 -0
- package/dist/engine/service/types.d.ts +157 -0
- package/dist/engine/service/types.js +2 -0
- package/dist/engine/service/types.js.map +1 -0
- package/dist/engine/service/zvec-grep.d.ts +2 -0
- package/dist/engine/service/zvec-grep.js +935 -0
- package/dist/engine/service/zvec-grep.js.map +1 -0
- package/dist/engine/storage/index.d.ts +42 -0
- package/dist/engine/storage/index.js +2 -0
- package/dist/engine/storage/index.js.map +1 -0
- package/dist/engine/storage/zvec.d.ts +51 -0
- package/dist/engine/storage/zvec.js +706 -0
- package/dist/engine/storage/zvec.js.map +1 -0
- package/dist/engine/types.d.ts +266 -0
- package/dist/engine/types.js +14 -0
- package/dist/engine/types.js.map +1 -0
- package/dist/engine/utils/glob.d.ts +6 -0
- package/dist/engine/utils/glob.js +110 -0
- package/dist/engine/utils/glob.js.map +1 -0
- package/dist/engine/utils/hash.d.ts +2 -0
- package/dist/engine/utils/hash.js +8 -0
- package/dist/engine/utils/hash.js.map +1 -0
- package/dist/engine/utils/json.d.ts +4 -0
- package/dist/engine/utils/json.js +45 -0
- package/dist/engine/utils/json.js.map +1 -0
- package/dist/engine/utils/lock.d.ts +19 -0
- package/dist/engine/utils/lock.js +254 -0
- package/dist/engine/utils/lock.js.map +1 -0
- package/dist/engine/utils/path.d.ts +4 -0
- package/dist/engine/utils/path.js +18 -0
- package/dist/engine/utils/path.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/package.json +47 -0
- package/skills/zvec-grep/SKILL.md +141 -0
- package/skills/zvec-grep/agents/openai.yaml +4 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { findIdentifierLeaf } from "../../tree-sitter/nodes.js";
|
|
2
|
+
import { extractCommonModifiers, extractGenericSignature, extractPrecedingDoc, } from "./metadata.js";
|
|
3
|
+
const C_FAMILY_FUNCTION_TYPES = new Set([
|
|
4
|
+
"declaration",
|
|
5
|
+
"field_declaration",
|
|
6
|
+
"function_definition",
|
|
7
|
+
"macro_type_specifier",
|
|
8
|
+
]);
|
|
9
|
+
const C_FAMILY_FUNCTION_DECLARATION_TYPES = new Set([
|
|
10
|
+
"declaration",
|
|
11
|
+
"field_declaration",
|
|
12
|
+
]);
|
|
13
|
+
export function createCFamilyAdapter(format, entityTypes, scopeTypes = []) {
|
|
14
|
+
return {
|
|
15
|
+
format,
|
|
16
|
+
entityTypes: new Set(entityTypes),
|
|
17
|
+
scopeTypes: new Set(scopeTypes),
|
|
18
|
+
shouldIndexEntity(node) {
|
|
19
|
+
if (!C_FAMILY_FUNCTION_DECLARATION_TYPES.has(node.type)) {
|
|
20
|
+
if (node.type === "macro_type_specifier") {
|
|
21
|
+
return extractCFunctionName(node.text) !== undefined;
|
|
22
|
+
}
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
return findDescendantByType(node, "function_declarator") !== null;
|
|
26
|
+
},
|
|
27
|
+
extractName(node) {
|
|
28
|
+
if (C_FAMILY_FUNCTION_TYPES.has(node.type)) {
|
|
29
|
+
const name = extractRawCFunctionName(node);
|
|
30
|
+
return name ? lastQualifiedPart(name) : undefined;
|
|
31
|
+
}
|
|
32
|
+
const name = node.childForFieldName("name");
|
|
33
|
+
if (name) {
|
|
34
|
+
return findIdentifierLeaf(name)?.text ?? name.text;
|
|
35
|
+
}
|
|
36
|
+
if (node.type === "type_definition") {
|
|
37
|
+
const declarator = node.childForFieldName("declarator");
|
|
38
|
+
return declarator ? findIdentifierLeaf(declarator)?.text : undefined;
|
|
39
|
+
}
|
|
40
|
+
return undefined;
|
|
41
|
+
},
|
|
42
|
+
classifyNode: classifyCFamilyNode,
|
|
43
|
+
scopeBreadcrumb: cFamilyScopeBreadcrumb,
|
|
44
|
+
extractSignature: extractGenericSignature,
|
|
45
|
+
extractDoc: extractPrecedingDoc,
|
|
46
|
+
extractModifiers: extractCommonModifiers,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function cFamilyScopeBreadcrumb(node, breadcrumb) {
|
|
50
|
+
if (!C_FAMILY_FUNCTION_TYPES.has(node.type)) {
|
|
51
|
+
return breadcrumb;
|
|
52
|
+
}
|
|
53
|
+
const name = extractRawCFunctionName(node);
|
|
54
|
+
const qualifier = name ? qualifierParts(name) : [];
|
|
55
|
+
if (qualifier.length === 0) {
|
|
56
|
+
return breadcrumb;
|
|
57
|
+
}
|
|
58
|
+
const parts = breadcrumb.length > 0 && breadcrumb[breadcrumb.length - 1] === qualifier[0]
|
|
59
|
+
? qualifier.slice(1)
|
|
60
|
+
: qualifier;
|
|
61
|
+
return [...breadcrumb, ...parts];
|
|
62
|
+
}
|
|
63
|
+
function classifyCFamilyNode(node) {
|
|
64
|
+
if (node.type === "type_definition") {
|
|
65
|
+
return typedefWrapsClassLikeBody(node) ? "class" : "alias";
|
|
66
|
+
}
|
|
67
|
+
if (node.type === "alias_declaration") {
|
|
68
|
+
return "alias";
|
|
69
|
+
}
|
|
70
|
+
if (node.type === "field_declaration" && findDescendantByType(node, "function_declarator")) {
|
|
71
|
+
return "function";
|
|
72
|
+
}
|
|
73
|
+
return undefined;
|
|
74
|
+
}
|
|
75
|
+
function extractRawCFunctionName(node) {
|
|
76
|
+
const declarator = node.childForFieldName("declarator")
|
|
77
|
+
?? findDescendantByType(node, "function_declarator");
|
|
78
|
+
const name = declarator ? findIdentifierLeaf(declarator)?.text : undefined;
|
|
79
|
+
return isSimpleCIdentifier(name)
|
|
80
|
+
? name
|
|
81
|
+
: extractCFunctionName(declarator?.text ?? node.text);
|
|
82
|
+
}
|
|
83
|
+
function qualifierParts(name) {
|
|
84
|
+
const parts = name.split("::").filter((part) => part.length > 0);
|
|
85
|
+
return parts.length > 1 ? parts.slice(0, -1) : [];
|
|
86
|
+
}
|
|
87
|
+
function lastQualifiedPart(name) {
|
|
88
|
+
return name.split("::").filter((part) => part.length > 0).at(-1) ?? name;
|
|
89
|
+
}
|
|
90
|
+
function typedefWrapsClassLikeBody(node) {
|
|
91
|
+
return ["struct_specifier", "union_specifier", "enum_specifier"].some((type) => {
|
|
92
|
+
const child = findDescendantByType(node, type);
|
|
93
|
+
return child?.childForFieldName("body") !== null && child?.childForFieldName("body") !== undefined;
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
function isSimpleCIdentifier(value) {
|
|
97
|
+
return value !== undefined && /^~?[A-Za-z_][A-Za-z0-9_]*(?:::[~A-Za-z_][A-Za-z0-9_]*)*$/.test(value);
|
|
98
|
+
}
|
|
99
|
+
function extractCFunctionName(text) {
|
|
100
|
+
const matches = [...text.matchAll(/([~A-Za-z_][~A-Za-z0-9_:]*)\s*\(/g)];
|
|
101
|
+
const [last] = matches.slice(-1);
|
|
102
|
+
return last?.[1];
|
|
103
|
+
}
|
|
104
|
+
function findDescendantByType(node, type) {
|
|
105
|
+
if (node.type === type) {
|
|
106
|
+
return node;
|
|
107
|
+
}
|
|
108
|
+
for (const child of node.namedChildren) {
|
|
109
|
+
const found = findDescendantByType(child, type);
|
|
110
|
+
if (found) {
|
|
111
|
+
return found;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=c-family.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"c-family.js","sourceRoot":"","sources":["../../../../../../../src/engine/pipeline/indexing/extractor/code/families/c-family.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { CodeSymbolType } from "../../../../../types.js";
|
|
2
|
+
import type { TSNode } from "../../tree-sitter/nodes.js";
|
|
3
|
+
import { extractCommonModifiers, extractPrecedingDoc } from "./metadata.js";
|
|
4
|
+
export declare function shouldIndexJavascriptTypescriptEntity(node: TSNode): boolean;
|
|
5
|
+
export declare function hasJavascriptTypescriptFunctionValue(node: TSNode): boolean;
|
|
6
|
+
export declare function resolveJavascriptTypescriptEntities(node: TSNode): readonly TSNode[];
|
|
7
|
+
export declare function extractJavascriptTypescriptName(node: TSNode): string | undefined;
|
|
8
|
+
export declare function javascriptTypescriptScopeBreadcrumb(node: TSNode, breadcrumb: readonly string[]): readonly string[];
|
|
9
|
+
export declare function extractJavascriptTypescriptSignature(node: TSNode): string | undefined;
|
|
10
|
+
export declare function classifyJavascriptTypescriptNode(node: TSNode): CodeSymbolType | undefined;
|
|
11
|
+
export declare const extractJavascriptTypescriptDoc: typeof extractPrecedingDoc;
|
|
12
|
+
export declare const extractJavascriptTypescriptModifiers: typeof extractCommonModifiers;
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { closestAncestor, extractCommonModifiers, extractGenericSignature, extractPrecedingDoc, } from "./metadata.js";
|
|
2
|
+
const JS_TS_FUNCTION_VALUE_DECLARATION_TYPES = new Set([
|
|
3
|
+
"field_definition",
|
|
4
|
+
"public_field_definition",
|
|
5
|
+
"variable_declarator",
|
|
6
|
+
]);
|
|
7
|
+
const JS_TS_FUNCTION_VALUE_TYPES = new Set([
|
|
8
|
+
"arrow_function",
|
|
9
|
+
"function_expression",
|
|
10
|
+
]);
|
|
11
|
+
export function shouldIndexJavascriptTypescriptEntity(node) {
|
|
12
|
+
if (node.type === "method_definition" && isObjectMember(node)) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
if (node.type === "pair") {
|
|
16
|
+
return hasFunctionValue(node) && exportedObjectVariableName(node) !== undefined;
|
|
17
|
+
}
|
|
18
|
+
if (!JS_TS_FUNCTION_VALUE_DECLARATION_TYPES.has(node.type)) {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
if (node.type === "variable_declarator" && exportedObjectFunctionEntities(node).length > 0) {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
return hasFunctionValue(node);
|
|
25
|
+
}
|
|
26
|
+
export function hasJavascriptTypescriptFunctionValue(node) {
|
|
27
|
+
return hasFunctionValue(node);
|
|
28
|
+
}
|
|
29
|
+
export function resolveJavascriptTypescriptEntities(node) {
|
|
30
|
+
if (node.type !== "variable_declarator") {
|
|
31
|
+
return [node];
|
|
32
|
+
}
|
|
33
|
+
const objectEntities = exportedObjectFunctionEntities(node);
|
|
34
|
+
return objectEntities.length > 0 ? objectEntities : [node];
|
|
35
|
+
}
|
|
36
|
+
export function extractJavascriptTypescriptName(node) {
|
|
37
|
+
if (node.type === "pair") {
|
|
38
|
+
return node.childForFieldName("key")?.text.replace(/^['"`]|['"`]$/g, "");
|
|
39
|
+
}
|
|
40
|
+
return node.childForFieldName("name")?.text
|
|
41
|
+
?? findNamedIdentifierChild(node)?.text;
|
|
42
|
+
}
|
|
43
|
+
export function javascriptTypescriptScopeBreadcrumb(node, breadcrumb) {
|
|
44
|
+
const objectName = exportedObjectVariableName(node);
|
|
45
|
+
return objectName ? [...breadcrumb, objectName] : breadcrumb;
|
|
46
|
+
}
|
|
47
|
+
export function extractJavascriptTypescriptSignature(node) {
|
|
48
|
+
if (node.type === "pair") {
|
|
49
|
+
const key = extractJavascriptTypescriptName(node);
|
|
50
|
+
const value = node.childForFieldName("value");
|
|
51
|
+
const valueSignature = value ? extractGenericSignature(value) : undefined;
|
|
52
|
+
return key && valueSignature ? `${key}: ${valueSignature}` : extractGenericSignature(node);
|
|
53
|
+
}
|
|
54
|
+
return extractGenericSignature(node);
|
|
55
|
+
}
|
|
56
|
+
export function classifyJavascriptTypescriptNode(node) {
|
|
57
|
+
if (node.type === "pair"
|
|
58
|
+
|| JS_TS_FUNCTION_VALUE_DECLARATION_TYPES.has(node.type)) {
|
|
59
|
+
return hasFunctionValue(node) ? "function" : undefined;
|
|
60
|
+
}
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
export const extractJavascriptTypescriptDoc = extractPrecedingDoc;
|
|
64
|
+
export const extractJavascriptTypescriptModifiers = extractCommonModifiers;
|
|
65
|
+
function hasFunctionValue(node) {
|
|
66
|
+
const value = node.childForFieldName("value")
|
|
67
|
+
?? node.namedChildren.find((child) => JS_TS_FUNCTION_VALUE_TYPES.has(child.type));
|
|
68
|
+
return value !== undefined && containsFunctionValue(value);
|
|
69
|
+
}
|
|
70
|
+
function containsFunctionValue(node) {
|
|
71
|
+
if (JS_TS_FUNCTION_VALUE_TYPES.has(node.type)) {
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
if (node.type !== "call_expression" && node.type !== "arguments") {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
return node.namedChildren.some((child) => containsFunctionValue(child));
|
|
78
|
+
}
|
|
79
|
+
function exportedObjectFunctionEntities(node) {
|
|
80
|
+
if (!isExportedVariableDeclarator(node)) {
|
|
81
|
+
return [];
|
|
82
|
+
}
|
|
83
|
+
const value = node.childForFieldName("value");
|
|
84
|
+
if (!value || (value.type !== "object" && value.type !== "object_expression")) {
|
|
85
|
+
return [];
|
|
86
|
+
}
|
|
87
|
+
return value.namedChildren.filter((child) => (child.type === "pair" && hasFunctionValue(child))
|
|
88
|
+
|| child.type === "method_definition");
|
|
89
|
+
}
|
|
90
|
+
function exportedObjectVariableName(node) {
|
|
91
|
+
const object = closestAncestor(node, "object") ?? closestAncestor(node, "object_expression");
|
|
92
|
+
const variable = object?.parent;
|
|
93
|
+
if (!variable || variable.type !== "variable_declarator" || !isExportedVariableDeclarator(variable)) {
|
|
94
|
+
return undefined;
|
|
95
|
+
}
|
|
96
|
+
return extractJavascriptTypescriptName(variable);
|
|
97
|
+
}
|
|
98
|
+
function isExportedVariableDeclarator(node) {
|
|
99
|
+
if (node.type !== "variable_declarator") {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
return closestAncestor(node, "export_statement") !== undefined;
|
|
103
|
+
}
|
|
104
|
+
function isObjectMember(node) {
|
|
105
|
+
return node.parent?.type === "object" || node.parent?.type === "object_expression";
|
|
106
|
+
}
|
|
107
|
+
function findNamedIdentifierChild(node) {
|
|
108
|
+
return node.namedChildren.find((child) => child.type === "identifier"
|
|
109
|
+
|| child.type === "property_identifier"
|
|
110
|
+
|| child.type === "type_identifier");
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=js-ts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-ts.js","sourceRoot":"","sources":["../../../../../../../src/engine/pipeline/indexing/extractor/code/families/js-ts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CodeEntityModifier } from "../../../../../types.js";
|
|
2
|
+
import type { TSNode } from "../../tree-sitter/nodes.js";
|
|
3
|
+
export declare function extractGenericSignature(node: TSNode): string | undefined;
|
|
4
|
+
export declare function extractPrecedingDoc(node: TSNode): string | undefined;
|
|
5
|
+
export declare function extractCommonModifiers(node: TSNode): CodeEntityModifier[];
|
|
6
|
+
export declare function isInsideNodeType(node: TSNode, type: string): boolean;
|
|
7
|
+
export declare function closestAncestor(node: TSNode, type: string): TSNode | undefined;
|
|
8
|
+
export declare function firstNonEmptyLine(text: string): string;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
const COMMENT_TYPES = new Set([
|
|
2
|
+
"comment",
|
|
3
|
+
"line_comment",
|
|
4
|
+
"block_comment",
|
|
5
|
+
"documentation_comment",
|
|
6
|
+
]);
|
|
7
|
+
export function extractGenericSignature(node) {
|
|
8
|
+
const body = node.childForFieldName("body")
|
|
9
|
+
?? node.namedChildren.find((child) => child.type === "statement_block"
|
|
10
|
+
|| child.type === "compound_statement"
|
|
11
|
+
|| child.type === "block"
|
|
12
|
+
|| child.type === "class_body"
|
|
13
|
+
|| child.type === "declaration_list"
|
|
14
|
+
|| child.type === "field_declaration_list");
|
|
15
|
+
const text = body && body.startIndex > node.startIndex
|
|
16
|
+
? node.text.slice(0, body.startIndex - node.startIndex).trimEnd()
|
|
17
|
+
: firstNonEmptyLine(node.text);
|
|
18
|
+
const normalized = text
|
|
19
|
+
.replace(/\s+/g, " ")
|
|
20
|
+
.replace(/\s*[{;]\s*$/, "")
|
|
21
|
+
.trim();
|
|
22
|
+
return normalized.length > 0 ? normalized : undefined;
|
|
23
|
+
}
|
|
24
|
+
export function extractPrecedingDoc(node) {
|
|
25
|
+
const comments = [];
|
|
26
|
+
let sibling = node.previousNamedSibling;
|
|
27
|
+
while (sibling && COMMENT_TYPES.has(sibling.type)) {
|
|
28
|
+
comments.unshift(cleanCommentText(sibling.text));
|
|
29
|
+
sibling = sibling.previousNamedSibling;
|
|
30
|
+
}
|
|
31
|
+
const doc = comments.join("\n").trim();
|
|
32
|
+
return doc.length > 0 ? doc : undefined;
|
|
33
|
+
}
|
|
34
|
+
export function extractCommonModifiers(node) {
|
|
35
|
+
const modifiers = new Set();
|
|
36
|
+
const signature = extractGenericSignature(node) ?? firstNonEmptyLine(node.text);
|
|
37
|
+
if (hasAncestor(node, "export_statement")) {
|
|
38
|
+
modifiers.add("exported");
|
|
39
|
+
}
|
|
40
|
+
for (const token of signature.matchAll(/\b(public|private|protected|internal|static|async|pub)\b/g)) {
|
|
41
|
+
modifiers.add(normalizeModifier(token[1]));
|
|
42
|
+
}
|
|
43
|
+
return [...modifiers];
|
|
44
|
+
}
|
|
45
|
+
export function isInsideNodeType(node, type) {
|
|
46
|
+
let parent = node.parent;
|
|
47
|
+
while (parent) {
|
|
48
|
+
if (parent.type === type) {
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
parent = parent.parent;
|
|
52
|
+
}
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
export function closestAncestor(node, type) {
|
|
56
|
+
let parent = node.parent;
|
|
57
|
+
while (parent) {
|
|
58
|
+
if (parent.type === type) {
|
|
59
|
+
return parent;
|
|
60
|
+
}
|
|
61
|
+
parent = parent.parent;
|
|
62
|
+
}
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
export function firstNonEmptyLine(text) {
|
|
66
|
+
return text.split(/\r?\n/).find((line) => line.trim().length > 0)?.trim() ?? "";
|
|
67
|
+
}
|
|
68
|
+
function hasAncestor(node, type) {
|
|
69
|
+
return closestAncestor(node, type) !== undefined;
|
|
70
|
+
}
|
|
71
|
+
function normalizeModifier(value) {
|
|
72
|
+
return value === "pub" ? "public" : value;
|
|
73
|
+
}
|
|
74
|
+
function cleanCommentText(text) {
|
|
75
|
+
return text
|
|
76
|
+
.replace(/^\/\*\*?/, "")
|
|
77
|
+
.replace(/\*\/$/, "")
|
|
78
|
+
.replace(/^\/\/\/?\s?/gm, "")
|
|
79
|
+
.replace(/^#\s?/gm, "")
|
|
80
|
+
.replace(/^\s*\*\s?/gm, "")
|
|
81
|
+
.trim();
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../../../../../src/engine/pipeline/indexing/extractor/code/families/metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { LanguageAdapter } from "../adapter.js";
|
|
2
|
+
export type NameFieldAdapterOptions = Pick<LanguageAdapter, "shouldIndexEntity">;
|
|
3
|
+
export declare function createNameFieldAdapter(format: string, entityTypes: readonly string[], scopeTypes?: readonly string[], options?: NameFieldAdapterOptions): LanguageAdapter;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { extractCommonModifiers, extractGenericSignature, extractPrecedingDoc, } from "./metadata.js";
|
|
2
|
+
export function createNameFieldAdapter(format, entityTypes, scopeTypes = [], options = {}) {
|
|
3
|
+
return {
|
|
4
|
+
format,
|
|
5
|
+
entityTypes: new Set(entityTypes),
|
|
6
|
+
scopeTypes: new Set(scopeTypes),
|
|
7
|
+
...options,
|
|
8
|
+
extractName(node) {
|
|
9
|
+
return node.childForFieldName("name")?.text
|
|
10
|
+
?? findNamedIdentifierChild(node)?.text;
|
|
11
|
+
},
|
|
12
|
+
extractSignature: extractGenericSignature,
|
|
13
|
+
extractDoc: extractPrecedingDoc,
|
|
14
|
+
extractModifiers: extractCommonModifiers,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function findNamedIdentifierChild(node) {
|
|
18
|
+
return node.namedChildren.find((child) => child.type === "identifier"
|
|
19
|
+
|| child.type === "property_identifier"
|
|
20
|
+
|| child.type === "type_identifier");
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=name-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"name-field.js","sourceRoot":"","sources":["../../../../../../../src/engine/pipeline/indexing/extractor/code/families/name-field.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAMvB,MAAM,UAAU,sBAAsB,CACpC,MAAc,EACd,WAA8B,EAC9B,aAAgC,EAAE,EAClC,UAAmC,EAAE;IAErC,OAAO;QACL,MAAM;QACN,WAAW,EAAE,IAAI,GAAG,CAAC,WAAW,CAAC;QACjC,UAAU,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC;QAC/B,GAAG,OAAO;QACV,WAAW,CAAC,IAAI;YACd,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,IAAI;mBACtC,wBAAwB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;QAC5C,CAAC;QACD,gBAAgB,EAAE,uBAAuB;QACzC,UAAU,EAAE,mBAAmB;QAC/B,gBAAgB,EAAE,sBAAsB;KACzC,CAAC;AACJ,CAAC;AAGD,SAAS,wBAAwB,CAAC,IAAY;IAC5C,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACvC,KAAK,CAAC,IAAI,KAAK,YAAY;WACxB,KAAK,CAAC,IAAI,KAAK,qBAAqB;WACpC,KAAK,CAAC,IAAI,KAAK,iBAAiB,CACpC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const C_ADAPTER: import("../adapter.js").LanguageAdapter;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { createCFamilyAdapter } from "../families/c-family.js";
|
|
2
|
+
export const C_ADAPTER = createCFamilyAdapter("c", [
|
|
3
|
+
"declaration",
|
|
4
|
+
"field_declaration",
|
|
5
|
+
"function_definition",
|
|
6
|
+
"macro_type_specifier",
|
|
7
|
+
"struct_specifier",
|
|
8
|
+
"union_specifier",
|
|
9
|
+
"enum_specifier",
|
|
10
|
+
"type_definition",
|
|
11
|
+
], [
|
|
12
|
+
"struct_specifier",
|
|
13
|
+
"union_specifier",
|
|
14
|
+
]);
|
|
15
|
+
//# sourceMappingURL=c.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"c.js","sourceRoot":"","sources":["../../../../../../../src/engine/pipeline/indexing/extractor/code/languages/c.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,MAAM,CAAC,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,EAAE;IACjD,aAAa;IACb,mBAAmB;IACnB,qBAAqB;IACrB,sBAAsB;IACtB,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;CAClB,EAAE;IACD,kBAAkB;IAClB,iBAAiB;CAClB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const CPP_ADAPTER: import("../adapter.js").LanguageAdapter;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { createCFamilyAdapter } from "../families/c-family.js";
|
|
2
|
+
export const CPP_ADAPTER = createCFamilyAdapter("cpp", [
|
|
3
|
+
"alias_declaration",
|
|
4
|
+
"declaration",
|
|
5
|
+
"field_declaration",
|
|
6
|
+
"function_definition",
|
|
7
|
+
"macro_type_specifier",
|
|
8
|
+
"class_specifier",
|
|
9
|
+
"struct_specifier",
|
|
10
|
+
"union_specifier",
|
|
11
|
+
"enum_specifier",
|
|
12
|
+
], [
|
|
13
|
+
"namespace_definition",
|
|
14
|
+
"class_specifier",
|
|
15
|
+
"struct_specifier",
|
|
16
|
+
"union_specifier",
|
|
17
|
+
]);
|
|
18
|
+
//# sourceMappingURL=cpp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cpp.js","sourceRoot":"","sources":["../../../../../../../src/engine/pipeline/indexing/extractor/code/languages/cpp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,MAAM,CAAC,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,EAAE;IACrD,mBAAmB;IACnB,aAAa;IACb,mBAAmB;IACnB,qBAAqB;IACrB,sBAAsB;IACtB,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;CACjB,EAAE;IACD,sBAAsB;IACtB,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;CAClB,CAAC,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { extractGenericSignature, extractPrecedingDoc, } from "../families/metadata.js";
|
|
2
|
+
export const GO_ADAPTER = {
|
|
3
|
+
format: "go",
|
|
4
|
+
entityTypes: new Set([
|
|
5
|
+
"function_declaration",
|
|
6
|
+
"method_spec",
|
|
7
|
+
"method_declaration",
|
|
8
|
+
"type_alias",
|
|
9
|
+
"type_spec",
|
|
10
|
+
]),
|
|
11
|
+
scopeTypes: new Set([
|
|
12
|
+
"type_spec",
|
|
13
|
+
]),
|
|
14
|
+
extractName(node) {
|
|
15
|
+
return node.childForFieldName("name")?.text;
|
|
16
|
+
},
|
|
17
|
+
shouldEnterScope(node) {
|
|
18
|
+
if (node.type !== "type_spec") {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
const type = node.childForFieldName("type");
|
|
22
|
+
return type?.type === "interface_type" || type?.type === "struct_type";
|
|
23
|
+
},
|
|
24
|
+
enterScopeNode(node) {
|
|
25
|
+
return node.childForFieldName("type") ?? node;
|
|
26
|
+
},
|
|
27
|
+
scopeBreadcrumb(node, breadcrumb) {
|
|
28
|
+
if (node.type !== "method_declaration") {
|
|
29
|
+
return breadcrumb;
|
|
30
|
+
}
|
|
31
|
+
const receiverType = extractGoReceiverType(node);
|
|
32
|
+
return receiverType ? [...breadcrumb, receiverType] : breadcrumb;
|
|
33
|
+
},
|
|
34
|
+
classifyNode(node) {
|
|
35
|
+
if (node.type === "type_alias") {
|
|
36
|
+
return "alias";
|
|
37
|
+
}
|
|
38
|
+
if (node.type === "type_spec") {
|
|
39
|
+
const type = node.childForFieldName("type");
|
|
40
|
+
if (type?.type === "interface_type") {
|
|
41
|
+
return "interface";
|
|
42
|
+
}
|
|
43
|
+
if (type?.type === "struct_type") {
|
|
44
|
+
return "class";
|
|
45
|
+
}
|
|
46
|
+
return "alias";
|
|
47
|
+
}
|
|
48
|
+
if (node.type === "method_spec") {
|
|
49
|
+
return "function";
|
|
50
|
+
}
|
|
51
|
+
return undefined;
|
|
52
|
+
},
|
|
53
|
+
extractSignature: extractGenericSignature,
|
|
54
|
+
extractDoc: extractPrecedingDoc,
|
|
55
|
+
extractModifiers(node) {
|
|
56
|
+
const name = node.childForFieldName("name")?.text;
|
|
57
|
+
const modifiers = [];
|
|
58
|
+
if (name && /^[A-Z]/.test(name)) {
|
|
59
|
+
modifiers.push("exported");
|
|
60
|
+
}
|
|
61
|
+
return modifiers;
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
function extractGoReceiverType(node) {
|
|
65
|
+
const receiver = node.childForFieldName("receiver");
|
|
66
|
+
if (!receiver) {
|
|
67
|
+
return undefined;
|
|
68
|
+
}
|
|
69
|
+
const match = receiver.text.match(/\*?\s*([A-Za-z_][A-Za-z0-9_]*)\s*\)/);
|
|
70
|
+
return match?.[1];
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=go.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"go.js","sourceRoot":"","sources":["../../../../../../../src/engine/pipeline/indexing/extractor/code/languages/go.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const JAVA_ADAPTER: import("../adapter.js").LanguageAdapter;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createNameFieldAdapter } from "../families/name-field.js";
|
|
2
|
+
export const JAVA_ADAPTER = createNameFieldAdapter("java", [
|
|
3
|
+
"annotation_type_declaration",
|
|
4
|
+
"class_declaration",
|
|
5
|
+
"constructor_declaration",
|
|
6
|
+
"enum_declaration",
|
|
7
|
+
"interface_declaration",
|
|
8
|
+
"method_declaration",
|
|
9
|
+
"record_declaration",
|
|
10
|
+
], [
|
|
11
|
+
"annotation_type_declaration",
|
|
12
|
+
"class_declaration",
|
|
13
|
+
"enum_declaration",
|
|
14
|
+
"interface_declaration",
|
|
15
|
+
"record_declaration",
|
|
16
|
+
]);
|
|
17
|
+
//# sourceMappingURL=java.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"java.js","sourceRoot":"","sources":["../../../../../../../src/engine/pipeline/indexing/extractor/code/languages/java.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAGnE,MAAM,CAAC,MAAM,YAAY,GAAG,sBAAsB,CAAC,MAAM,EAAE;IACzD,6BAA6B;IAC7B,mBAAmB;IACnB,yBAAyB;IACzB,kBAAkB;IAClB,uBAAuB;IACvB,oBAAoB;IACpB,oBAAoB;CACrB,EAAE;IACD,6BAA6B;IAC7B,mBAAmB;IACnB,kBAAkB;IAClB,uBAAuB;IACvB,oBAAoB;CACrB,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { classifyJavascriptTypescriptNode, extractJavascriptTypescriptDoc, extractJavascriptTypescriptModifiers, extractJavascriptTypescriptName, extractJavascriptTypescriptSignature, javascriptTypescriptScopeBreadcrumb, resolveJavascriptTypescriptEntities, shouldIndexJavascriptTypescriptEntity, } from "../families/js-ts.js";
|
|
2
|
+
export const JAVASCRIPT_ADAPTER = {
|
|
3
|
+
format: "javascript",
|
|
4
|
+
entityTypes: new Set([
|
|
5
|
+
"class_declaration",
|
|
6
|
+
"field_definition",
|
|
7
|
+
"function_declaration",
|
|
8
|
+
"generator_function_declaration",
|
|
9
|
+
"method_definition",
|
|
10
|
+
"pair",
|
|
11
|
+
"variable_declarator",
|
|
12
|
+
]),
|
|
13
|
+
scopeTypes: new Set([
|
|
14
|
+
"class_declaration",
|
|
15
|
+
]),
|
|
16
|
+
extractName: extractJavascriptTypescriptName,
|
|
17
|
+
shouldIndexEntity: shouldIndexJavascriptTypescriptEntity,
|
|
18
|
+
resolveEntities: resolveJavascriptTypescriptEntities,
|
|
19
|
+
scopeBreadcrumb: javascriptTypescriptScopeBreadcrumb,
|
|
20
|
+
classifyNode: classifyJavascriptTypescriptNode,
|
|
21
|
+
extractSignature: extractJavascriptTypescriptSignature,
|
|
22
|
+
extractDoc: extractJavascriptTypescriptDoc,
|
|
23
|
+
extractModifiers: extractJavascriptTypescriptModifiers,
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=javascript.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../../../../../../src/engine/pipeline/indexing/extractor/code/languages/javascript.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gCAAgC,EAChC,8BAA8B,EAC9B,oCAAoC,EACpC,+BAA+B,EAC/B,oCAAoC,EACpC,mCAAmC,EACnC,mCAAmC,EACnC,qCAAqC,GACtC,MAAM,sBAAsB,CAAC;AAG9B,MAAM,CAAC,MAAM,kBAAkB,GAAoB;IACjD,MAAM,EAAE,YAAY;IACpB,WAAW,EAAE,IAAI,GAAG,CAAC;QACnB,mBAAmB;QACnB,kBAAkB;QAClB,sBAAsB;QACtB,gCAAgC;QAChC,mBAAmB;QACnB,MAAM;QACN,qBAAqB;KACtB,CAAC;IACF,UAAU,EAAE,IAAI,GAAG,CAAC;QAClB,mBAAmB;KACpB,CAAC;IACF,WAAW,EAAE,+BAA+B;IAC5C,iBAAiB,EAAE,qCAAqC;IACxD,eAAe,EAAE,mCAAmC;IACpD,eAAe,EAAE,mCAAmC;IACpD,YAAY,EAAE,gCAAgC;IAC9C,gBAAgB,EAAE,oCAAoC;IACtD,UAAU,EAAE,8BAA8B;IAC1C,gBAAgB,EAAE,oCAAoC;CACvD,CAAC"}
|