@invinite-org/chartlang-language-service 1.3.0 → 1.4.1
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/CHANGELOG.md +21 -0
- package/dist/_lib/collectCompletions.js.map +1 -1
- package/dist/_lib/isInsideIntervalLiteral.js.map +1 -1
- package/dist/_lib/isInsideOutputStringLiteral.js.map +1 -1
- package/dist/_lib/isInsideWithInputsKey.js.map +1 -1
- package/dist/_lib/mapDiagnostic.js.map +1 -1
- package/dist/_lib/resolveDepAccessor.js.map +1 -1
- package/dist/_lib/resolveFqnAtOffset.js.map +1 -1
- package/dist/_lib/toHoverDoc.js.map +1 -1
- package/dist/createLanguageService.d.ts.map +1 -1
- package/dist/createLanguageService.js +7 -1
- package/dist/createLanguageService.js.map +1 -1
- package/dist/hoverRegistry.generated.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +12 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# @invinite-org/chartlang-language-service
|
|
2
2
|
|
|
3
|
+
## 1.4.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 71ea0a5: Inline original TypeScript sources into emitted `.js.map` files (`inlineSources: true`). Published sourcemaps no longer reference missing `../src/*.ts` files, fixing "points to missing source files" warnings in downstream bundlers (e.g. Vite).
|
|
8
|
+
- Updated dependencies [71ea0a5]
|
|
9
|
+
- @invinite-org/chartlang-adapter-kit@1.2.1
|
|
10
|
+
- @invinite-org/chartlang-compiler@1.2.1
|
|
11
|
+
- @invinite-org/chartlang-core@1.1.1
|
|
12
|
+
|
|
13
|
+
## 1.4.0
|
|
14
|
+
|
|
15
|
+
### Minor Changes
|
|
16
|
+
|
|
17
|
+
- 134a0bf: Add an `inMemoryModules` option to `createLanguageService`. When `compileToDiagnostics` is NOT injected, the service runs the Node compiler locally for diagnostics; this option is forwarded to that `compile` call so a host where the workspace `@invinite-org/chartlang-*` packages are not resolvable on disk (e.g. a bundled serverless function) can supply pre-bundled package sources and avoid an esbuild "Could not resolve" failure. Ignored when `compileToDiagnostics` is provided.
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- Updated dependencies [6aeeb02]
|
|
22
|
+
- @invinite-org/chartlang-compiler@1.2.0
|
|
23
|
+
|
|
3
24
|
## 1.3.0
|
|
4
25
|
|
|
5
26
|
### Minor Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collectCompletions.js","sourceRoot":"","sources":["../../src/_lib/collectCompletions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"collectCompletions.js","sourceRoot":"","sources":["../../src/_lib/collectCompletions.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) 2026 Invinite. Licensed under the MIT License.\n// See the LICENSE file in the repo root for full license text.\n\nimport ts from \"typescript\";\n\nimport type { HoverRegistryEntry } from \"../hoverRegistry.generated.js\";\nimport type { CompletionItem } from \"../types.js\";\nimport { isInsideOutputStringLiteral } from \"./isInsideOutputStringLiteral.js\";\nimport { isInsideWithInputsKey } from \"./isInsideWithInputsKey.js\";\nimport { resolveDepInputsFor, resolveDepOutputsFor } from \"./resolveDepAccessor.js\";\nimport { toHoverDoc } from \"./toHoverDoc.js\";\n\n/**\n * Collect registry and source-local completion items for an offset.\n *\n * @since 0.4\n * @stable\n * @example\n * const items = collectCompletions(\"const length = 20;\", 5, {});\n * void items;\n */\nexport function collectCompletions(\n source: string,\n offset: number,\n registry: Readonly<Record<string, HoverRegistryEntry>>,\n): ReadonlyArray<CompletionItem> {\n if (isInsideOutputStringLiteral(source, offset)) {\n return Object.freeze(\n resolveDepOutputsFor(source, offset).map((title) =>\n Object.freeze({\n label: title,\n kind: \"property\" as const,\n insertText: title,\n detail: \"Series<number> output\",\n }),\n ),\n );\n }\n if (isInsideWithInputsKey(source, offset)) {\n return Object.freeze(\n resolveDepInputsFor(source, offset).map((entry) =>\n Object.freeze({\n label: entry.name,\n kind: \"property\" as const,\n insertText: entry.name,\n detail: `${entry.kind} (default: ${entry.defaultText})`,\n }),\n ),\n );\n }\n\n const registryItems = Object.values(registry).map(registryCompletion);\n const localItems = collectLocalIdentifiers(source).map((label) =>\n Object.freeze({\n label,\n kind: \"property\" as const,\n insertText: label,\n detail: \"local identifier\",\n }),\n );\n const byLabel = new Map<string, CompletionItem>();\n for (const item of [...registryItems, ...localItems]) byLabel.set(item.label, item);\n return Object.freeze([...byLabel.values()].sort((a, b) => a.label.localeCompare(b.label)));\n}\n\nfunction registryCompletion(entry: HoverRegistryEntry): CompletionItem {\n return Object.freeze({\n label: entry.fqn,\n kind: entry.kind === \"type\" ? \"property\" : entry.kind,\n insertText: entry.fqn,\n detail: entry.title,\n doc: toHoverDoc(entry),\n });\n}\n\nfunction collectLocalIdentifiers(source: string): ReadonlyArray<string> {\n const sourceFile = ts.createSourceFile(\"script.chart.ts\", source, ts.ScriptTarget.Latest, true);\n const names = new Set<string>();\n const visit = (node: ts.Node): void => {\n if (ts.isVariableDeclaration(node) && ts.isIdentifier(node.name)) names.add(node.name.text);\n if (ts.isFunctionDeclaration(node) && node.name !== undefined) names.add(node.name.text);\n if (ts.isParameter(node) && ts.isIdentifier(node.name)) names.add(node.name.text);\n ts.forEachChild(node, visit);\n };\n visit(sourceFile);\n return Object.freeze([...names].sort());\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isInsideIntervalLiteral.js","sourceRoot":"","sources":["../../src/_lib/isInsideIntervalLiteral.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAE/D,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAc,EAAE,MAAc;IAClE,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChG,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,MAAM,KAAK,GAAG,CAAC,IAAa,EAAQ,EAAE;QAClC,IAAI,OAAO;YAAE,OAAO;QACpB,IACI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;YACxB,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAClC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,EACxB,CAAC;YACC,OAAO,GAAG,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAClD,OAAO;QACX,CAAC;QACD,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC;IACF,KAAK,CAAC,UAAU,CAAC,CAAC;IAClB,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAsB,EAAE,UAAyB;IAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAAE,OAAO,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,gBAAgB,CAAC;IAC1F,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IAE3D,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,sFAAsF;IACtF,IAAI,CAAC,EAAE,CAAC,yBAAyB,CAAC,aAAa,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/D,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC;IAClC,OAAO,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,kBAAkB,CAAC;AAC1F,CAAC;AAED,SAAS,cAAc,CAAC,IAAqB,EAAE,QAAgB;IAC3D,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;AACzF,CAAC;AAED,SAAS,QAAQ,CAAC,IAAuB,EAAE,UAAyB;IAChE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACnC,IAAI,CAAC,EAAE,CAAC,0BAA0B,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC;IACnC,2EAA2E;IAC3E,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;AACjE,CAAC"}
|
|
1
|
+
{"version":3,"file":"isInsideIntervalLiteral.js","sourceRoot":"","sources":["../../src/_lib/isInsideIntervalLiteral.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAE/D,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAc,EAAE,MAAc;IAClE,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChG,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,MAAM,KAAK,GAAG,CAAC,IAAa,EAAQ,EAAE;QAClC,IAAI,OAAO;YAAE,OAAO;QACpB,IACI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;YACxB,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAClC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,EACxB,CAAC;YACC,OAAO,GAAG,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAClD,OAAO;QACX,CAAC;QACD,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC;IACF,KAAK,CAAC,UAAU,CAAC,CAAC;IAClB,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAsB,EAAE,UAAyB;IAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAAE,OAAO,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,gBAAgB,CAAC;IAC1F,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IAE3D,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,sFAAsF;IACtF,IAAI,CAAC,EAAE,CAAC,yBAAyB,CAAC,aAAa,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/D,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC;IAClC,OAAO,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,kBAAkB,CAAC;AAC1F,CAAC;AAED,SAAS,cAAc,CAAC,IAAqB,EAAE,QAAgB;IAC3D,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;AACzF,CAAC;AAED,SAAS,QAAQ,CAAC,IAAuB,EAAE,UAAyB;IAChE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACnC,IAAI,CAAC,EAAE,CAAC,0BAA0B,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC;IACnC,2EAA2E;IAC3E,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;AACjE,CAAC","sourcesContent":["// Copyright (c) 2026 Invinite. Licensed under the MIT License.\n// See the LICENSE file in the repo root for full license text.\n\nimport ts from \"typescript\";\n\n/**\n * Return true when an offset sits inside a completable interval string.\n *\n * @since 0.4\n * @stable\n * @example\n * const inside = isInsideIntervalLiteral('request.security({ interval: \"\" })', 31);\n * void inside;\n */\nexport function isInsideIntervalLiteral(source: string, offset: number): boolean {\n const sourceFile = ts.createSourceFile(\"script.chart.ts\", source, ts.ScriptTarget.Latest, true);\n let matched = false;\n\n const visit = (node: ts.Node): void => {\n if (matched) return;\n if (\n ts.isStringLiteral(node) &&\n offset > node.getStart(sourceFile) &&\n offset < node.getEnd()\n ) {\n matched = isIntervalLiteralNode(node, sourceFile);\n return;\n }\n ts.forEachChild(node, visit);\n };\n visit(sourceFile);\n return matched;\n}\n\nfunction isIntervalLiteralNode(node: ts.StringLiteral, sourceFile: ts.SourceFile): boolean {\n const parent = node.parent;\n if (ts.isCallExpression(parent)) return callName(parent, sourceFile) === \"input.interval\";\n if (!ts.isPropertyAssignment(parent)) return false;\n if (!propertyNameIs(parent.name, \"interval\")) return false;\n\n const objectLiteral = parent.parent;\n /* v8 ignore next -- PropertyAssignment nodes are owned by ObjectLiteralExpression. */\n if (!ts.isObjectLiteralExpression(objectLiteral)) return false;\n const call = objectLiteral.parent;\n return ts.isCallExpression(call) && callName(call, sourceFile) === \"request.security\";\n}\n\nfunction propertyNameIs(name: ts.PropertyName, expected: string): boolean {\n return (ts.isIdentifier(name) || ts.isStringLiteral(name)) && name.text === expected;\n}\n\nfunction callName(call: ts.CallExpression, sourceFile: ts.SourceFile): string | null {\n const expression = call.expression;\n if (!ts.isPropertyAccessExpression(expression)) return null;\n const left = expression.expression;\n /* v8 ignore next -- covered defensively for malformed/incremental ASTs. */\n if (!ts.isIdentifier(left)) return null;\n return `${left.text}.${expression.name.getText(sourceFile)}`;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isInsideOutputStringLiteral.js","sourceRoot":"","sources":["../../src/_lib/isInsideOutputStringLiteral.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAE/D,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAc,EAAE,MAAc;IACtE,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChG,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,MAAM,KAAK,GAAG,CAAC,IAAa,EAAQ,EAAE;QAClC,IAAI,OAAO;YAAE,OAAO;QACpB,IACI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;YACxB,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAClC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,EACxB,CAAC;YACC,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACrC,OAAO;QACX,CAAC;QACD,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC;IACF,KAAK,CAAC,UAAU,CAAC,CAAC;IAClB,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAsB;IAChD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;IACjC,IAAI,CAAC,EAAE,CAAC,0BAA0B,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACzD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;AACzC,CAAC"}
|
|
1
|
+
{"version":3,"file":"isInsideOutputStringLiteral.js","sourceRoot":"","sources":["../../src/_lib/isInsideOutputStringLiteral.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAE/D,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAc,EAAE,MAAc;IACtE,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChG,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,MAAM,KAAK,GAAG,CAAC,IAAa,EAAQ,EAAE;QAClC,IAAI,OAAO;YAAE,OAAO;QACpB,IACI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;YACxB,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAClC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,EACxB,CAAC;YACC,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACrC,OAAO;QACX,CAAC;QACD,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC;IACF,KAAK,CAAC,UAAU,CAAC,CAAC;IAClB,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAsB;IAChD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;IACjC,IAAI,CAAC,EAAE,CAAC,0BAA0B,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACzD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;AACzC,CAAC","sourcesContent":["// Copyright (c) 2026 Invinite. Licensed under the MIT License.\n// See the LICENSE file in the repo root for full license text.\n\nimport ts from \"typescript\";\n\n/**\n * Return `true` when an offset lands inside the string-literal argument\n * of a `<binding>.output(\"...\")` call. The binding name itself is not\n * validated here — the resolver inspects bindings when collecting\n * completions or hovers.\n *\n * @since 0.7\n * @stable\n * @example\n * const inside = isInsideOutputStringLiteral('baseTrend.output(\"line\")', 19);\n * void inside;\n */\nexport function isInsideOutputStringLiteral(source: string, offset: number): boolean {\n const sourceFile = ts.createSourceFile(\"script.chart.ts\", source, ts.ScriptTarget.Latest, true);\n let matched = false;\n\n const visit = (node: ts.Node): void => {\n if (matched) return;\n if (\n ts.isStringLiteral(node) &&\n offset > node.getStart(sourceFile) &&\n offset < node.getEnd()\n ) {\n matched = isOutputCallArgument(node);\n return;\n }\n ts.forEachChild(node, visit);\n };\n visit(sourceFile);\n return matched;\n}\n\nfunction isOutputCallArgument(node: ts.StringLiteral): boolean {\n const parent = node.parent;\n if (!ts.isCallExpression(parent)) return false;\n if (parent.arguments[0] !== node) return false;\n const callee = parent.expression;\n if (!ts.isPropertyAccessExpression(callee)) return false;\n return callee.name.text === \"output\";\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isInsideWithInputsKey.js","sourceRoot":"","sources":["../../src/_lib/isInsideWithInputsKey.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAE/D,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAc,EAAE,MAAc;IAChE,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChG,MAAM,aAAa,GAAG,oCAAoC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC/E,IAAI,aAAa,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACzC,OAAO,CAAC,6BAA6B,CAAC,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,oCAAoC,CACzC,UAAyB,EACzB,MAAc;IAEd,IAAI,KAAK,GAAsC,IAAI,CAAC;IAEpD,MAAM,KAAK,GAAG,CAAC,IAAa,EAAQ,EAAE;QAClC,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO;QAC3B,IACI,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC;YAClC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAClC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;YACtB,oBAAoB,CAAC,IAAI,CAAC,EAC5B,CAAC;YACC,KAAK,GAAG,IAAI,CAAC;YACb,OAAO;QACX,CAAC;QACD,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC;IACF,KAAK,CAAC,UAAU,CAAC,CAAC;IAClB,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAgC;IAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;IACjC,IAAI,CAAC,EAAE,CAAC,0BAA0B,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACzD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC;AAC7C,CAAC;AAED,SAAS,6BAA6B,CAClC,aAAyC,EACzC,UAAyB,EACzB,MAAc;IAEd,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;QAC9C,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC;YAAE,SAAS;QACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACzC,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,IAAI,GAAG;YAAE,OAAO,IAAI,CAAC;IACtD,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"isInsideWithInputsKey.js","sourceRoot":"","sources":["../../src/_lib/isInsideWithInputsKey.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAE/D,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAc,EAAE,MAAc;IAChE,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChG,MAAM,aAAa,GAAG,oCAAoC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC/E,IAAI,aAAa,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACzC,OAAO,CAAC,6BAA6B,CAAC,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,oCAAoC,CACzC,UAAyB,EACzB,MAAc;IAEd,IAAI,KAAK,GAAsC,IAAI,CAAC;IAEpD,MAAM,KAAK,GAAG,CAAC,IAAa,EAAQ,EAAE;QAClC,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO;QAC3B,IACI,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC;YAClC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAClC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;YACtB,oBAAoB,CAAC,IAAI,CAAC,EAC5B,CAAC;YACC,KAAK,GAAG,IAAI,CAAC;YACb,OAAO;QACX,CAAC;QACD,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC;IACF,KAAK,CAAC,UAAU,CAAC,CAAC;IAClB,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAgC;IAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;IACjC,IAAI,CAAC,EAAE,CAAC,0BAA0B,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACzD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC;AAC7C,CAAC;AAED,SAAS,6BAA6B,CAClC,aAAyC,EACzC,UAAyB,EACzB,MAAc;IAEd,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;QAC9C,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC;YAAE,SAAS;QACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACzC,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,IAAI,GAAG;YAAE,OAAO,IAAI,CAAC;IACtD,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC","sourcesContent":["// Copyright (c) 2026 Invinite. Licensed under the MIT License.\n// See the LICENSE file in the repo root for full license text.\n\nimport ts from \"typescript\";\n\n/**\n * Return `true` when an offset lands at a **key** position inside the\n * object-literal argument of a `<binding>.withInputs({ ... })` call.\n * Value-position offsets return `false` so completions don't fire when\n * the user is filling in an override's value.\n *\n * @since 0.7\n * @stable\n * @example\n * const source = 'baseTrend.withInputs({ length: 20 })';\n * const atKey = isInsideWithInputsKey(source, source.indexOf(\"length\"));\n * void atKey;\n */\nexport function isInsideWithInputsKey(source: string, offset: number): boolean {\n const sourceFile = ts.createSourceFile(\"script.chart.ts\", source, ts.ScriptTarget.Latest, true);\n const objectLiteral = findEnclosingWithInputsObjectLiteral(sourceFile, offset);\n if (objectLiteral === null) return false;\n return !isInsideAnyPropertyValueRange(objectLiteral, sourceFile, offset);\n}\n\nfunction findEnclosingWithInputsObjectLiteral(\n sourceFile: ts.SourceFile,\n offset: number,\n): ts.ObjectLiteralExpression | null {\n let match: ts.ObjectLiteralExpression | null = null;\n\n const visit = (node: ts.Node): void => {\n if (match !== null) return;\n if (\n ts.isObjectLiteralExpression(node) &&\n offset > node.getStart(sourceFile) &&\n offset < node.getEnd() &&\n isWithInputsArgument(node)\n ) {\n match = node;\n return;\n }\n ts.forEachChild(node, visit);\n };\n visit(sourceFile);\n return match;\n}\n\nfunction isWithInputsArgument(node: ts.ObjectLiteralExpression): boolean {\n const parent = node.parent;\n if (!ts.isCallExpression(parent)) return false;\n if (parent.arguments[0] !== node) return false;\n const callee = parent.expression;\n if (!ts.isPropertyAccessExpression(callee)) return false;\n return callee.name.text === \"withInputs\";\n}\n\nfunction isInsideAnyPropertyValueRange(\n objectLiteral: ts.ObjectLiteralExpression,\n sourceFile: ts.SourceFile,\n offset: number,\n): boolean {\n for (const property of objectLiteral.properties) {\n if (!ts.isPropertyAssignment(property)) continue;\n const initializer = property.initializer;\n const start = initializer.getStart(sourceFile);\n const end = initializer.getEnd();\n if (offset >= start && offset <= end) return true;\n }\n return false;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapDiagnostic.js","sourceRoot":"","sources":["../../src/_lib/mapDiagnostic.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAM/D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,aAAa,CAAC,UAA6B;IACvD,MAAM,OAAO,GACT,UAAU,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;IACtF,OAAO,cAAc,CAAC;QAClB,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,GAAG,OAAO;KACb,CAAC,CAAC;AACP,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,cAAc,CAAC,IAO9B;IACG,MAAM,OAAO,GACT,IAAI,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;IACxF,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;YACjB,SAAS,EAAE,IAAI,CAAC,IAAI;YACpB,WAAW,EAAE,IAAI,CAAC,MAAM;YACxB,OAAO,EAAE,IAAI,CAAC,IAAI;YAClB,SAAS,EAAE,IAAI,CAAC,MAAM;SACzB,CAAC;QACF,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,GAAG,OAAO;KACb,CAAC,CAAC;AACP,CAAC"}
|
|
1
|
+
{"version":3,"file":"mapDiagnostic.js","sourceRoot":"","sources":["../../src/_lib/mapDiagnostic.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAM/D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,aAAa,CAAC,UAA6B;IACvD,MAAM,OAAO,GACT,UAAU,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;IACtF,OAAO,cAAc,CAAC;QAClB,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,GAAG,OAAO;KACb,CAAC,CAAC;AACP,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,cAAc,CAAC,IAO9B;IACG,MAAM,OAAO,GACT,IAAI,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;IACxF,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;YACjB,SAAS,EAAE,IAAI,CAAC,IAAI;YACpB,WAAW,EAAE,IAAI,CAAC,MAAM;YACxB,OAAO,EAAE,IAAI,CAAC,IAAI;YAClB,SAAS,EAAE,IAAI,CAAC,MAAM;SACzB,CAAC;QACF,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,GAAG,OAAO;KACb,CAAC,CAAC;AACP,CAAC","sourcesContent":["// Copyright (c) 2026 Invinite. Licensed under the MIT License.\n// See the LICENSE file in the repo root for full license text.\n\nimport type { CompileDiagnostic } from \"@invinite-org/chartlang-compiler\";\n\nimport type { LspDiagnostic, LspSeverity } from \"../types.js\";\n\n/**\n * Map a compiler diagnostic into the language-service diagnostic shape.\n *\n * @since 0.4\n * @stable\n * @example\n * const diagnostic = mapDiagnostic({\n * severity: \"error\",\n * code: \"unbounded-loop\",\n * message: \"while loops are not allowed\",\n * file: \"demo.chart.ts\",\n * line: 1,\n * column: 1,\n * });\n * void diagnostic;\n */\nexport function mapDiagnostic(diagnostic: CompileDiagnostic): LspDiagnostic {\n const related =\n diagnostic.nodeText === undefined ? {} : { relatedCallsite: diagnostic.nodeText };\n return makeDiagnostic({\n line: diagnostic.line,\n column: diagnostic.column,\n severity: diagnostic.severity,\n code: diagnostic.code,\n message: diagnostic.message,\n ...related,\n });\n}\n\n/**\n * Build a language-service diagnostic at a 1-based line/column position.\n *\n * @since 0.4\n * @stable\n * @example\n * const diagnostic = makeDiagnostic({\n * line: 1,\n * column: 1,\n * severity: \"hint\",\n * code: \"unsupported-interval\",\n * message: \"Unsupported interval\",\n * });\n * void diagnostic;\n */\nexport function makeDiagnostic(args: {\n readonly line: number;\n readonly column: number;\n readonly severity: LspSeverity;\n readonly code: string;\n readonly message: string;\n readonly relatedCallsite?: string;\n}): LspDiagnostic {\n const related =\n args.relatedCallsite === undefined ? {} : { relatedCallsite: args.relatedCallsite };\n return Object.freeze({\n range: Object.freeze({\n startLine: args.line,\n startColumn: args.column,\n endLine: args.line,\n endColumn: args.column,\n }),\n severity: args.severity,\n code: args.code,\n message: args.message,\n ...related,\n });\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveDepAccessor.js","sourceRoot":"","sources":["../../src/_lib/resolveDepAccessor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resolveDepAccessor.js","sourceRoot":"","sources":["../../src/_lib/resolveDepAccessor.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) 2026 Invinite. Licensed under the MIT License.\n// See the LICENSE file in the repo root for full license text.\n\nimport ts from \"typescript\";\n\nimport type { DefinitionLocation, HoverDoc } from \"../types.js\";\nimport { findTokenAtOffset } from \"./resolveFqnAtOffset.js\";\n\n/**\n * Producer-side input descriptor surfaced by the dep accessor helpers.\n * `kind` is the `input.<kind>(default)` builder name; `defaultText` is\n * the literal default-value text printed verbatim into the completion\n * detail line.\n *\n * @since 0.7\n * @stable\n * @example\n * const d: DepInputDescriptor = {\n * name: \"length\",\n * kind: \"int\",\n * defaultText: \"20\",\n * };\n * void d;\n */\nexport type DepInputDescriptor = Readonly<{\n name: string;\n kind: string;\n defaultText: string;\n}>;\n\nconst SCRIPT_FILE_NAME = \"script.chart.ts\";\n\n/**\n * Resolve a hover doc when the offset lands on a `<binding>.output(...)`\n * or `<binding>.withInputs({...})` call site whose binding's initialiser\n * is a same-file `defineIndicator(...)` (optionally chained through\n * `.withInputs(...)`).\n *\n * @since 0.7\n * @stable\n * @example\n * const fn: typeof resolveDepAccessorHover = resolveDepAccessorHover;\n * void fn;\n */\nexport function resolveDepAccessorHover(source: string, offset: number): HoverDoc | null {\n const accessor = findAccessorAtOffset(source, offset);\n if (accessor === null) return null;\n const sourceFile = parse(source);\n const producer = resolveProducerForBinding(sourceFile, accessor.bindingName);\n if (producer === null) return null;\n if (accessor.kind === \"output\") return formatOutputHover(accessor.bindingName, producer);\n return formatWithInputsHover(accessor.bindingName, producer);\n}\n\n/**\n * Resolve a best-effort go-to-definition target for a\n * `<binding>.output(\"title\")` call. Returns the line / column of the\n * producer's matching `plot(value, { title: \"<title>\" })` call when\n * resolvable. Returns `null` when the binding is missing, the producer\n * is not a same-file `defineIndicator`, or no matching `plot` call is\n * found.\n *\n * @since 0.7\n * @stable\n * @example\n * const fn: typeof resolveDepAccessorDefinition = resolveDepAccessorDefinition;\n * void fn;\n */\nexport function resolveDepAccessorDefinition(\n source: string,\n offset: number,\n): DefinitionLocation | null {\n const accessor = findAccessorAtOffset(source, offset);\n if (accessor === null || accessor.kind !== \"output\") return null;\n const sourceFile = parse(source);\n const producer = resolveProducerForBinding(sourceFile, accessor.bindingName);\n if (producer === null) return null;\n\n const title = accessor.outputTitle;\n if (title === null) return null;\n\n for (const plotCall of producer.plotCalls) {\n if (plotCall.title !== title) continue;\n const start = plotCall.titleNode.getStart(sourceFile);\n const pos = sourceFile.getLineAndCharacterOfPosition(start);\n return Object.freeze({\n file: SCRIPT_FILE_NAME,\n line: pos.line + 1,\n column: pos.character + 1,\n });\n }\n return null;\n}\n\n/**\n * Collect every producer-side titled output reachable from the binding\n * at the offset's `<binding>.output(\"|\")` call site. Returns `[]` when\n * the binding is missing or the producer is not a same-file\n * `defineIndicator(...)`.\n *\n * @since 0.7\n * @stable\n * @example\n * const titles = resolveDepOutputsFor(\"baseTrend.output(\\\"\\\")\", 18);\n * void titles;\n */\nexport function resolveDepOutputsFor(source: string, offset: number): ReadonlyArray<string> {\n const accessor = findAccessorAtOffset(source, offset);\n if (accessor === null || accessor.kind !== \"output\") return Object.freeze([]);\n const sourceFile = parse(source);\n const producer = resolveProducerForBinding(sourceFile, accessor.bindingName);\n if (producer === null) return Object.freeze([]);\n return Object.freeze(producer.plotCalls.map((call) => call.title));\n}\n\n/**\n * Collect every producer-side input descriptor reachable from the\n * binding at the offset's `<binding>.withInputs({ |})` call site.\n * Returns `[]` when the binding is missing or the producer is not a\n * same-file `defineIndicator(...)`.\n *\n * @since 0.7\n * @stable\n * @example\n * const inputs = resolveDepInputsFor(\"baseTrend.withInputs({ })\", 22);\n * void inputs;\n */\nexport function resolveDepInputsFor(\n source: string,\n offset: number,\n): ReadonlyArray<DepInputDescriptor> {\n const accessor = findAccessorAtOffset(source, offset);\n if (accessor === null || accessor.kind !== \"withInputs\") return Object.freeze([]);\n const sourceFile = parse(source);\n const producer = resolveProducerForBinding(sourceFile, accessor.bindingName);\n if (producer === null) return Object.freeze([]);\n return Object.freeze(producer.inputs);\n}\n\ntype AccessorHit = Readonly<\n | { kind: \"output\"; bindingName: string; outputTitle: string | null }\n | { kind: \"withInputs\"; bindingName: string }\n>;\n\nfunction findAccessorAtOffset(source: string, offset: number): AccessorHit | null {\n const sourceFile = parse(source);\n const token = findTokenAtOffset(sourceFile, offset);\n if (token === null) return null;\n\n let current: ts.Node | undefined = token;\n while (current !== undefined) {\n if (ts.isCallExpression(current)) {\n const callee = current.expression;\n if (ts.isPropertyAccessExpression(callee) && ts.isIdentifier(callee.expression)) {\n const method = callee.name.text;\n if (method === \"output\") {\n const arg = current.arguments[0];\n const title = arg !== undefined && ts.isStringLiteral(arg) ? arg.text : null;\n return Object.freeze({\n kind: \"output\",\n bindingName: callee.expression.text,\n outputTitle: title,\n });\n }\n if (method === \"withInputs\") {\n return Object.freeze({\n kind: \"withInputs\",\n bindingName: callee.expression.text,\n });\n }\n }\n }\n current = current.parent;\n }\n return null;\n}\n\ntype ProducerInfo = Readonly<{\n plotCalls: ReadonlyArray<Readonly<{ title: string; titleNode: ts.StringLiteral }>>;\n inputs: ReadonlyArray<DepInputDescriptor>;\n}>;\n\nfunction resolveProducerForBinding(\n sourceFile: ts.SourceFile,\n bindingName: string,\n): ProducerInfo | null {\n const root = resolveDefineCall(sourceFile, bindingName, new Set());\n if (root === null) return null;\n return extractProducerInfo(root, sourceFile);\n}\n\nfunction resolveDefineCall(\n sourceFile: ts.SourceFile,\n bindingName: string,\n seen: Set<string>,\n): ts.CallExpression | null {\n if (seen.has(bindingName)) return null;\n seen.add(bindingName);\n const initializer = findBindingInitializer(sourceFile, bindingName);\n if (initializer === null) return null;\n return unwrapToDefineCall(initializer, sourceFile, seen);\n}\n\nfunction findBindingInitializer(\n sourceFile: ts.SourceFile,\n bindingName: string,\n): ts.Expression | null {\n for (const statement of sourceFile.statements) {\n if (!ts.isVariableStatement(statement)) continue;\n for (const declaration of statement.declarationList.declarations) {\n if (!ts.isIdentifier(declaration.name)) continue;\n if (declaration.name.text !== bindingName) continue;\n return declaration.initializer ?? null;\n }\n }\n return null;\n}\n\nfunction unwrapToDefineCall(\n node: ts.Expression,\n sourceFile: ts.SourceFile,\n seen: Set<string>,\n): ts.CallExpression | null {\n let current: ts.Expression = node;\n while (ts.isCallExpression(current)) {\n const callee = current.expression;\n if (ts.isIdentifier(callee) && callee.text === \"defineIndicator\") return current;\n if (ts.isPropertyAccessExpression(callee)) {\n // Chain like `baseTrend.withInputs({...}).withInputs({...})`.\n current = callee.expression;\n continue;\n }\n return null;\n }\n if (ts.isIdentifier(current)) {\n // Follow a same-file rebinding chain (e.g. `const chain = root;`).\n return resolveDefineCall(sourceFile, current.text, seen);\n }\n return null;\n}\n\nfunction extractProducerInfo(\n defineCall: ts.CallExpression,\n sourceFile: ts.SourceFile,\n): ProducerInfo {\n const opts = defineCall.arguments[0];\n /* v8 ignore start -- defineIndicator(...) without an object literal is a\n compile-time type error that the language service surfaces elsewhere. */\n if (opts === undefined || !ts.isObjectLiteralExpression(opts)) {\n return Object.freeze({ plotCalls: Object.freeze([]), inputs: Object.freeze([]) });\n }\n /* v8 ignore stop */\n\n const computeFn = findPropertyAssignment(opts, \"compute\");\n const plotCalls = computeFn === null ? [] : collectPlotCalls(computeFn, sourceFile);\n\n const inputsLiteral = findPropertyAssignment(opts, \"inputs\");\n const inputs =\n inputsLiteral === null || !ts.isObjectLiteralExpression(inputsLiteral)\n ? []\n : collectInputs(inputsLiteral, sourceFile);\n\n return Object.freeze({\n plotCalls: Object.freeze(plotCalls.map((entry) => Object.freeze(entry))),\n inputs: Object.freeze(inputs.map((entry) => Object.freeze(entry))),\n });\n}\n\nfunction findPropertyAssignment(\n objectLiteral: ts.ObjectLiteralExpression,\n propertyName: string,\n): ts.Expression | null {\n for (const property of objectLiteral.properties) {\n if (!ts.isPropertyAssignment(property)) continue;\n if (propertyNameIs(property.name, propertyName)) return property.initializer;\n }\n return null;\n}\n\nfunction collectPlotCalls(\n root: ts.Node,\n sourceFile: ts.SourceFile,\n): Array<{ title: string; titleNode: ts.StringLiteral }> {\n const collected: Array<{ title: string; titleNode: ts.StringLiteral }> = [];\n const visit = (node: ts.Node): void => {\n if (ts.isCallExpression(node) && isPlotCall(node)) {\n const opts = node.arguments[1];\n if (opts !== undefined && ts.isObjectLiteralExpression(opts)) {\n for (const property of opts.properties) {\n if (!ts.isPropertyAssignment(property)) continue;\n if (!propertyNameIs(property.name, \"title\")) continue;\n const init = property.initializer;\n if (ts.isStringLiteral(init))\n collected.push({ title: init.text, titleNode: init });\n }\n }\n }\n ts.forEachChild(node, visit);\n };\n visit(root);\n void sourceFile;\n return collected;\n}\n\nfunction isPlotCall(call: ts.CallExpression): boolean {\n const callee = call.expression;\n return ts.isIdentifier(callee) && callee.text === \"plot\";\n}\n\nfunction collectInputs(\n inputsLiteral: ts.ObjectLiteralExpression,\n sourceFile: ts.SourceFile,\n): Array<DepInputDescriptor> {\n const out: Array<DepInputDescriptor> = [];\n for (const property of inputsLiteral.properties) {\n if (!ts.isPropertyAssignment(property)) continue;\n const name = propertyNameText(property.name);\n if (name === null) continue;\n const init = property.initializer;\n if (!ts.isCallExpression(init)) continue;\n const callee = init.expression;\n if (!ts.isPropertyAccessExpression(callee)) continue;\n if (!ts.isIdentifier(callee.expression) || callee.expression.text !== \"input\") continue;\n const kind = callee.name.text;\n const firstArg = init.arguments[0];\n const defaultText = firstArg === undefined ? \"—\" : firstArg.getText(sourceFile);\n out.push({ name, kind, defaultText });\n }\n return out;\n}\n\nfunction propertyNameIs(name: ts.PropertyName, expected: string): boolean {\n return propertyNameText(name) === expected;\n}\n\nfunction propertyNameText(name: ts.PropertyName): string | null {\n return ts.isIdentifier(name) || ts.isStringLiteral(name) || ts.isNumericLiteral(name)\n ? name.text\n : null;\n}\n\nfunction formatOutputHover(bindingName: string, producer: ProducerInfo): HoverDoc {\n if (producer.plotCalls.length === 0) {\n return Object.freeze({\n title: `${bindingName}.output(...)`,\n summary:\n 'Producer does not expose any titled outputs. Add `plot(value, { title: \"<name>\" })` calls in the producer\\'s `compute` body.',\n });\n }\n const lines = producer.plotCalls.map((call) => `- \"${call.title}\" — Series<number>`);\n return Object.freeze({\n title: `${bindingName}.output(name)`,\n summary: `Outputs declared by the producer:\\n${lines.join(\"\\n\")}`,\n });\n}\n\nfunction formatWithInputsHover(bindingName: string, producer: ProducerInfo): HoverDoc {\n if (producer.inputs.length === 0) {\n return Object.freeze({\n title: `${bindingName}.withInputs({})`,\n summary: \"Producer does not declare any inputs.\",\n });\n }\n const lines = producer.inputs.map(\n (entry) => `- ${entry.name}: ${entry.kind} (default: ${entry.defaultText})`,\n );\n return Object.freeze({\n title: `${bindingName}.withInputs(overrides)`,\n summary: `Producer inputs:\\n${lines.join(\"\\n\")}`,\n });\n}\n\nfunction parse(source: string): ts.SourceFile {\n return ts.createSourceFile(SCRIPT_FILE_NAME, source, ts.ScriptTarget.Latest, true);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveFqnAtOffset.js","sourceRoot":"","sources":["../../src/_lib/resolveFqnAtOffset.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAE/D,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,MAAc;IAC7D,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChG,MAAM,KAAK,GAAG,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACpD,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3D,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACxD,OAAO,KAAK,CAAC,IAAI,CAAC;AACtB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAyB,EAAE,MAAc;IACvE,IAAI,IAAI,GAAmB,IAAI,CAAC;IAChC,MAAM,KAAK,GAAG,CAAC,IAAa,EAAQ,EAAE;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,MAAM,GAAG,KAAK,IAAI,MAAM,GAAG,GAAG;YAAE,OAAO;QAC3C,IAAI,GAAG,IAAI,CAAC;QACZ,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC;IACF,KAAK,CAAC,UAAU,CAAC,CAAC;IAClB,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAoB;IACjD,IAAI,OAAO,GAAY,KAAK,CAAC;IAC7B,IAAI,SAAS,GAAuC,IAAI,CAAC;IACzD,OAAO,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,EAAE,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,SAAS,GAAG,MAAM,CAAC;YACnB,OAAO,GAAG,MAAM,CAAC;YACjB,SAAS;QACb,CAAC;QACD,MAAM;IACV,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAmC;IAC5D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAkB,MAAM,CAAC;IACpC,OAAO,EAAE,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5C,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IACjC,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC"}
|
|
1
|
+
{"version":3,"file":"resolveFqnAtOffset.js","sourceRoot":"","sources":["../../src/_lib/resolveFqnAtOffset.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAE/D,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,MAAc;IAC7D,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChG,MAAM,KAAK,GAAG,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACpD,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3D,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACxD,OAAO,KAAK,CAAC,IAAI,CAAC;AACtB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAyB,EAAE,MAAc;IACvE,IAAI,IAAI,GAAmB,IAAI,CAAC;IAChC,MAAM,KAAK,GAAG,CAAC,IAAa,EAAQ,EAAE;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,MAAM,GAAG,KAAK,IAAI,MAAM,GAAG,GAAG;YAAE,OAAO;QAC3C,IAAI,GAAG,IAAI,CAAC;QACZ,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC;IACF,KAAK,CAAC,UAAU,CAAC,CAAC;IAClB,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAoB;IACjD,IAAI,OAAO,GAAY,KAAK,CAAC;IAC7B,IAAI,SAAS,GAAuC,IAAI,CAAC;IACzD,OAAO,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,EAAE,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,SAAS,GAAG,MAAM,CAAC;YACnB,OAAO,GAAG,MAAM,CAAC;YACjB,SAAS;QACb,CAAC;QACD,MAAM;IACV,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAmC;IAC5D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAkB,MAAM,CAAC;IACpC,OAAO,EAAE,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5C,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IACjC,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC","sourcesContent":["// Copyright (c) 2026 Invinite. Licensed under the MIT License.\n// See the LICENSE file in the repo root for full license text.\n\nimport ts from \"typescript\";\n\n/**\n * Resolve the chartlang primitive FQN under a source offset.\n *\n * @since 0.4\n * @stable\n * @example\n * const fqn = resolveFqnAtOffset(\"ta.ema(bar.close, 20)\", 4);\n * void fqn;\n */\nexport function resolveFqnAtOffset(source: string, offset: number): string | null {\n const sourceFile = ts.createSourceFile(\"script.chart.ts\", source, ts.ScriptTarget.Latest, true);\n const token = findTokenAtOffset(sourceFile, offset);\n if (token === null || !ts.isIdentifier(token)) return null;\n const access = enclosingPropertyAccess(token);\n if (access !== null) return propertyAccessToFqn(access);\n return token.text;\n}\n\n/**\n * Find the smallest AST token containing an offset.\n *\n * @since 0.4\n * @stable\n * @example\n * const sf = ts.createSourceFile(\"x.ts\", \"ta.ema()\", ts.ScriptTarget.Latest, true);\n * const token = findTokenAtOffset(sf, 1);\n * void token;\n */\nexport function findTokenAtOffset(sourceFile: ts.SourceFile, offset: number): ts.Node | null {\n let best: ts.Node | null = null;\n const visit = (node: ts.Node): void => {\n const start = node.getStart(sourceFile);\n const end = node.getEnd();\n if (offset < start || offset > end) return;\n best = node;\n ts.forEachChild(node, visit);\n };\n visit(sourceFile);\n return best;\n}\n\nfunction enclosingPropertyAccess(token: ts.Identifier): ts.PropertyAccessExpression | null {\n let current: ts.Node = token;\n let candidate: ts.PropertyAccessExpression | null = null;\n while (current.parent !== undefined) {\n const parent = current.parent;\n if (ts.isPropertyAccessExpression(parent)) {\n candidate = parent;\n current = parent;\n continue;\n }\n break;\n }\n return candidate;\n}\n\nfunction propertyAccessToFqn(access: ts.PropertyAccessExpression): string | null {\n const parts: string[] = [];\n let current: ts.Expression = access;\n while (ts.isPropertyAccessExpression(current)) {\n parts.unshift(current.name.text);\n current = current.expression;\n }\n if (!ts.isIdentifier(current)) return null;\n parts.unshift(current.text);\n return parts.join(\".\");\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toHoverDoc.js","sourceRoot":"","sources":["../../src/_lib/toHoverDoc.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAK/D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,UAAU,CAAC,KAAyB;IAChD,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;QAC3E,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;KACxE,CAAC,CAAC;AACP,CAAC"}
|
|
1
|
+
{"version":3,"file":"toHoverDoc.js","sourceRoot":"","sources":["../../src/_lib/toHoverDoc.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAK/D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,UAAU,CAAC,KAAyB;IAChD,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;QAC3E,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;KACxE,CAAC,CAAC;AACP,CAAC","sourcesContent":["// Copyright (c) 2026 Invinite. Licensed under the MIT License.\n// See the LICENSE file in the repo root for full license text.\n\nimport type { HoverRegistryEntry } from \"../hoverRegistry.generated.js\";\nimport type { HoverDoc } from \"../types.js\";\n\n/**\n * Convert a generated hover-registry entry into the public hover payload.\n *\n * @since 0.4\n * @stable\n * @example\n * const doc = toHoverDoc({\n * fqn: \"ta.ema\",\n * kind: \"function\",\n * title: \"ta.ema(source, length)\",\n * summary: \"EMA.\",\n * since: \"0.1\",\n * stability: \"stable\",\n * });\n * void doc;\n */\nexport function toHoverDoc(entry: HoverRegistryEntry): HoverDoc {\n return Object.freeze({\n title: entry.title,\n summary: entry.summary,\n ...(entry.paramTable === undefined ? {} : { paramTable: entry.paramTable }),\n ...(entry.examples === undefined ? {} : { examples: entry.examples }),\n });\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createLanguageService.d.ts","sourceRoot":"","sources":["../src/createLanguageService.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACR,wBAAwB,EAIxB,sBAAsB,EAGzB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,GAAE,sBAA2B,GAAG,wBAAwB,
|
|
1
|
+
{"version":3,"file":"createLanguageService.d.ts","sourceRoot":"","sources":["../src/createLanguageService.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACR,wBAAwB,EAIxB,sBAAsB,EAGzB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,GAAE,sBAA2B,GAAG,wBAAwB,CA6FjG"}
|
|
@@ -30,7 +30,13 @@ export function createLanguageService(opts = {}) {
|
|
|
30
30
|
else if (canLoadNodeCompiler()) {
|
|
31
31
|
const { CompileError, compile } = await import("@invinite-org/chartlang-compiler");
|
|
32
32
|
try {
|
|
33
|
-
await compile(source, {
|
|
33
|
+
await compile(source, {
|
|
34
|
+
apiVersion: 1,
|
|
35
|
+
sourcePath: "script.chart.ts",
|
|
36
|
+
...(opts.inMemoryModules === undefined
|
|
37
|
+
? {}
|
|
38
|
+
: { inMemoryModules: opts.inMemoryModules }),
|
|
39
|
+
});
|
|
34
40
|
}
|
|
35
41
|
catch (err) {
|
|
36
42
|
/* v8 ignore next 3 -- non-CompileError failures must propagate. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createLanguageService.js","sourceRoot":"","sources":["../src/createLanguageService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createLanguageService.js","sourceRoot":"","sources":["../src/createLanguageService.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) 2026 Invinite. Licensed under the MIT License.\n// See the LICENSE file in the repo root for full license text.\n\nimport type { IntervalDescriptor } from \"@invinite-org/chartlang-core\";\nimport ts from \"typescript\";\n\nimport { collectCompletions } from \"./_lib/collectCompletions.js\";\nimport { isInsideIntervalLiteral } from \"./_lib/isInsideIntervalLiteral.js\";\nimport { makeDiagnostic, mapDiagnostic } from \"./_lib/mapDiagnostic.js\";\nimport {\n resolveDepAccessorDefinition,\n resolveDepAccessorHover,\n} from \"./_lib/resolveDepAccessor.js\";\nimport { findTokenAtOffset, resolveFqnAtOffset } from \"./_lib/resolveFqnAtOffset.js\";\nimport { toHoverDoc } from \"./_lib/toHoverDoc.js\";\nimport { HOVER_REGISTRY } from \"./hoverRegistry.generated.js\";\nimport type {\n ChartlangLanguageService,\n CompletionItem,\n DefinitionLocation,\n HoverDoc,\n LanguageServiceOptions,\n LspDiagnostic,\n SignatureHelp,\n} from \"./types.js\";\n\n/**\n * Create a headless chartlang language service.\n *\n * @since 0.4\n * @stable\n * @example\n * const service = createLanguageService();\n * const hovers = service.getCompletions(\"\", 0);\n * void hovers;\n */\nexport function createLanguageService(opts: LanguageServiceOptions = {}): ChartlangLanguageService {\n const capabilities = opts.targetCapabilities;\n const compileToDiagnostics = opts.compileToDiagnostics;\n\n return Object.freeze({\n async compileToDiagnostics(source: string): Promise<ReadonlyArray<LspDiagnostic>> {\n const diagnostics: LspDiagnostic[] = [];\n if (compileToDiagnostics !== undefined) {\n diagnostics.push(...(await compileToDiagnostics(source)));\n } else if (canLoadNodeCompiler()) {\n const { CompileError, compile } = await import(\"@invinite-org/chartlang-compiler\");\n try {\n await compile(source, {\n apiVersion: 1,\n sourcePath: \"script.chart.ts\",\n ...(opts.inMemoryModules === undefined\n ? {}\n : { inMemoryModules: opts.inMemoryModules }),\n });\n } catch (err) {\n /* v8 ignore next 3 -- non-CompileError failures must propagate. */\n if (err instanceof CompileError)\n diagnostics.push(...err.diagnostics.map(mapDiagnostic));\n else throw err;\n }\n }\n if (capabilities !== undefined) {\n diagnostics.push(...collectCapabilityDiagnostics(source, capabilities));\n }\n return Object.freeze(diagnostics);\n },\n\n getHoverDoc(source: string, offset: number): HoverDoc | null {\n const fqn = resolveFqnAtOffset(source, offset);\n if (fqn !== null) {\n const entry = HOVER_REGISTRY[fqn];\n if (entry !== undefined) return toHoverDoc(entry);\n }\n return resolveDepAccessorHover(source, offset);\n },\n\n getCompletions(source: string, offset: number): ReadonlyArray<CompletionItem> {\n if (capabilities !== undefined && isInsideIntervalLiteral(source, offset)) {\n return Object.freeze(\n capabilities.intervals.map((descriptor) =>\n Object.freeze({\n label: descriptor.value,\n kind: \"enumMember\" as const,\n insertText: descriptor.value,\n detail: descriptor.label,\n doc: Object.freeze({\n title: descriptor.value,\n summary: `Group: ${descriptor.group}`,\n }),\n }),\n ),\n );\n }\n return collectCompletions(source, offset, HOVER_REGISTRY);\n },\n\n getSignatureHelp(source: string, offset: number): SignatureHelp | null {\n const call = findContainingCall(source, offset);\n if (call === null) return null;\n const entry = HOVER_REGISTRY[call.fqn];\n if (entry === undefined || entry.paramTable === undefined) return null;\n return Object.freeze({\n label: entry.title,\n parameters: Object.freeze(\n entry.paramTable.map((param) =>\n Object.freeze({ name: param.name, doc: param.doc }),\n ),\n ),\n activeParameter: call.activeParameter,\n });\n },\n\n getDefinition(source: string, offset: number): DefinitionLocation | null {\n const fqn = resolveFqnAtOffset(source, offset);\n if (fqn !== null && HOVER_REGISTRY[fqn] !== undefined) {\n return Object.freeze({\n file: \"packages/core/dist/index.d.ts\",\n line: 1,\n column: 1,\n });\n }\n return resolveDepAccessorDefinition(source, offset);\n },\n\n getAvailableIntervals(): ReadonlyArray<IntervalDescriptor> {\n return capabilities?.intervals ?? [];\n },\n });\n}\n\ntype RuntimeGlobal = typeof globalThis & {\n process?: { versions?: { node?: string } };\n};\n\nfunction canLoadNodeCompiler(): boolean {\n const runtimeGlobal: RuntimeGlobal = globalThis;\n return runtimeGlobal.process?.versions?.node !== undefined;\n}\n\nfunction findContainingCall(\n source: string,\n offset: number,\n): Readonly<{ fqn: string; activeParameter: number }> | null {\n const sourceFile = ts.createSourceFile(\"script.chart.ts\", source, ts.ScriptTarget.Latest, true);\n const token = findTokenAtOffset(sourceFile, offset);\n if (token === null) return null;\n let current: ts.Node | undefined = token;\n while (current !== undefined) {\n if (ts.isCallExpression(current)) {\n const fqn = callExpressionName(current, sourceFile);\n /* v8 ignore next -- containing call expressions always have a syntactic name here. */\n if (fqn === null) return null;\n return Object.freeze({\n fqn,\n activeParameter: activeParameter(current, sourceFile, offset),\n });\n }\n current = current.parent;\n }\n return null;\n}\n\nfunction activeParameter(\n call: ts.CallExpression,\n sourceFile: ts.SourceFile,\n offset: number,\n): number {\n let count = 0;\n const start = call.arguments.pos;\n const end = Math.min(offset, call.arguments.end);\n const text = sourceFile.text.slice(start, end);\n for (const char of text) {\n if (char === \",\") count += 1;\n }\n return count;\n}\n\nfunction callExpressionName(call: ts.CallExpression, sourceFile: ts.SourceFile): string | null {\n const expression = call.expression;\n if (ts.isIdentifier(expression)) return expression.text;\n /* v8 ignore next -- defensive for call expressions on non-property expressions. */\n if (!ts.isPropertyAccessExpression(expression)) return null;\n const parts: string[] = [];\n let current: ts.Expression = expression;\n while (ts.isPropertyAccessExpression(current)) {\n parts.unshift(current.name.text);\n current = current.expression;\n }\n /* v8 ignore next -- defensive for nested call/element receivers. */\n if (!ts.isIdentifier(current)) return null;\n parts.unshift(current.getText(sourceFile));\n return parts.join(\".\");\n}\n\nfunction collectCapabilityDiagnostics(\n source: string,\n capabilities: NonNullable<LanguageServiceOptions[\"targetCapabilities\"]>,\n): ReadonlyArray<LspDiagnostic> {\n const sourceFile = ts.createSourceFile(\"script.chart.ts\", source, ts.ScriptTarget.Latest, true);\n const diagnostics: LspDiagnostic[] = [];\n const supportedIntervals = new Set(capabilities.intervals.map((interval) => interval.value));\n const supportedPlots: ReadonlySet<string> = capabilities.plots;\n\n const visit = (node: ts.Node): void => {\n if (ts.isCallExpression(node)) {\n const fqn = callExpressionName(node, sourceFile);\n if (fqn === \"request.security\") {\n const interval = literalIntervalFromRequest(node);\n if (interval !== null && !supportedIntervals.has(interval)) {\n diagnostics.push(\n diagnosticAt(sourceFile, node, {\n severity: \"hint\",\n code: \"unsupported-interval\",\n message: `Target adapter does not declare interval \"${interval}\".`,\n }),\n );\n }\n if (interval !== null && capabilities.multiTimeframe === false) {\n diagnostics.push(\n diagnosticAt(sourceFile, node, {\n severity: \"hint\",\n code: \"multi-timeframe-not-supported\",\n message: \"Target adapter does not support secondary timeframes.\",\n }),\n );\n }\n }\n if (fqn === \"plot\") {\n const kind = literalPlotKind(node);\n if (kind !== null && !supportedPlots.has(kind)) {\n diagnostics.push(\n diagnosticAt(sourceFile, node, {\n severity: \"hint\",\n code: \"unsupported-plot-kind\",\n message: `Target adapter does not declare plot kind \"${kind}\".`,\n }),\n );\n }\n }\n }\n ts.forEachChild(node, visit);\n };\n visit(sourceFile);\n return Object.freeze(diagnostics);\n}\n\nfunction literalIntervalFromRequest(call: ts.CallExpression): string | null {\n const first = call.arguments[0];\n /* v8 ignore next -- compiler rejects non-object request.security arguments. */\n if (first === undefined || !ts.isObjectLiteralExpression(first)) return null;\n for (const property of first.properties) {\n if (!ts.isPropertyAssignment(property)) continue;\n if (!propertyNameIs(property.name, \"interval\")) continue;\n /* v8 ignore next -- compiler emits request-security-interval-not-literal first. */\n return ts.isStringLiteral(property.initializer) ? property.initializer.text : null;\n }\n return null;\n}\n\nfunction literalPlotKind(call: ts.CallExpression): string | null {\n const opts = call.arguments[1];\n if (opts === undefined || !ts.isObjectLiteralExpression(opts)) return null;\n for (const property of opts.properties) {\n if (!ts.isPropertyAssignment(property) || !propertyNameIs(property.name, \"style\")) continue;\n if (!ts.isObjectLiteralExpression(property.initializer)) return null;\n for (const styleProperty of property.initializer.properties) {\n if (!ts.isPropertyAssignment(styleProperty)) continue;\n if (!propertyNameIs(styleProperty.name, \"kind\")) continue;\n return ts.isStringLiteral(styleProperty.initializer)\n ? styleProperty.initializer.text\n : null;\n }\n }\n return null;\n}\n\nfunction propertyNameIs(name: ts.PropertyName, expected: string): boolean {\n return (ts.isIdentifier(name) || ts.isStringLiteral(name)) && name.text === expected;\n}\n\nfunction diagnosticAt(\n sourceFile: ts.SourceFile,\n node: ts.Node,\n args: Readonly<{ severity: \"hint\"; code: string; message: string }>,\n): LspDiagnostic {\n const start = node.getStart(sourceFile);\n const pos = sourceFile.getLineAndCharacterOfPosition(start);\n return makeDiagnostic({\n line: pos.line + 1,\n column: pos.character + 1,\n severity: args.severity,\n code: args.code,\n message: args.message,\n });\n}\n"]}
|