@corsa-bind/napi 0.4.0 → 0.7.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/dist/index.d.mts CHANGED
@@ -1,10 +1,12 @@
1
- import { ApiClientOptions, ApiMode, CapabilitiesResponse, ConfigResponse, DiagnosticsCapabilities, DocumentIdentifier, EditorCapabilities, FileChangeSummary, FileChanges, FileDiagnosticsResponse, InitializeResponse, OverlayCapabilities, OverlayChanges, OverlayUpdate, ProjectDiagnosticsResponse, ProjectResponse, RuntimeCapabilities, SnapshotDiagnosticsResponse, SymbolResponse, TypeResponse, TypeTextKind, UnsafeTypeFlowInput, UpdateSnapshotParams, UpdateSnapshotResponse, VirtualChange, VirtualDocumentState } from "./types.mjs";
1
+ import { ApiClientOptions, ApiMode, CapabilitiesResponse, ConfigResponse, DiagnosticsCapabilities, DocumentIdentifier, EditorCapabilities, FileChangeSummary, FileChanges, FileDiagnosticsResponse, InitializeResponse, NativeLintDiagnostic, NativeLintFix, NativeLintNode, NativeLintRange, NativeLintRuleMeta, NativeLintSuggestion, OverlayCapabilities, OverlayChanges, OverlayUpdate, ProjectDiagnosticsResponse, ProjectResponse, RuntimeCapabilities, SnapshotDiagnosticsResponse, SymbolResponse, TypeResponse, TypeTextKind, UnsafeTypeFlowInput, UpdateSnapshotParams, UpdateSnapshotResponse, VirtualChange, VirtualDocumentState } from "./types.mjs";
2
2
  import * as ___index_js0 from "../index.js";
3
3
 
4
4
  //#region index.d.ts
5
5
  declare const binding: typeof ___index_js0;
6
6
  declare function isUnsafeAssignment(input: UnsafeTypeFlowInput): boolean;
7
7
  declare function isUnsafeReturn(input: UnsafeTypeFlowInput): boolean;
8
+ declare function runNativeLintRule(ruleName: string, node: NativeLintNode): NativeLintDiagnostic[];
9
+ declare function nativeLintRuleMetas(): NativeLintRuleMeta[];
8
10
  declare function classifyTypeText(text?: string): TypeTextKind;
9
11
  declare function splitTopLevelTypeText(text: string, delimiter: string): string[];
10
12
  declare function splitTypeText(text: string): string[];
@@ -14,6 +16,7 @@ declare function isBigIntLikeTypeTexts(typeTexts: readonly string[]): boolean;
14
16
  declare function isAnyLikeTypeTexts(typeTexts: readonly string[]): boolean;
15
17
  declare function isUnknownLikeTypeTexts(typeTexts: readonly string[]): boolean;
16
18
  declare function isArrayLikeTypeTexts(typeTexts: readonly string[]): boolean;
19
+ declare function isStringArrayLikeTypeTexts(typeTexts: readonly string[]): boolean;
17
20
  declare function isPromiseLikeTypeTexts(typeTexts: readonly string[], propertyNames?: readonly string[]): boolean;
18
21
  declare function isErrorLikeTypeTexts(typeTexts: readonly string[], propertyNames?: readonly string[]): boolean;
