@microsoft/powerquery-language-services 0.10.1 → 0.10.2
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.
|
@@ -1,15 +1,34 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Result } from "@microsoft/powerquery-parser";
|
|
2
2
|
import { ExternalType } from "../externalType";
|
|
3
3
|
import { Library } from "../library";
|
|
4
4
|
import { LibrarySymbol } from "./librarySymbol";
|
|
5
|
-
export
|
|
5
|
+
export interface IncompleteLibrary {
|
|
6
6
|
readonly library: Library.ILibrary;
|
|
7
|
-
readonly
|
|
8
|
-
}
|
|
9
|
-
export
|
|
7
|
+
readonly failedLibrarySymbolConversions: ReadonlyArray<FailedLibrarySymbolConversion>;
|
|
8
|
+
}
|
|
9
|
+
export interface IncompleteLibraryDefinitions {
|
|
10
10
|
readonly libraryDefinitions: ReadonlyMap<string, Library.TLibraryDefinition>;
|
|
11
|
-
readonly
|
|
12
|
-
}
|
|
13
|
-
export
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
readonly failedLibrarySymbolConversions: ReadonlyArray<FailedLibrarySymbolConversion>;
|
|
12
|
+
}
|
|
13
|
+
export interface FailedLibrarySymbolConversion {
|
|
14
|
+
readonly librarySymbol: LibrarySymbol;
|
|
15
|
+
readonly kind: FailedLibrarySymbolConversionKind;
|
|
16
|
+
}
|
|
17
|
+
export interface FailedLibrarySymbolParameterConversion extends FailedLibrarySymbolConversion {
|
|
18
|
+
readonly kind: FailedLibrarySymbolConversionKind.Parameter;
|
|
19
|
+
readonly index: number;
|
|
20
|
+
}
|
|
21
|
+
export declare enum FailedLibrarySymbolConversionKind {
|
|
22
|
+
CompletionItemKind = "CompletionItemKind",
|
|
23
|
+
DefinedFunction = "DefinedFunction",
|
|
24
|
+
Parameter = "Parameter",
|
|
25
|
+
PrimitiveType = "PrimitiveType"
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
Always returns a library, even if there are failed library symbol conversions.
|
|
29
|
+
An Ok result indicates that all library symbols were successfully converted.
|
|
30
|
+
An Error result indicates that some library symbols failed to convert.
|
|
31
|
+
*/
|
|
32
|
+
export declare function createLibrary(librarySymbols: ReadonlyArray<LibrarySymbol>, dynamicLibraryDefinitions: () => ReadonlyMap<string, Library.TLibraryDefinition>, externalTypeResolverFn: ExternalType.TExternalTypeResolverFn | undefined): Result<Library.ILibrary, IncompleteLibrary>;
|
|
33
|
+
export declare function createLibraryDefinition(librarySymbol: LibrarySymbol): Result<Library.TLibraryDefinition, FailedLibrarySymbolConversion>;
|
|
34
|
+
export declare function createLibraryDefinitions(librarySymbols: ReadonlyArray<LibrarySymbol>): Result<ReadonlyMap<string, Library.TLibraryDefinition>, IncompleteLibraryDefinitions>;
|
|
@@ -2,34 +2,40 @@
|
|
|
2
2
|
// Copyright (c) Microsoft Corporation.
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.
|
|
5
|
+
exports.createLibraryDefinitions = exports.createLibraryDefinition = exports.createLibrary = exports.FailedLibrarySymbolConversionKind = void 0;
|
|
6
6
|
const powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
7
7
|
const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
|
|
8
8
|
const trace_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/common/trace");
|
|
9
9
|
const externalType_1 = require("../externalType");
|
|
10
10
|
const library_1 = require("../library");
|
|
11
11
|
const commonTypes_1 = require("../commonTypes");
|
|
12
|
+
var FailedLibrarySymbolConversionKind;
|
|
13
|
+
(function (FailedLibrarySymbolConversionKind) {
|
|
14
|
+
FailedLibrarySymbolConversionKind["CompletionItemKind"] = "CompletionItemKind";
|
|
15
|
+
FailedLibrarySymbolConversionKind["DefinedFunction"] = "DefinedFunction";
|
|
16
|
+
FailedLibrarySymbolConversionKind["Parameter"] = "Parameter";
|
|
17
|
+
FailedLibrarySymbolConversionKind["PrimitiveType"] = "PrimitiveType";
|
|
18
|
+
})(FailedLibrarySymbolConversionKind = exports.FailedLibrarySymbolConversionKind || (exports.FailedLibrarySymbolConversionKind = {}));
|
|
19
|
+
/**
|
|
20
|
+
Always returns a library, even if there are failed library symbol conversions.
|
|
21
|
+
An Ok result indicates that all library symbols were successfully converted.
|
|
22
|
+
An Error result indicates that some library symbols failed to convert.
|
|
23
|
+
*/
|
|
12
24
|
function createLibrary(librarySymbols, dynamicLibraryDefinitions, externalTypeResolverFn) {
|
|
13
25
|
const libraryDefinitionsResult = createLibraryDefinitions(librarySymbols);
|
|
14
|
-
let
|
|
15
|
-
let
|
|
16
|
-
if (powerquery_parser_1.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
else if (powerquery_parser_1.PartialResultUtils.isIncomplete(libraryDefinitionsResult)) {
|
|
21
|
-
librarySymbolDefinitions = libraryDefinitionsResult.partial.libraryDefinitions;
|
|
22
|
-
invalidSymbols = libraryDefinitionsResult.partial.invalidSymbols;
|
|
23
|
-
}
|
|
24
|
-
else if (powerquery_parser_1.PartialResultUtils.isError(libraryDefinitionsResult)) {
|
|
25
|
-
return powerquery_parser_1.PartialResultUtils.error(libraryDefinitionsResult.error);
|
|
26
|
+
let staticLibraryDefinitions;
|
|
27
|
+
let failedLibrarySymbolConversions;
|
|
28
|
+
if (powerquery_parser_1.ResultUtils.isOk(libraryDefinitionsResult)) {
|
|
29
|
+
staticLibraryDefinitions = libraryDefinitionsResult.value;
|
|
30
|
+
failedLibrarySymbolConversions = [];
|
|
26
31
|
}
|
|
27
32
|
else {
|
|
28
|
-
|
|
33
|
+
staticLibraryDefinitions = libraryDefinitionsResult.error.libraryDefinitions;
|
|
34
|
+
failedLibrarySymbolConversions = libraryDefinitionsResult.error.failedLibrarySymbolConversions;
|
|
29
35
|
}
|
|
30
36
|
const libraryDefinitions = {
|
|
31
37
|
dynamicLibraryDefinitions,
|
|
32
|
-
staticLibraryDefinitions
|
|
38
|
+
staticLibraryDefinitions,
|
|
33
39
|
};
|
|
34
40
|
const definitionResolverFn = library_1.LibraryDefinitionUtils.externalTypeResolver(libraryDefinitions);
|
|
35
41
|
const library = {
|
|
@@ -38,95 +44,108 @@ function createLibrary(librarySymbols, dynamicLibraryDefinitions, externalTypeRe
|
|
|
38
44
|
: definitionResolverFn,
|
|
39
45
|
libraryDefinitions,
|
|
40
46
|
};
|
|
41
|
-
if (
|
|
42
|
-
return powerquery_parser_1.
|
|
47
|
+
if (failedLibrarySymbolConversions.length > 0) {
|
|
48
|
+
return powerquery_parser_1.ResultUtils.error({
|
|
43
49
|
library,
|
|
44
|
-
|
|
50
|
+
failedLibrarySymbolConversions,
|
|
45
51
|
});
|
|
46
52
|
}
|
|
47
53
|
else {
|
|
48
|
-
return powerquery_parser_1.
|
|
54
|
+
return powerquery_parser_1.ResultUtils.ok(library);
|
|
49
55
|
}
|
|
50
56
|
}
|
|
51
57
|
exports.createLibrary = createLibrary;
|
|
52
|
-
function
|
|
53
|
-
const libraryDefinitions = new Map();
|
|
54
|
-
const invalidSymbols = [];
|
|
55
|
-
for (const librarySymbol of librarySymbols) {
|
|
56
|
-
const libraryDefinition = librarySymbolToLibraryDefinition(librarySymbol);
|
|
57
|
-
if (libraryDefinition === undefined) {
|
|
58
|
-
invalidSymbols.push(librarySymbol);
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
libraryDefinitions.set(librarySymbol.name, libraryDefinition);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
if (invalidSymbols.length === 0) {
|
|
65
|
-
return powerquery_parser_1.PartialResultUtils.ok(libraryDefinitions);
|
|
66
|
-
}
|
|
67
|
-
else if (libraryDefinitions.size > 0) {
|
|
68
|
-
return powerquery_parser_1.PartialResultUtils.incomplete({
|
|
69
|
-
libraryDefinitions,
|
|
70
|
-
invalidSymbols,
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
return powerquery_parser_1.PartialResultUtils.error(invalidSymbols);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
exports.createLibraryDefinitions = createLibraryDefinitions;
|
|
78
|
-
function librarySymbolToLibraryDefinition(librarySymbol) {
|
|
58
|
+
function createLibraryDefinition(librarySymbol) {
|
|
79
59
|
var _a, _b;
|
|
80
60
|
const primitiveType = stringToPrimitiveType(librarySymbol.type);
|
|
81
61
|
const completionItemKind = numberToCompletionItemKind(librarySymbol.completionItemKind);
|
|
82
|
-
if (primitiveType === undefined
|
|
83
|
-
return
|
|
62
|
+
if (primitiveType === undefined) {
|
|
63
|
+
return failedConversionError(librarySymbol, FailedLibrarySymbolConversionKind.PrimitiveType);
|
|
64
|
+
}
|
|
65
|
+
if (completionItemKind === undefined) {
|
|
66
|
+
return failedConversionError(librarySymbol, FailedLibrarySymbolConversionKind.CompletionItemKind);
|
|
84
67
|
}
|
|
85
68
|
const label = librarySymbol.name;
|
|
86
69
|
const description = (_b = (_a = librarySymbol.documentation) === null || _a === void 0 ? void 0 : _a.description) !== null && _b !== void 0 ? _b : "No description available";
|
|
87
70
|
if (primitiveType.kind === language_1.Type.TypeKind.Type) {
|
|
88
|
-
return {
|
|
71
|
+
return powerquery_parser_1.ResultUtils.ok({
|
|
89
72
|
kind: library_1.Library.LibraryDefinitionKind.Type,
|
|
90
73
|
label,
|
|
91
74
|
description,
|
|
92
75
|
asPowerQueryType: primitiveType,
|
|
93
76
|
completionItemKind,
|
|
94
|
-
};
|
|
77
|
+
});
|
|
95
78
|
}
|
|
96
79
|
else if (librarySymbol.functionParameters) {
|
|
97
|
-
const
|
|
98
|
-
if (
|
|
99
|
-
return
|
|
80
|
+
const definedFunction = librarySymbolFunctionParamatersToDefinedFunction(librarySymbol, primitiveType);
|
|
81
|
+
if (definedFunction === undefined) {
|
|
82
|
+
return failedConversionError(librarySymbol, FailedLibrarySymbolConversionKind.DefinedFunction);
|
|
100
83
|
}
|
|
101
84
|
const parameters = [];
|
|
102
|
-
for (const parameter of librarySymbol.functionParameters) {
|
|
85
|
+
for (const [parameter, index] of powerquery_parser_1.ArrayUtils.enumerate(librarySymbol.functionParameters)) {
|
|
103
86
|
const libraryParameter = librarySymbolFunctionParameterToLibraryParameter(parameter);
|
|
104
87
|
if (libraryParameter === undefined) {
|
|
105
|
-
return
|
|
88
|
+
return failedParameterConversionError(librarySymbol, index);
|
|
106
89
|
}
|
|
107
90
|
parameters.push(libraryParameter);
|
|
108
91
|
}
|
|
109
|
-
return {
|
|
92
|
+
return powerquery_parser_1.ResultUtils.ok({
|
|
110
93
|
kind: library_1.Library.LibraryDefinitionKind.Function,
|
|
111
|
-
label: language_1.TypeUtils.nameOf(
|
|
94
|
+
label: language_1.TypeUtils.nameOf(definedFunction, trace_1.NoOpTraceManagerInstance, undefined),
|
|
112
95
|
description,
|
|
113
|
-
asPowerQueryType,
|
|
96
|
+
asPowerQueryType: definedFunction,
|
|
114
97
|
completionItemKind,
|
|
115
98
|
parameters,
|
|
116
|
-
};
|
|
99
|
+
});
|
|
117
100
|
}
|
|
118
101
|
else {
|
|
119
|
-
return {
|
|
102
|
+
return powerquery_parser_1.ResultUtils.ok({
|
|
120
103
|
kind: library_1.Library.LibraryDefinitionKind.Constant,
|
|
121
104
|
label,
|
|
122
105
|
description,
|
|
123
106
|
asPowerQueryType: primitiveType,
|
|
124
107
|
completionItemKind,
|
|
125
|
-
};
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
exports.createLibraryDefinition = createLibraryDefinition;
|
|
112
|
+
function createLibraryDefinitions(librarySymbols) {
|
|
113
|
+
const libraryDefinitions = new Map();
|
|
114
|
+
const failedLibrarySymbolConversions = [];
|
|
115
|
+
for (const librarySymbol of librarySymbols) {
|
|
116
|
+
const libraryDefinitionResult = createLibraryDefinition(librarySymbol);
|
|
117
|
+
if (powerquery_parser_1.ResultUtils.isOk(libraryDefinitionResult)) {
|
|
118
|
+
libraryDefinitions.set(librarySymbol.name, libraryDefinitionResult.value);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
failedLibrarySymbolConversions.push(libraryDefinitionResult.error);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
if (failedLibrarySymbolConversions.length === 0) {
|
|
125
|
+
return powerquery_parser_1.ResultUtils.ok(libraryDefinitions);
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
return powerquery_parser_1.ResultUtils.error({
|
|
129
|
+
libraryDefinitions,
|
|
130
|
+
failedLibrarySymbolConversions,
|
|
131
|
+
});
|
|
126
132
|
}
|
|
127
133
|
}
|
|
128
|
-
exports.
|
|
129
|
-
function
|
|
134
|
+
exports.createLibraryDefinitions = createLibraryDefinitions;
|
|
135
|
+
function failedConversionError(librarySymbol, kind) {
|
|
136
|
+
return powerquery_parser_1.ResultUtils.error({
|
|
137
|
+
librarySymbol,
|
|
138
|
+
kind,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
function failedParameterConversionError(librarySymbol, index) {
|
|
142
|
+
return powerquery_parser_1.ResultUtils.error({
|
|
143
|
+
librarySymbol,
|
|
144
|
+
kind: FailedLibrarySymbolConversionKind.Parameter,
|
|
145
|
+
index,
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
function librarySymbolFunctionParamatersToDefinedFunction(librarySymbol, returnType) {
|
|
130
149
|
var _a;
|
|
131
150
|
const parameters = [];
|
|
132
151
|
for (const parameter of (_a = librarySymbol.functionParameters) !== null && _a !== void 0 ? _a : []) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"librarySymbolUtils.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/library/librarySymbolUtils.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,
|
|
1
|
+
{"version":3,"file":"librarySymbolUtils.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/library/librarySymbolUtils.ts"],"names":[],"mappings":"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"}
|