@typespec/compiler 0.65.0-dev.6 → 0.65.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/dist/manifest.js +2 -2
  2. package/dist/src/core/binder.d.ts.map +1 -1
  3. package/dist/src/core/binder.js +1 -0
  4. package/dist/src/core/binder.js.map +1 -1
  5. package/dist/src/core/checker.d.ts.map +1 -1
  6. package/dist/src/core/checker.js +17 -15
  7. package/dist/src/core/checker.js.map +1 -1
  8. package/dist/src/core/decorator-utils.d.ts.map +1 -1
  9. package/dist/src/core/decorator-utils.js +3 -1
  10. package/dist/src/core/decorator-utils.js.map +1 -1
  11. package/dist/src/core/deprecation.d.ts.map +1 -1
  12. package/dist/src/core/deprecation.js +1 -3
  13. package/dist/src/core/deprecation.js.map +1 -1
  14. package/dist/src/core/engine.d.ts +6 -0
  15. package/dist/src/core/engine.d.ts.map +1 -0
  16. package/dist/src/core/engine.js +7 -0
  17. package/dist/src/core/engine.js.map +1 -0
  18. package/dist/src/core/helpers/projected-names-utils.d.ts.map +1 -1
  19. package/dist/src/core/helpers/projected-names-utils.js.map +1 -1
  20. package/dist/src/core/install.d.ts.map +1 -1
  21. package/dist/src/core/install.js +20 -0
  22. package/dist/src/core/install.js.map +1 -1
  23. package/dist/src/core/intrinsic-type-state.d.ts.map +1 -1
  24. package/dist/src/core/intrinsic-type-state.js +1 -3
  25. package/dist/src/core/intrinsic-type-state.js.map +1 -1
  26. package/dist/src/core/messages.d.ts +2 -20
  27. package/dist/src/core/messages.d.ts.map +1 -1
  28. package/dist/src/core/messages.js +0 -6
  29. package/dist/src/core/messages.js.map +1 -1
  30. package/dist/src/core/name-resolver.d.ts.map +1 -1
  31. package/dist/src/core/name-resolver.js +1 -0
  32. package/dist/src/core/name-resolver.js.map +1 -1
  33. package/dist/src/core/parser.d.ts.map +1 -1
  34. package/dist/src/core/parser.js +1 -0
  35. package/dist/src/core/parser.js.map +1 -1
  36. package/dist/src/core/program.d.ts +2 -0
  37. package/dist/src/core/program.d.ts.map +1 -1
  38. package/dist/src/core/program.js +2 -0
  39. package/dist/src/core/program.js.map +1 -1
  40. package/dist/src/core/projected-program.d.ts.map +1 -1
  41. package/dist/src/core/projected-program.js.map +1 -1
  42. package/dist/src/core/projection-members.d.ts.map +1 -1
  43. package/dist/src/core/projection-members.js +1 -0
  44. package/dist/src/core/projection-members.js.map +1 -1
  45. package/dist/src/core/projector.d.ts.map +1 -1
  46. package/dist/src/core/projector.js +1 -5
  47. package/dist/src/core/projector.js.map +1 -1
  48. package/dist/src/core/semantic-walker.d.ts +4 -0
  49. package/dist/src/core/semantic-walker.d.ts.map +1 -1
  50. package/dist/src/core/semantic-walker.js +5 -0
  51. package/dist/src/core/semantic-walker.js.map +1 -1
  52. package/dist/src/core/state-accessors.d.ts.map +1 -1
  53. package/dist/src/core/state-accessors.js.map +1 -1
  54. package/dist/src/core/type-relation-checker.d.ts.map +1 -1
  55. package/dist/src/core/type-relation-checker.js +1 -0
  56. package/dist/src/core/type-relation-checker.js.map +1 -1
  57. package/dist/src/core/types.d.ts +7 -0
  58. package/dist/src/core/types.d.ts.map +1 -1
  59. package/dist/src/core/types.js.map +1 -1
  60. package/dist/src/core/visibility/core.d.ts.map +1 -1
  61. package/dist/src/core/visibility/core.js +7 -6
  62. package/dist/src/core/visibility/core.js.map +1 -1
  63. package/dist/src/experimental/freeze-graph.d.ts +3 -0
  64. package/dist/src/experimental/freeze-graph.d.ts.map +1 -0
  65. package/dist/src/experimental/freeze-graph.js +28 -0
  66. package/dist/src/experimental/freeze-graph.js.map +1 -0
  67. package/dist/src/experimental/index.d.ts +6 -2
  68. package/dist/src/experimental/index.d.ts.map +1 -1
  69. package/dist/src/experimental/index.js +6 -2
  70. package/dist/src/experimental/index.js.map +1 -1
  71. package/dist/src/experimental/mutators.d.ts +5 -3
  72. package/dist/src/experimental/mutators.d.ts.map +1 -1
  73. package/dist/src/experimental/mutators.js +283 -52
  74. package/dist/src/experimental/mutators.js.map +1 -1
  75. package/dist/src/experimental/realm.d.ts.map +1 -1
  76. package/dist/src/experimental/realm.js +5 -0
  77. package/dist/src/experimental/realm.js.map +1 -1
  78. package/dist/src/experimental/typekit/kits/literal.d.ts +61 -52
  79. package/dist/src/experimental/typekit/kits/literal.d.ts.map +1 -1
  80. package/dist/src/experimental/typekit/kits/literal.js.map +1 -1
  81. package/dist/src/experimental/typekit/kits/model-property.d.ts +11 -3
  82. package/dist/src/experimental/typekit/kits/model-property.d.ts.map +1 -1
  83. package/dist/src/experimental/typekit/kits/model-property.js.map +1 -1
  84. package/dist/src/experimental/typekit/kits/model.d.ts +41 -15
  85. package/dist/src/experimental/typekit/kits/model.d.ts.map +1 -1
  86. package/dist/src/experimental/typekit/kits/model.js +4 -0
  87. package/dist/src/experimental/typekit/kits/model.js.map +1 -1
  88. package/dist/src/experimental/typekit/kits/scalar.d.ts +349 -344
  89. package/dist/src/experimental/typekit/kits/scalar.d.ts.map +1 -1
  90. package/dist/src/experimental/typekit/kits/scalar.js.map +1 -1
  91. package/dist/src/experimental/typekit/kits/type.d.ts +5 -4
  92. package/dist/src/experimental/typekit/kits/type.d.ts.map +1 -1
  93. package/dist/src/experimental/typekit/kits/type.js +19 -38
  94. package/dist/src/experimental/typekit/kits/type.js.map +1 -1
  95. package/dist/src/experimental/typekit/kits/union-variant.d.ts +28 -15
  96. package/dist/src/experimental/typekit/kits/union-variant.d.ts.map +1 -1
  97. package/dist/src/experimental/typekit/kits/union-variant.js.map +1 -1
  98. package/dist/src/experimental/typekit/kits/union.d.ts +39 -30
  99. package/dist/src/experimental/typekit/kits/union.d.ts.map +1 -1
  100. package/dist/src/experimental/typekit/kits/union.js.map +1 -1
  101. package/dist/src/formatter/print/printer.d.ts.map +1 -1
  102. package/dist/src/formatter/print/printer.js.map +1 -1
  103. package/dist/src/init/init.d.ts +3 -2
  104. package/dist/src/init/init.d.ts.map +1 -1
  105. package/dist/src/init/init.js +8 -3
  106. package/dist/src/init/init.js.map +1 -1
  107. package/dist/src/init/scaffold.d.ts +2 -1
  108. package/dist/src/init/scaffold.d.ts.map +1 -1
  109. package/dist/src/init/scaffold.js +1 -1
  110. package/dist/src/init/scaffold.js.map +1 -1
  111. package/dist/src/lib/decorators.d.ts +0 -2
  112. package/dist/src/lib/decorators.d.ts.map +1 -1
  113. package/dist/src/lib/decorators.js +15 -26
  114. package/dist/src/lib/decorators.js.map +1 -1
  115. package/dist/src/lib/encoded-names.js +3 -3
  116. package/dist/src/lib/encoded-names.js.map +1 -1
  117. package/dist/src/lib/examples.js +5 -1
  118. package/dist/src/lib/examples.js.map +1 -1
  119. package/dist/src/lib/key.d.ts.map +1 -1
  120. package/dist/src/lib/key.js +3 -2
  121. package/dist/src/lib/key.js.map +1 -1
  122. package/dist/src/lib/paging.js +3 -3
  123. package/dist/src/lib/paging.js.map +1 -1
  124. package/dist/src/lib/service.d.ts.map +1 -1
  125. package/dist/src/lib/service.js +3 -2
  126. package/dist/src/lib/service.js.map +1 -1
  127. package/dist/src/lib/utils.d.ts +6 -3
  128. package/dist/src/lib/utils.d.ts.map +1 -1
  129. package/dist/src/lib/utils.js +7 -10
  130. package/dist/src/lib/utils.js.map +1 -1
  131. package/dist/src/lib/visibility.d.ts.map +1 -1
  132. package/dist/src/lib/visibility.js +3 -2
  133. package/dist/src/lib/visibility.js.map +1 -1
  134. package/dist/src/module-resolver/esm/resolve-package-exports.js +2 -2
  135. package/dist/src/module-resolver/esm/resolve-package-exports.js.map +1 -1
  136. package/dist/src/module-resolver/esm/resolve-package-imports.d.ts +5 -0
  137. package/dist/src/module-resolver/esm/resolve-package-imports.d.ts.map +1 -0
  138. package/dist/src/module-resolver/esm/resolve-package-imports.js +26 -0
  139. package/dist/src/module-resolver/esm/resolve-package-imports.js.map +1 -0
  140. package/dist/src/module-resolver/esm/utils.d.ts +4 -1
  141. package/dist/src/module-resolver/esm/utils.d.ts.map +1 -1
  142. package/dist/src/module-resolver/esm/utils.js +5 -0
  143. package/dist/src/module-resolver/esm/utils.js.map +1 -1
  144. package/dist/src/module-resolver/module-resolver.d.ts +2 -0
  145. package/dist/src/module-resolver/module-resolver.d.ts.map +1 -1
  146. package/dist/src/module-resolver/module-resolver.js +55 -3
  147. package/dist/src/module-resolver/module-resolver.js.map +1 -1
  148. package/dist/src/server/lib-provider.d.ts +23 -0
  149. package/dist/src/server/lib-provider.d.ts.map +1 -0
  150. package/dist/src/server/{emitter-provider.js → lib-provider.js} +25 -23
  151. package/dist/src/server/lib-provider.js.map +1 -0
  152. package/dist/src/server/serverlib.d.ts.map +1 -1
  153. package/dist/src/server/serverlib.js +5 -2
  154. package/dist/src/server/serverlib.js.map +1 -1
  155. package/dist/src/server/tspconfig/completion.d.ts +5 -3
  156. package/dist/src/server/tspconfig/completion.d.ts.map +1 -1
  157. package/dist/src/server/tspconfig/completion.js +234 -16
  158. package/dist/src/server/tspconfig/completion.js.map +1 -1
  159. package/dist/src/server/yaml-resolver.d.ts +20 -2
  160. package/dist/src/server/yaml-resolver.d.ts.map +1 -1
  161. package/dist/src/server/yaml-resolver.js +39 -6
  162. package/dist/src/server/yaml-resolver.js.map +1 -1
  163. package/dist/src/types/package-json.d.ts +19 -2
  164. package/dist/src/types/package-json.d.ts.map +1 -1
  165. package/dist/src/utils/index.d.ts +1 -0
  166. package/dist/src/utils/index.d.ts.map +1 -1
  167. package/dist/src/utils/index.js +1 -0
  168. package/dist/src/utils/index.js.map +1 -1
  169. package/dist/src/{experimental → utils}/state-accessor.d.ts +2 -4
  170. package/dist/src/utils/state-accessor.d.ts.map +1 -0
  171. package/dist/src/{experimental → utils}/state-accessor.js +2 -4
  172. package/dist/src/utils/state-accessor.js.map +1 -0
  173. package/lib/std/projected-names.tsp +5 -5
  174. package/package.json +11 -6
  175. package/templates/__snapshots__/rest/main.tsp +13 -7
  176. package/templates/rest/main.tsp +13 -7
  177. package/templates/scaffolding.json +7 -7
  178. package/dist/src/experimental/state-accessor.d.ts.map +0 -1
  179. package/dist/src/experimental/state-accessor.js.map +0 -1
  180. package/dist/src/server/emitter-provider.d.ts +0 -22
  181. package/dist/src/server/emitter-provider.d.ts.map +0 -1
  182. package/dist/src/server/emitter-provider.js.map +0 -1