19
22
  declare const Utils: Readonly<{
@@ -26,6 +29,7 @@ declare const Utils: Readonly<{
26
29
  isAnyLikeTypeTexts: typeof isAnyLikeTypeTexts;
27
30
  isUnknownLikeTypeTexts: typeof isUnknownLikeTypeTexts;
28
31
  isArrayLikeTypeTexts: typeof isArrayLikeTypeTexts;
32
+ isStringArrayLikeTypeTexts: typeof isStringArrayLikeTypeTexts;
29
33
  isPromiseLikeTypeTexts: typeof isPromiseLikeTypeTexts;
30
34
  isErrorLikeTypeTexts: typeof isErrorLikeTypeTexts;
31
35
  }>;
@@ -77,5 +81,5 @@ declare class CorsaDistributedOrchestrator {
77
81
  }
78
82
  declare const version: typeof ___index_js0.version;
79
83
  //#endregion
80
- export { ApiClientOptions, ApiMode, CapabilitiesResponse, ConfigResponse, CorsaApiClient, CorsaApiClient as TsgoApiClient, CorsaDistributedOrchestrator, CorsaDistributedOrchestrator as TsgoDistributedOrchestrator, CorsaVirtualDocument, CorsaVirtualDocument as TsgoVirtualDocument, DiagnosticsCapabilities, DocumentIdentifier, EditorCapabilities, FileChangeSummary, FileChanges, FileDiagnosticsResponse, InitializeResponse, OverlayCapabilities, OverlayChanges, OverlayUpdate, ProjectDiagnosticsResponse, ProjectResponse, RuntimeCapabilities, SnapshotDiagnosticsResponse, SymbolResponse, TypeResponse, TypeTextKind, UnsafeTypeFlowInput, UpdateSnapshotParams, UpdateSnapshotResponse, Utils, VirtualChange, VirtualDocumentState, classifyTypeText, binding as default, isAnyLikeTypeTexts, isArrayLikeTypeTexts, isBigIntLikeTypeTexts, isErrorLikeTypeTexts, isNumberLikeTypeTexts, isPromiseLikeTypeTexts, isStringLikeTypeTexts, isUnknownLikeTypeTexts, isUnsafeAssignment, isUnsafeReturn, splitTopLevelTypeText, splitTypeText, version };
84
+ export { ApiClientOptions, ApiMode, CapabilitiesResponse, ConfigResponse, CorsaApiClient, CorsaApiClient as TsgoApiClient, CorsaDistributedOrchestrator, CorsaDistributedOrchestrator as TsgoDistributedOrchestrator, CorsaVirtualDocument, CorsaVirtualDocument as TsgoVirtualDocument, DiagnosticsCapabilities, DocumentIdentifier, EditorCapabilities, FileChangeSummary, FileChanges, FileDiagnosticsResponse, InitializeResponse, NativeLintDiagnostic, NativeLintFix, NativeLintNode, NativeLintRange, NativeLintRuleMeta, NativeLintSuggestion, OverlayCapabilities, OverlayChanges, OverlayUpdate, ProjectDiagnosticsResponse, ProjectResponse, RuntimeCapabilities, SnapshotDiagnosticsResponse, SymbolResponse, TypeResponse, TypeTextKind, UnsafeTypeFlowInput, UpdateSnapshotParams, UpdateSnapshotResponse, Utils, VirtualChange, VirtualDocumentState, classifyTypeText, binding as default, isAnyLikeTypeTexts, isArrayLikeTypeTexts, isBigIntLikeTypeTexts, isErrorLikeTypeTexts, isNumberLikeTypeTexts, isPromiseLikeTypeTexts, isStringArrayLikeTypeTexts, isStringLikeTypeTexts, isUnknownLikeTypeTexts, isUnsafeAssignment, isUnsafeReturn, nativeLintRuleMetas, runNativeLintRule, splitTopLevelTypeText, splitTypeText, version };
81
85
  //# sourceMappingURL=index.d.mts.map
package/dist/index.mjs CHANGED
@@ -13,6 +13,12 @@ function isUnsafeAssignment(input) {
13
13
  function isUnsafeReturn(input) {
14
14
  return binding.isUnsafeReturn(toJson(input));
15
15
  }
16
+ function runNativeLintRule(ruleName, node) {
17
+ return fromJson(binding.runNativeLintRule(ruleName, toJson(node)));
18
+ }
19
+ function nativeLintRuleMetas() {
20
+ return fromJson(binding.nativeLintRuleMetasJson());
21
+ }
16
22
  function classifyTypeText(text) {
17
23
  return binding.classifyTypeText(text);
18
24
  }
@@ -40,6 +46,9 @@ function isUnknownLikeTypeTexts(typeTexts) {
40
46
  function isArrayLikeTypeTexts(typeTexts) {
41
47
  return binding.isArrayLikeTypeTexts([...typeTexts]);
42
48
  }
49
+ function isStringArrayLikeTypeTexts(typeTexts) {
50
+ return binding.isStringArrayLikeTypeTexts([...typeTexts]);
51
+ }
43
52
  function isPromiseLikeTypeTexts(typeTexts, propertyNames = []) {
44
53
  return binding.isPromiseLikeTypeTexts([...typeTexts], [...propertyNames]);
45
54
  }
@@ -56,6 +65,7 @@ const Utils = Object.freeze({
56
65
  isAnyLikeTypeTexts,
57
66
  isUnknownLikeTypeTexts,
58
67
  isArrayLikeTypeTexts,
68
+ isStringArrayLikeTypeTexts,
59
69
  isPromiseLikeTypeTexts,
60
70
  isErrorLikeTypeTexts
61
71
  });
@@ -186,6 +196,6 @@ var CorsaDistributedOrchestrator = class {
186
196
  };
187
197
  const version = binding.version;
188
198
  //#endregion
189
- export { CorsaApiClient, CorsaApiClient as TsgoApiClient, CorsaDistributedOrchestrator, CorsaDistributedOrchestrator as TsgoDistributedOrchestrator, CorsaVirtualDocument, CorsaVirtualDocument as TsgoVirtualDocument, Utils, classifyTypeText, binding as default, isAnyLikeTypeTexts, isArrayLikeTypeTexts, isBigIntLikeTypeTexts, isErrorLikeTypeTexts, isNumberLikeTypeTexts, isPromiseLikeTypeTexts, isStringLikeTypeTexts, isUnknownLikeTypeTexts, isUnsafeAssignment, isUnsafeReturn, splitTopLevelTypeText, splitTypeText, version };
199
+ export { CorsaApiClient, CorsaApiClient as TsgoApiClient, CorsaDistributedOrchestrator, CorsaDistributedOrchestrator as TsgoDistributedOrchestrator, CorsaVirtualDocument, CorsaVirtualDocument as TsgoVirtualDocument, Utils, classifyTypeText, binding as default, isAnyLikeTypeTexts, isArrayLikeTypeTexts, isBigIntLikeTypeTexts, isErrorLikeTypeTexts, isNumberLikeTypeTexts, isPromiseLikeTypeTexts, isStringArrayLikeTypeTexts, isStringLikeTypeTexts, isUnknownLikeTypeTexts, isUnsafeAssignment, isUnsafeReturn, nativeLintRuleMetas, runNativeLintRule, splitTopLevelTypeText, splitTypeText, version };
190
200
 
191
201
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["#inner"],"sources":["../ts/index.ts"],"sourcesContent":["import * as nativeModule from \"../index.js\";\n\nimport type {\n ApiClientOptions,\n ConfigResponse,\n InitializeResponse,\n SymbolResponse,\n TypeTextKind,\n TypeResponse,\n UnsafeTypeFlowInput,\n UpdateSnapshotParams,\n UpdateSnapshotResponse,\n VirtualChange,\n VirtualDocumentState,\n} from \"./types\";\n\nconst binding = (\n \"default\" in nativeModule ? nativeModule.default : nativeModule\n) as typeof import(\"../index.js\");\n\ntype NativeApiClient = InstanceType<typeof binding.TsgoApiClient>;\ntype NativeDistributedOrchestrator = InstanceType<typeof binding.TsgoDistributedOrchestrator>;\ntype NativeVirtualDocument = InstanceType<typeof binding.TsgoVirtualDocument>;\n\nfunction fromJson<T>(value: string): T {\n return JSON.parse(value) as T;\n}\n\nfunction toJson(value: unknown): string {\n return JSON.stringify(value ?? null);\n}\n\nexport function isUnsafeAssignment(input: UnsafeTypeFlowInput): boolean {\n return binding.isUnsafeAssignment(toJson(input));\n}\n\nexport function isUnsafeReturn(input: UnsafeTypeFlowInput): boolean {\n return binding.isUnsafeReturn(toJson(input));\n}\n\nexport function classifyTypeText(text?: string): TypeTextKind {\n return binding.classifyTypeText(text) as TypeTextKind;\n}\n\nexport function splitTopLevelTypeText(text: string, delimiter: string): string[] {\n return binding.splitTopLevelTypeText(text, delimiter);\n}\n\nexport function splitTypeText(text: string): string[] {\n return binding.splitTypeText(text);\n}\n\nexport function isStringLikeTypeTexts(typeTexts: readonly string[]): boolean {\n return binding.isStringLikeTypeTexts([...typeTexts]);\n}\n\nexport function isNumberLikeTypeTexts(typeTexts: readonly string[]): boolean {\n return binding.isNumberLikeTypeTexts([...typeTexts]);\n}\n\nexport function isBigIntLikeTypeTexts(typeTexts: readonly string[]): boolean {\n return binding.isBigIntLikeTypeTexts([...typeTexts]);\n}\n\nexport function isAnyLikeTypeTexts(typeTexts: readonly string[]): boolean {\n return binding.isAnyLikeTypeTexts([...typeTexts]);\n}\n\nexport function isUnknownLikeTypeTexts(typeTexts: readonly string[]): boolean {\n return binding.isUnknownLikeTypeTexts([...typeTexts]);\n}\n\nexport function isArrayLikeTypeTexts(typeTexts: readonly string[]): boolean {\n return binding.isArrayLikeTypeTexts([...typeTexts]);\n}\n\nexport function isPromiseLikeTypeTexts(\n typeTexts: readonly string[],\n propertyNames: readonly string[] = [],\n): boolean {\n return binding.isPromiseLikeTypeTexts([...typeTexts], [...propertyNames]);\n}\n\nexport function isErrorLikeTypeTexts(\n typeTexts: readonly string[],\n propertyNames: readonly string[] = [],\n): boolean {\n return binding.isErrorLikeTypeTexts([...typeTexts], [...propertyNames]);\n}\n\nexport const Utils = Object.freeze({\n classifyTypeText,\n splitTopLevelTypeText,\n splitTypeText,\n isStringLikeTypeTexts,\n isNumberLikeTypeTexts,\n isBigIntLikeTypeTexts,\n isAnyLikeTypeTexts,\n isUnknownLikeTypeTexts,\n isArrayLikeTypeTexts,\n isPromiseLikeTypeTexts,\n isErrorLikeTypeTexts,\n});\n\nexport class CorsaApiClient {\n readonly #inner: NativeApiClient;\n\n private constructor(inner: NativeApiClient) {\n this.#inner = inner;\n }\n\n static spawn(options: ApiClientOptions): CorsaApiClient {\n return new CorsaApiClient(binding.TsgoApiClient.spawn(toJson(options)));\n }\n\n initialize(): InitializeResponse {\n return fromJson(this.#inner.initializeJson());\n }\n\n parseConfigFile(file: string): ConfigResponse {\n return fromJson(this.#inner.parseConfigFileJson(file));\n }\n\n updateSnapshot(params?: UpdateSnapshotParams): UpdateSnapshotResponse {\n return fromJson(this.#inner.updateSnapshotJson(params ? toJson(params) : undefined));\n }\n\n getSourceFile(snapshot: string, project: string, file: string): Uint8Array | null {\n return this.#inner.getSourceFile(snapshot, project, file) ?? null;\n }\n\n getStringType(snapshot: string, project: string): TypeResponse {\n return fromJson(this.#inner.getStringTypeJson(snapshot, project));\n }\n\n getTypeAtPosition(\n snapshot: string,\n project: string,\n file: string,\n position: number,\n ): TypeResponse | undefined {\n return (\n fromJson<TypeResponse | null>(\n this.#inner.getTypeAtPositionJson(snapshot, project, file, position),\n ) ?? undefined\n );\n }\n\n getSymbolAtPosition(\n snapshot: string,\n project: string,\n file: string,\n position: number,\n ): SymbolResponse | undefined {\n return (\n fromJson<SymbolResponse | null>(\n this.#inner.getSymbolAtPositionJson(snapshot, project, file, position),\n ) ?? undefined\n );\n }\n\n getTypeArguments(\n snapshot: string,\n project: string,\n typeHandle: string,\n objectFlags?: number,\n ): TypeResponse[] {\n return fromJson(this.#inner.getTypeArgumentsJson(snapshot, project, typeHandle, objectFlags));\n }\n\n getTypeOfSymbol(snapshot: string, project: string, symbol: string): TypeResponse | undefined {\n return (\n fromJson<TypeResponse | null>(this.#inner.getTypeOfSymbolJson(snapshot, project, symbol)) ??\n undefined\n );\n }\n\n getDeclaredTypeOfSymbol(\n snapshot: string,\n project: string,\n symbol: string,\n ): TypeResponse | undefined {\n return (\n fromJson<TypeResponse | null>(\n this.#inner.getDeclaredTypeOfSymbolJson(snapshot, project, symbol),\n ) ?? undefined\n );\n }\n\n typeToString(\n snapshot: string,\n project: string,\n typeHandle: string,\n location?: string,\n flags?: number,\n ): string {\n return this.#inner.typeToString(snapshot, project, typeHandle, location, flags);\n }\n\n callJson<T>(method: string, params?: unknown): T {\n return fromJson(this.#inner.callJson(method, params ? toJson(params) : undefined));\n }\n\n callBinary(method: string, params?: unknown): Uint8Array | null {\n return this.#inner.callBinary(method, params ? toJson(params) : undefined) ?? null;\n }\n\n releaseHandle(handle: string): void {\n this.#inner.releaseHandle(handle);\n }\n\n close(): void {\n this.#inner.close();\n }\n}\n\nexport class CorsaVirtualDocument {\n readonly #inner: NativeVirtualDocument;\n\n private constructor(inner: NativeVirtualDocument) {\n this.#inner = inner;\n }\n\n static untitled(path: string, languageId: string, text: string): CorsaVirtualDocument {\n return new CorsaVirtualDocument(binding.TsgoVirtualDocument.untitled(path, languageId, text));\n }\n\n static inMemory(\n authority: string,\n path: string,\n languageId: string,\n text: string,\n ): CorsaVirtualDocument {\n return new CorsaVirtualDocument(\n binding.TsgoVirtualDocument.inMemory(authority, path, languageId, text),\n );\n }\n\n get uri(): string {\n return this.#inner.uri;\n }\n\n get languageId(): string {\n return this.#inner.languageId;\n }\n\n get version(): number {\n return this.#inner.version;\n }\n\n get text(): string {\n return this.#inner.text;\n }\n\n state(): VirtualDocumentState {\n return fromJson(this.#inner.stateJson());\n }\n\n replace(text: string): void {\n this.#inner.replace(text);\n }\n\n applyChanges(changes: VirtualChange[]): unknown[] {\n return fromJson(this.#inner.applyChangesJson(toJson(changes)));\n }\n}\n\nexport class CorsaDistributedOrchestrator {\n readonly #inner: NativeDistributedOrchestrator;\n\n constructor(nodeIds: string[]) {\n this.#inner = new binding.TsgoDistributedOrchestrator(nodeIds);\n }\n\n campaign(nodeId: string): number {\n return this.#inner.campaign(nodeId);\n }\n\n leaderId(): string | undefined {\n return this.#inner.leaderId() ?? undefined;\n }\n\n state<T>(): T | undefined {\n const value = this.#inner.stateJson();\n return value ? fromJson<T>(value) : undefined;\n }\n\n nodeState<T>(nodeId: string): T | undefined {\n const value = this.#inner.nodeStateJson(nodeId);\n return value ? fromJson<T>(value) : undefined;\n }\n\n document(nodeId: string, uri: string): VirtualDocumentState | undefined {\n const value = this.#inner.documentJson(nodeId, uri);\n return value ? fromJson<VirtualDocumentState>(value) : undefined;\n }\n\n openVirtualDocument(document: VirtualDocumentState): VirtualDocumentState {\n return fromJson(this.#inner.openVirtualDocumentJson(this.requireLeader(), toJson(document)));\n }\n\n changeVirtualDocument(uri: string, changes: VirtualChange[]): VirtualDocumentState {\n return fromJson(\n this.#inner.changeVirtualDocumentJson(this.requireLeader(), uri, toJson(changes)),\n );\n }\n\n closeVirtualDocument(uri: string): void {\n this.#inner.closeVirtualDocument(this.requireLeader(), uri);\n }\n\n private requireLeader(): string {\n const leaderId = this.leaderId();\n if (!leaderId) {\n throw new Error(\"raft leader has not been elected\");\n }\n return leaderId;\n }\n}\n\nexport {\n CorsaApiClient as TsgoApiClient,\n CorsaDistributedOrchestrator as TsgoDistributedOrchestrator,\n CorsaVirtualDocument as TsgoVirtualDocument,\n};\n\nexport default binding;\nexport const version = binding.version;\nexport type * from \"./types\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":["#inner"],"sources":["../ts/index.ts"],"sourcesContent":["import * as nativeModule from \"../index.js\";\n\nimport type {\n ApiClientOptions,\n ConfigResponse,\n InitializeResponse,\n NativeLintDiagnostic,\n NativeLintNode,\n NativeLintRuleMeta,\n SymbolResponse,\n TypeTextKind,\n TypeResponse,\n UnsafeTypeFlowInput,\n UpdateSnapshotParams,\n UpdateSnapshotResponse,\n VirtualChange,\n VirtualDocumentState,\n} from \"./types\";\n\nconst binding = (\n \"default\" in nativeModule ? nativeModule.default : nativeModule\n) as typeof import(\"../index.js\");\n\ntype NativeApiClient = InstanceType<typeof binding.TsgoApiClient>;\ntype NativeDistributedOrchestrator = InstanceType<typeof binding.TsgoDistributedOrchestrator>;\ntype NativeVirtualDocument = InstanceType<typeof binding.TsgoVirtualDocument>;\n\nfunction fromJson<T>(value: string): T {\n return JSON.parse(value) as T;\n}\n\nfunction toJson(value: unknown): string {\n return JSON.stringify(value ?? null);\n}\n\nexport function isUnsafeAssignment(input: UnsafeTypeFlowInput): boolean {\n return binding.isUnsafeAssignment(toJson(input));\n}\n\nexport function isUnsafeReturn(input: UnsafeTypeFlowInput): boolean {\n return binding.isUnsafeReturn(toJson(input));\n}\n\nexport function runNativeLintRule(ruleName: string, node: NativeLintNode): NativeLintDiagnostic[] {\n return fromJson(binding.runNativeLintRule(ruleName, toJson(node)));\n}\n\nexport function nativeLintRuleMetas(): NativeLintRuleMeta[] {\n return fromJson(binding.nativeLintRuleMetasJson());\n}\n\nexport function classifyTypeText(text?: string): TypeTextKind {\n return binding.classifyTypeText(text) as TypeTextKind;\n}\n\nexport function splitTopLevelTypeText(text: string, delimiter: string): string[] {\n return binding.splitTopLevelTypeText(text, delimiter);\n}\n\nexport function splitTypeText(text: string): string[] {\n return binding.splitTypeText(text);\n}\n\nexport function isStringLikeTypeTexts(typeTexts: readonly string[]): boolean {\n return binding.isStringLikeTypeTexts([...typeTexts]);\n}\n\nexport function isNumberLikeTypeTexts(typeTexts: readonly string[]): boolean {\n return binding.isNumberLikeTypeTexts([...typeTexts]);\n}\n\nexport function isBigIntLikeTypeTexts(typeTexts: readonly string[]): boolean {\n return binding.isBigIntLikeTypeTexts([...typeTexts]);\n}\n\nexport function isAnyLikeTypeTexts(typeTexts: readonly string[]): boolean {\n return binding.isAnyLikeTypeTexts([...typeTexts]);\n}\n\nexport function isUnknownLikeTypeTexts(typeTexts: readonly string[]): boolean {\n return binding.isUnknownLikeTypeTexts([...typeTexts]);\n}\n\nexport function isArrayLikeTypeTexts(typeTexts: readonly string[]): boolean {\n return binding.isArrayLikeTypeTexts([...typeTexts]);\n}\n\nexport function isStringArrayLikeTypeTexts(typeTexts: readonly string[]): boolean {\n return binding.isStringArrayLikeTypeTexts([...typeTexts]);\n}\n\nexport function isPromiseLikeTypeTexts(\n typeTexts: readonly string[],\n propertyNames: readonly string[] = [],\n): boolean {\n return binding.isPromiseLikeTypeTexts([...typeTexts], [...propertyNames]);\n}\n\nexport function isErrorLikeTypeTexts(\n typeTexts: readonly string[],\n propertyNames: readonly string[] = [],\n): boolean {\n return binding.isErrorLikeTypeTexts([...typeTexts], [...propertyNames]);\n}\n\nexport const Utils = Object.freeze({\n classifyTypeText,\n splitTopLevelTypeText,\n splitTypeText,\n isStringLikeTypeTexts,\n isNumberLikeTypeTexts,\n isBigIntLikeTypeTexts,\n isAnyLikeTypeTexts,\n isUnknownLikeTypeTexts,\n isArrayLikeTypeTexts,\n isStringArrayLikeTypeTexts,\n isPromiseLikeTypeTexts,\n isErrorLikeTypeTexts,\n});\n\nexport class CorsaApiClient {\n readonly #inner: NativeApiClient;\n\n private constructor(inner: NativeApiClient) {\n this.#inner = inner;\n }\n\n static spawn(options: ApiClientOptions): CorsaApiClient {\n return new CorsaApiClient(binding.TsgoApiClient.spawn(toJson(options)));\n }\n\n initialize(): InitializeResponse {\n return fromJson(this.#inner.initializeJson());\n }\n\n parseConfigFile(file: string): ConfigResponse {\n return fromJson(this.#inner.parseConfigFileJson(file));\n }\n\n updateSnapshot(params?: UpdateSnapshotParams): UpdateSnapshotResponse {\n return fromJson(this.#inner.updateSnapshotJson(params ? toJson(params) : undefined));\n }\n\n getSourceFile(snapshot: string, project: string, file: string): Uint8Array | null {\n return this.#inner.getSourceFile(snapshot, project, file) ?? null;\n }\n\n getStringType(snapshot: string, project: string): TypeResponse {\n return fromJson(this.#inner.getStringTypeJson(snapshot, project));\n }\n\n getTypeAtPosition(\n snapshot: string,\n project: string,\n file: string,\n position: number,\n ): TypeResponse | undefined {\n return (\n fromJson<TypeResponse | null>(\n this.#inner.getTypeAtPositionJson(snapshot, project, file, position),\n ) ?? undefined\n );\n }\n\n getSymbolAtPosition(\n snapshot: string,\n project: string,\n file: string,\n position: number,\n ): SymbolResponse | undefined {\n return (\n fromJson<SymbolResponse | null>(\n this.#inner.getSymbolAtPositionJson(snapshot, project, file, position),\n ) ?? undefined\n );\n }\n\n getTypeArguments(\n snapshot: string,\n project: string,\n typeHandle: string,\n objectFlags?: number,\n ): TypeResponse[] {\n return fromJson(this.#inner.getTypeArgumentsJson(snapshot, project, typeHandle, objectFlags));\n }\n\n getTypeOfSymbol(snapshot: string, project: string, symbol: string): TypeResponse | undefined {\n return (\n fromJson<TypeResponse | null>(this.#inner.getTypeOfSymbolJson(snapshot, project, symbol)) ??\n undefined\n );\n }\n\n getDeclaredTypeOfSymbol(\n snapshot: string,\n project: string,\n symbol: string,\n ): TypeResponse | undefined {\n return (\n fromJson<TypeResponse | null>(\n this.#inner.getDeclaredTypeOfSymbolJson(snapshot, project, symbol),\n ) ?? undefined\n );\n }\n\n typeToString(\n snapshot: string,\n project: string,\n typeHandle: string,\n location?: string,\n flags?: number,\n ): string {\n return this.#inner.typeToString(snapshot, project, typeHandle, location, flags);\n }\n\n callJson<T>(method: string, params?: unknown): T {\n return fromJson(this.#inner.callJson(method, params ? toJson(params) : undefined));\n }\n\n callBinary(method: string, params?: unknown): Uint8Array | null {\n return this.#inner.callBinary(method, params ? toJson(params) : undefined) ?? null;\n }\n\n releaseHandle(handle: string): void {\n this.#inner.releaseHandle(handle);\n }\n\n close(): void {\n this.#inner.close();\n }\n}\n\nexport class CorsaVirtualDocument {\n readonly #inner: NativeVirtualDocument;\n\n private constructor(inner: NativeVirtualDocument) {\n this.#inner = inner;\n }\n\n static untitled(path: string, languageId: string, text: string): CorsaVirtualDocument {\n return new CorsaVirtualDocument(binding.TsgoVirtualDocument.untitled(path, languageId, text));\n }\n\n static inMemory(\n authority: string,\n path: string,\n languageId: string,\n text: string,\n ): CorsaVirtualDocument {\n return new CorsaVirtualDocument(\n binding.TsgoVirtualDocument.inMemory(authority, path, languageId, text),\n );\n }\n\n get uri(): string {\n return this.#inner.uri;\n }\n\n get languageId(): string {\n return this.#inner.languageId;\n }\n\n get version(): number {\n return this.#inner.version;\n }\n\n get text(): string {\n return this.#inner.text;\n }\n\n state(): VirtualDocumentState {\n return fromJson(this.#inner.stateJson());\n }\n\n replace(text: string): void {\n this.#inner.replace(text);\n }\n\n applyChanges(changes: VirtualChange[]): unknown[] {\n return fromJson(this.#inner.applyChangesJson(toJson(changes)));\n }\n}\n\nexport class CorsaDistributedOrchestrator {\n readonly #inner: NativeDistributedOrchestrator;\n\n constructor(nodeIds: string[]) {\n this.#inner = new binding.TsgoDistributedOrchestrator(nodeIds);\n }\n\n campaign(nodeId: string): number {\n return this.#inner.campaign(nodeId);\n }\n\n leaderId(): string | undefined {\n return this.#inner.leaderId() ?? undefined;\n }\n\n state<T>(): T | undefined {\n const value = this.#inner.stateJson();\n return value ? fromJson<T>(value) : undefined;\n }\n\n nodeState<T>(nodeId: string): T | undefined {\n const value = this.#inner.nodeStateJson(nodeId);\n return value ? fromJson<T>(value) : undefined;\n }\n\n document(nodeId: string, uri: string): VirtualDocumentState | undefined {\n const value = this.#inner.documentJson(nodeId, uri);\n return value ? fromJson<VirtualDocumentState>(value) : undefined;\n }\n\n openVirtualDocument(document: VirtualDocumentState): VirtualDocumentState {\n return fromJson(this.#inner.openVirtualDocumentJson(this.requireLeader(), toJson(document)));\n }\n\n changeVirtualDocument(uri: string, changes: VirtualChange[]): VirtualDocumentState {\n return fromJson(\n this.#inner.changeVirtualDocumentJson(this.requireLeader(), uri, toJson(changes)),\n );\n }\n\n closeVirtualDocument(uri: string): void {\n this.#inner.closeVirtualDocument(this.requireLeader(), uri);\n }\n\n private requireLeader(): string {\n const leaderId = this.leaderId();\n if (!leaderId) {\n throw new Error(\"raft leader has not been elected\");\n }\n return leaderId;\n }\n}\n\nexport {\n CorsaApiClient as TsgoApiClient,\n CorsaDistributedOrchestrator as TsgoDistributedOrchestrator,\n CorsaVirtualDocument as TsgoVirtualDocument,\n};\n\nexport default binding;\nexport const version = binding.version;\nexport type * from \"./types\";\n"],"mappings":"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"}
package/dist/types.d.mts CHANGED
@@ -115,6 +115,44 @@ interface UnsafeTypeFlowInput {
115
115
  sourceTypeTexts: readonly string[];
116
116
  targetTypeTexts?: readonly string[];
117
117
  }
118
+ interface NativeLintRange {
119
+ start: number;
120
+ end: number;
121
+ }
122
+ interface NativeLintNode {
123
+ kind: string;
124
+ range: NativeLintRange;
125
+ text?: string;
126
+ typeTexts?: readonly string[];
127
+ propertyNames?: readonly string[];
128
+ fields?: Record<string, unknown>;
129
+ children?: Record<string, NativeLintNode>;
130
+ childLists?: Record<string, readonly NativeLintNode[]>;
131
+ }
132
+ interface NativeLintFix {
133
+ range: NativeLintRange;
134
+ replacementText: string;
135
+ }
136
+ interface NativeLintSuggestion {
137
+ messageId: string;
138
+ message: string;
139
+ fixes: readonly NativeLintFix[];
140
+ }
141
+ interface NativeLintDiagnostic {
142
+ ruleName: string;
143
+ messageId: string;
144
+ message: string;
145
+ range: NativeLintRange;
146
+ suggestions?: readonly NativeLintSuggestion[];
147
+ }
148
+ interface NativeLintRuleMeta {
149
+ name: string;
150
+ docsDescription: string;
151
+ messages: Record<string, string>;
152
+ hasSuggestions: boolean;
153
+ listeners: readonly string[];
154
+ requiresTypeTexts: boolean;
155
+ }
118
156
  type TypeTextKind = "any" | "bigint" | "boolean" | "nullish" | "number" | "regexp" | "string" | "unknown" | "other";
119
157
  interface VirtualChange {
120
158
  range?: {
@@ -137,5 +175,5 @@ interface VirtualDocumentState {
137
175
  text: string;
138
176
  }
139
177
  //#endregion
140
- export { ApiClientOptions, ApiMode, CapabilitiesResponse, ConfigResponse, DiagnosticsCapabilities, DocumentIdentifier, EditorCapabilities, FileChangeSummary, FileChanges, FileDiagnosticsResponse, InitializeResponse, OverlayCapabilities, OverlayChanges, OverlayUpdate, ProjectDiagnosticsResponse, ProjectResponse, RuntimeCapabilities, SnapshotDiagnosticsResponse, SymbolResponse, TypeResponse, TypeTextKind, UnsafeTypeFlowInput, UpdateSnapshotParams, UpdateSnapshotResponse, VirtualChange, VirtualDocumentState };
178
+ export { ApiClientOptions, ApiMode, CapabilitiesResponse, ConfigResponse, DiagnosticsCapabilities, DocumentIdentifier, EditorCapabilities, FileChangeSummary, FileChanges, FileDiagnosticsResponse, InitializeResponse, NativeLintDiagnostic, NativeLintFix, NativeLintNode, NativeLintRange, NativeLintRuleMeta, NativeLintSuggestion, OverlayCapabilities, OverlayChanges, OverlayUpdate, ProjectDiagnosticsResponse, ProjectResponse, RuntimeCapabilities, SnapshotDiagnosticsResponse, SymbolResponse, TypeResponse, TypeTextKind, UnsafeTypeFlowInput, UpdateSnapshotParams, UpdateSnapshotResponse, VirtualChange, VirtualDocumentState };
141
179
  //# sourceMappingURL=types.d.mts.map
package/index.d.ts CHANGED
@@ -3,6 +3,8 @@
3
3
 
4
4
  /* auto-generated by NAPI-RS */
5
5
 
6
+ export declare function runNativeLintRule(ruleName: string, nodeJson: string): string
7
+ export declare function nativeLintRuleMetasJson(): string
6
8
  export declare function isUnsafeAssignment(inputJson: string): boolean
7
9
  export declare function isUnsafeReturn(inputJson: string): boolean
8
10
  export declare function classifyTypeText(text?: string | undefined | null): string
@@ -14,6 +16,7 @@ export declare function isBigIntLikeTypeTexts(typeTexts: Array<string>): boolean
14
16
  export declare function isAnyLikeTypeTexts(typeTexts: Array<string>): boolean
15
17
  export declare function isUnknownLikeTypeTexts(typeTexts: Array<string>): boolean
16
18
  export declare function isArrayLikeTypeTexts(typeTexts: Array<string>): boolean
19
+ export declare function isStringArrayLikeTypeTexts(typeTexts: Array<string>): boolean
17
20
  export declare function isPromiseLikeTypeTexts(typeTexts: Array<string>, propertyNames?: Array<string> | undefined | null): boolean
18
21
  export declare function isErrorLikeTypeTexts(typeTexts: Array<string>, propertyNames?: Array<string> | undefined | null): boolean
19
22
  /**
package/index.js CHANGED
@@ -310,10 +310,12 @@ if (!nativeBinding) {
310
310
  throw new Error(`Failed to load native binding`)
311
311
  }
312
312
 
313
- const { TsgoApiClient, TsgoVirtualDocument, TsgoDistributedOrchestrator, isUnsafeAssignment, isUnsafeReturn, classifyTypeText, splitTopLevelTypeText, splitTypeText, isStringLikeTypeTexts, isNumberLikeTypeTexts, isBigIntLikeTypeTexts, isAnyLikeTypeTexts, isUnknownLikeTypeTexts, isArrayLikeTypeTexts, isPromiseLikeTypeTexts, isErrorLikeTypeTexts, version } = nativeBinding
313
+ const { TsgoApiClient, TsgoVirtualDocument, runNativeLintRule, nativeLintRuleMetasJson, TsgoDistributedOrchestrator, isUnsafeAssignment, isUnsafeReturn, classifyTypeText, splitTopLevelTypeText, splitTypeText, isStringLikeTypeTexts, isNumberLikeTypeTexts, isBigIntLikeTypeTexts, isAnyLikeTypeTexts, isUnknownLikeTypeTexts, isArrayLikeTypeTexts, isStringArrayLikeTypeTexts, isPromiseLikeTypeTexts, isErrorLikeTypeTexts, version } = nativeBinding
314
314
 
315
315
  module.exports.TsgoApiClient = TsgoApiClient
316
316
  module.exports.TsgoVirtualDocument = TsgoVirtualDocument
317
+ module.exports.runNativeLintRule = runNativeLintRule
318
+ module.exports.nativeLintRuleMetasJson = nativeLintRuleMetasJson
317
319
  module.exports.TsgoDistributedOrchestrator = TsgoDistributedOrchestrator
318
320
  module.exports.isUnsafeAssignment = isUnsafeAssignment
319
321
  module.exports.isUnsafeReturn = isUnsafeReturn
@@ -326,6 +328,7 @@ module.exports.isBigIntLikeTypeTexts = isBigIntLikeTypeTexts
326
328
  module.exports.isAnyLikeTypeTexts = isAnyLikeTypeTexts
327
329
  module.exports.isUnknownLikeTypeTexts = isUnknownLikeTypeTexts
328
330
  module.exports.isArrayLikeTypeTexts = isArrayLikeTypeTexts
331
+ module.exports.isStringArrayLikeTypeTexts = isStringArrayLikeTypeTexts
329
332
  module.exports.isPromiseLikeTypeTexts = isPromiseLikeTypeTexts
330
333
  module.exports.isErrorLikeTypeTexts = isErrorLikeTypeTexts
331
334
  module.exports.version = version
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@corsa-bind/napi",
3
- "version": "0.4.0",
3
+ "version": "0.7.1",
4
4
  "description": "Native Node.js bindings for corsa and typescript-go stdio workflows",
5
5
  "homepage": "https://github.com/ubugeeei/corsa-bind/tree/main/src/bindings/nodejs/corsa_node",
6
6
  "bugs": {
@@ -46,13 +46,13 @@
46
46
  "node": ">=22"
47
47
  },
48
48
  "optionalDependencies": {
49
- "@corsa-bind/napi-win32-x64-msvc": "0.4.0",
50
- "@corsa-bind/napi-darwin-x64": "0.4.0",
51
- "@corsa-bind/napi-linux-x64-gnu": "0.4.0",
52
- "@corsa-bind/napi-darwin-arm64": "0.4.0",
53
- "@corsa-bind/napi-win32-arm64-msvc": "0.4.0",
54
- "@corsa-bind/napi-linux-x64-musl": "0.4.0",
55
- "@corsa-bind/napi-linux-arm64-gnu": "0.4.0",
56
- "@corsa-bind/napi-linux-arm64-musl": "0.4.0"
49
+ "@corsa-bind/napi-win32-x64-msvc": "0.7.1",
50
+ "@corsa-bind/napi-darwin-x64": "0.7.1",
51
+ "@corsa-bind/napi-linux-x64-gnu": "0.7.1",
52
+ "@corsa-bind/napi-darwin-arm64": "0.7.1",
53
+ "@corsa-bind/napi-win32-arm64-msvc": "0.7.1",
54
+ "@corsa-bind/napi-linux-x64-musl": "0.7.1",
55
+ "@corsa-bind/napi-linux-arm64-gnu": "0.7.1",
56
+ "@corsa-bind/napi-linux-arm64-musl": "0.7.1"
57
57
  }
58
58
  }