@typespec/compiler 0.65.0-dev.2 → 0.65.0-dev.22

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 (192) hide show
  1. package/dist/manifest.js +2 -2
  2. package/dist/src/core/binder.d.ts +1 -1
  3. package/dist/src/core/binder.d.ts.map +1 -1
  4. package/dist/src/core/binder.js +1 -0
  5. package/dist/src/core/binder.js.map +1 -1
  6. package/dist/src/core/checker.d.ts.map +1 -1
  7. package/dist/src/core/checker.js +7 -4
  8. package/dist/src/core/checker.js.map +1 -1
  9. package/dist/src/core/compiler-code-fixes/convert-to-value.codefix.d.ts +10 -0
  10. package/dist/src/core/compiler-code-fixes/convert-to-value.codefix.d.ts.map +1 -0
  11. package/dist/src/core/compiler-code-fixes/convert-to-value.codefix.js +68 -0
  12. package/dist/src/core/compiler-code-fixes/convert-to-value.codefix.js.map +1 -0
  13. package/dist/src/core/decorator-utils.d.ts.map +1 -1
  14. package/dist/src/core/decorator-utils.js +3 -1
  15. package/dist/src/core/decorator-utils.js.map +1 -1
  16. package/dist/src/core/deprecation.d.ts.map +1 -1
  17. package/dist/src/core/deprecation.js +1 -3
  18. package/dist/src/core/deprecation.js.map +1 -1
  19. package/dist/src/core/helpers/projected-names-utils.d.ts.map +1 -1
  20. package/dist/src/core/helpers/projected-names-utils.js.map +1 -1
  21. package/dist/src/core/intrinsic-type-state.d.ts.map +1 -1
  22. package/dist/src/core/intrinsic-type-state.js +1 -3
  23. package/dist/src/core/intrinsic-type-state.js.map +1 -1
  24. package/dist/src/core/messages.d.ts +2 -20
  25. package/dist/src/core/messages.d.ts.map +1 -1
  26. package/dist/src/core/messages.js +0 -6
  27. package/dist/src/core/messages.js.map +1 -1
  28. package/dist/src/core/name-resolver.d.ts.map +1 -1
  29. package/dist/src/core/name-resolver.js +1 -0
  30. package/dist/src/core/name-resolver.js.map +1 -1
  31. package/dist/src/core/parser.d.ts.map +1 -1
  32. package/dist/src/core/parser.js +1 -0
  33. package/dist/src/core/parser.js.map +1 -1
  34. package/dist/src/core/program.d.ts +2 -0
  35. package/dist/src/core/program.d.ts.map +1 -1
  36. package/dist/src/core/program.js +2 -0
  37. package/dist/src/core/program.js.map +1 -1
  38. package/dist/src/core/projected-program.d.ts.map +1 -1
  39. package/dist/src/core/projected-program.js.map +1 -1
  40. package/dist/src/core/projection-members.d.ts.map +1 -1
  41. package/dist/src/core/projection-members.js +1 -0
  42. package/dist/src/core/projection-members.js.map +1 -1
  43. package/dist/src/core/projector.d.ts.map +1 -1
  44. package/dist/src/core/projector.js +1 -5
  45. package/dist/src/core/projector.js.map +1 -1
  46. package/dist/src/core/semantic-walker.d.ts +4 -0
  47. package/dist/src/core/semantic-walker.d.ts.map +1 -1
  48. package/dist/src/core/semantic-walker.js +5 -0
  49. package/dist/src/core/semantic-walker.js.map +1 -1
  50. package/dist/src/core/state-accessors.d.ts.map +1 -1
  51. package/dist/src/core/state-accessors.js.map +1 -1
  52. package/dist/src/core/type-relation-checker.d.ts.map +1 -1
  53. package/dist/src/core/type-relation-checker.js +1 -0
  54. package/dist/src/core/type-relation-checker.js.map +1 -1
  55. package/dist/src/core/types.d.ts +7 -0
  56. package/dist/src/core/types.d.ts.map +1 -1
  57. package/dist/src/core/types.js.map +1 -1
  58. package/dist/src/core/visibility/core.d.ts.map +1 -1
  59. package/dist/src/core/visibility/core.js +7 -6
  60. package/dist/src/core/visibility/core.js.map +1 -1
  61. package/dist/src/emitter-framework/types.d.ts.map +1 -1
  62. package/dist/src/experimental/freeze-graph.d.ts +3 -0
  63. package/dist/src/experimental/freeze-graph.d.ts.map +1 -0
  64. package/dist/src/experimental/freeze-graph.js +28 -0
  65. package/dist/src/experimental/freeze-graph.js.map +1 -0
  66. package/dist/src/experimental/index.d.ts +6 -2
  67. package/dist/src/experimental/index.d.ts.map +1 -1
  68. package/dist/src/experimental/index.js +6 -2
  69. package/dist/src/experimental/index.js.map +1 -1
  70. package/dist/src/experimental/mutators.d.ts +5 -3
  71. package/dist/src/experimental/mutators.d.ts.map +1 -1
  72. package/dist/src/experimental/mutators.js +283 -52
  73. package/dist/src/experimental/mutators.js.map +1 -1
  74. package/dist/src/experimental/realm.d.ts.map +1 -1
  75. package/dist/src/experimental/realm.js +5 -0
  76. package/dist/src/experimental/realm.js.map +1 -1
  77. package/dist/src/experimental/typekit/kits/literal.d.ts +61 -52
  78. package/dist/src/experimental/typekit/kits/literal.d.ts.map +1 -1
  79. package/dist/src/experimental/typekit/kits/literal.js.map +1 -1
  80. package/dist/src/experimental/typekit/kits/model-property.d.ts +11 -3
  81. package/dist/src/experimental/typekit/kits/model-property.d.ts.map +1 -1
  82. package/dist/src/experimental/typekit/kits/model-property.js.map +1 -1
  83. package/dist/src/experimental/typekit/kits/model.d.ts +41 -15
  84. package/dist/src/experimental/typekit/kits/model.d.ts.map +1 -1
  85. package/dist/src/experimental/typekit/kits/model.js +4 -0
  86. package/dist/src/experimental/typekit/kits/model.js.map +1 -1
  87. package/dist/src/experimental/typekit/kits/scalar.d.ts +349 -344
  88. package/dist/src/experimental/typekit/kits/scalar.d.ts.map +1 -1
  89. package/dist/src/experimental/typekit/kits/scalar.js.map +1 -1
  90. package/dist/src/experimental/typekit/kits/type.d.ts +5 -4
  91. package/dist/src/experimental/typekit/kits/type.d.ts.map +1 -1
  92. package/dist/src/experimental/typekit/kits/type.js +19 -38
  93. package/dist/src/experimental/typekit/kits/type.js.map +1 -1
  94. package/dist/src/experimental/typekit/kits/union-variant.d.ts +28 -15
  95. package/dist/src/experimental/typekit/kits/union-variant.d.ts.map +1 -1
  96. package/dist/src/experimental/typekit/kits/union-variant.js.map +1 -1
  97. package/dist/src/experimental/typekit/kits/union.d.ts +39 -30
  98. package/dist/src/experimental/typekit/kits/union.d.ts.map +1 -1
  99. package/dist/src/experimental/typekit/kits/union.js.map +1 -1
  100. package/dist/src/formatter/print/printer.d.ts.map +1 -1
  101. package/dist/src/formatter/print/printer.js.map +1 -1
  102. package/dist/src/init/init.d.ts +3 -2
  103. package/dist/src/init/init.d.ts.map +1 -1
  104. package/dist/src/init/init.js +8 -3
  105. package/dist/src/init/init.js.map +1 -1
  106. package/dist/src/init/scaffold.d.ts +2 -1
  107. package/dist/src/init/scaffold.d.ts.map +1 -1
  108. package/dist/src/init/scaffold.js +1 -1
  109. package/dist/src/init/scaffold.js.map +1 -1
  110. package/dist/src/lib/decorators.d.ts +0 -2
  111. package/dist/src/lib/decorators.d.ts.map +1 -1
  112. package/dist/src/lib/decorators.js +15 -26
  113. package/dist/src/lib/decorators.js.map +1 -1
  114. package/dist/src/lib/encoded-names.js +3 -3
  115. package/dist/src/lib/encoded-names.js.map +1 -1
  116. package/dist/src/lib/examples.js +5 -1
  117. package/dist/src/lib/examples.js.map +1 -1
  118. package/dist/src/lib/key.d.ts.map +1 -1
  119. package/dist/src/lib/key.js +3 -2
  120. package/dist/src/lib/key.js.map +1 -1
  121. package/dist/src/lib/paging.js +3 -3
  122. package/dist/src/lib/paging.js.map +1 -1
  123. package/dist/src/lib/service.d.ts.map +1 -1
  124. package/dist/src/lib/service.js +3 -2
  125. package/dist/src/lib/service.js.map +1 -1
  126. package/dist/src/lib/utils.d.ts +6 -3
  127. package/dist/src/lib/utils.d.ts.map +1 -1
  128. package/dist/src/lib/utils.js +7 -10
  129. package/dist/src/lib/utils.js.map +1 -1
  130. package/dist/src/lib/visibility.d.ts.map +1 -1
  131. package/dist/src/lib/visibility.js +3 -2
  132. package/dist/src/lib/visibility.js.map +1 -1
  133. package/dist/src/module-resolver/esm/resolve-package-exports.js +2 -2
  134. package/dist/src/module-resolver/esm/resolve-package-exports.js.map +1 -1
  135. package/dist/src/module-resolver/esm/resolve-package-imports.d.ts +5 -0
  136. package/dist/src/module-resolver/esm/resolve-package-imports.d.ts.map +1 -0
  137. package/dist/src/module-resolver/esm/resolve-package-imports.js +26 -0
  138. package/dist/src/module-resolver/esm/resolve-package-imports.js.map +1 -0
  139. package/dist/src/module-resolver/esm/utils.d.ts +4 -1
  140. package/dist/src/module-resolver/esm/utils.d.ts.map +1 -1
  141. package/dist/src/module-resolver/esm/utils.js +5 -0
  142. package/dist/src/module-resolver/esm/utils.js.map +1 -1
  143. package/dist/src/module-resolver/module-resolver.d.ts +2 -0
  144. package/dist/src/module-resolver/module-resolver.d.ts.map +1 -1
  145. package/dist/src/module-resolver/module-resolver.js +55 -3
  146. package/dist/src/module-resolver/module-resolver.js.map +1 -1
  147. package/dist/src/server/lib-provider.d.ts +23 -0
  148. package/dist/src/server/lib-provider.d.ts.map +1 -0
  149. package/dist/src/server/{emitter-provider.js → lib-provider.js} +25 -23
  150. package/dist/src/server/lib-provider.js.map +1 -0
  151. package/dist/src/server/serverlib.d.ts.map +1 -1
  152. package/dist/src/server/serverlib.js +5 -2
  153. package/dist/src/server/serverlib.js.map +1 -1
  154. package/dist/src/server/tspconfig/completion.d.ts +5 -3
  155. package/dist/src/server/tspconfig/completion.d.ts.map +1 -1
  156. package/dist/src/server/tspconfig/completion.js +234 -16
  157. package/dist/src/server/tspconfig/completion.js.map +1 -1
  158. package/dist/src/server/yaml-resolver.d.ts +20 -2
  159. package/dist/src/server/yaml-resolver.d.ts.map +1 -1
  160. package/dist/src/server/yaml-resolver.js +39 -6
  161. package/dist/src/server/yaml-resolver.js.map +1 -1
  162. package/dist/src/types/package-json.d.ts +19 -2
  163. package/dist/src/types/package-json.d.ts.map +1 -1
  164. package/dist/src/utils/index.d.ts +1 -0
  165. package/dist/src/utils/index.d.ts.map +1 -1
  166. package/dist/src/utils/index.js +1 -0
  167. package/dist/src/utils/index.js.map +1 -1
  168. package/dist/src/{experimental → utils}/state-accessor.d.ts +2 -4
  169. package/dist/src/utils/state-accessor.d.ts.map +1 -0
  170. package/dist/src/{experimental → utils}/state-accessor.js +2 -4
  171. package/dist/src/utils/state-accessor.js.map +1 -0
  172. package/lib/std/projected-names.tsp +5 -5
  173. package/package.json +15 -11
  174. package/templates/__snapshots__/rest/.gitignore +9 -0
  175. package/templates/__snapshots__/rest/main.tsp +46 -0
  176. package/templates/__snapshots__/rest/package.json +20 -0
  177. package/templates/__snapshots__/rest/tspconfig.yaml +16 -0
  178. package/templates/rest/main.tsp +46 -0
  179. package/templates/scaffolding.json +51 -5
  180. package/dist/src/core/compiler-code-fixes/model-to-object-literal.codefix.d.ts +0 -6
  181. package/dist/src/core/compiler-code-fixes/model-to-object-literal.codefix.d.ts.map +0 -1
  182. package/dist/src/core/compiler-code-fixes/model-to-object-literal.codefix.js +0 -15
  183. package/dist/src/core/compiler-code-fixes/model-to-object-literal.codefix.js.map +0 -1
  184. package/dist/src/core/compiler-code-fixes/tuple-to-array-value.codefix.d.ts +0 -6
  185. package/dist/src/core/compiler-code-fixes/tuple-to-array-value.codefix.d.ts.map +0 -1
  186. package/dist/src/core/compiler-code-fixes/tuple-to-array-value.codefix.js +0 -15
  187. package/dist/src/core/compiler-code-fixes/tuple-to-array-value.codefix.js.map +0 -1
  188. package/dist/src/experimental/state-accessor.d.ts.map +0 -1
  189. package/dist/src/experimental/state-accessor.js.map +0 -1
  190. package/dist/src/server/emitter-provider.d.ts +0 -22
  191. package/dist/src/server/emitter-provider.d.ts.map +0 -1
  192. 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"}