@@ -1,34 +1,41 @@
1
- import { CompletionItemKind } from "vscode-languageserver/node.js";
1
+ import { CompletionItemKind, Position, Range, TextEdit, } from "vscode-languageserver/node.js";
2
+ import { isMap, isPair } from "yaml";
2
3
  import { emitterOptionsSchema, TypeSpecConfigJsonSchema } from "../../config/config-schema.js";
4
+ import { getDirectoryPath, getNormalizedAbsolutePath, joinPaths, normalizeSlashes, } from "../../core/path-utils.js";
3
5
  import { distinctArray } from "../../utils/misc.js";
4
- import { resolveYamlScalarTarget } from "../yaml-resolver.js";
6
+ import { resolveYamlPositionDetail } from "../yaml-resolver.js";
5
7
  export async function provideTspconfigCompletionItems(tspConfigDoc, tspConfigPosition, context) {
6
- const { fileService, emitterProvider, log } = context;
7
- const target = resolveYamlScalarTarget(tspConfigDoc, tspConfigPosition, log);
8
+ const { fileService, compilerHost, emitterProvider, linterProvider, log } = context;
9
+ const target = resolveYamlPositionDetail(tspConfigDoc, tspConfigPosition, log);
8
10
  if (target === undefined) {
9
11
  return [];
10
12
  }
11
- const items = resolveTspConfigCompleteItems(await fileService.getPath(tspConfigDoc), target);
13
+ // Variable interpolation
14
+ if (target.sourceRange) {
15
+ const variableInterpolationItems = resolveVariableInterpolationCompleteItems(target.yamlDoc, target.path, tspConfigDoc.getText().slice(target.sourceRange.pos, target.cursorPosition));
16
+ if (variableInterpolationItems.length > 0) {
17
+ return variableInterpolationItems;
18
+ }
19
+ }
20
+ const items = resolveTspConfigCompleteItems(await fileService.getPath(tspConfigDoc), target, tspConfigPosition, log);
12
21
  return items;
13
- async function resolveTspConfigCompleteItems(tspConfigFile, target) {
14
- const { path: nodePath, type: targetType, siblings } = target;
22
+ async function resolveTspConfigCompleteItems(tspConfigFile, target, tspConfigPosition, log) {
23
+ const { path: nodePath, type: targetType, siblings, source } = target;
15
24
  const CONFIG_PATH_LENGTH_FOR_EMITTER_LIST = 2;
25
+ const CONFIG_PATH_LENGTH_FOR_LINTER_LIST = 2;
26
+ const CONFIG_PATH_LENGTH_FOR_EXTENDS = 1;
27
+ const CONFIG_PATH_LENGTH_FOR_IMPORTS = 2;
16
28
  if ((nodePath.length === CONFIG_PATH_LENGTH_FOR_EMITTER_LIST &&
17
29
  nodePath[0] === "options" &&
18
30
  targetType === "key") ||
19
31
  (nodePath.length === CONFIG_PATH_LENGTH_FOR_EMITTER_LIST &&
20
32
  nodePath[0] === "emit" &&
21
33
  targetType === "arr-item")) {
22
- const emitters = await emitterProvider.listEmitters(tspConfigFile);
34
+ const emitters = await emitterProvider.listLibraries(tspConfigFile);
23
35
  const items = [];
24
36
  for (const [name, pkg] of Object.entries(emitters)) {
25
37
  if (!siblings.includes(name)) {
26
- const item = {
27
- label: name,
28
- kind: CompletionItemKind.Field,
29
- documentation: (await pkg.getPackageJsonData())?.description ?? `Emitter from ${name}`,
30
- insertText: `"${name}"`,
31
- };
38
+ const item = createCompletionItemWithQuote(name, (await pkg.getPackageJsonData())?.description ?? `Emitter from ${name}`, tspConfigPosition, target);
32
39
  items.push(item);
33
40
  }
34
41
  }
@@ -36,7 +43,7 @@ export async function provideTspconfigCompletionItems(tspConfigDoc, tspConfigPos
36
43
  }
37
44
  else if (nodePath.length > CONFIG_PATH_LENGTH_FOR_EMITTER_LIST && nodePath[0] === "options") {
38
45
  const emitterName = nodePath[CONFIG_PATH_LENGTH_FOR_EMITTER_LIST - 1];
39
- const emitter = await emitterProvider.getEmitter(tspConfigFile, emitterName);
46
+ const emitter = await emitterProvider.getLibrary(tspConfigFile, emitterName);
40
47
  if (!emitter) {
41
48
  return [];
42
49
  }
@@ -58,6 +65,66 @@ export async function provideTspconfigCompletionItems(tspConfigDoc, tspConfigPos
58
65
  }
59
66
  return [...itemsFromBuiltIn, ...itemsFromEmitter];
60
67
  }
68
+ else if (nodePath.length > CONFIG_PATH_LENGTH_FOR_LINTER_LIST && nodePath[0] === "linter") {
69
+ const extendKeyWord = nodePath[CONFIG_PATH_LENGTH_FOR_LINTER_LIST - 1];
70
+ const items = [];
71
+ const linters = await linterProvider.listLibraries(tspConfigFile);
72
+ if (extendKeyWord === "extends") {
73
+ for (const [name, pkg] of Object.entries(linters)) {
74
+ // If a ruleSet exists for the linter, add it to the end of the library name.
75
+ const exports = await pkg.getModuleExports();
76
+ if (exports?.$linter?.ruleSets !== undefined) {
77
+ // Below ruleSets are objects rather than arrays
78
+ for (const [ruleSet] of Object.entries(exports?.$linter?.ruleSets)) {
79
+ const labelName = `${name}/${ruleSet}`;
80
+ if (!siblings.includes(labelName)) {
81
+ const item = createCompletionItemWithQuote(labelName, (await pkg.getPackageJsonData())?.description ?? `Linters from ${labelName}`, tspConfigPosition, target);
82
+ items.push(item);
83
+ }
84
+ }
85
+ }
86
+ // Add the library name directly.
87
+ if (!siblings.includes(name)) {
88
+ const item = createCompletionItemWithQuote(name, (await pkg.getPackageJsonData())?.description ?? `Linters from ${name}`, tspConfigPosition, target);
89
+ items.push(item);
90
+ }
91
+ }
92
+ }
93
+ else if (extendKeyWord === "enable" || extendKeyWord === "disable") {
94
+ // enable/disable rules
95
+ for (const [name, pkg] of Object.entries(linters)) {
96
+ const exports = await pkg.getModuleExports();
97
+ if (exports?.$linter?.rules !== undefined) {
98
+ for (const [, rule] of Object.entries(exports?.$linter?.rules)) {
99
+ const labelName = `${name}/${rule.name}`;
100
+ const item = createCompletionItemWithQuote(labelName, rule.description, tspConfigPosition, target);
101
+ items.push(item);
102
+ }
103
+ }
104
+ }
105
+ }
106
+ else {
107
+ log({
108
+ level: "warning",
109
+ message: "Unknown linter keyword, it should be 'extends', 'enable' or 'disable'",
110
+ });
111
+ }
112
+ return items;
113
+ }
114
+ else if (nodePath.length === CONFIG_PATH_LENGTH_FOR_EXTENDS && nodePath[0] === "extends") {
115
+ const currentFolder = getDirectoryPath(tspConfigFile);
116
+ const newFolderPath = joinPaths(currentFolder, source);
117
+ // Exclude the current yaml configuration file
118
+ const relativeFiles = await findFilesOrDirsWithSameExtension(compilerHost, newFolderPath, ".yaml", [normalizeSlashes(tspConfigFile)]);
119
+ return getFilePathCompletionItems(relativeFiles, siblings, source);
120
+ }
121
+ else if (nodePath.length >= CONFIG_PATH_LENGTH_FOR_IMPORTS && nodePath[0] === "imports") {
122
+ const currentFolder = getDirectoryPath(tspConfigFile);
123
+ const newFolderPath = joinPaths(currentFolder, source);
124
+ // Exclude main.tsp files that are the same as the current yaml configuration directory
125
+ const relativeFiles = await findFilesOrDirsWithSameExtension(compilerHost, newFolderPath, ".tsp", [joinPaths(currentFolder, "main.tsp")]);
126
+ return getFilePathCompletionItems(relativeFiles, siblings, source);
127
+ }
61
128
  else {
62
129
  const schema = TypeSpecConfigJsonSchema;
63
130
  return schema ? resolveCompleteItems(schema, target) : [];
@@ -138,7 +205,9 @@ export async function provideTspconfigCompletionItems(tspConfigDoc, tspConfigPos
138
205
  const item = {
139
206
  label: key,
140
207
  kind: CompletionItemKind.Field,
141
- documentation: cur.properties[key].description,
208
+ documentation: cur.required?.includes(key)
209
+ ? "[required]\n" + (cur.properties[key].description ?? "")
210
+ : "[optional]\n" + (cur.properties[key].description ?? ""),
142
211
  };
143
212
  return item;
144
213
  });
@@ -173,4 +242,153 @@ export async function provideTspconfigCompletionItems(tspConfigDoc, tspConfigPos
173
242
  return distinctArray(result, (t) => t.label);
174
243
  }
175
244
  }
245
+ /**
246
+ * Create the common CompletionItem object, which value is included in quotes
247
+ * @param labelName The value of the label attribute of the CompletionItem object
248
+ * @param description The value of the documentation attribute of the CompletionItem object
249
+ * @param tspConfigPosition Input current line location object, see {@link Position}
250
+ * @param target The target object of the current configuration file, see {@link YamlPositionDetail}
251
+ * @returns CompletionItem object
252
+ */
253
+ function createCompletionItemWithQuote(labelName, description, tspConfigPosition, target) {
254
+ if (target.sourceRange &&
255
+ target.cursorPosition >= target.sourceRange.pos &&
256
+ target.cursorPosition <= target.sourceRange.end) {
257
+ // If it is a quoted string, the relative position needs to be reduced by 1
258
+ const lenRelativeToStartPos = target.sourceType === "QUOTE_SINGLE" || target.sourceType === "QUOTE_DOUBLE"
259
+ ? target.cursorPosition - target.sourceRange.pos - 1
260
+ : target.cursorPosition - target.sourceRange.pos;
261
+ return {
262
+ label: labelName,
263
+ kind: CompletionItemKind.Field,
264
+ documentation: description,
265
+ textEdit: TextEdit.replace(Range.create(Position.create(tspConfigPosition.line, tspConfigPosition.character - lenRelativeToStartPos), Position.create(tspConfigPosition.line, tspConfigPosition.character)), target.sourceType === "QUOTE_SINGLE" || target.sourceType === "QUOTE_DOUBLE"
266
+ ? labelName
267
+ : `"${labelName}"`),
268
+ };
269
+ }
270
+ return {
271
+ label: labelName,
272
+ kind: CompletionItemKind.Field,
273
+ documentation: description,
274
+ insertText: `"${labelName}"`,
275
+ };
276
+ }
277
+ /**
278
+ * Find a set of dirs/files with the same suffix
279
+ * @param compilerHost CompilerHost object for file operations, see {@link CompilerHost}
280
+ * @param rootPath The absolute input path or relative path of the current configuration file
281
+ * @param fileExtension File extension
282
+ * @param excludeFiles exclude files array, default is []
283
+ * @returns dirs/files array
284
+ */
285
+ async function findFilesOrDirsWithSameExtension(compilerHost, rootPath, fileExtension, excludeFiles = []) {
286
+ const exclude = ["node_modules", "tsp-output", ".vs", ".vscode"];
287
+ const files = [];
288
+ try {
289
+ // When reading the content under the path, an error may be reported if the path is incorrect.
290
+ const dirs = await compilerHost.readDir(rootPath);
291
+ for (const d of dirs) {
292
+ if (!exclude.includes(d) && !excludeFiles.includes(getNormalizedAbsolutePath(d, rootPath))) {
293
+ try {
294
+ const stat = await compilerHost.stat(joinPaths(rootPath, d));
295
+ if (stat.isDirectory() || (stat.isFile() && d.endsWith(fileExtension))) {
296
+ files.push(d);
297
+ }
298
+ }
299
+ catch {
300
+ // If the path is incorrect, the error is ignored
301
+ continue;
302
+ }
303
+ }
304
+ }
305
+ }
306
+ catch {
307
+ return files;
308
+ }
309
+ return files;
310
+ }
311
+ /**
312
+ * Get the CompletionItem object array of the relative path of the file
313
+ * @param relativeFiles File relative path array
314
+ * @param siblings Sibling node array
315
+ * @param source The input source of the current node
316
+ * @returns CompletionItem object array
317
+ */
318
+ function getFilePathCompletionItems(relativeFiles, siblings, source) {
319
+ return relativeFiles
320
+ .filter((file) => !siblings.includes(joinPaths(source, file)))
321
+ .map((file) => {
322
+ return {
323
+ label: file,
324
+ kind: CompletionItemKind.File,
325
+ };
326
+ });
327
+ }
328
+ /**
329
+ * resolve variable interpolation completion items
330
+ * @param yamlDocNodes tsp config yaml document nodes , see {@link Document<Node, true>}
331
+ * @param path current path of the target node, such as ["linter", "extends","- ┆"]
332
+ * @param curText current editing text, from startPos to curPos
333
+ * @returns variable interpolation completion items
334
+ */
335
+ function resolveVariableInterpolationCompleteItems(yamlDocNodes, path, curText) {
336
+ if (/{\s*env\.[^}]*$/.test(curText)) {
337
+ // environment-variables
338
+ return getVariableCompletionItem(yamlDocNodes, "environment-variables", "Custom environment variables");
339
+ }
340
+ else if (/{[^}]*$/.test(curText)) {
341
+ // parameters and built-in variables
342
+ const result = [
343
+ ...getVariableCompletionItem(yamlDocNodes, "parameters", "Custom paramters variables"),
344
+ ...["cwd", "project-root"].map((value) => {
345
+ const item = {
346
+ label: value,
347
+ kind: CompletionItemKind.Value,
348
+ documentation: "Built-in variables",
349
+ };
350
+ return item;
351
+ }),
352
+ ];
353
+ // if the current path is options, add output-dir and emitter-name
354
+ const CONFIG_PATH_LENGTH_FOR_OPTIONS = 2;
355
+ if (path.length > CONFIG_PATH_LENGTH_FOR_OPTIONS && path[0] === "options") {
356
+ result.push(...["output-dir", "emitter-name"].map((value) => {
357
+ const item = {
358
+ label: value,
359
+ kind: CompletionItemKind.Value,
360
+ documentation: "Built-in variables",
361
+ };
362
+ return item;
363
+ }));
364
+ }
365
+ return result;
366
+ }
367
+ return [];
368
+ }
369
+ /**
370
+ * Get the corresponding CompletionItem array based on the filter name
371
+ * @param yamlDoc The contents of the YAML configuration file
372
+ * @param filterName The filter name
373
+ * @param description The description of the CompletionItem object
374
+ * @returns CompletionItem object array
375
+ */
376
+ function getVariableCompletionItem(yamlDoc, filterName, description) {
377
+ const result = [];
378
+ if (isMap(yamlDoc.contents)) {
379
+ const yamlMap = yamlDoc.contents.items.find((item) => item.key.source === filterName);
380
+ if (yamlMap && yamlMap.value !== null && isMap(yamlMap.value)) {
381
+ yamlMap.value.items.forEach((i) => {
382
+ if (isPair(i)) {
383
+ result.push({
384
+ label: i.key.source ?? "",
385
+ kind: CompletionItemKind.Value,
386
+ documentation: description,
387
+ });
388
+ }
389
+ });
390
+ }
391
+ }
392
+ return result;
393
+ }
176
394
  //# sourceMappingURL=completion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../../src/server/tspconfig/completion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../../src/server/tspconfig/completion.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { Position, TextDocument } from "vscode-languageserver-textdocument";
2
+ import { Document, Node, Scalar } from "yaml";
3
+ import { TextRange } from "../core/index.js";
2
4
  import { ServerLog } from "./types.js";
3
- export interface YamlScalarTarget {
5
+ export interface YamlPositionDetail {
4
6
  /**
5
7
  * The path of the yaml node at the position, it consists of object's property, array's index, empty string for potential object property (empty line)
6
8
  */
@@ -15,10 +17,26 @@ export interface YamlScalarTarget {
15
17
  * actual value of target in the doc
16
18
  */
17
19
  source: string;
20
+ /**
21
+ * The input quotes (double quotes or single quotes)
22
+ */
23
+ sourceType: Scalar.Type;
24
+ /**
25
+ * The position range of the text in the document, such as [startPos, endPos], see {@link TextRange}
26
+ */
27
+ sourceRange: TextRange | undefined;
18
28
  /**
19
29
  * The siblings of the target node
20
30
  */
21
31
  siblings: string[];
32
+ /**
33
+ * The parsed yaml document
34
+ */
35
+ yamlDoc: Document<Node, true>;
36
+ /**
37
+ * The cursor current position
38
+ */
39
+ cursorPosition: number;
22
40
  }
23
- export declare function resolveYamlScalarTarget(document: TextDocument, position: Position, log: (log: ServerLog) => void): YamlScalarTarget | undefined;
41
+ export declare function resolveYamlPositionDetail(document: TextDocument, position: Position, log: (log: ServerLog) => void): YamlPositionDetail | undefined;
24
42
  //# sourceMappingURL=yaml-resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"yaml-resolver.d.ts","sourceRoot":"","sources":["../../../src/server/yaml-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAe5E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,EAAE,MAAM,EAAE,CAAC;IACf;;;;OAIG;IACH,IAAI,EAAE,KAAK,GAAG,OAAO,GAAG,UAAU,CAAC;IACnC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAQD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,GAC5B,gBAAgB,GAAG,SAAS,CAkJ9B"}
1
+ {"version":3,"file":"yaml-resolver.d.ts","sourceRoot":"","sources":["../../../src/server/yaml-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EACL,QAAQ,EAMR,IAAI,EAGJ,MAAM,EAEP,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,EAAE,MAAM,EAAE,CAAC;IACf;;;;OAIG;IACH,IAAI,EAAE,KAAK,GAAG,OAAO,GAAG,UAAU,CAAC;IACnC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC;IACxB;;OAEG;IACH,WAAW,EAAE,SAAS,GAAG,SAAS,CAAC;IACnC;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;;OAEG;IACH,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB;AAQD,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,GAC5B,kBAAkB,GAAG,SAAS,CA8JhC"}
@@ -1,6 +1,6 @@
1
1
  import { isDocument, isMap, isPair, isScalar, isSeq, parseDocument, visit, } from "yaml";
2
2
  import { firstNonWhitespaceCharacterIndex, isWhitespaceStringOrUndefined } from "../utils/misc.js";
3
- export function resolveYamlScalarTarget(document, position, log) {
3
+ export function resolveYamlPositionDetail(document, position, log) {
4
4
  const pos = document.offsetAt(position);
5
5
  const content = document.getText();
6
6
  const lines = content.split("\n");
@@ -30,7 +30,11 @@ export function resolveYamlScalarTarget(document, position, log) {
30
30
  path: [""],
31
31
  type: "key",
32
32
  source: "",
33
+ sourceType: "PLAIN",
33
34
  siblings: rootProperties,
35
+ yamlDoc,
36
+ sourceRange: undefined,
37
+ cursorPosition: pos,
34
38
  };
35
39
  }
36
40
  for (let i = position.line - 1; i >= 0; i--) {
@@ -56,7 +60,7 @@ export function resolveYamlScalarTarget(document, position, log) {
56
60
  });
57
61
  return undefined;
58
62
  }
59
- const yp = createYamlPathFromVisitScalarNode(found, pos, log);
63
+ const yp = createYamlPathFromVisitScalarNode(found, pos, log, yamlDoc);
60
64
  if (!yp || yp.path.length === 0) {
61
65
  log({
62
66
  level: "debug",
@@ -74,7 +78,11 @@ export function resolveYamlScalarTarget(document, position, log) {
74
78
  path: [...yp.path.slice(0, yp.path.length - 1), ""],
75
79
  type: "key",
76
80
  source: "",
81
+ sourceType: "PLAIN",
77
82
  siblings: [...yp.siblings, yp.source],
83
+ yamlDoc,
84
+ sourceRange: yp.sourceRange,
85
+ cursorPosition: pos,
78
86
  };
79
87
  }
80
88
  break;
@@ -98,7 +106,7 @@ export function resolveYamlScalarTarget(document, position, log) {
98
106
  (last.value === null ||
99
107
  isMap(last.value) ||
100
108
  (isScalar(last.value) && isWhitespaceStringOrUndefined(last.value.source)))) {
101
- const yp = createYamlPathFromVisitScalarNode(found, pos, log);
109
+ const yp = createYamlPathFromVisitScalarNode(found, pos, log, yamlDoc);
102
110
  if (!yp || yp.path.length === 0) {
103
111
  log({
104
112
  level: "debug",
@@ -111,9 +119,13 @@ export function resolveYamlScalarTarget(document, position, log) {
111
119
  path: [...yp.path, ""],
112
120
  type: "key",
113
121
  source: "",
122
+ sourceType: "PLAIN",
114
123
  siblings: isMap(last.value)
115
124
  ? (last.value?.items.map((item) => item.key.source ?? "") ?? [])
116
125
  : [],
126
+ yamlDoc,
127
+ sourceRange: yp.sourceRange,
128
+ cursorPosition: pos,
117
129
  };
118
130
  }
119
131
  break;
@@ -130,11 +142,11 @@ export function resolveYamlScalarTarget(document, position, log) {
130
142
  });
131
143
  return undefined;
132
144
  }
133
- const yp = createYamlPathFromVisitScalarNode(found, pos, log);
145
+ const yp = createYamlPathFromVisitScalarNode(found, pos, log, yamlDoc);
134
146
  return yp;
135
147
  }
136
148
  }
137
- function createYamlPathFromVisitScalarNode(info, offset, log) {
149
+ function createYamlPathFromVisitScalarNode(info, offset, log, yamlDoc) {
138
150
  const { key, n, path: nodePath } = info;
139
151
  if (nodePath.length === 0) {
140
152
  log({
@@ -165,13 +177,22 @@ function createYamlPathFromVisitScalarNode(info, offset, log) {
165
177
  }
166
178
  }
167
179
  const last = nodePath[nodePath.length - 1];
180
+ let curSourceRange = undefined;
181
+ if (n.range) {
182
+ const [startPos, endPos] = n.range;
183
+ curSourceRange = { pos: startPos, end: endPos };
184
+ }
168
185
  if (isDocument(last)) {
169
186
  // we are at the root and the content is a pure text (otherwise there should be a Map under document node first)
170
187
  return {
171
188
  path: [],
172
189
  type: key === null ? "key" : "value",
173
190
  source: n.source ?? "",
191
+ sourceType: n.type ?? "PLAIN",
174
192
  siblings: [],
193
+ yamlDoc,
194
+ sourceRange: curSourceRange,
195
+ cursorPosition: offset,
175
196
  };
176
197
  }
177
198
  else if (isPair(last)) {
@@ -191,11 +212,15 @@ function createYamlPathFromVisitScalarNode(info, offset, log) {
191
212
  path,
192
213
  type: "key",
193
214
  source: n.source ?? "",
215
+ sourceType: n.type ?? "PLAIN",
194
216
  siblings: [],
217
+ yamlDoc,
218
+ sourceRange: curSourceRange,
219
+ cursorPosition: offset,
195
220
  };
196
221
  }
197
222
  else {
198
- const parent = nodePath[nodePath.length - 2];
223
+ const parent = nodePath.length >= 2 ? nodePath[nodePath.length - 2] : undefined;
199
224
  const targetSiblings = isMap(parent)
200
225
  ? parent.items.filter((item) => item !== last).map((item) => item.key.source ?? "")
201
226
  : [];
@@ -204,6 +229,10 @@ function createYamlPathFromVisitScalarNode(info, offset, log) {
204
229
  type: key === "key" ? "key" : "value",
205
230
  source: n.source ?? "",
206
231
  siblings: targetSiblings,
232
+ sourceType: n.type ?? "PLAIN",
233
+ yamlDoc,
234
+ sourceRange: curSourceRange,
235
+ cursorPosition: offset,
207
236
  };
208
237
  }
209
238
  }
@@ -212,9 +241,13 @@ function createYamlPathFromVisitScalarNode(info, offset, log) {
212
241
  path: path,
213
242
  type: "arr-item",
214
243
  source: n.source ?? "",
244
+ sourceType: n.type ?? "PLAIN",
215
245
  siblings: last.items
216
246
  .filter((i) => i !== n)
217
247
  .map((item) => (isScalar(item) ? (item.source ?? "") : "")),
248
+ yamlDoc,
249
+ sourceRange: curSourceRange,
250
+ cursorPosition: offset,
218
251
  };
219
252
  }
220
253
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"yaml-resolver.js","sourceRoot":"","sources":["../../../src/server/yaml-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yaml-resolver.js","sourceRoot":"","sources":["../../../src/server/yaml-resolver.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,11 @@ export interface PackageJson {
16
16
  url?: string;
17
17
  email?: string;
18
18
  };
19
+ /**
20
+ * Subpath imports to define private mappings for imports within the package itself.
21
+ * [Read more.](https://nodejs.org/api/packages.html#subpath-imports)
22
+ */
23
+ imports?: Imports | null;
19
24
  /**
20
25
  * Subpath exports to define entry points of the package.
21
26
  * [Read more.](https://nodejs.org/api/packages.html#subpath-exports)
@@ -26,13 +31,25 @@ export interface PackageJson {
26
31
  peerDependencies?: Record<string, string>;
27
32
  devDependencies?: Record<string, string>;
28
33
  }
34
+ /**
35
+ * Entry points of a module, optionally with conditions and subpath imports.
36
+ */
37
+ export type Imports = {
38
+ [path: string]: string | ImportConditions;
39
+ };
40
+ /**
41
+ * A mapping of conditions and the paths to which they resolve.
42
+ */
43
+ type ImportConditions = {
44
+ [condition: string]: string | ImportConditions;
45
+ };
29
46
  /**
30
47
  * Entry points of a module, optionally with conditions and subpath exports.
31
48
  */
32
49
  export type Exports = string | Array<string | ExportConditions> | ExportConditions;
33
50
  /**
34
- A mapping of conditions and the paths to which they resolve.
35
- */
51
+ * A mapping of conditions and the paths to which they resolve.
52
+ */
36
53
  type ExportConditions = {
37
54
  [condition: string]: Exports;
38
55
  };
@@ -1 +1 @@
1
- {"version":3,"file":"package-json.d.ts","sourceRoot":"","sources":["../../../src/types/package-json.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE;QACL,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;AAEnF;;MAEG;AACH,KAAK,gBAAgB,GAAG;IACtB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;CAC9B,CAAC"}
1
+ {"version":3,"file":"package-json.d.ts","sourceRoot":"","sources":["../../../src/types/package-json.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE;QACL,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,gBAAgB,CAAC;CAC3C,CAAC;AAEF;;GAEG;AACH,KAAK,gBAAgB,GAAG;IACtB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,gBAAgB,CAAC;CAChD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;AAEnF;;GAEG;AACH,KAAK,gBAAgB,GAAG;IACtB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;CAC9B,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export { DuplicateTracker } from "./duplicate-tracker.js";
2
2
  export { Queue, TwoLevelMap, createRekeyableMap, deepClone, deepEquals } from "./misc.js";
3
+ export { useStateMap, useStateSet } from "./state-accessor.js";
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC"}
@@ -4,4 +4,5 @@
4
4
  // ---------------------------------------
5
5
  export { DuplicateTracker } from "./duplicate-tracker.js";
6
6
  export { Queue, TwoLevelMap, createRekeyableMap, deepClone, deepEquals } from "./misc.js";
7
+ export { useStateMap, useStateSet } from "./state-accessor.js";
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,0CAA0C;AAC1C,gGAAgG;AAChG,0CAA0C;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,0CAA0C;AAC1C,gGAAgG;AAChG,0CAA0C;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC"}